-
Notifications
You must be signed in to change notification settings - Fork 171
Platform Sharp X1
- 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
- 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