| View previous topic :: View next topic |
| Author |
Message |
C64 Enthusiast


Joined: 05 Jun 2009 Age: 45 Posts: 868 Location: Fulton, NY
|
Posted: Sat Nov 13, 2010 10:49 am Post subject: C64 Kernel in a Cartridge.. |
|
|
Can a C64 Kernel be put on an EPROM in a Cartridge instead of opening up the computer and modding it? Been wonder if this can be done.
Kind of been thinking about this for awhile. _________________ |
|
| Back to top |
|
 |
Grandmaster of C64


Joined: 03 Feb 2004 Age: 41 Posts: 2483 Location: Columbus, Ohio
|
Posted: Sat Nov 13, 2010 2:32 pm Post subject: |
|
|
I think it has to be possible and would be great because many kernal roms are soldered in place. CMD made the RamLink that just plugs in and gives all the Jiffy DOS Commands. |
|
| Back to top |
|
 |
Immortal Grandmaster of C64

Joined: 13 Oct 2004 Posts: 4693
|
Posted: Sat Nov 13, 2010 5:20 pm Post subject: |
|
|
yes it can be done.... however its not trivial, you need some extra logic to handle the ROMH signal, which you need to get from inside of the c64 with a clip.
look at the "EXOS" cartridge as an example of a cart that does exactly (and only) that  _________________ |
|
| Back to top |
|
 |
Immortal Grandmaster of C64


Joined: 30 Apr 2009 Age: 38 Posts: 3465 Location: Sweden
|
Posted: Sat Nov 13, 2010 8:11 pm Post subject: |
|
|
Strange how the same question pops up at about the same time in different forums.
I believe there was some talk about this in the EasyFlash 2, don't think they hooked anything extra up for that but we'll see. Some people were convinced that an eprom version of a PLA wouldn't be able to handle it.
EXOS:
http://rr.c64.org/wiki/ExOS
Sounds like it added som commands, just like the TFC3 does, and that didn't really replace the Kernal, did it? |
|
| Back to top |
|
 |
C64 Enthusiast


Joined: 05 Aug 2008 Age: 61 Posts: 689 Location: Iowa, USA
|
Posted: Sat Nov 13, 2010 9:09 pm Post subject: |
|
|
It's easy to add a wedge into the Kernal using a cartridge to add commands. It just jumps to the cartridge ROM and checks for a special command character (usually @) then jumps back to the kernal. I see no reason why you couldn't jump to the cart with a whole new ROM then jump back to the END of the normal Kernal ROM when you're done, thereby bypassing it completely. _________________ airship
(Former Managing Editor, INFO Magazine) |
|
| Back to top |
|
 |
Über Groupie


Joined: 26 Feb 2008 Posts: 360
|
Posted: Sat Nov 13, 2010 9:09 pm Post subject: |
|
|
| e5frog wrote: | EXOS:
http://rr.c64.org/wiki/ExOS
Sounds like it added som commands, just like the TFC3 does, and that didn't really replace the Kernal, did it? |
EXOS is a kernal replacement, the cart described on that page just has the usual problem that most expansion port kernal replacements have: You can't access the ram at $e000-$ffff anymore, the rom is always active. Good enough for BASIC, no-go for many games and complex applications. |
|
| Back to top |
|
 |
Immortal Grandmaster of C64


Joined: 30 Apr 2009 Age: 38 Posts: 3465 Location: Sweden
|
Posted: Sat Nov 13, 2010 9:12 pm Post subject: |
|
|
My thoughts are JiffyDOS in a cartridge... that would be very handy - not having to physically install it. |
|
| Back to top |
|
 |
Forum Junkie


Joined: 15 Apr 2009 Age: 40 Posts: 570 Location: UK
|
Posted: Sat Nov 13, 2010 10:24 pm Post subject: |
|
|
doesn't the 781220 dead test cartridge use the same address as the kernel or override the kernal. I was just going to try it but i dont have jiffy dos in an 8k ROM to try. |
|
| Back to top |
|
 |
C64 Enthusiast


Joined: 05 Jun 2009 Age: 45 Posts: 868 Location: Fulton, NY
|
Posted: Sat Nov 13, 2010 11:18 pm Post subject: |
|
|
| ARKANOID wrote: | | doesn't the 781220 dead test cartridge use the same address as the kernel or override the kernal. I was just going to try it but i dont have jiffy dos in an 8k ROM to try. |
That's one of the carts I don't have in my collection.. _________________
|
|
| Back to top |
|
 |
Immortal Grandmaster of C64


Joined: 30 Apr 2009 Age: 38 Posts: 3465 Location: Sweden
|
Posted: Sun Nov 14, 2010 1:00 am Post subject: |
|
|
|
|
| Back to top |
|
 |
C64 Enthusiast

Joined: 20 Jun 2004 Posts: 770
|
Posted: Sun Nov 14, 2010 4:59 am Post subject: |
|
|
| Unseen wrote: | | e5frog wrote: | EXOS:
http://rr.c64.org/wiki/ExOS
Sounds like it added som commands, just like the TFC3 does, and that didn't really replace the Kernal, did it? |
EXOS is a kernal replacement, the cart described on that page just has the usual problem that most expansion port kernal replacements have: You can't access the ram at $e000-$ffff anymore, the rom is always active. Good enough for BASIC, no-go for many games and complex applications. |
Is there a technical explanation on how such a cart works?
Also, since I know RL does this, am I to assume that a RL-equipped machine cannot access $e000-$ffff?
Jim |
|
| Back to top |
|
 |
Groupie


Joined: 24 May 2009 Posts: 229 Location: Australia (blue mountains)
|
Posted: Sun Nov 14, 2010 6:42 am Post subject: |
|
|
Looking at the explanation of HIRAM, LORAM, EXROM & GAME in the PRG, the only combination of the above that lets $E000..$FFFF come from an external ROM is the "UltiMAX" mode (GAME=0, EXROM=1), which would be useless for running any normal C64 program in.
But since normally the 'no cartridge' config has GAME=1, EXROM=1 maybe a cartridge should default to GAME=1, and assert GAME=0 only on an access to $E000..$FFFF |
|
| Back to top |
|
 |
C64 Enthusiast

Joined: 20 Jun 2004 Posts: 770
|
Posted: Sun Nov 14, 2010 6:50 am Post subject: |
|
|
| jonnosan wrote: | Looking at the explanation of HIRAM, LORAM, EXROM & GAME in the PRG, the only combination of the above that lets $E000..$FFFF come from an external ROM is the "UltiMAX" mode (GAME=0, EXROM=1), which would be useless for running any normal C64 program in.
But since normally the 'no cartridge' config has GAME=1, EXROM=1 maybe a cartridge should default to GAME=1, and assert GAME=0 only on an access to $E000..$FFFF |
I thought about that, but how would you know that RAM is not banked in?
I can see driving GAME=0 on A15*A14*A13*PHI2, but it seems like you'd need to capture the state of the reg 0 and reg 1 by mirroring them in the cart.
Jim |
|
| Back to top |
|
 |
Groupie


Joined: 24 May 2009 Posts: 229 Location: Australia (blue mountains)
|
Posted: Sun Nov 14, 2010 7:16 am Post subject: |
|
|
| brain wrote: | how would you know that RAM is not banked in?
|
If a 6510 does a write to $0000 or $0001, do the address and data lines still get set appropriately?
Alternatively, what about a 'brute force' approach, - clipping straight on to the Kernal ROM /CS, such that a trailing edge on /CS triggered the cartridge to set GAME low? Not fully understanding the timing of this , would the PLA then raise /CS immediately, or would you still end up with both the cart and internal ROMs responding. |
|
| Back to top |
|
 |
Über Groupie


Joined: 26 Feb 2008 Posts: 360
|
Posted: Sun Nov 14, 2010 1:40 pm Post subject: |
|
|
| brain wrote: | | how would you know that RAM is not banked in? |
You don't know, which is why such a kernal replacement cartridge blocks access to the e000-ffff ram. The easiest way to fix that is to connect to the hirom signal inside the C64.
I don't know what the Ramlink does, but there was at least one cartridge design that tried to reconstruct the hirom signal by generating an access to the basic rom for a fraction of a cycle with both GAME and EXROM set to 0. Unfortinately that design was based on some analog designs and as far as I know wasn't very reliable, it probably also violated setup/hold times on the signal too.
| jonnosan wrote: | | If a 6510 does a write to $0000 or $0001, do the address and data lines still get set appropriately? |
AFAIK it's visible as a read access on the bus, so you don't get to see the values written there. |
|
| Back to top |
|
 |
Immortal Grandmaster of C64


Joined: 28 Jun 2007 Posts: 3631 Location: Qld OZ
|
Posted: Sun Nov 14, 2010 2:09 pm Post subject: |
|
|
Pro logic dos speed up system replaced the internal kernel using a cartridge similar to the way CMD did.
Pro logic dos 1541 speed up system was made up of a cartridge with a ribon cable that went to an small board that was fitted inside the 1541.
I have one complete somewhere for a sx64, will find it and post pictures.
Here is the manual!
Please if someone has a better one please let me know.
http://www.cbm8bit.com/uploads...manual.zip
enjoy. _________________ Looking for a causal coder, Python/MYSQL/PHP/Java. PM Me  |
|
| Back to top |
|
 |
Immortal Grandmaster of C64

Joined: 13 Oct 2004 Posts: 4693
|
Posted: Mon Nov 15, 2010 4:46 pm Post subject: |
|
|
| Quote: | | the cart described on that page just has the usual problem that most expansion port kernal replacements have: You can't access the ram at $e000-$ffff anymore, the rom is always active. Good enough for BASIC, no-go for many games and complex applications. |
NO. just like the ramlink, the exos cartridge is a real, fully functional kernal replacement. ram under kernal is fully accessable and there is no functional difference to actually changing the kernal.
you get the missing ROMH signal using a wire connected to the pla. as simple as that  _________________
|
|
| Back to top |
|
 |
Immortal Grandmaster of C64


Joined: 30 Apr 2009 Age: 38 Posts: 3465 Location: Sweden
|
Posted: Mon Nov 15, 2010 6:25 pm Post subject: |
|
|
What's wrong with the /ROMH signal already on the cartridge connector pin B?
So if it has been done before, why haven't we seen any JiffyDOS cartridge? |
|
| Back to top |
|
 |
Groupie


Joined: 24 May 2009 Posts: 229 Location: Australia (blue mountains)
|
Posted: Mon Nov 15, 2010 6:40 pm Post subject: |
|
|
| e5frog wrote: | What's wrong with the /ROMH signal already on the cartridge connector pin B?
|
That is triggered by access to the BASIC ROM area ( $A000...$BFFF ) not the Kernal ROM area ($E000...$FFFF). Unless you are running in Ultimax mode. But normal programs won't work if a cartridge stays in UltiMAX mode all the time.
What is needed is a way of going into Ultimax mode ONLY when the Kernal is accessed. |
|
| Back to top |
|
 |
Immortal Grandmaster of C64


Joined: 30 Apr 2009 Age: 38 Posts: 3465 Location: Sweden
|
Posted: Mon Nov 15, 2010 6:44 pm Post subject: |
|
|
So all the equipment that worked as a replacement to kernal had some extra wire attached in the C64? |
|
| Back to top |
|
 |
Immortal Grandmaster of C64

Joined: 13 Oct 2004 Posts: 4693
|
Posted: Mon Nov 15, 2010 7:13 pm Post subject: |
|
|
| Quote: | | So all the equipment that worked as a replacement to kernal had some extra wire attached in the C64? |
practically... yes
there was some crude design to achive the same at the expansion port without such wire, but its very sensitive to timing and doesnt work all that stable. _________________
|
|
| Back to top |
|
 |
C64 Enthusiast


Joined: 05 Jun 2009 Age: 45 Posts: 868 Location: Fulton, NY
|
Posted: Mon Nov 15, 2010 7:48 pm Post subject: |
|
|
| jonnosan wrote: | Looking at the explanation of HIRAM, LORAM, EXROM & GAME in the PRG, the only combination of the above that lets $E000..$FFFF come from an external ROM is the "UltiMAX" mode (GAME=0, EXROM=1), which would be useless for running any normal C64 program in.
But since normally the 'no cartridge' config has GAME=1, EXROM=1 maybe a cartridge should default to GAME=1, and assert GAME=0 only on an access to $E000..$FFFF |
That's a great idea. Next question, how to implement it. I wish my skills at Digital Electronics were better or should I say "Existed"  _________________
|
|
| Back to top |
|
 |
Master of C64


Joined: 28 May 2002 Age: 39 Posts: 1185 Location: Toronto, Canada
|
Posted: Tue Nov 16, 2010 4:13 pm Post subject: |
|
|
| e5frog wrote: | | So if it has been done before, why haven't we seen any JiffyDOS cartridge? |
I would love to get JiffyDOS on a cartridge. Maurice proposed designing such a thing way back when (no details on how it would be done technically though), but it didn't happen. |
|
| Back to top |
|
 |
Grandmaster of C64


Joined: 03 Feb 2004 Age: 41 Posts: 2483 Location: Columbus, Ohio
|
Posted: Tue Nov 16, 2010 4:30 pm Post subject: |
|
|
I would pay to have Jiffy DOS on cartridge. I hope someone makes it or gets it to work with EasyFlash. |
|
| Back to top |
|
 |
Immortal Grandmaster of C64


Joined: 30 Apr 2009 Age: 38 Posts: 3465 Location: Sweden
|
Posted: Tue Nov 16, 2010 7:19 pm Post subject: |
|
|
JiffyDOS cartridge, perhaps something to put a bounty on. |
|
| Back to top |
|
 |
|