Imagine V2
Found on:
Loader files:
"B.C. Bill"
"Cosmic Cruiser"
"Moon Cresta"
"Graphics Adventure Creator"
"Winter Wonderland"
"Cosmic Cruiser"
"Moon Cresta"
"Graphics Adventure Creator"
"Winter Wonderland"
Loader files:
ROM Header
Contains the code of the first loader
ROM Data
Loads to $0300-$0333 and causes autostart at $0351
Encoding:Contains the code of the first loader
ROM Data
Loads to $0300-$0333 and causes autostart at $0351
Endianess:LSbF
Threshold:0x1e0
Lead-in:Sequence of zeroes and ones ending with $2e (changes during load)
Sync:$d1 (changes during load)
Structure:Threshold:0x1e0
Lead-in:Sequence of zeroes and ones ending with $2e (changes during load)
Sync:$d1 (changes during load)
Header:4 bytes
Checksum:None
Checksum:None
Lead-in:
Number of leading bits seems to vary from 0 to 80 and are always on even eight.
Loader rotates in bits one at a time until value matches lead-in.
Lead-in and sync values are changed several times by overloading the code.
The lead-in and sync bytes in the second loader can be picked up at these offsets.
Lead-in: 0xbf, 0xd9 for Moon Creesta
Sync: 0x7a
Header:
1-2 Load address (low/high)
3-4 End address (exclusive) (low/high)
First loader loads the first turbo file which is divided into many small files with their own headers.
Most of these small files either changes the lead-in/sync byte or overloads small parts of the loader itself.
The first data file is nearly identical on all titles it has been found on, down to the 'trash' bits of the lead-ins.
The second loader is more straight forward and the number of files it loads is hardcoded and can be found at 0x142 in the first turbo area.
That offset includes lead-in bytes and syncs and also applies to the modified version on Moon Cresta and GAC.
Variants:
"B.C. Bill" and "Cosmic Cruiser" are identical.
"Moon Cresta": Second loader has some code added to be able to display an intro picture.
"Graphics Adventure Creator": Second loader has different lead-in and sync bytes.
"Winter Wonderland": Loads second loader to another memory address and the loader code is doubled.
Statistics:
Number of leading bits seems to vary from 0 to 80 and are always on even eight.
Loader rotates in bits one at a time until value matches lead-in.
Lead-in and sync values are changed several times by overloading the code.
The lead-in and sync bytes in the second loader can be picked up at these offsets.
Lead-in: 0xbf, 0xd9 for Moon Creesta
Sync: 0x7a
Header:
1-2 Load address (low/high)
3-4 End address (exclusive) (low/high)
First loader loads the first turbo file which is divided into many small files with their own headers.
Most of these small files either changes the lead-in/sync byte or overloads small parts of the loader itself.
The first data file is nearly identical on all titles it has been found on, down to the 'trash' bits of the lead-ins.
The second loader is more straight forward and the number of files it loads is hardcoded and can be found at 0x142 in the first turbo area.
That offset includes lead-in bytes and syncs and also applies to the modified version on Moon Cresta and GAC.
Variants:
"B.C. Bill" and "Cosmic Cruiser" are identical.
"Moon Cresta": Second loader has some code added to be able to display an intro picture.
"Graphics Adventure Creator": Second loader has different lead-in and sync bytes.
"Winter Wonderland": Loads second loader to another memory address and the loader code is doubled.
Statistics:
| 0 | 1 | |
| Cosmic Cruiser | 351 µs ($43) | 686 µs ($84) |
| B.C. Bill | 368 µs ($45) | 734 µs ($90) |
| Moon Cresta | 347 µs ($43) | 697 µs ($86) |