RE: How to design non-trivial cartridges for c-64?

From: Scott McDonnell (netsamurai_at_comcast.net)
Date: 2007-05-23 00:26:31

> -----Original Message-----
> From: owner-cbm-hackers@ling.gu.se 
> [mailto:owner-cbm-hackers@ling.gu.se] On Behalf Of Rainer Buchty
> Sent: Tuesday, May 22, 2007 9:25 AM
> To: cbm-hackers@ling.gu.se
> Subject: RE: How to design non-trivial cartridges for c-64?
> 
> 
> On Tue, 22 May 2007, Scott McDonnell wrote:
> 
> > Aren't we assuming that only one cartridge at a time is being used?
> 
> Can you safely assume that? Think of IDE or CMD interfaces, SuperCPU 
> etc. Would you unplug that for the sake of some other peripheral?

Well, I figured it was safe to assume in order to provide a simple
answer and get the OP started experimenting so they could understand how
it works and think up tricks on their own to overcome that obstacle, or
ask specific questions when encountered. But, as it is with assumptions,
I could've been wrong.

> 
> > But, yes, it should be possible to decode the $DE00-$DEFF and
> > $DF00-$DFFF addresses even further using a bit more complex 
> circuitry.
> 
> Decoding is cheap these days. Just use some GAL or CPLD. It 
> only becomes 
> complex if all you have is a bunch of 74138 and 139.

Sure, cheap, but for some it is a very steep learning curve. I would
think that if someone didn't already understand the techniques of
address decoding logic in the first place, it would just makes thing
overwhelming to throw PLD languages into the mix right away. It may seem
easy for you, but you have to admit it wasn't always.

> 
> > Of course, this is a bit complex for just a text 
> description, I think
> > and a CPLD would be better suited to handle this.
> 
> PnP for the C64... I wonder if something like that is 
> possible without 
> breaking too many legacy applications.

Now, that would be very cool. Should be possible, especially if we
employed an external bus controller to remap resources or just reserved
certain IO for certain devices. Personally, I would love to see
tightening the address decoding of the C64 to free up IO space and then
creating a custom kernel similar to a PC BIOS. I had some discussions
before about this subject and IIRC the general consensus was that
software often used shadow addresses instead of the base addresses (for
whatever reasons.) If this is the case, it would break alot of
applications. Doesn't sound really logical, but then I am not an expert
programmer. Perhaps there is some method behind the madness that I just
don't fully understand.

Scott McDonnell

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.