Re: Overclocking the c64
- From: Peter van Merkerk <merkerk@xxxxxxxxxxxx>
- Date: Wed, 20 Jul 2005 00:03:43 +0200
Christian Lott wrote:
I'm just trying to get more info on the dot clock. I want to know if I interface it to the PC bus if I'm going to have to play along with the c64's exact timing or if I can regulate my own clock, faster or slower as needed?
What do you mean with "interface it to the PC bus" ? What exactly is that interface going to do and what kind of "PC bus" did you have in mind?
Since you are talking about the dot clock it appears you intent to use the cartridge port of the C64. That is going to be quite tricky. From the electrical point of view the cartridge port is unbuffered and not designed to carry signals over more than just a few inches at best. To maintain signal integrity over a longer distance you would need at least some buffering and extra ground lines.
Even if you manage to maintain the signal integrity, you have to worry about the PC side. There is no hope whatsoever to directly interface with the PCI bus; the PCI bus is in too many ways too different. It is not just a matter of voltages or logic level (which would be relatively easy to fix). The PCI bus relies on reflections to swing the signal up to a certain level. This puts stringent requirements on the impedance and the capacitive load of any device connected to the PCI bus. For example attaching a cable of less than a feet is enough to screw thing up really bad. At the logical level the PCI bus is multiplexed and protocol based, which is radically different from how the C64 address/databus works. The only reasonable way to connect cartridge port of the C64 would be using an I/O board with sufficient I/O's.
Even with an I/O card you are not there yet. One of the biggest problem would be timing on the PC side. Even though the 6510 run at only 1 MHz, anything connected to cartridge port *must* respond not just within 1uS but actually well within 500nS (just check out the timing diagrams of the 6510 and 6567). Practically speaking that would mean that the I/O lines on the PC side should be sampled and processed at least every 200nS and preferably faster. You can forget about multitasking OSes like Windows or Linux being able to achieve that timing (consider that the timing requirements of the IEC bus is much, much more relaxed and even that is quite hard to achieve on these OSes). Even realtime OSes like Vxworks, RTLinux or RTAI are not able to meet these requirements. The only way to respond fast enough is if the PC runs only one program hat handles the I/O lines without any OS that could cause interference.
Coming back to your question if one could slowdown/speedup the C64 clock: the 64'er magazine once published a schematic for genlock which did exactly that. It replaced the crystal with a PLL circuit, so it could get the C64 video signal in sync with the external video signal. I did hear however that even though this circuit modified the clock frequency only by a few percent it still occasionally crashed the C64. One could slowdown the CPU of the C64 by asserting the DMA line on the cartridge port, this prevents the CPU from accessing the bus. But unfortunately this doesn't affect the bus speed itself, so it cannot be used to slowdown the C64 if the PC cannot keep up.
Almost nothing is really impossible, but this would come pretty close.
Christian Lott/ Let's get serious guys.
I think most responses in this thread were reasonably serious. .
- Follow-Ups:
- Re: Overclocking the c64
- From: S Nikkinen
- Re: Overclocking the c64
- References:
- Overclocking the c64
- From: Christian Lott
- Re: Overclocking the c64
- From: Maciej Witkowiak
- Re: Overclocking the c64
- From: Christian Lott
- Re: Overclocking the c64
- From: Maciej Witkowiak
- Re: Overclocking the c64
- From: Christian Lott
- Overclocking the c64
- Prev by Date: Re: Interfacing the c64 (was: Re: Overclocking the c64)
- Next by Date: Re: HM Customs for a vintage comodore
- Previous by thread: Re: Overclocking the c64
- Next by thread: Re: Overclocking the c64
- Index(es):
Relevant Pages
|
Loading