Related: Data tables
· Quick reference · Dual-CPU architecture
Analysis base: ROM image at Z80
0000h–1FFFh.
ROM regions
| Range |
Role |
0000–0035 |
Jump / service vectors |
0036–~01D0 |
Cold boot, menu, key dispatch, test entry |
01D2+ |
Self-test suite (see analysis/05-self-test.md) |
03C0–055x |
Console/kbd/print/bank helpers |
0573–0584 |
Handoff stub → copied to 674C |
0585–09xx |
Strings, error ptrs, config |
07F4 |
Menu key table F/T/W |
07FD |
Cold I/O init pairs |
0819–0848 |
CRTC + geometry tables |
1000–11BD |
Floppy + type21 orchestration |
11C0–1433 |
Errors, dir, map decode, config, handoff |
1434–16DB |
Disk driver |
1FF0–1FFF |
Zeros (not 8086 reset) |
RAM (runtime)
| Range |
Role |
2000 |
Early probe; disk driver workspace |
2000–201F |
Disk variables (below) |
2200 |
RAM test; menu SP; dir/file sector buffer |
2300 |
+100h in first file block → copy to 6500 |
2400–25FF |
SYSTEM header (LBA 0) |
2600+ |
Allocation map (type 21h) |
5800–5F7F |
Console text (spaces) |
5FD0–5FDD |
Cursor / phase / RAM-size |
6000 |
Early / test stack |
6500 |
80h file fragment |
6600–665F |
Drive config table |
6660+ |
Media config |
67E0–67F6 |
Handoff block |
7000–77FF |
Banked video/attr window |
FF4C |
Type21 transfer after mapper |
Disk driver vars
(2000h)
| Addr |
Role |
2000 |
Buffer pointer |
2002 |
Remaining sector count |
2003 |
Geometry / SPT-related |
2005 |
Side/head flag |
2006 |
Shift / block param |
2007 |
Density/unit cmd flag |
2008 |
Head-related |
2009 |
Unit (3=floppy, 0=Winchester) |
200A |
Data base LBA |
200C |
Next dir sector LBA |
200E |
Side from C>>4 |
200F |
Next data sector LBA |
2011/2013 |
Saved LBA mid/hi |
2015 |
Sector-in-block counter |
2016 |
Bulk page index |
2018 |
Remaining bulk count |
201A |
Current dirent ptr |
201C |
Dir index 0…15 |
201D |
Alloc map cursor |
Flags (5FDx / config)
| Addr |
Role |
5FD3 |
Putchar state |
5FD4 |
Cursor related |
5FD8 |
Phase "01"/"02" |
5FDC |
Continuous test cycle |
5FDD |
RAM size probe (0=small) |
09AA |
Winchester / auto-boot enable (C8 in dump) |
09AD |
Floppy id (07 in dump) |
Handoff block (67xx)
type 21h
| Addr |
Content |
67E0 |
FE00h |
67E2/67E6 |
1000h or 3000h |
67E4 |
FE60h |
67E8 |
from ROM (0FFB) |
67EA |
0200h |
67EC |
48h |
67EE |
E40Ch |
67F0 |
EAh |
67F1/67F3 |
from file (2227)/(2229) |
67F5 |
(5FDD) |
67F6 |
cleared at floppy start |
674C |
stub from 0573 |
I/O ports
Console / video / mapper /
dual-CPU
| Port |
Use |
00 |
Kbd data / control (08, 10,
02 = console modes — not port 02) |
01 |
Kbd status (bit1 ready) |
02 |
Only OUT in ROM: stub
@0575 / 674C with
A=01 — dual-CPU release candidate |
04 |
Video data stream |
0C |
Only IN in ROM: stub
@0580 after remap |
0E/0F |
CRTC index/data |
16 |
Memory mapper (OUT (16), ~bank) |
See Dual-CPU
architecture.
Disk
| Port |
Use |
A0 |
Data (INIR×2) |
A1 |
Status/sense |
A2–A5 |
Address |
A6 |
Unit/command |
A7 |
Busy/ready |
A8 |
Gate |
10/13 |
Aux pulses |
Cold-init also uses 9D,98,9B,91,70,9A,1A,1B.
If anyone has additional information, manuals, schematics, or software for this Vector 4/8086 CPU variant (Vector Graphic SX/5000), please contact me.