Platform Sharp X1 - marinus-lab/z88dk GitHub Wiki
- z80a @ 4MHz
- ROM: IPL (4KB) + chargen (2KB)
- RAM: 64kb RAM
- MC6845: VRAM: 4KB (text) + PCG (6KB) + GRAM (48KB)
- AY8910
This machine can run software natively (+x1
), via CP/M (+cpm -subtype=x1
) and SOS (+sos
)
- 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 (320x200 + 640x200)
- 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
Two sets of memory configuration are supported for the X1: an "allram" configuration and a configuration where the IPL is paged in. The latter configuration should be useful for creating disc menu launchers.
IM1 mode (org at address 0)
zcc +x1 -create-app -lm adv_a.c
IM2 mode (org address = 32768 or more):
zcc +x1 -create-app -subtype=im2 -zorg=`<address>` -lm adv_a.c
An autoboot d88 disk image (.d88 extension) is created automatically by appmake.
The generic console supports the following screen modes:
- Mode 0: 40x25, graphics 320x200
- Mode 1: 80x25, graphics 640x200
The PCG ram is used for custom fonts and UDGs, the PCG ram can only be loaded when in mode 0.
Loading data into the PCG is horrendously slow, so it's recommended that your application present a "Please wait" style screen whilst this is happening. The library will automatically load any compile configured CRT_FONT
without such a screen so it's recommended that fonts are configured using the GENCON_SET_FONT32
ioctl.
The <arch/x1.h>
header supplies a set of functions that perform non-portable x1 specific behaviour.
- Mame
- Takeda
Software (including CP/M) is available in the Neo Kobe archives.
- x1center.org - technical information