Tapuino, the $20 C64 Tape Emulator

  • Thread starter Thread starter sweetlilmre
  • Start date Start date
  • Replies Replies 1059
  • Views Views 299317
Ok so the button issue is solved now. They were soldered the other way around :o. Now I can browse with the standard SD module (SD Mini module is not working with same SD card so considering it as faulty now).
There is still a problem : I cannot load any tap. I select the file then key-in LOAD and Return but when I hit the play button the little spin is turning on the LCD but the load % stays stuck on 0.:blink:


EDIT : Got it working finally :-D. I think one of the track cut was still conducting. Nice piece of hardware I have to say.

Thanks!
Rick
 
Last edited:
Ohh-kay… This is officially weird.

I got myself a new Tapuino. I hit load and it found the selected .tap and started loading. The thing is it didn’t load the file properly, like the head was out of alignment.
I hooked up my old Tapuino, and same thing. It had worked when I first built it. I pulled out my other peripherals and still the same.

After several different combinations, including another C64, I found that in order to load a .tap successfully, I need to start loading it, then break with Run/Stop, abort the file loading, and then, without rebooting the C64 select the same .tap and load it again. Then it loads as it should.

I don’t think it’s the computer or or the other peripherals or the Tapuino. And just aborting the file after selection won’t do. You have to actually start to load and then break.

Only thing that I haven’t tried is a different SD card, but I can’t see what kind of issue in the card would cause the behavior.
 
Answering to myself, it seems to be only a few games, that behave this way. Specifically, Rambo and Transformers, both from Ocean. I wonder if it’s the tape loading routine used in those games that causes this weird behavior? And it’s weird, that if you stop before the game is found and start over, then it’ll work.
 
Answering to myself, it seems to be only a few games, that behave this way. Specifically, Rambo and Transformers, both from Ocean. I wonder if it’s the tape loading routine used in those games that causes this weird behavior? And it’s weird, that if you stop before the game is found and start over, then it’ll work.
Apologies for the late reply, for some reason I missed the notification.

Couple of questions:
  1. What firmware version are you on?
  2. Are you able to build and flash the latest firmware? (if so, please note what version you are on first).
  3. Can you post or DM me links to the exact tap files that are causing issues?
I'll see if I can replicate.

Thanks
-(e)
 
No worries, thanks for response! I DMed the taps in question to you.

The firmware version on my newer Tapuino device is 2.8.0. I gather I should be able to update the firmware on my old, self-built version as that uses an actual Arduino board.
 
Hi,

Took a while to set things up to test. I have tested both tap files on 2.9.0 and both load fine (multiple attempts).
Try updating the self built version and let me know if that works. Out of interest what is the other non-self-built hardware?
I have been testing on the Tapuino Reloaded from Adu Erana.

I'll get the programmer out in a bit and flash it with the latest to verify that it works.

EDIT: 2.10.0 straight from GitHub works for both Rambo and Transformers.

EDIT2: Also works for The Evil Dead, which is my defacto hardcore test case for fastloaders.

Thanks
-(e)
 
Last edited:
Am i the ultimate lazy person?

The kit i bought from you a VERY long time ago is still there in its bags :)
 
Am i the ultimate lazy person?

The kit i bought from you a VERY long time ago is still there in its bags :)
LOL, perhaps :)
Also I think the kit was from spcbm, being in South Africa it was never an option for me to build and ship kits out with our postal service :p
 
It’s this one, bought from a local seller at the end of last year. It’s made using SMD components. I gather that the ICSP header can be used to update the firmware, but probably will need some kind of serial adapter.

EDIT: It’s this: https://oshwlab.com/wagiminator/c64-tapuino-smd
349E1133-27D0-4B7F-A1C2-9357025341B4.jpeg
 
Last edited:
It’s this one, bought from a local seller at the end of last year. It’s made using SMD components. I gather that the ICSP header can be used to update the firmware, but probably will need some kind of serial adapter.

EDIT: It’s this: https://oshwlab.com/wagiminator/c64-tapuino-smd

That's got an ISP header on it so you can update that one as well using another Arduino (e.g. the one from your own build).

Also a pro-tip, for the connector I usually cut a small piece of plastic card and insert it into the connector so that it matches with the slot on the C64 side.
Makes it impossible to insert the wrong way around :)
1674751155299.png
 
I managed to update the firmware on my self-built Tapuino to 2.10. Unfortunately, at least Rambo is stuck in loading stripes as can be seen on the first picture. It’ll keep that way until the file is loaded and the game won’t start.
0F7A15C0-AA8F-4838-8DCA-3B1699B60F24.jpeg

If I do the stop/abort trick, Rambo’s load screen will appear at around 20% and the game will finish loading properly.
2B71BC08-B158-4854-803C-861CC4B04356.jpeg
5384AB82-0E48-47F4-9D85-94FADFC0ABCA.jpeg
 
Last edited:
That is very odd! I'm a bit stumped as to why this would be happening.

Things to try:
  1. Format the SD card with the SD Card Association tool and try again: https://www.sdcard.org/downloads/formatter/
  2. Try a different card and see if that makes a difference.
I know with recording, the quality and speed of the SD Card is critical, but I've never had that issue on playback.

-(e)
 
I tried with two different, freshly formatted (with SD Formatter) cards. Still the same. Rambo will be found at 4 %, the screen goes black/blue at 10 % and ten it’s stripes until the playback ends

If I do the stop/abort trick, Rambo will be found at 4 %, screen will go black/blue at 10 %, then stripes until 13 %, where the screen will go black again and it’ll start loading the load screen at 19 %.
 
Is it possible to make a logging version that would write the log file on the SD card? I could take the log in both cases.
 
Is it possible to make a logging version that would write the log file on the SD card? I could take the log in both cases.
Hi,

The problem would be what to log? Also that accessing the SD card for write is very slow and would probably make the problem worse.
Just to summarize where we are (correct anything that is wrong below):

This issue occurs on:
  • 2 different Tapuino hardware implementations
  • with different SD cards
  • you have tested on another C64 with the same result
This was my testing method:
  • Attach Tapuino to the C64 (make sure that it's properly inserted)
  • Power on C64, wait for Tapuino init
  • Press Select on the Tapuino
  • Browse to the tap to load
  • Press Shift / RunStop on the C64
  • Press Select on the Tapuino
  • Wait for the load to complete
I'll test some more tonight and see if I can duplicate the issue.

EDIT: and to confirm the init message on the Tapuino you flashed now shows 2.10.0 as the version?
-(e)
 
Yes, 2 Tapuinos, 2 SD cards and 2 C64s (breadbin and C).

In testing, there’s one difference: I select the .tap and then press run/stop. I’ll try the other way round and report back.

The SMD version shows the firmware, but for some reason I can’t see it on my self-built Tapuino screen. It’s as if it was on the row above the visible segments of the display.
 
Okay, the order of sequence was the issue! You first need to press shift/run/stop and then select the tap. Now Rambo loads at first attempt.

Thanks for your assistance, @sweetlilmre!
 
Last edited:
I don’t like using bare boards, so I thought I’d design an enclosure for the SMD Tapuino.

8121C3F4-A178-4EA4-95B2-E4C2D6AA2B4B.jpeg

536D4818-E146-496C-A8D5-009095C4C10F.jpeg
 
Okay, the order of sequence was the issue! You first need to press shift/run/stop and then select the tap. Now Rambo loads at first attempt.

Thanks for your assistance, @sweetlilmre!

Great news, as soon as you had said that you started the Tapuino load before pressing shift/runstop I had my suspicions, so I tested it out this morning and managed to duplicate the issue. I'm not exactly sure why this should happen.

Initially I thought that by missing the initial pulses, perhaps the fastloader was getting corrupted. Commercial games might encode an initial fastloader into the CBM header sequence, but looking at rambo.tap in a hex editor, that doesn't seem to be the case. All you would be missing is some of the sync pulses.
There is a possibility that this would cause an initially weird sync state but I would have assumed that this would then correct over the rest of the sync pulses.
There are 0x6A00 (27136) pulses at 0x30 (~48*8 uS) length which equates to around 10 seconds .This should be more than enough for the C64 timer to sync to the tape.
It must be related to the pulses being read incorrectly.

Still a mystery, but at least one with a solution :)

I don’t like using bare boards, so I thought I’d design an enclosure for the SMD Tapuino.

View attachment 2449977
This looks fantastic, great job! :)

-(e)
 
This is not the final version, but getting there.

E97690F4-DD35-4AFE-8986-2CC66967521B.jpeg
5EA42D3B-087D-4D27-8F63-1C1322B9F49C.jpeg
 
Back
Top Bottom