Platform VZ200
- z80 @ 3.57950 MHz (VZ200), 3.546894 (VZ300)
- MC6847 with 2k VRAM
- 6k RAM (VZ200), 16k RAM (VZ300) + RAM expansions
- Native console output
- Native console input
- ANSI vt100 engine
- Generic console
- Redefinable font
- UDG support
- Lores graphics (64x32)
- Hires graphics (128x64)
- PSG sound
- One bit sound
- Inkey driver
- Hardware joystick
- File I/O
- Interrupts
- RS232
zcc +vz -lm -o adventure.vz adv_a.c
-or-
zcc +vz -clib=ansi -lm -o adventure.vz adv_a.c
Using The "-subtype=basic" option a BASIC loader block is embedded in the CRT0 stub, so that the resulting binary file is ready for the "RUN" command. By default an auto-run binary block is created.
To get a WAV version of the program it is necessary to add the "-create-app" and the "-Cz--audio" options. To tweak the speed and gain little time "-Cz--fast" is available.
When printing characters using the firmware routines, the keyboard is also read, a character printed on screen and a beep emitted. To avoid this behaviour:
- Compile with the generic console (
--generic-console
) - Consider using the "inkey" keyboard routines: (
--hardware-keyboard
)
Using the options above, the firmware is avoided and your application will hopefully behave as expected.
The VZ library is available for compatibility with older programs written with different toolchains. It has a parallel way of interacting with the (in particular) graphics hardware.
The generic console implementation for the VZ supports 2 different screen modes:
- Mode 0: 32x16 text + 64x32 block graphics
- Mode 1: 128x64 graphics
In Mode 1 the standard 8x8 font is somewhat large so the putc46 driver might be more suitable. The z88dk graphics library detects which screen mode is active and plots accordingly.
The screenmode can be changed using either console_ioctl()
as with other targets or the VZ specific vz_mode()
.
Appmake is able to convert the compiled program from VZ to the newer CAS format; optionally a wav can be created for loading onto the original hardware, even in a slightly 'faster' mode.
To compile a program and generate a CAS and a WAV file:
zcc +vz -create-app -o rpn rpn.c -Cz--audio
To use appmake as a dumb converter and speed-up a little the audio stream:
appmake +vz -b airstrip.vz --audio --fast
The port has been testing using both the VZ emulator and Mame. In Mame, the "snapshot dump" files is the default ".vz" output file generated by z88dk
- Overview
- Platform List
- Unsupported Platforms
- i8080/5 Support
- Homebrew hardware quickstart
- Retargetting
- Building the libraries
- Clang support
- Pragmas
- Adding to Classic
- Introduction
- Library Configuration
- CRT
- Header Files
- Assembly Language
- Library in Depth
- Embedded Platform
- Adding to NewLib
- Benchmarks
- Datatypes
- Debugging
- Decompression
- More than 64k
- Deficiencies
- Compiling Larger Applications
- Importing routines written in 8080 assembly mnemonics
- Using CP/M libraries in REL format with z88dk
- Writing optimal code
- Speeding up Compilation
- CMake usage