-
Notifications
You must be signed in to change notification settings - Fork 2
29 March 2026
Flashing an intact copy of another cartridge's data.
- The second cartridge's lights and audio clearly played when the first's should have.
- Full replacement success
- This also confirms the validity of the "purified" binary files.
Flashing a modded copy of a cartridge that has the light tables for Regions 1-12 filled as all 'ff' bytes.
- Light turned on and projected first frame
- Intro audio the the BSLSBS cartridge played
- Once audio got to the actual book with the light commands, the audio did not stop and continued on in the reading (audio was preserved); however, the lights flickered on for a milisecond, and the projector light dimmed after a few seconds. Then, the back light quickly flickered among a range of colours. The carousel turned, and did not rest to project a frame -- it was continuously executing carousel turning commands of 1 frame. Eventually, the audio stopped where a transition from frame 1 to frame 2 would be and then silenced. The frame 2 audio did not play. It seemed to spin forever with the audio and lights off until I pressed play, where it executed the opening sequence of finding the first frame. When it did find the frame (as indicated by the chime), it then continued its neverending carousel spinning until I turned it completely off. A hard reset seemed to restore the projector's full function.
- We can conclude that light tables cannot be blanked out.
- We can also conclude that there must be a timing variable that plays the introduction to a book, as it displayed absolutely no lights the whole time, and is independent of the light table. (Where is the verbal introduction to the book? Is it halfway into Region 1? Is it embedded in all Region 1 Tables? After this audio, then the light show happens... is it centrally installed in the MCU of the projector? Then how would it ever update to extend the library? Likely not).
- We can also conclude that both light colour and timing are encoded in the Table.
- Perhaps Region 1 has a common "secondary start" after the book's initial introduction. Diffing Region 1s across cartridges may unveil some conserved delineating data. It may not be detected by ImHex due to its offset, so we may want to brute-force check for such a conserved data patch in the middle of Region 1 Body.
- Region 1 Tables should be measured in case there is an interval variable delaying the first lights for the book introduction audio.
Turning the whole Segment 6 (the weird ID-looking thing at the end of the cartridge data)
- Completely normal, no interruptions of lights (colours or transitions), audio (voice reading, sfx, projector chimes), carousel turning, or projector light emission.
- Listened to the end of the audio, no interruption at all
- Ended typically, unremarkable.
- We can conclude that Segment 6 is useless
Changed each byte of Segment 6 by +1 (04 01 00 -> 05 02 01)
- Completely normal like Blank Segment 6, no changes.
- Further evidence that Segment 6 is insignificant. Perhaps a stamp, or a matching code to a writing program...
Changed the number in Segment 1 that holds a unique cartridge number (0x2 and 0x3, correlates with the flashed story) into FF.
- Completely normal like Blank/Custom Segment 6, no changes.
- May conclude that the cartridge magic number is insignificant. May infer that the cartridge magic number and Segment 6 do not act as barriers to our modifying the cartridge data.
- Light Tables Removed (must delete light tables, then update the Segment 1 pointers thereafter).
- Light Tables with conserved beginning and end (if universally present)
- Swapping a whole Regions between cartridges (must edit Region, then update the Segment 1 pointers thereafter).
- Swapping a whole Region Body with fully intact custom song + keep table (must edit Region Body only, then update the Segment 1 pointers thereafter).
- Swapping a Region Table with 1 colour (will help us identify colours)
- Swapping a Region Table with 2 alternating colours (will help us find time interval encoding)
- Swapping a Region Table with a series of rainbow colours that switch every 1 second (confirm understanding)
These next tests would benefit from having a LTSDM_cartridge maker. I have half-coded one with python. Its purpose was to verify dumped data. I could use it as a library for this next program. It may be an improvement if I had chunked each Segment/Region into their own .bin files that I would then piece together, and just build Segment 6 by hand.
| ⟵ Older | Table of Contents | Newer ⟶ |
|---|