-
Notifications
You must be signed in to change notification settings - Fork 2
16 August 2026
From the post on 13 July 2026, I have vibe coded the dumper-flasher and flashed pptest4.bin. I have uploaded the result as a YouTube video.
Vibe coding the arduino sketch and the python application reveals that the shield works correctly! Very excited and proud. During the vibe coding, Claude highlighted the fact that I wired the pins incongruent with the arduino SPI library, so I opted for manual read/write without the library. The consequences of this is:
- The user can match the arduino-chip pin pairs if their shield deviates from mine.
- The read/write is slower than if I used the original library.
The successful run of the cartridge with the modified data show that we can temporally expand the capabilities of the chip to the predicted ~35 min runtime (see time calculation). The next task will be to re-tackle hand-editing of a custom cartridge and flashing that.
- Make a "blank" slide that includes a proper header and minimal, blank payload.
- Make a "blank" light table that includes "on" and "off" commands.
- Locate the custom music file from previous.
- Delete Segment 4 data ->
FF. - Delete Segment 6 data ->
FF. - Change all Segment 4 pointers in Segment 1 to each point to Region 1 (0x4EE8).
- Keep Region 1.
- Mark Region 2 light data.
- Change Region 2 light data to on-off pattern (Item 2).
- Delete original Region 2 audio data.
- Insert custom music file (Item 3) in substitute for Region 2 audio data.
- Update Segment 1 pointers for remaining Segment 3 Regions.
- Run in John-K's
dreamprojectorsuccessfully. - Flash.
- Test and record.
- We need a header (4 bytes of audio-only length, 2 bytes of frequency (conserved)).
- The length of the header is 10 bytes =
0x0A. - Remember little endian format (essentially backwards).
- The length of the header is 10 bytes =
- We need the minimal amount of bytes of audio (10 bytes = 1 packet; see this calculation).
Header Length
0A 00 00 00
Header Frequency
80 3E
Blank Payload
00 00 00 00 00 00 00 00 00 00
Full Template
0A 00 00 00 80 3E 00 00 00 00 00 00 00 00 00 00
- We need some data when the lights are expected. We can use the open and close signals in sequence without setting any light colours. This should produce the absence of any lights. See John-K's repository for information sources.
Opening Byte Sequence
04 F0 00
Closing Byte Sequence
04 F1 00
Full Sequence
04 F0 00 04 F1 00
Trying to load the custom payload in dreamprojector led to an error reading the segments. However, since I have truncated Segments 2.1, 2.2, Regions 3-12, and deleted Segment 4 and 6, I have reason to believe this is simply incompatible with an original cartridge read, but may work on the projector.
- Uploaded the full
BSLSBS.binas an initial control. - First slide played correctly. Second slide played briefly with very brief white-noise, then crashed.
- This may suggest that the flasher program is faulty: potentially an error when reading files to upload (when those files are updated when the application is running, not updating its data in app after file is updated; indicated by wrong file length persisting in app after saved fix in ImHex).
- The first slide read as Pokey Little Puppy as opposed to Big Shark Little Shark Baby Shark...
- Uploaded the full
customBSLSBS.binfor real test. - Exactly the same file as Test DP-1-C, no changes.
- We can confirm that Segments 2.1 and 2.2 are not necessary to run a cartridge.
- We must double-check the custom music payload.
- We must double-check the starter template (it is reading an unexpected story).
- Troubleshooting this will need a clear ability to ensure the cartridge is erased, then overwritten.
Attempts to extract the customBSLSBS.bin with dreamsmith was throwing an error. Upon second glance, I realized I had entered Region 2's pointer incorrectly in Segment 1. Fixed. Extraction command runs without error now.
Effects_XX.wav all are blank with no sound -- must confirm that these actually are acceptable in LTSDM.
Page_00.wav and Page_01.wav are also blank (as they should be).
Page_02.wav is page 1 of Pokey Little Puppy.
Page_03.wav and Page_04.wav are both about 4 seconds of white noise.
Page_05.wav onward are all blank.
- Copied a fragmented version of
Page_02from a verified BSLSBS copy -- overwritten the fragments fromdreamsmith. - Copied a fragment version of custom audio to
Page_03 - Recompiled via
dreamsmith, visualized bydreamprojector.- A concern is that the blank slides appear, but are noted as 0s duration with the progress bar stuck at the middle, unable to adjust.
- Reflash the corrected compile. Cartridge played most of slide 1 of the true BSLSBS story, then close to the end (but not quite) abruptly crashed and rebooted. Why? Delayed timing could be another light-table issue...
| ⟵ Older | Table of Contents | Newer ⟶ |
|---|