Cartridge based kernel

Discuss anything related to the VIC
Post Reply
User avatar
mrr19121970
Vic 20 Nerd
Posts: 873
Joined: Tue Jan 19, 2016 9:22 am
Location: Germany
Occupation: IT service manager

Cartridge based kernel

Post by mrr19121970 »

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.
User avatar
srowe
Vic 20 Scientist
Posts: 1325
Joined: Mon Jun 16, 2014 3:19 pm

Re: Cartridge based kernel

Post by srowe »

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.
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Cartridge based kernel

Post by eslapion »

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.
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.

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.
User avatar
Mike
Herr VC
Posts: 4816
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Cartridge based kernel

Post by Mike »

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'.
Eslapion wrote:Kakemoms' thread [...]
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.
User avatar
majikeyric
Vic 20 Afficionado
Posts: 349
Joined: Fri Oct 24, 2014 2:08 pm
Website: http://majikeyric.free.fr
Location: France

Re: Cartridge based kernel

Post by majikeyric »

Mike wrote:as long as he only fries his own VIC-20 with those experiments, that's not my problem.
:D :D :D
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Cartridge based kernel

Post by eslapion »

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.
Hey... that's exactly what I said in the 1st place... I fully agree with you on this one.

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.
Kakemoms
Vic 20 Nerd
Posts: 740
Joined: Sun Feb 15, 2015 8:45 am

Re: Cartridge based kernel

Post by Kakemoms »

eslapion wrote:
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.
Hey... that's exactly what I said in the 1st place... I fully agree with you on this one.

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...
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.

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.
groepaz
Vic 20 Scientist
Posts: 1180
Joined: Wed Aug 25, 2010 5:30 pm

Re: Cartridge based kernel

Post by groepaz »

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.
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Cartridge based kernel

Post by eslapion »

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.
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.
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.
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.

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.
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.
So according to you the 1541 and 1571 too are fitted with an IEEE-488 interface ?

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.
Kakemoms
Vic 20 Nerd
Posts: 740
Joined: Sun Feb 15, 2015 8:45 am

Re: Cartridge based kernel

Post by Kakemoms »

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 :)
Ok, great to clear that up. You answer this questions straight, without trying to ridicule the person asking. I appreciate that.
Post Reply