Platform Hanimex Pencil II
- CPU: Z80 @ 3.579 Mhz
- VDP: TMS9929, 16k VRAM
- PSG: SN76489
- RAM: 2k
- ROM: 8k
- 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
zcc +pencil2 world.c -create-app
A 32k ROM file will be generated that can be inserted into the emulator.
The hardware and port settings for this machine are virtually identical to the Colecovision, the key differences are:
- The Pencil II has a keyboard rather than joypads
- The BIOS ROM is completely different
- 2k of RAM rather than 1k
The VDP used by the Pencil 2 is the same as the one in the MSX, as such many MSX examples will work. However, the machine is not particularly well equipped with memory so care must be taken.
You can reduce RAM usage by making static data const
where possible - this will keep it ROM rather than copying to RAM.
The inbuilt font onboard the Pencil II is used by default by the console, it can be reconfigured using -pragma-redirect:CRT_FONT=....
The keyboard is supported by an inkey driver and 4 keyboard joysticks are available. The delete key is mapped to Break which is the "End" key in the default Mame settings.
- 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