Microtan 65 Quick Guide
From GWiki
Contents |
Memory Map
0000-003f System variables
0040-00ff Unused (except by BASIC)
0100-01ff Processor Stack
0200-03ff Display
0400-AFFF RAM
BC00-BC01 1st AY8912 sound chip
BC02-BC03 2nd AY8912 sound chip
BC04 Space Invasion sound
BFC0-BFCF 1st 6522 VIA
BFD0-BFD3 Serial I/O (not implemented in emulator)
BFE0-BFEF 2nd 6522 VIA
BFF0 Read: Chunky graphics on
Write: Reset keyboard interrupt flag
BFF1 Write: Start delayed NMI
BFF2 Write: Write hex. keypad column
BFF3 Read: Read ASCII keyboard last key/hex. keypad row
Write: Chunky graphics off
C000-E7FF BASIC interpreter ROM
F000-F7FF XBUG ROM
F800-FFFF TANBUG ROM
Zero Page System Variables
0000 Used by breakpoints 0001 Last ASCII keyboard character 0002 Temporary character store 0003 Display index 0004-0006 Fast interrupt link 0007-0009 NMI link 000A-000B Cursor index 000C Zero if in user program 000D Nonzero if in single instruction 000E Proceed counter 000F Hex/ASCII keyboard 0010-0012 Slow interrupt link 0013-0014 Used by hexpack rountine 0015-0016 Psudo PC 0017 Psudo PSW 0018 Psudo SP 0019 Psudo IX 001A Psudo IY 001B Psudo A 001C-001D Temporary store 001E-001F Copy store 0020-002F Breakpoint addresses 0030-003F Breakpoint code store
Text Display
The display is made up of 16 rows of 32 characters, in a contiguous block starting at address 0200. Characters are sequential, the first line beginning at address 0200, the next at 0220, and so on:
0200 0201 0202 ... 021D 021E 021F
0220 0221 0222 ... 023D 023E 023F
0240 0241 0242 ... 025D 025E 025F
...
03A0 03A1 03A2 ... 03BD 03BE 03BF
03C0 03C1 03C2 ... 03DD 03DE 03DF
03E0 03E1 03E2 ... 03FD 03FE 03FF
A single character cell may be either an ASCII character or a "chunky graphic" character. Reading from address BFF0 causes subsequent writes to the display to appear as chunky graphics. Writing to BFF3 causes subsequent characters to appear as ASCII characters. It is not possible to determine whether a particular character is being displayed as an ASCII character or a chunky character. Chunky graphic characters comprise eight chunky pixels arranged as 2 columns of 4 rows. Setting a bit in the character turns the corresponding pixel on.
ASCII Characters
There are 128 ASCII characters available:
00-0F10-1F
20-2F
30-3F
40-4F
50-5F
60-6F
70-7F
![]()
Characters 80-FF are repeats of characters 00-7f
Chunky Graphics
Chunky graphics characters are made of a 2x4 block. A pixel within the block is set if the corresponding bit of the character code is a "1". The pixels are arranged as follows:
| 0 | 1 |
| 2 | 3 |
| 4 | 5 |
| 6 | 7 |
00-0F10-1F
20-2F
30-3F
40-4F
50-5F
60-6F
70-7F
80-8F
90-9F
A0-AF
B0-BF
C0-CF
D0-DF
E0-EF
F0-FF
![]()
