Platform TRS80 - z88dk/z88dk GitHub Wiki

Introduction

The TRS 80 microcomputer was born in the USA in 1977.

It has many features in common with the British NASCOM computers and the Swedish ABC 80, expecially related to the way the Video and the Tape transfers are managed.

Many companies all around the world produced clones of such system; most of them will work with the current z88dk port.

Classic library support (+trs80)

  • 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

Building applications

The output code can be optionally relocated, but its default position is at $5200, which fits in most of the hardware and software configurations.

Quick Start

The following command will build a .CMD system file, ready for almost all the existing emulators:

zcc  +trs80 -lndos -lm -create-app -subtype=cmd program.c

zcc  +trs80 -lm -create-app -subtype=disk program.c

The following command will build a .CAS file in 'system' binary format:

zcc  +trs80 -lndos -lm -create-app program.c

Same as above but in WAV format too:

zcc  +trs80 -lndos -lm -create-app -subtype=wav program.c

To load such program from tape first type 'SYSTEM' to exit BASIC, then at the '*?' prompt enter the program name (or its first letter) and press PLAY.

When the program is in memory, type '/' to run it.

To speed-up the loading a bit in WAV mode you can modify the appmake options, just edit {z88dk}/lib/config/trs80.cfg and insert the '-Cz--fast' parameter in the wav subtype section. If necessary the volume can be raised too, with the "-Cz--loud" option.

Model II

Use the example above for the "CMD" formats.

To create a CP/M compatible program:

zcc  +cpm -subtype=lifeboat  -lm -create-app -subtype=cmd program.c

In place of "lifeboat", you can use:

lifeboat	- ATON CP/M and LifeBoat CP/M (TRS-80 Model II only)
ptcpm		- Pickels & Trout CP/M
fmgcpm		- FMG CP/M

To add support the the Model II "business graphics" (80x72 pixel), add "-lgfxtrs80m2" to any of the suggested build commands (TRS-DOS or CP/M).

Similarly the graphics extensions are allowed.

Sound is not supported, the Model II does not have a tape interface.

Optional graphics hardware

HGR1 mod for the Model I

-lgfxhrg1

The graphics resolution is 384x192. The SDLTRS emulator supports it, but it appears not being able to properly refresh the display.

Micro-Tech Grafyx and Tandy HR

512x192, uTech board version 'model 4' installed on Model III, or Tandy HR board '26-1125'

-lgrafyx4_3

640x240, uTech board version 'model 4' installed on Model IV, or Tandy HR board '26-1126'

-lgrafyx4

CP/M on TRS80

The CP/M libraries provide target specific configurations.

The graphics extensions are allowed and sound is supported.

Build example:

zcc +cpm -create-app -subtype=montezuma -lgrafyx4 program.c

In place of "montezuma", you can use:

omikron		- Omikron mapper for the Model I
merchant	- Memory Merchant for the Model III
montezuma	- Montezuma CP/M for the Model 4

For the Model II see the ection above.

To get the trs80gp emulator booting CP/M on the Model I:

trs80gp -m1 -omikron omikron_cpm221a1.dmk

Links

http://48k.ca/trs80gp.html

http://ht.homeserver.hu/html/english.html

http://www.classic-computers.org.nz/system-80/

http://ianmav.customer.netspace.net.au/cpm/

https://www.prof-80.fr/