Related: Documentation index (full index) · Quick reference
Hardware
- Machine: Vector Graphic Vector 4-8086 / SX/5000 (Z80B + 8086)
- This ROM: Interleaved boot EPROMs XHE (U49 high) +
XHO (U68 low)
- Combined:
V2_AC_Interleaved_XHE_XHO.bin(8 KB) - Part numbers: 6200-9222 / 6200-9223
- Combined:
- Other ROMs: Character generators only (CG_LT / CG_RT) — fonts
- OS load: SYSTEM image from floppy or Winchester into RAM
Critical finding: This ROM image is 100% Z80 boot code only!
radare2 -a z80 -b 8 -m 0x0000 V2_AC_Interleaved_XHE_XHO.bin8086 may still run after OS handoff
(13A9 / JP FF4C / stub @0573);
boot-up and disk load analyzed so far are pure Z80.
See Dual-CPU architecture.
What the firmware does
- Initialize I/O, memory mapper (port
16h), video/CRTC, console
- Optional self-test (
01D2)
- Boot menu: Winchester / Floppy / Test
- Load vendor SYSTEM OS from disk
Menu
Strings from ~0585h:
VECTOR GRAPHIC SX/5000 [XH]EXECUTIVE - REVISION 2.00 (AC)[W]Winchester ·[F]Floppy ·[N]Network ·[S]Station ·[T]Test
Dispatch table @07F4 implements only F / T /
W (1000 / 01B2 /
1066).
N / S appear in banner text only.
SYSTEM file concept
LBA 0 → RAM 2400h, then validate
(path-dependent):
| Check | Floppy simple | Floppy type 21h |
Winchester |
|---|---|---|---|
(2402) == 02h |
Required (#1 on fail) | Required | Required (#2 on fail) |
(2442) & C0h == 80h |
Required | Required | Not checked |
(2442) & 3Fh |
≠ 21h → simple |
== 21h → file load |
Not checked |
Word (2400) ≠ 0 |
Required for JP 2400 |
N/A (goes to FF4C) |
Not required; always transfer |
(240B) == (09AA) |
Not on simple path | Config tables | Required (#5) |
- Type
21h(floppy only in this ROM): 11-char name at241E, directory + alloc map@2600, bulk load,JP FF4C
- Other types / Winchester:
JP 2400(menu) orCALL 2400(Winchester auto-boot)
Filename is on disk, not cleartext in ROM.
Related messages: SYSTEM FILE NOT FOUND,
INCOMPATIBLE SYSTEM FILE,
UNRECOGNIZED SYSTEM DISKETTE,
UNRECOGNIZED MEDIA FORMAT,
CONFIGURATION MISMATCH,
INSUFFICIENT MEMORY FOR LOAD,
SYSTEM FILE ACCESS — see Error codes.
Not a generic MS-DOS boot-sector loader.
Other Documentation
| Area | Path | Purpose |
|---|---|---|
| Index | Documentation index | Navigation by task, address, and folder |
| Analysis | analysis/ | Boot / load / test / handoff narrative |
| Reference | reference/ | Tables, maps, parameters |
| Guides | guides/ | Build custom boot media |
| Listings | disasm/ | Annotated Z80 disassembly |
Primary analysis chain
- Reset / entry path — cold
start → menu
- Floppy load path —
[F] simple vs type branch
- Type 21h SYSTEM
FILE — full SYSTEM FILE
- Winchester load path
— [W]
- Handoff 13A9 → FF4C —
type21 →
FF4C
- Dual-CPU architecture — Z80/8086 model
Also: Self-test suite · practical How to boot floppy / How to boot hard disk.
Conventions
- Base address
0000has seen by Z80 Executive
- Strings often bit-7 terminated (printer
03E4)
- Prefer flow-following; mixed code/data
- Relative JR/DJNZ targets in
docs/disasm/*.asmare corrected
- This dump:
(09AA)=C8h,(09AD)=07h
More Work Needed
| Item | Notes |
|---|---|
Bytes at FF4C after remap |
Need real SYSTEM disk image |
Exact 11-byte SYSTEM name (241E) |
On media, not in ROM |
| Alloc-map chain semantics | Confirm with disk image |
8086 reset / OUT (02),01 electrical meaning |
Needs schematics / bus trace |
Winchester media CHS / header +10…+14 values |
Geometry is on disk, not in ROM (Winchester parameters) |