bitshifters / bad-apple

“Bad Apple” - The definitive BBC Micro/Teletext Version
https://bitshifters.github.io/posts/prods/bs-badapple.html
60 stars 1 forks source link

Runs on b2 but not on a real model B #15

Open rjpontefract opened 1 year ago

rjpontefract commented 1 year ago

Hi, I'd love to see my real BBC model B running this demo but so far, I've failed to make it work. The DSD works fine in b2 and I used Tom Seddon's BeebLink imager to write it track for track to an 80 track double sided floppy. The intro screens work fine but when it gets to the video part, I get the single line header displayed, the drive steps 3 tracks and it locks up.

I tried a couple of different DFS versions (my usual Acorn DNFS 1.22 and WE DFS 1.44) and both did the same thing.

Is there any chance you've seen this before?

rjpontefract commented 1 year ago

I did some debugging and determined it was due to my model B having the TMS-5220 speech processor installed. A bit more debugging led to me disabling the timer 2 interrupt that's used by the speech system and lo-and-behold it runs fine.

The code I added was:

            LDA #&20                    ; A=00100000
        STA &FE4E                   ; R14=Interrupt Disable (disable timer 2 interrupt)

After

                LDA #&C0                    ; A=11000000
        STA &FE4E                   ; R14=Interrupt Enable (enable timer 1 interrupt)

I had to drop the *FX200,3 to make room for the new instructions.

Hope this helps someone.

kieranhj commented 1 year ago

Thanks for the sleuthing!