Kernal 1541

From: Ruud Baltissen (
Date: 2001-07-30 08:48:12

Hallo allemaal,

I managed to make a sourcelisting of the 1541 Kernal by using my own
generated one and the comments from Frank Kontros listing. Then I started to
have a look how things work. And immediatly run into questions.
At $EAC9 the ROM-test starts. It does this by adding all values. The thing I
don't understand is $EAE2; "cmp $76". The result is compared with the
contents of $76 which is the HB of the pointer to the ROM. As I understand
it, the result of adding must be $E0 $C0 after the second run. Right?
(I'm used to routines where the sum must be 0 (zero) at the end, that's why
I'm confused a little bit)

This means that each ROM must have a checksum byte somewhere. I found the
one for the $E000/FFFF ROM at $FEE6. But I cannot find the one for the other
ROM, anybody knows where to find it?

Then a general remark: I think that my idea of using the 1541 kernal for my
"Cheap IDE" project won't work out. Just have a look at the IRQ-routine.
You'll find so many "typical real 1541" things that it won't be a matter of
"converting it to IDE through a JMP" anymore. I think I'm better of writing
my own Kernal and using the "good" parts of the original one.
Any ideas, comment etc. is welcome.

Another problem is to find a way to test the new Kernal. The logical thing
is to use an EPROM emulator. But I don't have one :(. And burning/erasing
EPROMs is not a good idea either I think.
So started my second "Cheap IDE" project up: an IDE-HD for the C64. In less
then an hour I hooked up an IDE-HD to my C64, the most work was drilling and
filing a hole for the connector. Fired up the HD and C64 and the first
results are promising: Keyboard works fine AFAIK and seems not to be disturb
by the datalines of the HD.
The advantage of this project is that it is just a matter of loading a PRG
from floppy to test everything. I'll keep you informed.

  / __|__
 / /  |_/     Groetjes, Ruud
 \ \__|_\

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail 2.1.1.