You can bank out Kernal ROM in C64 using $01 register. This was preferred by game/demo coders who wants to employ self tuned routines and wants to expose ram 'underneath'.

You can do lda #$35 : sta $01 and immediately have 16k additional memory. This was a special feature of 6510 CPU. The question is: Is it possible to disable Kernal in similar manner in Commodore PET, VIC-20 or 264 Series (e.g. Plus/4, 116 or 16) Computers?

  • 2
    Why would you do that when there is no RAM underneath? – NieDzejkob Jun 18 '18 at 16:16
  • @NieDzejkob: For software to be able to do so wouldn't be very useful, but an ability to do so in hardware might be helpful for some purposes [e.g. being able to put something other than Kernel ROM at $FFFE would make it possible to speed up IRQ response time]. – supercat Jun 18 '18 at 21:19
  • 4
    Editors and reviewers: please leave “kernal” alone, it’s the name of the Commodore ROM (and yes, it irritates). – Stephen Kitt Jun 19 '18 at 9:16
  • @StephenKitt "Kernel" is not wrong though, especially when talking about the PET. – JeremyP Jun 19 '18 at 10:36
  • 2
    I prefer to keep it as Kernal as this is the original name given by Commodore. – wizofwor Jun 19 '18 at 11:47

You cannot do that on the VIC-20; not only is no such feature provided by the built-in hardware but there's also no ROMDIS signal on the memory expansion bus or anything else similar.

PETs with a 64kb upgrade have a register at $FFF0 for memory selection that allows the ROMs to be paged out (see e.g. "2.2 Control Register" in this document — the 8096 is an official PET with 96kb of RAM that utilises that paging scheme).

The TED machines (e.g. Plus/4, 116, or 16) permit selection of ROM or RAM at $FF13 (for more details see e.g. this summary of the TED chip, particularly the register map at the bottom).

  • I didn't know PETs had a 64kb upgrade. Guess they came out after I stopped using them. – cup Jun 18 '18 at 20:38
  • @cup 6502.org/users/andre/petindex/local/pet-io-2.txt was my source for that claim; I'll edit it in. Ditto I'll look for something for the TED assertion. I'm not sure how I would as easily prove the VIC didn't have something though. – Tommy Jun 18 '18 at 21:06
  • @Tommy: The BLK7 signal that enables the ROM is generated by UC5 based upon A13-A15 and the phi2 clock. – supercat Jun 18 '18 at 21:30

While you can't do this on the VIC-20 at all, nothing is stopping you from programming your own ROM. It would not be difficult to create a ROM-switching socket or adapter of some sort, à la JiffyDOS, which does exactly this trick to let you switch from the custom high-speed-disk-I/O ROM to and from the standard ROM. This trick would, of course, work on the other systems too if you did it correctly.

  • That's after removing the built-in ROM though, right? If so, any idea whether they're usually socketed? – Tommy Jun 18 '18 at 23:27
  • 1
    @Tommy It depends on the generation of the machine - older machines have higher probabilities. I think, in general, that it's pretty common. It's also not the end of the world to remove the ROM chip and install a socket, if you need. – Jim MacKenzie Jun 19 '18 at 3:16

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.