main.CPUClock=3MHz
main.Caption="دت-6128ِ"
main.ff.speed=10
main.ff.keymask[8]=20
main.scale.x=100%
main.scale.y=150%
main.globalsound=1

CPU : 1821wm85 {
  debug=cas
  mem=mm
  port~[00-03]=sys.data
  port~[04-07]=ext.data
  port~[08-0B]=mtim.data
  port[0C]=vid.color
  port[0D]=mem1.frame[0].page
  port[0E]=mm.page
  port[0F]=mm.reset
  port~[18-1B]=dsk.data
  port[1C]=dskctl.data[0]
  rst[7]=vid.irq
  adjust=4
}

mem1 : Memory {
  size=20000
  frame[0].size=8000
  frame[0].pagexlat="01000302"
}

bios : Memory {
  rom="Vector06c\6128.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=extrom.msb
}

mm : PK6128c-MemMap {
  rom=bios[0000]
  stdmem=mem1[0000]
}

kbd : Keyboard {
  layout="Vector06c\layout.kbd"
}

vid : V06c-Video {
  mem=mem1.frame[0]
  scroll=sys.portA
  control=sys.portB
  ruslat=sys.portC[3]
}

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
}

AY : AY-3-8910 {
  freq=1773400
  input=sys.portC[0]
  input[0]=mtim.out[0]
  input[1]=mtim.out[1]
  input[2]=mtim.out[2]
  bc1=ext.portC[1-2]
  db=ext.portB
}

dsk : KR1818wg93 {
  image[0].file="Vector06c\mdos28pk.fdd"
  drive[0].tooltip="A:"
  drive[1].tooltip="B:"
  ext="fdd"
  vdpb="2800040F0085017F00C00020000800"
}

dskctl : K580ww55 {
  portA[0]=dsk.drive[0].~on
  portA[0]=dsk.drive[1].on
  portA[2]=dsk.side[0]
}

cas : tape-recorder {
  biproc[2B66-2BB6]=rk
  biproc[2B66-2BB6].check="C5D50E0057DB01E610"
  boproc[2BC1-2BE5]=sp
  boproc[2BC1-2BE5].check="C5D5F5570E087A0757"
  filter="Vector Basic files (*.cas)|*.cas"
  ext="cas"
}
