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.
+lm80c
)
Classic library support (- 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.