Tapuino, the $20 C64 Tape Emulator

  • Thread starter Thread starter sweetlilmre
  • Start date Start date
  • Replies Replies 1059
  • Views Views 299319
From the pictures on your assembly guide it seems I have the same buzzer of yours

There are many of them with similar appearance, the ones I use are passive magnetic, there are active, piezo... and most of them with the same shape.
Also any old headphones will do the job.
 
Last edited:
There are many of them with similar appearance, the ones I use are passive magnetic, there are active, piezo... and most of them with the same shape.
Also any old headphones will do the job.
I tried an headphone and volume is much better.
 
Last edited:
Hello, I have a proposal. Tapuino shouldn't finalize a recording when the motor is turned off. It should just wait for either the motor to be started again or the user to press "stop". I'm playing with the Freeload mastering tool. It loads each file from disk and then it stores it on tape. But it doesn't work with Tapuino, because when the program stops the motor and reads from disk, the recording is finalized.
 
Hello, I have a proposal. Tapuino shouldn't finalize a recording when the motor is turned off. It should just wait for either the motor to be started again or the user to press "stop". I'm playing with the Freeload mastering tool. It loads each file from disk and then it stores it on tape. But it doesn't work with Tapuino, because when the program stops the motor and reads from disk, the recording is finalized.

I have added this as a feature to the "finalize_option" branch in github.
If you could pull this and test, see if it does what you want it to do?
There is some additional clean-up I'd like to make to the code, but before I go any further I need you to check the functionality.

In a nutshell: New option "Auto Finalize" if this is OFF or ZERO then the recording will continue until ABORT is pressed.

Let me know how you get on
-(e)
 
I tried the mastering tool I mentioned. Unfortunately, in the resulting TAP file there are extremely long pauses in between turbo blocks. I mastered the same data onto a real tape and dumped it with MTAP for testing; in this case, the pauses are about 1 second each. This is a problem.

Other things I noticed:
- I got this a couple of times: https://drive.google.com/file/d/0Bzow0Exbi92AeXdZRlJjUzl5Ylk/view
- "Auto di finalizzazione" should be "Auto finalizza"
- While recording, the spinning character spins even when the motor is off.
- When you stop the recording to finalize it, it says "Aborted".
 
Last edited:
I tried the mastering tool I mentioned. Unfortunately, in the resulting TAP file there are extremely long pauses in between turbo blocks. I mastered the same data onto a real tape and dumped it with MTAP for testing; in this case, the pauses are about 1 second each. This is a problem.

Can you give me a detailed run down of what is going on, or perhaps steps to replicate?
I'm assuming something like this is happening:

The turbo blocks are each read from disk. The fix that I made does not stop the recording, however the time between each section is now recorded, hence the long pause?
If this is the case, then the MOTOR signal would need to pause / unpause the recording which may be possible to do.


Other things I noticed:
- I got this a couple of times: https://drive.google.com/file/d/0Bzow0Exbi92AeXdZRlJjUzl5Ylk/view

Hmm strange, I will try to duplicate, please let me know if you find a way to do so.

- "Auto di finalizzazione" should be "Auto finalizza"

Hehehe, well that is Google Translate for you! Thanks for the update I will sort it out :).

- While recording, the spinning character spins even when the motor is off.

Yes, perhaps we need to fix this as above.

- When you stop the recording to finalize it, it says "Aborted".

Yep, known issue, I will will change that so it says complete if Auto Finalize is OFF.

Thanks
-(e)
 
The strange string comes up when I press "Abort" in the "Select mode" menu. Then, if I press "Next" or "Previous", normal menu items appear.
 
Thanks, same this side. I'll debug and fix asap, but will be a few days. Can you send me the tap that has the long pauses in it?

-(e)
 
While this is cheap and cute as hell, is there a way to speed up loading?
Use Turbo Tape or similar if you're not already? CBM ROM loader is sloow.. Or are we talking original tapes with their own loader? In that case, there is probably not much you can do about the speed when using a tape loader like this. If you need higher speed, get something which loads through the IEC port (e.g. SD2IEC) or as a cartridge (1541U-II or EasyFlash). A cheap-ish and fast solution could be an SD2IEC combined with a Final Cartridge 3.
 
Here are the results of my tests: [link]. I think the behaviour is correct now.

The resulting TAP files don't seem to work when read back in Play mode (the game won't start) but this might be due to the nature of Freeload, as it was designed to be difficult to copy. I remember trying to copy this very game with a tape duplicator (the gizmo that allowed you to connect 2 datassettes to the 64) multiple times without success, when I was young. It's worth mentioning that they all work fine with HOXS64, whereas in Vice, some work straight away and some need cleaning with tapclean. When tapcleaned, they also work on Tapuino itself in Play mode.

You'll also notice a TAP file missing the bootloader. I don't know how this happened. I had just tried to master a TAP file as usual but had forgot to set "Auto finalize" to 0, so I ended up with a file containing only the bootloader (which is correct). I set the option and tried again from start (that is, by turning the system on and doing all the procedure), but the resulting TAP file had no bootloader.

I also discovered a minor cosmetic quirk: the message "Completato" appears as "Completat" in Play mode. You may want to use "Finito" or "Completo" if that's a matter of string length.
 
Last edited:
Here are the results of my tests: [link]. I think the behaviour is correct now.

The resulting TAP files don't seem to work when read back in Play mode (the game won't start) but this might be due to the nature of Freeload, as it was designed to be difficult to copy. I remember trying to copy this very game with a tape duplicator (the gizmo that allowed you to connect 2 datassettes to the 64) multiple times without success, when I was young. It's worth mentioning that they all work fine with HOXS64, whereas in Vice, some work straight away and some need cleaning with tapclean. When tapcleaned, they also work on Tapuino itself in Play mode.

You'll also notice a TAP file missing the bootloader. I don't know how this happened. I had just tried to master a TAP file as usual but had forgot to set "Auto finalize" to 0, so I ended up with a file containing only the bootloader (which is correct). I set the option and tried again from start (that is, by turning the system on and doing all the procedure), but the resulting TAP file had no bootloader.

I also discovered a minor cosmetic quirk: the message "Completato" appears as "Completat" in Play mode. You may want to use "Finito" or "Completo" if that's a matter of string length.

Excellent work!
So to confirm / questions:

  1. Pauses with the new code are now an acceptable length?
  2. Recorded games do not work until cleaned (although amazingly they work in HOXS64, I wonder how that is possible?)
  3. When the test report says that it crashes in Vice, does the same happen when loading from the Tapuino?
  4. What is real_cassette.tap? Where did you get this from? I guess I mean: can you tell me the process you are using to generate the recorded tap files? Is it the same as before or are you copying from real datasette to Tapuino?
  5. In the archive you linked to there are 3 files created under the 2.4.3. version, only the last one works, what is the difference in these files?

Sorry for so many questions! I need to get a very clear idea :)

I'll look at the translation string and either fix it or change to your suggestion.
Many thanks for your help in this, your testing and suggestions have been awesome!

-(e)
 
1. Yes, they're perfect.
2. Yes, at least with this particular turbo scheme. To be played with Tapuino, they need cleaning. With Vice, some need cleaning, some not. Those that don't work with Vice seem to lock up at the same point and in the same way, that is, when the main game should decrunch and start, Vice detects a CPU jam at a certain memory location. With real C64 and Tapuino, some lock up at that spot, while some will crash at the screen with the scrolling text, but before the text appears.
3. Yes but not necessarily in the same way. See #2.
4. The process to generate TAP files has always been the same: run the mastering tool from IEC, then set Tapuino in record mode and start mastering. real_cassette.tap was an attempt at mastering a real tape, that is, having a Datassette connected to the 64 instead of a Tapuino and writing to real tape; to obtain this particular TAP file, I connected the same Datassette to my PC with a parallel port adapter and dumped tha tape's contents.
5. Sorry, I don't know. They were generated in exactly the same way. It's probably some subtlety that wouldn't affect the majority of turbos but prevents Freeload from working. Freeload author Paul Hughes explicitly said he put considerable effort in making Freeload difficult to copy. That's probably the reason, IMHO.

If you need any more info, I'll be happy to answer. It's a pleasure to be able to give my small contribution.
Thank you for sharing and supporting your fantastic project! Way to go!
 
Back
Top Bottom