Cartridge based kernel
- mrr19121970
- Vic 20 Nerd
- Posts: 873
- Joined: Tue Jan 19, 2016 9:22 am
- Location: Germany
- Occupation: IT service manager
Cartridge based kernel
Is there a cartridge (similar to easyflash3 for the c64 ) that can load an alternative kernel on the vic20? I am sort of hoping the ultimem might do this, or possibly in the future.
Re: Cartridge based kernel
The KERNAL resides in BLK7 which is not present on the expansion bus. You can implement a replacement for all or part of the KERNAL on a ROM in BLK5. This is what the VIC-1112 cartridge does.
- eslapion
- ultimate expander
- Posts: 5458
- Joined: Fri Jun 23, 2006 7:50 pm
- Location: Canada
- Occupation: 8bit addict
Re: Cartridge based kernel
You can do that on the C64 because it has memory remapping capabilities provided by the PLA and a few control lines tied to the 6510's IO lines. The C64 also has DMA and all 15 address lines on the cart port.mrr19121970 wrote:Is there a cartridge (similar to easyflash3 for the c64 ) that can load an alternative kernel on the vic20? I am sort of hoping the ultimem might do this, or possibly in the future.
There is no such things on the VIC-20.
Kakemoms' thread about a 54k VIC is more or less related to that. (... and I strongly disagree with his methods ... )
Last edited by eslapion on Sun Jul 03, 2016 8:09 am, edited 1 time in total.
Be normal.
- Mike
- Herr VC
- Posts: 4845
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Re: Cartridge based kernel
Even on the C64, it requires A LOT OF trickery to replace the KERNAL with an external cartridge, so it behaves to same way as the built-in ROM chip. Especially, it should respond correctly, when it is switched off by the CPU port and PLA to let the CPU access the RAM under the ROM.
See also skoe's documentation about this: 'How to build a real Kernal Cartridge'.
See also skoe's documentation about this: 'How to build a real Kernal Cartridge'.
Kakemoms deliberately ignores some fundamental principles of digital electronics. It is not, and never was, a good idea to let two digital outputs play tug-of-war. However, as long as he only fries his own VIC-20 with those experiments, that's not my problem.Eslapion wrote:Kakemoms' thread [...]
- majikeyric
- Vic 20 Afficionado
- Posts: 351
- Joined: Fri Oct 24, 2014 2:08 pm
- Website: http://majikeyric.free.fr
- Location: France
Re: Cartridge based kernel
Mike wrote:as long as he only fries his own VIC-20 with those experiments, that's not my problem.
- eslapion
- ultimate expander
- Posts: 5458
- Joined: Fri Jun 23, 2006 7:50 pm
- Location: Canada
- Occupation: 8bit addict
Re: Cartridge based kernel
Hey... that's exactly what I said in the 1st place... I fully agree with you on this one.Mike wrote:Kakemoms deliberately ignores some fundamental principles of digital electronics. It is not, and never was, a good idea to let two digital outputs play tug-of-war. However, as long as he only fries his own VIC-20 with those experiments, that's not my problem.
He wasn't too happy with my suggestion of passing the top 6 address lines of the 6502 through a multiplexer instead.
He also just claimed the Commodore 128's burst mode is the same as IEEE-488 comms...
Added edit:
Reading Skoe's document about C64 Kernal cart, this is no easy exercise at all...
Be normal.
Re: Cartridge based kernel
Desoldering your 6502 inside a Vic-20 and adding more memory to it just makes it a new machine. You could just take out the 6502 and put it in a new PCB, add a 4Mbit SRAM and have a new machine. No problem and not hard to do either. But it has nothing to do with the Vic-20.eslapion wrote:Hey... that's exactly what I said in the 1st place... I fully agree with you on this one.Mike wrote:Kakemoms deliberately ignores some fundamental principles of digital electronics. It is not, and never was, a good idea to let two digital outputs play tug-of-war. However, as long as he only fries his own VIC-20 with those experiments, that's not my problem.
He wasn't too happy with my suggestion of passing the top 6 address lines of the 6502 through a multiplexer instead.
He also just claimed the Commodore 128's burst mode is the same as IEEE-488 comms...
Added edit:
Reading Skoe's document about C64 Kernal cart, this is no easy exercise at all...
If we try to keep within the boundaries of the Vic-20 and not resolder everything or rebuild the machine from inside, you have a much more difficult setup to work with. And I think its possible to get the BLK7 replaced through the expansion port. Maybe you have a problem with that, but that is your problem.
As for the 1581 drive (which we were discussing, not a 128), the wiki says: "Like the 1541 and 1571, the 1581 has an onboard MOS Technology 6502 CPU with its own ROM and RAM, and uses a serial version of the IEEE-488 interface. Inexplicably, the drive's ROM contains commands for parallel use, although no parallel interface was available."
So not my words, its on the wikipedia page of the 1581 that it supports IEEE-488.
Re: Cartridge based kernel
its just that ALL drive roms are based on the old drive roms from IEEE488 era - no more no less. it doesnt really support IEEE488
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
- eslapion
- ultimate expander
- Posts: 5458
- Joined: Fri Jun 23, 2006 7:50 pm
- Location: Canada
- Occupation: 8bit addict
Re: Cartridge based kernel
I think I can't count on my hands the number of VIC-20's I have seen in my life which don't have the 6502 on a socket.Kakemoms wrote:Desoldering your 6502 inside a Vic-20 and adding more memory to it just makes it a new machine. You could just take out the 6502 and put it in a new PCB, add a 4Mbit SRAM and have a new machine. No problem and not hard to do either. But it has nothing to do with the Vic-20.
You are also free to start a new religion called "flying bottles of ketchup" and everyone may think it' is you that's having a problem.If we try to keep within the boundaries of the Vic-20 and not resolder everything or rebuild the machine from inside, you have a much more difficult setup to work with. And I think its possible to get the BLK7 replaced through the expansion port. Maybe you have a problem with that, but that is your problem.
There are dozens of alternate solutions to what you want to do without risking damage to your VIC-20 and as long as you only destroy your own machine with your technical chaos then I have absolutely no problem.
Also, since it was the inspiration for the proposed solution this comments amounts to saying the 1541 RAMBOard amounts to rebuilding the disk drive which it is certainly not. It's a small add-on board that's inserted under the CPU exactly as I suggested and it provides RAM at an address range where normally something else appears exactly like you wanted.
So according to you the 1541 and 1571 too are fitted with an IEEE-488 interface ?As for the 1581 drive (which we were discussing, not a 128), the wiki says: "Like the 1541 and 1571, the 1581 has an onboard MOS Technology 6502 CPU with its own ROM and RAM, and uses a serial version of the IEEE-488 interface. Inexplicably, the drive's ROM contains commands for parallel use, although no parallel interface was available."
So not my words, its on the wikipedia page of the 1581 that it supports IEEE-488.
The key words which you skipped here are "uses a SERIAL version of".
As for "not discussing the 128", the burst mode is something that works on the 1571, 1581 and the Commodore128/128D only. You said the IEEE-488 interface is the same as the burst mode of the 1581... which is supported only with the Commodore 128(D).
Be normal.
Re: Cartridge based kernel
Ok, great to clear that up. You answer this questions straight, without trying to ridicule the person asking. I appreciate that.groepaz wrote:its just that ALL drive roms are based on the old drive roms from IEEE488 era - no more no less. it doesnt really support IEEE488