168 lines
2.1 KiB
NASM
168 lines
2.1 KiB
NASM
|
.INCLUDE "\VIDEO\sys\gsp.inc"
|
|||
|
|
|||
|
.globl TVPATCH,TVPATCHX
|
|||
|
.globl TVBP,TVBPX
|
|||
|
.globl SAVESCR
|
|||
|
|
|||
|
; .BSS OLDAUTOE,16,1
|
|||
|
; .BSS OLDDSPON,16,1
|
|||
|
|
|||
|
.ref SYNCHALF,AUTOEOFF,DMAQWAIT
|
|||
|
.ref NOAUTOE,DISPLAYON
|
|||
|
|
|||
|
.text
|
|||
|
.even
|
|||
|
OLDAUTOE: .word 0
|
|||
|
OLDDSPON: .word 1
|
|||
|
OLDINTEN: .word 0
|
|||
|
SAVESCR: .word 0
|
|||
|
|
|||
|
|
|||
|
TVBP:
|
|||
|
mmtm SP,A0
|
|||
|
|
|||
|
MOVE @INTENB,A0,0 ;DISABLE ROM PROTECT INTERRUPT (ext2)
|
|||
|
move A0,@OLDINTEN,0
|
|||
|
ANDNI X2E,A0
|
|||
|
ORI DIE,A0
|
|||
|
MOVE A0,@INTENB,0
|
|||
|
|
|||
|
MOVE @SAVESCR,A0,0
|
|||
|
jrz SkSave
|
|||
|
PUSHST
|
|||
|
EINT
|
|||
|
CALLA SYNCHALF
|
|||
|
MOVE @NOAUTOE,@OLDAUTOE,0
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@NOAUTOE,0
|
|||
|
CALLA AUTOEOFF ;SHUT OFF AUTO-ERASE
|
|||
|
MOVE @DISPLAYON,@OLDDSPON,0
|
|||
|
CLR A0
|
|||
|
MOVE A0,@DISPLAYON,0
|
|||
|
CALLA DMAQWAIT ;BLOW OUT THE QUEUE'D IMAGES
|
|||
|
POPST
|
|||
|
SkSave:
|
|||
|
|
|||
|
mmfm SP,A0
|
|||
|
rets
|
|||
|
|
|||
|
TVBPX:
|
|||
|
mmtm SP,A0
|
|||
|
|
|||
|
MOVE @SAVESCR,A0,0
|
|||
|
jrz SkUnSave
|
|||
|
MOVE @OLDAUTOE,@NOAUTOE,0
|
|||
|
MOVE @OLDDSPON,@DISPLAYON,0
|
|||
|
SkUnSave:
|
|||
|
|
|||
|
; MOVE @INTENB,A0,0 ;ENABLE ROM PROTECT INTERRUPT (ext2)
|
|||
|
move @OLDINTEN,A0,0
|
|||
|
ORI X2E,A0
|
|||
|
MOVE A0,@INTENB,0
|
|||
|
|
|||
|
MOVE @INTPEND,A0,0 ;Clear any pending X2E
|
|||
|
ANDNI X2E,A0
|
|||
|
ANDNI DIE,A0
|
|||
|
MOVE A0,@INTPEND,0
|
|||
|
|
|||
|
mmfm SP,A0
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
TVPATCH:
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
.word 0
|
|||
|
TVPATCHX:
|
|||
|
|