RE: Patching in a CBM disk drive connection in a C64 case.

From: Roberto Muscedere <rmusced_at_uwindsor.ca>
Date: Fri, 1 Apr 2022 01:10:01 +0000
Message-ID: <YT2PR01MB462257DC626AE806C22F4EF2A2E09_at_YT2PR01MB4622.CANPRD01.PROD.OUTLOOK.COM>
It seems you are really trying to do what RAMLink/RAMdrive does. These are some of the most impressive devices I have ever had the pleasure of reverse engineering. Peter Fiset of PPI actually designed them both, but CMD sold them. He solved the memory issue in the kernal by allowing the ability to bank between two 8K roms on the fly by simply allowing a write to particular IO address. For example, any store to $DF00 would switch in the alternate kernal, while any store to $DF01 would switch back the main one. Since the contents of the write didn't matter, it allowed him to easily switch between the two without effecting the contents of the registers or flags. So you could keep all the tape/rs232 routines as well since you have that extra 8K. You do have to keep in mind that there is some overhead in switching (3 bytes each time).
The RAMLink parallel bus is essentially an IEEE bus. You can daisy chain multiple CMD HD's on it just like the IEEE bus, even though the connectors didn't really allow it; you just need a splitter. It sends the basic LISTEN/UNLISTEN, etc commands down the bus just like the IEEE one.
So since you are making hardware changes to the 64, you could put in a special IO area ($d100-$d7ff for example) were it would have a VIA or PIA which connects to the 1541's VIA (like Speed DOS or Dolphin DOS). And then in the 1541, you could add an additional 16KB ROM (between $8000-$BFFF) where you could put in most of your code and patch into the existing ROM. There are a number of zero page addresses which are available to keep track of which method you are speaking with the C64. So anything that uses the IEC bus would still work, but anything using the parallel method would also work.

Roberto 

-----Original Message-----
From: groepaz_at_gmx.net [mailto:groepaz@gmx.net] 
Sent: Thursday, March 31, 2022 4:02 PM
To: cbm-hackers_at_musoftware.de
Subject: Re: Patching in a CBM disk drive connection in a C64 case.

Am Donnerstag, 31. März 2022, 21:51:49 CEST schrieb Jim Brain:
> On 3/31/2022 2:48 PM, Claudio Sánchez - Tokafondo wrote:
> > El 31/03/2022 a las 19:05, Jim Brain escribió:
> >> On 3/31/2022 12:35 PM, Claudio Sánchez - Tokafondo wrote:
> >>> I think I read somewhere that CBM KERNALs are accesed not directly 
> >>> but by using jump tables. Or at least that's the recommended way.
> >> 
> >> Yep, the KERNAL jump table.  Sadly, not all apps use it.
> > 
> > How difficult would be to add new drive managing code to an existing 
> > ROM while keeping the old one untouched? Is there room available for 
> > this in the CBM computers KERNALs?
> 
> Not much.  Most mods delete the tape routines to make room.

and often RS232 too

-- 

http://hitmen.eu                 http://ar.pokefinder.org
http://vice-emu.sourceforge.net  http://magicdisk.untergrund.net

The universe is simple; it's the explanation that's complex.
Received on 2022-04-01 04:00:08

Archive generated by hypermail 2.3.0.