Platform Bandai Supervision 8000 - z88dk/z88dk GitHub Wiki

Hardware summary

  • Z80 @ 3.57 Mhz
  • 1k RAM
  • MC6847 with 3k VRAM
  • AY-3-8910
  • Cartridge size limited to 4k

Classic library support

  • Native console output
  • Native console input
  • ANSI vt100 engine
  • Generic console
    • Redefinable font
    • UDG support
  • Lores graphics (32x16)
  • Hires graphics (256x96)
  • 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

Compilation

zcc +sv8000 program.c -create-app

Will create a 4k ROM suitable for loading into Mame. Large cartridges can be created using -subtype=32k however loading them isn't support by the Mame emulator

Screenmodes and graphics

The target supports two screen modes:

  • Mode 0 text based, 32x16, graphics 32x16, only character codes 32 - 95 are available
  • Mode 1 graphical, 32x12, graphics 256x96, supports redefining fonts and UDGs

The screen mode can be changed with the following code:

#include <sys/ioctl.h>

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

Of course, supported multiple screen modes does have an overhead, especially on a machine with restricted memory such as this. If you don't use a mode, it can be excluded from the final binary using the following pragmas: -pragma-define:CLIB_DISABLE_MODE0=1 and -pragma-define:CLIB_DISABLE_MODE1=1

Screenshots

The terminal version of DStar running:

zcc +sv8000 dstar_gencon.c -DUSE_JOYSTICK -DUSE_UDGS -DSWITCH_MODE=1 -pragma-redirect:CRT_FONT=_font_8x8_bbc_system -create-app

Limitations

  • 4k isn't much space
  • The joystick supports the directions and # as the fire button

Links

  • Mame emulator