Welcome, Guest. Please login or register.

Author Topic: C64 Tape Port  (Read 6899 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Linde

  • Sr. Member
  • ****
  • Join Date: Mar 2004
  • Posts: 457
    • Show all replies
    • http://hata.zor.org/
Re: C64 Tape Port
« on: March 14, 2013, 08:38:43 PM »
Quote from: trekiej;729168
How about a tape port to tape port transfer? Has this been done?

Not as far as I know. There is already both a serial port and a parallel port better suited for this kind of task. But it would be quite a neat hack, I agree :)

Quote from: trekiej;729168
The cart port I guess would go at a speed of 8/8 * 1 mhz = 1 MB/sec. theoretical.

Yep, I think 16k (?) on the cartridge port can be mapped as ROM/RAM so you can access it at as such. There's also DMA, where the cartridge can grab the bus and move data at 1 byte per cycle. That's the only way to support that kind of transfer rate, and it's used by REU cartridges to transfer blocks of data from and to mapped memory.

Quote from: trekiej;729168
I did see a video of the introduction to "Dallas" played from a REU.

:D
 

Offline Linde

  • Sr. Member
  • ****
  • Join Date: Mar 2004
  • Posts: 457
    • Show all replies
    • http://hata.zor.org/
Re: C64 Tape Port
« Reply #1 on: March 27, 2013, 11:14:08 AM »
Quote from: Zac67;729928
@Linde

Are you sure the REUs DMA into local memory?? I'd rather guess that they overlay onboard memory with the page you select.

I once built a DMA interface to the Amiga where the 64's RAM was accessible through a 64K page on the Amiga - amazingly simple to build.
It worked somewhat, with lots of garbage coming along and writing to the 64 invariable crashed it (very likely memory corruption from the garbage). Guess I didn't really handle bus synchronisation correctly but the VIC does some funny stuff there...

Yes, I'm certain about it. I did some REU programming quite recently, so it's still fresh in memory. The only thing that is mapped into addressable memory are the REU registers that are used to control transfer and set the internal REU page. DMA is done at 1 byte per cycle, so you can effectively use the thing as a crude blitter, and you can do automatic pointer increments (at least on the REU side, not sure about the C64 RAM pointer), so you can do things like register streaming really quickly. The fact that you don't have the REU RAM mapped has these benefits besides being able to use it with pretty much any other cartridge if you have a cartridge expander.
 

Offline Linde

  • Sr. Member
  • ****
  • Join Date: Mar 2004
  • Posts: 457
    • Show all replies
    • http://hata.zor.org/
Re: C64 Tape Port
« Reply #2 on: March 27, 2013, 11:24:35 AM »
Quote from: LoadWB;730448
ments/chipdata/programming.reu[/url]Er, anyway, you're right, a memory-mapped solution *would* be faster, but that's not how the REU works.


Yeah, it would be faster, but only for some specific use cases. DMA transfer still has the obvious benefit of being able to move data to and from arbitrary chunks of memory reasonably quickly, so for some use cases it is the faster option, and either way it's the more flexible option. I figured you could do 5 minutes of 50 fps monochrome PETSCII video with a 16 mbyte REU (like the one in the 1541U cartridge). I've set up a transfer interface with an Arduino, so that I can transfer the data from a PC pretty quickly, and also issue REU commands to upload it to the REU.