home *** CD-ROM | disk | FTP | other *** search
- ; *** Kid Gloves HD Loader V1.0
- ; *** Written by Keith Krellwitz (kkrellwi@nmu.edu)
-
- MACHINE 68000
-
- include "jst.i"
-
- HD_PARAMS "",0,0
-
- STACK_LOCATION = $600
-
- _loader:
-
- Mac_printf "IK+ HD Loader v0.9b"
- Mac_printf "Coded by Abaddon/JOTD ©1998-2000"
-
- TESTFILE loader_rgb
- tst.l D0
- beq.b .rgb_version
-
- TESTFILE loader_cd32
- tst.l D0
- bne.b FileErr
- RELOC_STL cd32_version
- NEWLINE
- Mac_printf "Loading CD32 version"
-
- .rgb_version:
- JSRABS LoadFiles
-
- move.l #CACRF_CopyBack,D1
- moveq.l #0,D0
- JSRABS Degrade
-
- GO_SUPERVISOR
- SAVE_OSDATA $100000
-
- JSRGEN FreezeAll
- move.w #$2700,sr
- lea $78000,a7
-
- RELOC_TSTL cd32_version
- bne.b run_cd32
-
- lea loader_rgb(pc),a0
- lea $600.W,a1
- move.l #$0,d0
- move.l #-1,d1
- JSRGEN ReadFile
- lea $832.W,a0
- lea $600.W,a1
- JSRGEN RNCDecrunch
- PATCHUSRJSR $1a58.W,KbInt
- JSRGEN FlushCachesHard
- lea $600.W,a7
- jmp $600.W
-
- KbInt:
- move.b $bfec01,d0
- movem.l d0/d1,-(a7)
- ror.b #$1,d0
- not.b d0
- cmp.b #$59,d0 ; f10
- bne.b noquit
- JSRGEN InGameExit
- noquit:
- RELOC_TSTL cd32_version
- beq.b .nocd32
-
- move.b $7DF.W,D1
-
- cmp.l #76,D0 ; up
- bne.b .noup
- moveq.l #1,D0
- abcd.b D0,D1
- cmp.b #$99,D1
- beq.b .nodown
- move.b D1,$7DF.W
- bra.b .nocd32
- .noup
- cmp.l #77,D0 ; down
- bne.b .nodown
- moveq.l #1,D0
- sbcd.b D0,D1
- tst.b D1
- beq.b .nodown
- move.b D1,$7DF.W
- .nodown
- .nocd32
- movem.l (a7)+,d0/d1
- rts
-
- ; added by Jeff
-
- run_cd32:
- lea loader_cd32(pc),a0
- lea $600.W,a1
- move.l #$0,d0
- move.l #-1,d1
- JSRGEN ReadFile
-
- ; change stack location
-
- move.l #STACK_LOCATION,$17BC.W
-
- ; goto game patch
-
- PATCHUSRJMP $1092.W,GotoGame
-
- ; sets quit key
-
- PATCHUSRJSR $1a58.W,KbInt
-
- ; disable zero page modification
-
- PATCH_RTS $B16.W
-
- ; temporary
-
- JSRGEN FlushCachesHard
- lea STACK_LOCATION,a7
- jmp $600.W
-
- GotoGame:
- lea STACK_LOCATION,A7
- move #$2000,SR
- jmp $AD4.W
-
- loader_rgb:
- dc.b "IK00",0
- loader_cd32:
- dc.b "IK+",0
- even
- cd32_version:
- dc.l 0
- FileErr:
- Mac_printf "** File ''IK00'' or ''IK+'' missing."
- JMPABS CloseAll
-
-