Skip to content
suborb edited this page Mar 12, 2023 · 8 revisions

Hardware summary

  • Z80 @ 4.028 Mhz
  • 32k ROM (SMC-70) 16k ROM (SMC-777)
  • 64k RAM
  • MC6845
  • 32k VRAM
  • SN76489 (SMC-777)
  • 2 joysticks (port 0x051 and 0x151)

This port is under development

As well as producing native binaries, this machine can run both CP/M and S-OS and hence applications compiled for either OS will work. The target specific library can be used under either OS but testing has mostly taken place under CP/M.

Classic library support

  • Native console output
  • Native console input
  • ANSI vt100 engine
  • Generic console
    • Redefinable font
    • UDG support
  • 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 (CP/M)
  • Interrupts
  • RS232

Compilation

zcc +smc777 file.c -create-app

Will generate a disc that can be booted by the IPL. In this mode, the application can use all the memory within the machine.

Generating a CP/M binary provides more functionality such as file handling:

zcc +cpm file.c -subtype=smc777 -create-app

This command will create a .dsk image suitable for use in emulators.

Emulators

The target has been tested using the Takeda emulator.

Graphics support

The following screen modes are available:

  • Mode 0: 80x25, 160x50 lores graphics
  • Mode 1: 40x25, 80x50 lores graphics
  • Mode 4: 80x25, 320x200 hires graphics
  • Mode 5: 40x25, 320x200 hires graphics
  • Mode 8: 80x25, 640x200 hires graphics
  • Mode 9: 40x25, 640x200 hires graphics

The hires graphics plane is separate to the text plane. As a result graphics are overlaid by any text printed. The background colour of the hires graphics plane can be configured using the textbackground() function.

Links

Clone this wiki locally