Items Available

Programming Utilities

6301 Assembler - An extended BASIC module that allows you to include HD6301 assembly language programs as inline code within BASIC programs. Can also be used as a conventional assembler for programs written entirely in assembly language.

  • Written in assembler and linked into the Epson HX20 operating system. The area below MEMSET remains free for use by other assembler routines.
  • Edit using the HX-20's built-in full screen editor.
  • Full implementation of local and global labels.
  • Expressions can include any BASIC function, including user defined functions.
  • Object code is written to memory and can be saved using the SAVEM command.
  • Listing file can be produced.
  • Available on EPROM or cassette or disk.

6301 Debugger - (Requires the 6301 Assembler above) A program development system that consists of five components:

  • Command interface. This controls the other modules, and allows you to type commands and change register values.
  • Assembler. Allows you to assemble programs using 6301 Assembler.
  • Disassembler. Allows you to disassemble programs. Produces source code that is compatible with the assembler, including labels.
  • Single step and trace. Allows you to single step and trace the execution of programs. Set breakpoints, vary execution speed, and execute entire subroutines as if they are a single instruction. You can also toggle between Debug and your program screen.
  • Program Profiler. Profiles the execution of an application. Shows how much time is spent in each section of a program.

Verify - Compares a binary file held on microcassette with the contents of memory. Can be used to discover which file on a tape is most recent, or which bytes in a file have been changed.

General Utilities

Sideways printer - A popular program in its time that allows 80 column by 16 lines printed sideways on the internal printer. Prints "cut" marks to allow all the strips to be stuck together to make a page. This is used as "SPT0:", i.e. a standard BASIC device.

RX80 A5 printer - prints a full page sideways shrunk 50% on any RX80 compatible printer (e.g. for making booklets). Accepts most RX80 text-mode commands. Has a font utility to allow custom fonts to be designed.

Filer - Records a catalogue on a microcassette to allow easy access to stored programs. Enables best use of the tape.

Calendar - prints a calendar for a year as 3 months per row, 4 rows per year. The output can be sent to any 80 column output device, either printer or sideways printer.

Banner - Produces large letters on the internal printer, to make a banner!

PLAY - The nearest the HX-20 ever got to multimedia ;-) An extension to BASIC that implements PLAY, PITCH and TEMPO commands. Playing is interrupt driven, and continues in the background. Uses standard musical note notation of A-G, plus symbol modifiers for sharp, flat, duration, rests and repeats. Even has bar marks, and nested repeats!


Memory Map (hx20mem.pdf) - Provides technical details of the memory locations within the HX-20, including the I/O area, page zero variables, system variables, menu variables, keyboard locations, RS232 locations, cassette locations, screen locations, monitor and ROM vectors. Also contains details of the system ROM calls (e.g. keyboard, LCD, cassette etc).

Other Miscellaneous Items

HX-20 ROM Cartridges - I have a small stock of empty HX20 ROM cartridges. These were obsolete stock from Epson UK that did have programs in, but the programs have been removed (they are otherwise unused). Uses 27C64 or 27C128 eproms (or 27C256). If you use 27C128 or 27C256 eproms, they need a small patch to the PCB (I can supply details).

I also have a collection of various other odds and ends, such as a tape io system and HD6301 cross assembler that runs on the PC (this was a port of the HX-20 assembler). Unfortunately, I haven't got round to cataloguing everything yet! If you have a specific requirement let me know - I might already have some source code available!