-
Notifications
You must be signed in to change notification settings - Fork 2
21 May 2026
Note
This information was corrected and updated in 22 May 2026 entry.
I had a few minutes to flash the corrected injection-complete.bin onto a cartridge. Good news and bad news. Good news, the audio started playing, no problem. No light flicker, just a steady projection with the music. Then, halfway through the first frame, it started to seize and quickly crashed. The projector light flickered, and the backlight seized.
I am glad to have recently read John-K's format.md from the last post. Prima facie, it appears that the timing of the lights are summed up to a distance, T. The length of the audio, A, calculated from the a1800-encoded field is also taken by the firmware. To know when to play the lights, the firmware calculates the starting time of the lights as follows:
Where
For the first Region of each cartridge, there is a short introduction without lights. Lights begin after the introduction and at the beginning of the proper narration. I believe that the lights data may be corrupted upon my modification. I think that the audio is now totally fine, the pointer is fine -- the whole .a18 portion of the Region is ok. When it comes to the lights data, it seems that a length of time is calculable (since the firmware seems to know when to start the lights), but the light colours themselves may be erroneous, causing the crash. This is surprising though as I did not mean to change the lights data. Perhaps the distal end of my injection of custom audio had encroached on the lights data, leading to overlap corruption.
Overall, this fix of the pointer length seems to have fixed the lights' seizure. We can play audio fine. This is progress, a good win! Now, I will have to diff the modified data to the original data (BSLSBSBaseF.bin) to see where any overlap corruption takes place.
Additionally, I just had the idea to take John-K's assertion of beginning and end codes for the lights and truncate it to START-STOP, effectively eliminating any lights, and see if this plays just the audio without lights, or if it triggers a carousel rotation to the next frame. If it crashes, then perhaps I really do not understand how the lights work yet.
| ⟵ Older | Table of Contents | Newer ⟶ |
|---|