home *** CD-ROM | disk | FTP | other *** search
- org $30000
- load $30000
-
- j: move.w #$7fff,$dff09a
- bsr Doload
- move.w #$7fff,$dff09c
- move.w #$e02c,$dff09a
- rts
-
-
-
-
- DOload: LEA $78000,A0
- LEA $32C8(A0),A1
- JSR C300(PC)
- LEA L4A(PC),A1
- MOVE.L #'KGS1',(A1)
- MOVE.L #0,4(A1)
- MOVE.L #$4a5c,8(A1)
- LEA $c80000,A0
- JSR C30E(PC)
- JSR C3B6(PC)
- rts
-
-
-
-
-
- L4A: dc.l 0,0,0
-
- L62: dc.l 0,0
- dc.w 0
-
- L6C: dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-
-
- C264: MOVEM.L D1-D7/A0-A6,-(SP)
- BSR C3B6
- MOVE.B D0,8(A3)
- CLR.B 9(A3)
- MOVE.W #$2000,$9A(A6)
- BSR C474
- MOVEQ #0,D7
- BTST #2,(A5)
- BNE.S C288
- MOVEQ #4,D7
- C288: MOVE.L D0,-(SP)
- BSR C474
- MOVEQ #$55,D0
- C290: BTST #4,(A5)
- BEQ.S C29E
- BSR C4A8
- DBRA D0,C290
-
- C29E: MOVE.L (SP)+,D0
- CLR.B 9(A3)
- BTST #4,(A5)
- BNE C3B0
- BTST #2,(A5)
- BNE.S C2C2
- BSR C4A2
- BSR C4A8
- BTST #2,(A5)
- BEQ C3A0
- C2C2: MOVEQ #$40,D0
- C2C4: MOVE.W #$15DA,D0
- BSR C448
- BTST #5,(A5)
- DBEQ D0,C2C4
-
- ST 10(A3)
- BTST #3,(A5)
- BNE.S C2E2
- BSET #3,D7
- C2E2: MOVE.L D7,D0
- BRA C396
-
- C2E8: LEA L62(PC),A3
- LEA $BFD100,A4
- LEA $BFE001,A5
- LEA $DFF000,A6
- RTS
-
- C300: MOVEM.L D1-D7/A0-A6,-(SP)
- BSR.S C2E8
- MOVEM.L A0/A1,(A3)
- BRA C394
-
- C30E: MOVEM.L D1-D7/A0-A6,-(SP)
- BSR.S C2E8
- MOVE.L A0,$12(A3)
-
- ;MOVE.L (A1),D0
- ;BSR C612
- ;BNE C3A6
-
- MOVE.L 4(A1),D0
- MOVE.L D0,D1
- ADD.L 8(A1),D1
- ADDQ.L #3,D1
- AND.W #$FFFC,D1
- CMP.L $15E(A3),D1
- BHI.S C3AC
- BSR C5B2
- MOVEQ #5,D7
- C33E: MOVE.L (A3),A0
- BSR C3DA
- BSR C726
- DBEQ D7,C33E
-
- BNE.S C39C
- MOVE.L 4(A1),D1
- SUB.L 14(A3),D1
- ADD.W D1,A0
- LSR.W #2,D1
- SUB.W D1,D0
- MOVE.W D0,D7
- MOVE.L $12(A3),A2
- MOVE.L 8(A1),D6
- ADDQ.L #3,D6
- LSR.L #2,D6
- BRA.S C38E
-
- C36C: BTST #2,(A5)
- BEQ.S C3A0
- BSR C4C6
- MOVEQ #5,D7
- C378: MOVE.L (A3),A0
- BSR.S C3DA
- BSR C726
- DBEQ D7,C378
-
- BNE.S C39C
- MOVE.W D0,D7
- BRA.S C38E
-
- C38A: MOVE.L (A0)+,(A2)+
- SUBQ.L #1,D6
- C38E: DBLE D7,C38A
-
- BGT.S C36C
- C394: MOVEQ #0,D0
- C396: MOVEM.L (SP)+,D1-D7/A0-A6
- RTS
-
- C39C: MOVEQ #-$4,D0
- BRA.S C396
-
- C3A0: BSR.S C3B6
- MOVEQ #-$10,D0
- BRA.S C396
-
- C3A6: BSR.S C3B6
- MOVEQ #-$14,D0
- BRA.S C396
-
- C3AC: MOVEQ #-$18,D0
- BRA.S C396
-
- C3B0: BSR.S C3B6
- MOVEQ #-$1C,D0
- BRA.S C396
-
- C3B6: MOVE.L A0,-(SP)
- LEA L6C(PC),A0
- OR.B #$F9,$BFD100
- AND.B #$87,$BFD100
- OR.B #$F9,$BFD100
- CLR.B (A0)
- MOVE.L (SP)+,A0
- RTS
-
- C3DA: MOVEM.L D0/D1/A0,-(SP)
- MOVE.W #$312,D0
- MOVEQ #0,D1
- C3E4: MOVE.L D1,(A0)+
- MOVE.L D1,(A0)+
- MOVE.L D1,(A0)+
- MOVE.L D1,(A0)+
- DBRA D0,C3E4
-
- MOVEM.L (SP)+,D0/D1/A0
- MOVE.W #2,$9C(A6)
- MOVE.L A0,$20(A6)
- MOVE.W #$8210,$96(A6)
- MOVE.W 12(A3),$7E(A6)
- MOVE.W #$7F00,$9E(A6)
- MOVE.W #$9500,$9E(A6)
- MOVE.W #$4000,$24(A6)
- TST.B $C00(A4)
- C420: BTST #4,$C00(A4)
- BEQ.S C420
- MOVE.W #$989D,$24(A6)
- MOVE.W #$989D,$24(A6)
- RTS
-
- C436: CMP.B 9(A3),D1
- BEQ.S C446
- BCS.S C442
- BSR.S C466
- BRA.S C436
-
- C442: BSR.S C47C
- BRA.S C436
-
- C446: RTS
-
- C448: MOVE.B D0,$300(A4)
- LSR.W #8,D0
- MOVE.B D0,$400(A4)
- TST.B $C00(A4)
- OR.B #$19,$D00(A4)
- C45C: BTST #0,$C00(A4)
- BEQ.S C45C
- RTS
-
- C466: ADDQ.B #1,9(A3)
- BTST #0,9(A3)
- BNE.S C48A
- BSR.S C4A2
- C474: MOVEM.L D0/D1,-(SP)
- MOVEQ #$7D,D1
- BRA.S C490
-
- C47C: SUBQ.B #1,9(A3)
- BTST #0,9(A3)
- BEQ.S C474
- BSR.S C4A8
- C48A: MOVEM.L D0/D1,-(SP)
- MOVEQ #$79,D1
- C490: MOVE.B D1,(A4)
- MOVE.B 8(A3),D0
- ADDQ.B #3,D0
- BCLR D0,D1
- MOVE.B D1,(A4)
- MOVEM.L (SP)+,D0/D1
- RTS
-
- C4A2: BCLR #1,(A4)
- BRA.S C4AC
-
- C4A8: BSET #1,(A4)
- C4AC: MOVE.L D0,-(SP)
- MOVE.W #$864,D0
- BSR.S C448
- BCLR #0,(A4)
- MOVE.W #$864,D0
- BSR.S C448
- BSET #0,(A4)
- MOVE.L (SP)+,D0
- RTS
-
- C4C6: MOVEM.L D0-D2/A0/A1,-(SP)
- MOVEQ #0,D1
- MOVE.B 9(A3),D1
- LEA $1E(A3),A0
- LEA $162(A3),A1
- MOVE.W D1,D2
- ADD.W D2,D2
- MOVE.W 0(A0,D2.W),D0
- EXT.L D0
- ADD.W D0,D0
- ADD.W D0,D0
- ADD.L 14(A3),D0
- C4EA: ADDQ.W #1,D1
- CMP.W #$A0,D1
- BCC.S C518
- BSR C466
- TST.B 0(A1,D1.W)
- BMI.S C4EA
- MOVE.L D0,14(A3)
- MOVEQ #0,D0
- MOVE.B 0(A1,D1.W),D0
- MOVE.B D0,11(A3)
- MOVE.W #$4429,12(A3)
- MOVEQ #0,D0
- C512: MOVEM.L (SP)+,D0-D2/A0/A1
- RTS
-
- C518: MOVEQ #-$1,D0
- BRA.S C512
-
- C51C: MOVEM.L D1/D6/A1,-(SP)
- LSR.W #1,D6
- MOVEQ #-$1,D2
- ADD.W D2,D2
- BRA.S C52C
-
- C528: MOVE.W (A1)+,D1
- ADDX.W D1,D2
- C52C: DBRA D6,C528
-
- MOVEM.L (SP)+,D1/D6/A1
- RTS
-
- C536: MOVEM.L D0-D7/A0-A4,-(SP)
- MOVE.L 4(A3),A0
- ADDQ.W #2,A0
- LEA $16(A3),A1
- MOVE.L (A0)+,(A1)+
- MOVE.L (A0)+,(A1)+
- LEA $1E(A3),A1
- LEA $162(A3),A2
- MOVE.W #$9F,D7
- C554: MOVE.W (A0)+,D0
- MOVE.W D0,D1
- AND.W #$F000,D1
- EOR.W D1,D0
- ROL.W #4,D1
- MOVE.B D1,(A2)+
- MOVE.W D0,(A1)+
- DBRA D7,C554
-
- MOVE.L (A0)+,(A1)+
- BSR.S C572
- MOVEM.L (SP)+,D0-D7/A0-A4
- RTS
-
- C572: LEA $162(A3),A2
- MOVE.B $1A(A3),D5
- BTST #0,D5
- BEQ.S C584
- BSET #7,(A2)
- C584: MOVEQ #0,D0
- BTST #1,D5
- BEQ.S C596
- MOVE.B $1B(A3),D0
- BSET #7,0(A2,D0.W)
- C596: BTST #2,D5
- BEQ.S C5B0
- MOVE.B $1C(A3),D0
- MOVE.B $1D(A3),D1
- C5A4: BSET #7,0(A2,D0.W)
- ADDQ.B #1,D0
- CMP.B D1,D0
- BLS.S C5A4
- C5B0: RTS
-
- C5B2: MOVEM.L D0-D7/A0-A4,-(SP)
- LSR.L #2,D0
- LEA $1E(A3),A0
- LEA $162(A3),A1
- MOVEQ #0,D1
- MOVEQ #0,D2
- MOVE.W #$9F,D3
- C5C8: MOVE.W (A0)+,D4
- TST.B (A1)+
- BMI.S C5DE
- EXT.L D4
- BNE.S C5D8
- TST.L D0
- BEQ.S C5E8
- BRA.S C5E4
-
- C5D8: ADD.L D4,D2
- CMP.L D2,D0
- BLS.S C5E8
- C5DE: ADDQ.W #1,D1
- DBRA D3,C5C8
-
- C5E4: MOVEQ #-$1,D0
- BRA.S C60C
-
- C5E8: SUB.L D4,D2
- ADD.L D2,D2
- ADD.L D2,D2
- MOVE.L D2,14(A3)
- LEA $162(A3),A1
- MOVEQ #0,D0
- MOVE.B 0(A1,D1.W),D0
- MOVE.B D0,11(A3)
- MOVE.W #$4429,12(A3)
- BSR C436
- MOVEQ #0,D0
- C60C: MOVEM.L (SP)+,D0-D7/A0-A4
- RTS
-
- C612: move.l #'KGS1',$16(a3)
- ;TST.B 10(A3)
- ;BEQ.S C624
- ;BTST #2,(A5)
- ;BEQ.S C624
- CMP.L $16(A3),D0
- BEQ.S C65C
- C624: MOVEM.L D0-D7/A0-A6,-(SP)
- MOVE.L D0,D7
- MOVEQ #15,D6
- MOVE.B 8(A3),D0
- BCLR D0,D6
- BEQ.S C63E
- BSR.S C65E
- BNE.S C63E
- CMP.L $16(A3),D7
- BEQ.S C658
- C63E: MOVEQ #0,D1
- C640: BCLR D1,D6
- BEQ.S C650
- MOVE.W D1,D0
- BSR.S C65E
- BNE.S C650
- CMP.L $16(A3),D7
- BEQ.S C658
- C650: ADDQ.W #1,D1
- TST.B D6
- BNE.S C640
- MOVEQ #-$1,D0
- C658: MOVEM.L (SP)+,D0-D7/A0-A6
- C65C: RTS
-
- C65E: BSR C264
- BMI.S C66E
- BSR.S C670
- BNE.S C66E
- BSR C536
- MOVEQ #0,D0
- C66E: RTS
-
- C670: MOVEM.L D0-D4/D6/A0/A1,-(SP)
- MOVEQ #3,D4
- C676: MOVE.W #2,$9C(A6)
- MOVE.L (A3),$20(A6)
- MOVE.W #$8210,$96(A6)
- MOVE.W #$428A,$7E(A6)
- MOVE.W #$7F00,$9E(A6)
- MOVE.W #$9500,$9E(A6)
- MOVE.W #$4000,$24(A6)
- TST.B $C00(A4)
- C6A2: BTST #4,$C00(A4)
- BEQ.S C6A2
- MOVE.W #$814F,$24(A6)
- MOVE.W #$814F,$24(A6)
- MOVEQ #12,D0
- C6B8: MOVE.B #$C6,$300(A4)
- MOVE.B #$FB,$400(A4)
- TST.B $C00(A4)
- OR.B #$19,$D00(A4)
- C6CE: BTST #1,$1F(A6)
- BNE.S C6E2
- BTST #0,$C00(A4)
- BEQ.S C6CE
- DBRA D0,C6B8
-
- C6E2: MOVE.L (A3),A0
- MOVE.L 4(A3),A1
- MOVE.W #$A6,D1
- C6EC: MOVE.L (A0)+,D2
- AND.L #$55555555,D2
- MOVE.L D2,D3
- SWAP D3
- ADD.W D3,D3
- OR.W D3,D2
- MOVE.W D2,(A1)+
- DBRA D1,C6EC
-
- MOVE.L 4(A3),A0
- LEA 2(A0),A1
- MOVE.W #$14C,D6
- BSR C51C
- CMP.W (A0),D2
- DBEQ D4,C676
-
- MOVEM.L (SP)+,D0-D4/D6/A0/A1
- RTS
-
- L71E: dc.l $AAAAAAAA,$55555555
-
- C726: MOVEM.L D1-D7/A0-A6,-(SP)
- MOVE.L (A3),A1
- C72C: TST.W 2(A1)
- BEQ.S C72C
- MOVE.L (A1)+,D5
- AND.L #$55555555,D5
- MOVE.W D5,D1
- SWAP D5
- ADD.W D5,D5
- OR.W D1,D5
- MOVE.B 11(A3),D0
- AND.W #1,D0
- ADD.W D0,D0
- ADD.W D0,D0
- LEA L71E(PC),A2
- MOVE.L 0(A2,D0.W),D1
- MOVEQ #0,D0
- MOVE.B 9(A3),D0
- ADD.W D0,D0
- LEA $1E(A3),A2
- MOVE.W 0(A2,D0.W),D7
- MOVE.L A0,A2
- MOVEM.L D5/D7,-(SP)
- BSR C788
- MOVEM.L (SP)+,D5/D7
- MOVE.W D6,D2
- SWAP D6
- EOR.W D6,D2
- AND.W #$FFF0,D2
- MOVE.W D7,D0
- CMP.W D2,D5
- MOVEM.L (SP)+,D1-D7/A0-A6
- RTS
-
- C788: MOVEQ #$1F,D2
- MOVEQ #$1F,D4
- MOVEQ #0,D3
- MOVEQ #0,D6
- SUBQ.W #1,D7
- MOVEQ #$1F,D5
- C794: TST.W 2(A1)
- BEQ.S C794
- MOVE.L (A1)+,D0
- BTST D4,D0
- BEQ.S C7C8
- C7A0: ADD.L D3,D3
- ADDQ.W #1,D3
- DBRA D5,C7B6
-
- EOR.L D1,D3
- ADD.L D3,D6
- MOVE.L D3,(A0)+
- DBRA D7,C7B4
-
- BRA.S C816
-
- C7B4: MOVEQ #$1F,D5
- C7B6: SUBQ.W #2,D4
- BPL.S C7C4
- AND.W D2,D4
- C7BC: TST.W 2(A1)
- BEQ.S C7BC
- MOVE.L (A1)+,D0
- C7C4: BTST D4,D0
- BNE.S C7A0
- C7C8: ADD.L D3,D3
- DBRA D5,C7DC
-
- EOR.L D1,D3
- ADD.L D3,D6
- MOVE.L D3,(A0)+
- DBRA D7,C7DA
-
- BRA.S C816
-
- C7DA: MOVEQ #$1F,D5
- C7DC: DBRA D4,C7EA
-
- MOVEQ #$1F,D4
- C7E2: TST.W 2(A1)
- BEQ.S C7E2
- MOVE.L (A1)+,D0
- C7EA: BTST D4,D0
- BNE.S C7A0
- ADD.L D3,D3
- DBRA D5,C802
-
- EOR.L D1,D3
- ADD.L D3,D6
- MOVE.L D3,(A0)+
- DBRA D7,C800
-
- BRA.S C816
-
- C800: MOVEQ #$1F,D5
- C802: SUBQ.W #3,D4
- BPL.S C810
- AND.W D2,D4
- C808: TST.W 2(A1)
- BEQ.S C808
- MOVE.L (A1)+,D0
- C810: BTST D4,D0
- BNE.S C7A0
- BEQ.S C7C8
- C816: RTS
-