main.CPUClock=3MHz
main.Caption="Вектор Старт-1200"
main.ff.speed=10
main.ff.keymask[8]=20
main.scale.x=100%
main.scale.y=150%

CPU : K580wm80a {
  debug=cas
  mem=mm
  port~[00-03]=sys.data
  port~[04-07]=ext.data
  port~[08-0B]=mtim.data
  port[0C]=mm.page
  rst[7]=vid.irq
  adjust=4
}

mem1 : Memory {
  size=10000
}

bios : Memory {
  rom="Vector06c\vec1200.bin"
}

extrom : Memory {
  rom="Vector06c\vector.emr"
  romselect="Change external ROM"
  romoffset=100
  romfiles="ROM files (*.rom)|*.rom"
}

sys : K580ww55 {
  portA=kbd.~mask
  portB=kbd.~data
  portC[0]=cas.record
  portC[4]=cas.playback
  portC[5-7]=kbd.~data2
}

ext : K580ww55 {
  portA=extrom.lsb
  portB=extrom.data
  portC[0-6]=extrom.msb
}

mm : MemMap {
  map[0][0000-1FFF].ro=bios[0000]
  map[0][0000-1FFF].wo=mem1[0000]
  map[0][2000-FFFF]=mem1[2000]
  map[1][0000-FFFF]=mem1[0000]
}

kbd : Keyboard {
  layout="Vector06c\layout.kbd"
  irqkey=43
  irq=mm.~page
  irq=CPU.reset
  irqkey2=44
  irq2=mm.page
  irq2=CPU.reset
}

vid : V06c-Video {
  mem=mem1[8000]
  scroll=sys.portA
  control=sys.portB
  ruslat=sys.portC[3]
  pindex=sys.portB[0-3]
  palette="Vector06c\palette.bin"
}

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

beep : beep {
  input[0]=mtim.out[0]
  input[1]=mtim.out[1]
  input[2]=mtim.out[2]
}

cas : tape-recorder {
  tproc[7C73-7C8F]=rk
  tproc[7C73-7C8F].check="2100001640CD0E7D"
  biproc[7DC8-7E11]=rk
  biproc[7DC8-7E11].check="C5D50E0057DB01E610"
  tproc[2105-2116]=rk
  tproc[2105-2116].check="160CCDC67DA7CA1221"
}
