Commodore 128 Alive!

Commodore 128 => Herdware => Topic started by: MIRKOSOFT on May 15, 2010, 11:56 AM

Title: How to check internal EPROM in C128?
Post by: MIRKOSOFT on May 15, 2010, 11:56 AM
Hi!

As everybody know C128 has two banks with Internal ROM and External ROM.
Internal is for EPROM to empty slot on C128's mainboard.
External is for EPROM to empty slot on REU (e.g. CBM 1700/1750).

I want to check if is any EPROM in these slots or they are empty.
Is possible how to check this? And maybe type of EPROM/identify EPROM...?

And last Q is simple:

How to activate External EPROM (on REU)?

Internal is not problem, only holding CONTROL key through start/reset of computer.

Thanks for every help.

Miro
Title: Re: How to check internal EPROM in C128?
Post by: Hydrophilic on May 18, 2010, 01:34 PM
If the cartridge / ROM follows Commodore's standard, it will have string "CBM" ($43, $42, $4d) at address $xx07 to $xx09.  "xx" is either hex value $80 or $c0.  These are called "low rom" and "high rom" by Commodore.  Internal (function) ROM is readable from bank 4, and external (cartridge) ROM is available in bank 8.

At byte $xx06 is an ID number of ROM.  There are no standard numbers, AFAIK.  Well, there are 2 special numbers...

For starting the ROM, it is up to the programmer.  The operating system provides a method to start the cartridge but the cartridge may not use it.  If the ID number is $01, then it is considered an auto-start ROM.  In this case KERNAL will try to start cartridge by JMP ($xx00) soon after power-on / reset.  If the number is $00, it is considered "no start".  If any other number then the cartridge will be called by BASIC after power-on message but before BOOT disk, also by JMP ($xx00).

If you have both an auto-start internal ROM, and auto-start cartridge ROM, then the cartridge goes first.
EhPortal 1.34 © 2025, WebDev