Platform LM80C - marinus-lab/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.

Keyboard

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

Links