Login
Back to forumReply to this topicGo to last reply

Posted By

ytm
on 2025-10-26
16:49:59
 tcbm2sd and Pi1551

Good news everyone! There will be Pi1551

This is still early in development, but together with tcbm2sd you will be able to have a 1551 equivalent that should be compatible with existing games and demos.

I tested this with tcbm2sd, RPi3 with GEOS, some games and demos with 1551 fastloader.

The 1551 emulation part works already but access to the browser (anything above disk image) doesn't run yet.

There will be a RPi3 hat with buttons, LCD screen and a buzzer, but the hardware is much simpler than Pi1541. In the minimal case it's just 16 wires.

tcbm2sd with RPi3 running Pi1551yes, that's a wireless USB keyboard for C16
(yes, that's a wireless USB keyboard for a C16 because I don't have a keyboard for a C16)

The work will continue here: https://github.com/ytmytm/Pi1551 - it will require cleaning and documentation focused on 1551. And of course making the browser mode work.

When Pi1551 is connected the Arduino onboard tcbm2sd is disabled - there is no access to SD card from tcbm2sd. You can't have them as drives 8/9 on the same cartridge. You can't switch between them - the Pi1551 cable has to be disconnected.
This was by design, that was my original intention - Arduino was a stepping stone until a better solution is available.



Background:

I did a lot of work on Pi1551 and abandoned it in August 2024 because I got frustrated when I couldn't even get it to boot after spending over a month on reconstructing 1551 internals from schematics and pieces of other emulators.

I came back to the project earlier this month, armed with AI junior assistant from Cursor editor, and there was an instant success. It took it under a minute to verify implementation against my notes and find that RPi was stuck on boot because I reversed TCBM reset input polarity.

Now it could boot and I could continue.

Does the TCBM communication even work?

Of course it didn't.

The next stupid mistake was that after quickly soldering a cable I forgot that handshake signals have to be crossed (what is Data Valid on one side needs to go to ACK on the other).

Again my AI helper was quick to add a ton of debug messages, so that finally I could notice that DAV never changed no matter what I do on my C16. Fortunately this conflict (output was connected to the output) didn't fry anything on RPi3 nor on tcbm2sd.

The last stupid mistake was, again, the reversed logic of the head read/write mode bit. The drive couldn't read anything because the head was in write mode. The drive couldn't find any sector because in write mode the SYNC marker won't be found. I should have gotten the hint when I saw that exiting a disk image caused Pi1551 to rewrite it, but on the other hand - I had never used a Pi1541 so I didn't know the typical behavior.
siz1
Haegar1
Posted By

George
on 2025-10-26
17:48:11
 Re: tcbm2sd and Pi1551

Amazing work, Maciej!
Great A.I. was useful to get you going!
Posted By

Verona
on 2025-10-26
18:46:17
 Re: tcbm2sd and Pi1551

Fantastic news!
Posted By

BSZ
on 2025-10-27
17:37:17
 Re: tcbm2sd and Pi1551

@ytm: Well done! happy It's good to see Questionmark as a test environment. happy


Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2025. Support Plus/4 World on Patreon