Re: Building an external CPU accelerator

From: Todd Elliott (eyethian_at_msn.com)
Date: 2003-08-20 18:53:25

Hello.

----- Original Message ----- 
From: "Oliver Achten" <achten@gmx.de>
> - when a write occurs, the 65816 writes to its on-board sram and a special
> write buffer, which actually gets written to the C64 dram without CPU
> interaction. When the buffer is full, and the CPU tries to write again, it
will be
> halted until the buffer is emptied.
>
This is only when a specific memory range is mirrored. If a write occurs to
RAM that isn't mirrored, the SuperCPU doesn't write to the cache
simultaneously. There are a variety of mirroring options. This way, the
SuperCPU is sped up to a certain extent and optimized for the particular use
of memory and graphics. Writes always happens to I/O, regardless of
mirroring schemes used. The mirroring schemes are complex and it would be
easier to build a system for the c64 accellerator that will simply mirror
everything at the expense of speed.

> -reads always go from its on-board sram, except the i/o locations or the
> roms.
>
Sounds pretty much correct for me, except for the ROM's.

> So what about the $00/01 location? It canīt be accessed by any external
> device, so how could the SCPU do the trick turning on/off the char- or the
system
> Roms?
>
From my understanding, the SuperCPU tristates the host CPU and this is done
via $00/$01, I believe. Once the host CPU is disabled, the SuperCPU copies
the char and system rom's to the faster onboard SRAM and runs off from the
SRAM. Next, the SuperCPU emulates the myriad c64 configurations of $00/$01
via a CPLD or FPGA chip called Altera. This is why there is a slight delay
when the c64/128 boots up with a SuperCPU accellerator, as the SuperCPU is
busy copying stuff off from the host CPU system and setting up a system to
run off pretty much entirely from the accellerator.

I misunderstood you earlier. Now, it appears you're trying to build an
accellerator right into a C64 unit, replacing certain parts, etc. and not
building a cartridge-based solution. That sounds okay to me, but I would
guess that the vast majority of the CBM hobbyists here would prefer a
cartridge solution for an accellerator as they don't want to take their
machines apart, desolder chips, etc. Either way you do it, I hope you are
able to realize a simple c64 accellerator and it is a cool project to do.

Enjoy.
-Todd Elliott



       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.