From USENET last night/this morning: I was going over some of my old CBM files from back in the day, and ran across an error I had found in the Plus 4 kernel rom. I don't think I ever found a way to report it to anyone, so I thought I would see if anything has changed. The error is in the 6551 ACIA servicing routine where a byte is read in from the ACIA: LDA $FD00 BEQ EAC2 STA $07D5 Incoming bytes are first stored at $0FD5, and later moved from there into the input buffer. But as the rom is written, any null byte (00) received would be later stored as whatever the most recent non-null byte was. And it's impossible to receive a null byte. The solution is to reverse the second and third instructions: LDA $FD00 STA $07D5 BEQ EAC2 Or you could duplicate the beginning of the IRQ servicing up to this point in your code, with the correction, then jump back into the rom. Of course, this being the Plus 4, it may be that nobody would ever care about this, but it would be nice to make a record in case anyone ever wanted to make other revisions to the ROM, or actually make use of the UART capability of the Plus 4. George Hug -- Jim Brain brain_at_jbrain.com www.jbrain.comReceived on 2021-11-14 17:00:02
Archive generated by hypermail 2.3.0.