Prev: 5E09 Up: Map Next: E9E3
E9B6: Micromega Loader
Used by the routine at BootstrapEntry.
Stage-2 Micromega 1.1 loader. It first checksums itself, then reads a 16-byte custom header that names destination 4000, total length A81D and 0C overlapping chunks. Each of the twelve main chunks carries 0DB6 tape bytes but only advances the destination by 0DAC, so the last ten bytes of one chunk overlap the next. A short final chunk finishes the A81D-byte main image at Loading..E81C, which overwrites the REM bootstrap. Control then returns to BASIC so line 4 can ROM-load the final support block on top of this loader.
While the chunks load, TimingSwitch alternates two timing-parameter sets and TimingPatchCopier patches them into the sampler at TapeSampler.
MicromegaLoader E9B6 LD HL,$0000
E9B9 LD ($E9E5),HL
E9BC LD HL,$E9E9
E9BF LD ($E9E3),HL
MicromegaLoader_0 E9C2 LD A,(HL)
E9C3 LD E,A
E9C4 LD D,$00
E9C6 LD HL,($E9E5)
E9C9 ADD HL,DE
E9CA LD ($E9E5),HL
E9CD LD HL,($E9E3)
E9D0 LD DE,$EBE6
E9D3 SCF
E9D4 CCF
E9D5 SBC HL,DE
E9D7 JP Z,LoadingController
E9DA LD HL,($E9E3)
E9DD INC HL
E9DE LD ($E9E3),HL
E9E1 JR MicromegaLoader_0
Prev: 5E09 Up: Map Next: E9E3