Skip to content

tmcintos/a1mon68

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

a1mon68

This is Eric Smith's faithful translation of the Apple-1 ROM monitor (wozmon) to the Motorola 6800 (M6800) microprocessor.

See YouTube demo and blog posts (#1, #2).

Building

  1. Build and install the AS Macro Assembler http://john.ccac.rwth-aachen.de:8000/as/
  2. Run make

Compatibility

When making modifications, symbol addresses should generally be preserved in order to maintain compatibility with any client software that makes use of the monitor.

In particular, the following entry points are documented in the original Apple-1 manual (addresses shown here are for this 6800 version):

Symbol Address Description
GETLINE $FF21 monitor entry point (jumping to $FF21 will enter monitor and echo carriage return. You can then examine memory locations with the monitor.)
ECHO $FFB4 prints one byte (ASCII) (data from ACC A, contents of ACC A not disturbed. Example: BD FF B4 (JSR ECHO))
PRBYTE $FFA2 prints one byte (HEX) (data from ACC A, contents of ACC A disturbed.)
PRHEX $FFAA prints one hex digit (data from four least significant bits of ACC A, contents of ACC A disturbed.)

RAM locations $24 to $2F are used by the monitor and should be avoided by client software that makes use of the monitor.

NOTE: This version of the monitor uses RAM locations $30 to $38 as vectors for IRQ, SWI, and NMI interrupts, so use of these locations for other purposes in user software must also be avoided if those interrupts may occur in the system.

Refer to the assembly listing (a1mon68.lst) for additional symbol addresses.

About

Apple 1 monitor rewritten for Motorola 6800 microprocessor

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Assembly 97.6%
  • Makefile 2.4%