07-27-2012, 06:57 AM
I do: the ISR saves all the register pairs. Check the code and see 
But that's not the problem. The problem occurs with bank switching. Just with bank switching, even if I don't enable my ISR or even don't enable IM2, any bank switching messes subsequent PRINT calls. Minimal case scenario:
Compile and run this in either 128 BASIC or USR 0 mode. You won't see "HOLA" on screen, but a bunch of trash.
So no clue? That's bad
I really need PRINT, in fact I'm doing this in BASIC 'cause I can print to the screen with no hassle.
Also, the aplib decompressor also messes up something. Whenever I use it (not only with this project), the PRINT output gets BOLD.

But that's not the problem. The problem occurs with bank switching. Just with bank switching, even if I don't enable my ISR or even don't enable IM2, any bank switching messes subsequent PRINT calls. Minimal case scenario:
Code:
' Test
Asm
; Permorm some dummy paging
di
ld a, 5
ld bc, $7ffd
out (c), a
; now RAM 5 is in.
xor a
ld bc, $7ffd
out (c), a
ld ($5b5c), a
ei
; back to normal
End Asm
Print "HOLA";
So no clue? That's bad

Also, the aplib decompressor also messes up something. Whenever I use it (not only with this project), the PRINT output gets BOLD.