Re: Overclocking the c64
- From: "S Nikkinen" <sami.nikkinen@xxxxxxxxxxxxx>
- Date: Wed, 20 Jul 2005 17:57:03 +0300
"Peter van Merkerk" <merkerk@xxxxxxxxxxxx> kirjoitti
viestissä:42dd78b0$0$165$3a628fcd@xxxxxxxxxxxxxxxxxxxxxxxxx
> 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.
>
You could try it with an old ISA. It is doable and not too tricky. It was
used developing c64 games etc. if you needed 64kB and didn't even have room
to place a ml monitor.... And when I say not too tricky: you better know
really well Intel and MOS timing. And prepare to too see full length ISA
size card with two layers, full of ICs (74XXX or 4000s), unless you handle
also PGAs. And just to mention cabling: your c64 will have to move inside
PC-case or you never get rid of interference in signals and proper timing...
> 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.
Yes, that's why it is complex. Intel ISA bus is simply too slow (yes, it
runs from 4.77 MHz->12 MHz), but timings are very different, just to say
that 4.77 MHz 8088 is slower than 1 MHz 6502. You could get hands old 5 volt
P60 (not P66) or i486 system and start working. Just word of caution: Days
back I got ST238R (32 MB) RLL-drive. Those days largest available were 40
MBs... So to connect it to c64? Easy I thought, I had an extra 8-bit
controller for it and it worked just fine in my 12 MHz Acer (AT-system). But
I couldn't make it work with c64. 1 MHz MOS bus was TOO FAST for 8-bit (XT)
ISA card. Sure I could have used 2 VIAs or PIAs and make it work, but the
question was about the bus. With Intel you can add wait-states whenever
needed, but with MOS (I mean with VIC-II), no way, you just have to do it
within 2 MHz (yes, 2, not 1).
>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.
Correct; you could play around with RDY input of 6510, but you still have
only 500 ns, because of vic-ii.
If I needed fast c64 I'd go for SCPU. If I had to built one, I still would
buy 65C816, just for extra instructions and addresslines. By replacing drams
with, say 256kB, SRAM you could run the system at about 10 MHz. 10 because
you still lose half clocks for vic-ii + some extra; or end you up in deep
**** while trying to buffer signal to/from vic (you still have to demux
them). And all IO and ROM access must still run at original system clock (or
slower; your acess first has to wait one half of current ongoing bus cycle,
then vic half cycle and then could be carried out, by the end of 500 ns).
Anyways, now you have been warned by me and Peter. You could google 2 MHz
hack or visit Ruud's homepage too see how difficult is to implement
ISA-Commodore adaptor.
>
> Almost nothing is really impossible, but this would come pretty close.
>
Rgds,
Sami
.
- Follow-Ups:
- Out - Clocking the c64 (was Re: Overclocking the c64)
- From: Christian Lott
- Out - Clocking the c64 (was 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
- Re: Overclocking the c64
- From: Peter van Merkerk
- Overclocking the c64
- Prev by Date: Re: Interfacing the c64
- Next by Date: Out - Clocking the c64 (was Re: Overclocking the c64)
- Previous by thread: Re: Overclocking the c64
- Next by thread: Out - Clocking the c64 (was Re: Overclocking the c64)
- Index(es):
Relevant Pages
|
Loading