Login
Back to forumReply to this topicGo to last reply

Posted By

ytm
on 2024-07-17
18:27:29
 Introducing tcbm2sd

Hello everyone!

I want to share with you something I've developed over the past month.

https://github.com/ytmytm/plus4-tcbm2sd

The tcbm2sd is a cartridge that combines a 1551 paddle replacement with a 1551 simulator interfacing an SD card.

It's less than sd2iec (no space in flash for that), but more than a Tapecart. It is able to LOAD, SAVE, handle directories, and several disk commands: CD, MD, RD, S, R.

It doesn't require any special software or loader and works with stock CBM Kernal.

I liked Directory Browser 1.2, so I embedded it in the flash as a file browser. It loads automatically when you try to load '*', like with SHIFT+RUN/STOP. I also patched it for fastload protocol.

Using the Kernal LOAD, I measured a loading speed of about 3100 bytes/s. The fast loader is about three times faster than that, on par with the parallel cable DolphinDOS from C64/128.

This project has two parts:

a) paddle replacement cartridge that combines the 6523T with PLA. It uses a CPLD that can handle 5V input but outputs 3.3V. It should work with a 1551 drive, but I don't own one, so I can't test if it needs additional buffers or pullups.

b) a 1551 simulator that runs on an Arduino Mini Pro (32K ATmega328). This is not enough for an sd2iec port, so disk images are not supported, but it might motivate me to create a new revision with a microcontroller that can handle that.

The simulator part is optional - it's just connected to TCBM connector lines arranged in an Arduino Mini Pro footprint. Something else (like a real 1551 or RaspberryPi for Pi1551) could be connected in that place.

If the lack of disk image support bothers me enough, I'll probably go with the next revision, having a more capable microcontroller and an sd2iec port. This first revision was meant to be simple, cheap and use off the shelf modules. This is a MVP to test if this stuff would even work (it's my first CPLD project), but it's very useful on its own already.

Please check out Github for a more detailed description, photos, and some operation videos.

YTM/Elysium

Posted By

Csabo
on 2024-07-17
20:41:15
 Re: Introducing tcbm2sd

That's really cool! Also very fast happy

Posted By

Gaia
on 2024-07-18
03:32:25
 Re: Introducing tcbm2sd

This is very cool, the 1551 is my soft spot. Are you planning to produce some actual pieces for sale as well?

Posted By

Luca
on 2024-07-18
03:34:49
 Re: Introducing tcbm2sd

Super interesting, I would buy one for sure.

Posted By

SukkoPera
on 2024-07-18
04:05:38
 Re: Introducing tcbm2sd

Hey, this is supercool, great job! I also appreciate that it's a 100% open project, good choice! I am also interested in trying it out ASAP!

Also I'm glad that LittleSixteen helped with the development. This gives me a couple of ideas... grin

Posted By

MMS
on 2024-07-18
18:53:30
 Re: Introducing tcbm2sd

This is great! I suppose the original 1551 should have reach that speed on 8bit parallel line. (I suppose a little more RAM would not hurt for 1551)
This speed, especially with a fastloader is really impressive. I am also ready to buy one, as I see the disc support will also come sooner or later.

I already gave up the idea to own an 1551, so this one will be great instead of 1551. Let us know if some pieces will be available.

Posted By

ytm
on 2024-07-18
16:39:08
 Re: Introducing tcbm2sd

Thanks! This is really encouraging.

Assembling a small batch won't be a big problem.

I'll give myself about a month or so to continue testing and finally decide on the microcontroller. If I can quickly get an sd2iec port to run on something larger, like an RP2040 with a TCBM bus within this time, I would redesign the cartridge and add the buttons.

If not, that's okay too - I would postpone things at least until the winter holiday season. It would mean that this first revision has some shelf life in it and I could offer you that in the meantime.

I'll keep you updated!

@SukkoPera I can thank you directly happy LittleSixteen was very educational - especially with all the additional comments on the schematic pages. I bought my first Plus/4 only in May, I didn't know anything about this machine before.

@MMS I played with the idea of extra ram in 1571 and 1541. It can be used to load and cache whole track data - like 1581 does. I patched DOS for that: https://github.com/ytmytm/1571-TrackCacheROM.
It makes sense when transfer is fast enough (at least JiffyDOS speed) because only then we have the speed gain of ignoring the sector interleave business.
A similar patch could be done for 1551 (even without real hardware, entirely within patched VICE). But that's entirely different project happy

Posted By

siz
on 2024-07-19
03:03:58
 Re: Introducing tcbm2sd

I'm not sure if it worth the effort to use the SD2IEC firmware. Your version already supports basic directory management and file handling functionality.
Support of disk images would be nice but I can live without that. In addition to that the main value of SD2IEC is the compatibility with several fastloaders but those are for the serial port and most of them for C64 only anyway so in a TCBM device those does not hold value.
On the other hand supporting the FlexSD firmware of BSz with the virtual CPU extension for SD2IEC could be a nice thing. But currently that is also for serial port only. (But I heard some rumors that he is working on a parallel extension so that could come handy wink)

Posted By

ytm
on 2024-08-04
16:07:56
 Re: Introducing tcbm2sd

I managed to squeeze into the firmware also the read-only support for disk images (D64/D71/D81).
This pretty much completes what I wanted to achieve.

The author of Directory Browser kindly shared the source code with me, so there is now a version that supports the native fastload protocol (23x, ~9KB/s) for files and directory listings.

After thinking more about this I agree with @siz that SD2IEC is not worth the effort. If anything, a cycle-exact Pi1551 emulation (based on Pi1541) would be the next step. The PCB, without Arduino installed, can already be directly connected to RPi's GPIOs, without needing any level shifters. So, such project would be "only" a software problem.

I have some parts left and will be ordering more. If you'd like to buy a ready-made TCBM2SD from me, please send me an email: ytm@elysium.pl
Let me know how many you'd like and include your country of residence. Once I have an estimate of the quantity needed, I'll get back to you with a price offer.

(If you are reading this in the future, don’t hesitate to ask either - I will order some spares too.)

Posted By

Jacint75
on 2024-08-05
10:46:14
 Re: Introducing tcbm2sd

Great development! I built it and tested it. Enchanted Castle (.PRG 239 BLOCK) Normal loading 17-18sec. Turbo loading in 6 seconds. happy

Posted By

MMS
on 2024-08-06
14:41:33
 Re: Introducing tcbm2sd

Wow, almost 10KB/sec, great. I am interested happy The "slow one" is also a great speed!

Posted By

SVS
on 2024-08-07
11:40:37
 Re: Introducing tcbm2sd

Fantastic!

Posted By

rossi
on 2024-08-07
15:28:32
 Re: Introducing tcbm2sd

Wow, I'm thrilled and would also be interested, if it becomes available for purchase. As a software guy, I unfortunately cannot even to simple hardware work myself, as a solder iron is not compatible with my hands ...

IThats also the reason, why I don't have some other interesting projects, I would like to have, but shy away from doing myself, as e.g. LittleSixteen ...

Greetings from Germany,
Rossi

Posted By

SukkoPera
on 2024-08-07
17:38:58
 Re: Introducing tcbm2sd

@rossi: I've heard that thing many times (and I have actually believed the same thing for myself for years) and most often it was just cases of having an indecent soldering iron or solder wire.

Get yourself a good iron (I always recommend the Hakko FX-888D, around 110€ but it'll outlive you) and good old leaded solder wire and you'll be surprised at how easy it is...

Posted By

rossi
on 2024-08-10
11:57:08
 Re: Introducing tcbm2sd

@SukkoPera: I of course tried and killed a good chunk of decoder (model railway, my other hobby) due to my utter and complete lack of skills, despite a good soldering iron, which I bought on recommendation of a good friend of mine, what had to do all the repairs of my trials, where possible. But somehow the soldering iron and myself simply don't match.But if there is no other way, I probably need to give it one more try and should just order myself the board from PCBWay.

Cheers,
Rossi

Posted By

ytm
on 2024-08-15
11:21:30
 Re: Introducing tcbm2sd

Finally the first batch is with me. I have the units available for 35€ + shipping. If you want one (or more), drop me an email: ytm@elysium.pl for cost estimation.

Posted By

Haegar
on 2024-09-08
15:14:50
 Re: Introducing tcbm2sd

I have customize a case for the tcbm2sd. You can find the 3D print files here:

https://www.thingiverse.com/thing:6759688

Posted By

MMS
on 2024-09-09
05:33:00
 Re: Introducing tcbm2sd

@Haegar,
Thank you! it looks more professional within a proper housing happy

I opted for one at YTM, but he ran out of the first batch, till that time he will be ready with the second round, I will look after a local 3D printing facility (I admit I do not own one, and not planning to buy one, due to the noise).
BTW Tip does not work for me...

Posted By

xahmol
on 2024-09-10
03:04:47
 Re: Introducing tcbm2sd

Great development and very interested!
But after contacting ytm via mail together decided it would be better for me to wait a bit as known issues with both the CPU and PLA I have in my Plus/4, and possibly it’s JiffyDOS ROM replacement as well, probably will give issues at my machine.

So wait until confirmed working with those. And sincerely hope that a full Pi1551 is a next step that we do not need to wait too long for. Want one!

Posted By

GeTE
on 2024-09-10
13:04:20
 Re: Introducing tcbm2sd

This is a really great developement! grin

The SD2IEC is a kind of solution working for C64 and 264, but the C64 has the Ultimate-64 to emulate the disk drive as closest as possible for using speeded games and new releases made for disk. I always thought that we need something like that in the 264-scene for the emulation of the 1551. The disk drives are kind of rare and therefore new developers might get a C16 or plus/4 easily but not such a drive. That's a problem because in my opinion every D64-release should be speeded, testet and 100% working not only with the 1541 but with the 1551 too.

I talked to toms01 (from Forum64: https://www.forum64.de/index.php?thread/137781-gab-es-jemals-eine-1551-ii/) at last LuheCon about the idea to build such an "Ultimate-1551" because he is deep in the hardware (more with C128, but started to recreate the C16) and has done support to make the 1551-II happen with kinzi and AndroSID. Unortunately he is not interessted in building such a drive. sad

In between I found Joco's SD drive (http://joco.homeserver.hu/c16stm/) but as I see that projekt it needs special loaders but your approach is really to come close to the behaviour of a real 1551 but usind SD-cards. Great! I will like to drop you the e-mail and test the first bunch out and even want to come back to later bunches if you want to come closer to real 1551 behaviour.

@Haegar: Nice approach but as really new case developement what do you think about creating a case that looks like the paddle a real 1551 has but without the cable canal on the one side and a slot to insert the card?

Posted By

Haegar
on 2024-09-11
02:19:57
 Re: Introducing tcbm2sd

@GeTE: I think the idea is good. But building something like that from scratch takes time and would require a better program. But then I would create it with and without a cable. With as a case for people whose paddle on the 1551 have broken and without as a case for the tcbm2sd.

I'll have to start looking into how I can get all my projects and ideas on the Plus/4 one after the other. Too many ideas, too little time happy

Posted By

ytm
on 2024-09-14
16:50:22
 Re: Introducing tcbm2sd

I have an update - it looks like today I finally got the CPLD equations right to make tcbm2sd work with 6502/10 replacements. The only strange thing left JiffyDOS+6502 combination - fastloader doesn't work with that one.

I ran out of stock that I can sell at the moment. In a month or so I will be ordering more.

Since expansion port connectors are impossible to find I'm going to drop the cartridge passthrough feature and just put a 64K ROM on the PCB already to be available as cartridge 1 and 2.

Posted By

GeTE
on 2024-09-16
06:50:39
 Re: Introducing tcbm2sd

For me that are great news! grin

There were never much cartridges available for the 264 line, but I always used Kingsofts TURBOPLUS inserted at the back of my 1551-paddle for programming. Therefore you are on the way to substitute that setup for my "mobile plus/4".

How will it be possible to load up new cartridge images in the TCBM2SD's ROM?

Posted By

ytm
on 2024-09-17
16:21:54
 Re: Introducing tcbm2sd

How will it be possible to load up new cartridge images in the TCBM2SD's ROM?

Pretty much the same like for OpenC16Cart or c264-magic-cart - you would exchange the ROM in the socket happy.

Posted By

ytm
on 2024-09-28
15:37:03
 Re: Introducing tcbm2sd

And I made GEOS running off SD card too:

https://www.youtube.com/watch?v=9cCSHK2ZdFU

This also demonstrates the next/prev buttons and cartridge ROM on the updated PCB. That Plus/4 had JiffyDOS and 6510 CPU replacement installed for compatibility tests.

I need to complete some more tests and within a month or so I will place an order to have a new batch of these manufactured.

Posted By

ytm
on 2024-11-07
17:03:54
 Re: Introducing tcbm2sd

I mentioned it in another topic, but for subscribers of this one:

The first two games: Giana Sisters and Alpharay patched for TCBM2SD are now available for download, with source code of patches and loaders

https://github.com/ytmytm/plus4-tcbm2sd/tree/main/games

As long as @siz 's I/O library is used this is quite straighforward once the library entry point and loader location are recognized.

When the software uses only one method: just loading files or just loading compressed data it's easy.

But my second game choice was Alpharay, which loads some data compressed and some directly.
The loader overflowed its area by 32 bytes. Finding unused memory inside game which I won't be able to complete is a bit of a challenge.
For a moment I put my code on the bottom of the stack ($0100-$011F), but in the end I was able to some space in the decruncher area.

More will come.

Posted By

George
on 2024-11-07
21:29:11
 Re: Introducing tcbm2sd

@ytm can it handle sequential files via the OPEN command in BASIC?



Back to topReply to this topic


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