Platform LM80C - z88dk/z88dk GitHub Wiki

Machine Specifications

  • CPU: Z80 @ 3.5Mhz
  • VDP: TMS992x, 16k VRAM
  • PSG: AY-3-891x
  • RAM: 32k
  • ROM: 32k

The 64k model is also supported.

Classic library support (+lm80c)

  • Native console output
  • Native console input
  • ANSI vt100 engine
  • Generic console
    • Redefinable font
    • UDG support
    • Paper colour
    • Ink colour
    • Inverse attribute
    • Bold attribute
    • Underline attribute
  • Lores graphics
  • Hires graphics
  • PSG sound
    • ETracker (SAA tracker)
    • PSG Lib (SN76489)
    • Arkos2 Player (AY)
    • WYZ Player (AY)
    • Vortex tracker (AY)
  • One bit sound
  • Inkey driver
  • Hardware joystick
  • File I/O
  • Interrupts
  • RS232

This target is still being brought up

Compilation

zcc +lm80c world.c -create-app

A .prg file will be generated which can be dropped onto the emulator.

The LM80C ROM is under constant development, with the result that addresses of ROM routines used by z88dk change between releases. To address this, the -clib= option is used to target the firmware version. To view the supported -clib options, run the command:

zcc +lm80c

Support

The target utilises the firmware printing by default. For finer grained control add the --generic-console option to switch to z88dk's generic console. When using it, you will need to select the screen mode prior to printing. For example to switch to mode 2, insert the following lines towards the start of your program:

int mode = 2;
console_ioctl(IOCTL_GENCON_SET_MODE, &mode);

The VDP used by the LM-80C is the same as the one in the MSX, as such many MSX examples will work.

The WYZ and VT2 PSG engines are supported by this target.

Firmware supports

The LM80C firmware changes frequently. Different firmware versions are supported by the -clib option. For more details see the lm80c.def file. At the time of writing the following versions are supported:

  • LM80C v314 (32k version) -clib=firmware314
  • LM80C v319 (32k version) -clib=firmware319
  • LM80C 64k v105 -clib=firmware64k105
  • LM80C 64k v119 -clib=firmware64k119

Keyboard

The keyboard is supported by utilising the RAM addresses set by the firmware.

Links