White Viper

Found on:
"White Viper"

Loader files:
ROM Header
Turbo loader
ROM Data
Autostart, Turbo loader

Encoding:
Endianess:MSbF
Threshold:0x0107
Lead-in:1271/503 x 0x52
Sync:0x09 .. 0x01 + 0xXX

Structure:
Header:Yes
Checksum:Yes
Data:
Each file is made up of:
-Lead-in (1271 x 0x52)
-Sync sequence
-Header
-Lead-in (503 x 0x52)
-Sync sequence
-Payload
-Checksum byte

Sync:
The last sync byte is only checked when loading the header.
For the header the loader accepts 0x01/0x02 with no difference between them and considers anything else to be wrong.
It's not checked for the payload and the byte is set to 0x00 in the data.

Checksum:
EOR of all payload bytes. First byte after payload is the checksum byte.

Header:
0xB0 bytes are loaded but only the first 7 are used by the loader.

00-01   Load start address (Low/high order)
02-03   Load end address (Low/high order) (Exclusive)
04        Unused
05-06   Program start address (Low/high order)
07-AF   Unused