main.CPUClock=1777777
main.Caption="Ириша"

CPU : K580wm80a {
  mem=mm
  port[04-05]=kbd.keycode
  port[06-07]=comport.data
  port[08-0B]=mtim.data
  port[0C-0F]=intctl.data
  port[10-13]=sys.data
  port[14]=extrom.stream
  port[50]=dsk.gmd70.cmd
  port[51]=dsk.gmd70.data
  port[D8]=vid.mode
  port[D9]=vid.color
  port[DA]=vid.page
  int=intctl.int
}

mem1 : Memory {
  size=10000
}

bios : Memory {
  rom="Irisha\irisha.rom"
}

extrom : Memory {
  rom="Irisha\extra.rom"
}

kbd : Keyboard {
  vk.xlat[0][25-28]="1A1C191D"
}

comport : K580ww51 {
}

mtim : K580wi53 {
  clock[0].rate=1
  clock[1].rate=1/100
  clock[2].rate=1
  gate[0].value=1
  gate[1].value=1
  gate[2]=sys.portA[5]
}

intctl : K580wn59 {
  irq[0]=mtim.out[1]
  irq[1]=kbd.irq
}

mmregB : MemMap2 {
  map[0]=40
  map[1]=40
}

sys : K580ww55 {
  portB[0-6]=mmregB
  portB[7]=kbd.pressed
  portC[2-3]=mm.page
  portC[7]=mmregB.offset
}

mm : MemMap {
  map[0][0000-3FFF]=bios[0000]
  map[0][4000-FFFF]=mem1[4000]
  map[2][0000-FFFF]=mem1[0000]
  map[1][0000-FFFF]=mem1[0000]
  map[3][0000-FFFF]=mem1[0000]
}

vid : Irisha-Video {
  mem=mem1[C000]
}

beep : beep {
  input=sys.portA[4]
  input[0]=mtim.out[2]
}

dsk : KR1818wg93 {
  image[0].file="Irisha\disk.gmd"
  image[0].geometry=77C26S128
  image[1].geometry=77C26S128
  drive[0].tooltip="A:"
  drive[1].tooltip="B:"
  ext="gmd"
}
