Memory Configuration
The original, as listed in the 'Acorn 6809 User's Manual' is intended to be used with the 40-column Teletext VDU board and has the I/O and RAM memory arranged as in the normal System Computer set-up:
the VIA, VDU and optional FDC are located in low memory from $0800
the Monitor itself occupies 2K bytes at address $F000
RAM in page zero is the Monitors workspace
RAM from $2000+ is avaliable for user programs
For FLEX a different arrangement is required:
The VIA, VDU and optional FDC are moved up to $E800
the Monitor's workspace moves to $E000
FLEX is then usually loaded from disk to RAM at $C000
RAM at $0000 onwards is avaliable for user programs
Here are a couple of .pdf diagrams which show the two configurations:
The original Acorn Monitor listing is identified as version V49 (dated Feb 1980), I assume this is actually V4.9.
I also have what must be a later version with various small modifications
throughout, though this doesn't seem to work ?
I have called this version 4.95 because there is also a version 5.2 from Control
Universal.
This must be from after they took over the Eurocard business from Acorn so I'm
assuming they may have started at version 5.0 !
The Control Universal Version is quite different because it works with their versions of FDC and VDU boards which are not compatible with the original Acorn boards so for the moment at least I have not incorporated it into my source code.
Assembler Files
I have formatted the original Monitor source code for the SBASM Assembler, this single source file can be configured to produce builds for the 40 or 80-column VDUs and for either memory mapping.
and here are some builds, the first are for the standard memory map and the second for the FLEX memory map:
monitor40.bin (for 40-column Teletext VDU)
monitor41.bin (for 40-column Teletext VDU with alternative screen configuration to match System COS/DOS)
monitor80.bin (for 80-column VDU)
flex40.bin (for 40-column Teletext VDU)
flex41.bin (for 40-column Teletext VDU with alternative screen configuration to match System COS/DOS)
flex80.bin (for 80-column VDU)