main.CPUClock=1777778Hz
main.Caption="ЮТ-88 с дисплеем"

CPU : K580wm80a {
  debug=cas
  mem=mm
  pc=F800
  port~[04-07]=sys.data
  port[40]=ramdisk.~pagemask
  port[A1]=regs.data[0]
}

mem1 : Memory {
  size=F800
}

mem2 : Memory {
  size=40000
}

font : Memory {
  rom="UT88\ut88.fnt"
}

bios : Memory {
  rom="UT88\bios.rom"
}

sys : K580ww55 {
  portA=kbd.~mask
  portB[0-6]=kbd.~data
  portC[0-2]=kbd.~data2
}

ramdisk : MemMap {
  map[0][0000-FFFF]=mem1[0000]
  map[1][0000-FFFF]=mem2[00000]
  map[2][0000-FFFF]=mem2[10000]
  map[3][0000-FFFF]=mem2[20000]
  map[4][0000-FFFF]=mem2[30000]
}

mm : MemMap {
  cpustate=CPU.state
  map[0][0000-F7FF]=mem1[0000]
  map[0][F800-FFFF].ro=bios[0000]
  map[1][0000-FFFF]=ramdisk
}

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

vid : Text-Video {
  font=font[0000]
  mem=mem1[E800]
  mode=UT88
}

regs : K580ww55 {
  portA[0]=cas.record
  portA[0]=cas.playback
}

cas : tape-recorder {
  iproc[FAAD-FAC5]=rk
  oproc[FB24-FB50]=rk
}
