-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmySE30_driver_stub.a
56 lines (46 loc) · 2.11 KB
/
mySE30_driver_stub.a
1
; ; This is what I call a "stub driver" and will be used by the ; never-been-used 0xA0 video mode; dc.w 0 ; no Ctrl, no status and no lock dc.w 0 dc.w 0 dc.w 0 dc.w 0 ; Open routine right at the beginning dc.w 0 ; no prime; --------------------------------------------------------------------------- move.l #$F0,d1 or.b 7(sp),d1 ror.l #8,d1 movea.l d1,a1 move.l 8(sp),d0 cmpi.l #3,d0 bgt.s VIA_exitErr beq.s VIA_toggleMainAltScr subq.w #1,d0 beq.s VIA_setMainScr bmi.s VIA_setMainScrNoVsync bclr #6,($50F00000).lVIA_exitGood: moveq #0,d0VIA_exit: rts; ---------------------------------------------------------------------------VIA_exitErr: moveq #$FFFFFF9C,d0 ; return -100 bra.s VIA_exit; ---------------------------------------------------------------------------VIA_toggleMainAltScr: bset #6,($50F00000).l ; VIA1 bit-6, mainscreen (hardcoded, bah!) bclr #6,($50F00000).l ; and then alternate screen. Does this flipflop mean something? bra.s VIA_exitGood; ---------------------------------------------------------------------------VIA_setMainScr: bset #6,($50F00000).l ; VIA1 base address (hardcoded!) bra.s VIA_exitGood; ---------------------------------------------------------------------------VIA_setMainScrNoVsync: bset #6,($50F01E00).l ; 1 = mainscreen bset #6,($50F00000).l ; 1 = vertical synchronization interrupt disabled move.l #$80,d0 rts