home *** CD-ROM | disk | FTP | other *** search
- * GENERAL PURPOSE INITIALISATION AND DE-INITIALISATION ROUTINE
- * ON ENTRY TO INIT, SCR1 AND SCR2 MUST CONTAIN SCREEN ADDRESS
- * IF ONLY ONE SCREEN, SET BOTH TO SAME ADDRESS
- *
- * USAGE: JSR SUPER
- * MOVE.L #MY,A7
- * JSR INIT
- * main loop
- * TO END: JSR END
- * CLR.L -(A7)
- * TRAP #1
-
- INIT MOVE.W #$2700,SR
-
- MOVE.W #2,-(A7)
- TRAP #14
- ADDQ.L #2,A7
- MOVE.L D0,SAVE_PHYSIC
-
- MOVE.W #3,-(A7)
- TRAP #14
- ADDQ.L #2,A7
- MOVE.L D0,SAVE_LOGIC
-
- MOVE.W #4,-(A7)
- TRAP #14
- ADDQ.L #2,A7
- MOVE.W D0,SAVE_RES
-
- LEA SAVE_PAL,A0
- LEA $FFFF8240.W,A1
- REPT 8
- MOVE.L (A1)+,(A0)+
- ENDR
-
- DC.W $A000
- DC.W $A00A
- MOVE.B #$12,D0
- BSR IKBD
-
- LEA $FFFF8240.W,A0
- MOVEQ.W #8-1,D0
- .COLS MOVE.L #0,(A0)+
- DBF D0,.COLS
-
- MOVEQ.L #0,D1
- MOVE.L SCR1,A0
- CMP.L SCR2,A0
- BEQ .L222
- MOVE.L SCR2,A1
- MOVE.L A1,A2
- .L33 CMPA.L A0,A2
- BEQ .L2
- MOVE.L D1,(A0)+
- MOVE.L D1,(A1)+
- BRA .L33
- .L222 MOVE.W #32000/4-1,D0
- .L22 MOVE.L D1,(A0)+
- DBF D0,.L22
-
- .L2 LEA VARS,A0
- MOVE.L $70.W,(A0)+
- MOVE.L $120.W,(A0)+
- MOVE.L $118.W,(A0)+
- MOVE.L $134.W,(A0)+
- MOVE.L $68.W,(A0)+
- MOVE.B $FFFFFA07.W,(A0)+
- MOVE.B $FFFFFA09.W,(A0)+
- MOVE.B $FFFFFA13.W,(A0)+
- MOVE.B $FFFFFA1B.W,(A0)+
- MOVE.B $FFFFFA21.W,(A0)+
- MOVE.B $FFFFFA15.W,(A0)+
- MOVE.B $FFFFFA19.W,(A0)+
- MOVE.B $FFFFFA1F.W,(A0)+
- MOVE.B $FFFFFA15.W,(A0)+
- MOVE.L #VBL,$70.W
- MOVE.L #KEY,$118.W
- CLR.B $FFFFFA07.W
- CLR.B $FFFFFA09.W
- CLR.B $FFFFFA13.W
- CLR.B $FFFFFA15.W
- ORI.B #1,$FFFFFA07.W TIMER B ENABLE
- ORI.B #1,$FFFFFA13.W
- ORI.B #64,$FFFFFA09.W KEYBOARD ENABLE
- ORI.B #64,$FFFFFA15.W
-
- MOVE.W #$2300,SR
- MOVE.L SCR1,D0
- LSR.W #8,D0
- MOVE.W #$2300,SR
- CLR.B VBLFLAG
- .WAITVBL TST.B VBLFLAG
- BEQ .WAITVBL
- MOVE.L D0,$FFFF8200.W
- CLR.B $FFFF8260.W
- MOVE.B #2,$FFFF820A.W
- RTS
-
- SCR1 DS.L 1
- SCR2 DS.L 1
- VARS DS.B 32
- VBL ST VBLFLAG
- RTE RTE
- VBLFLAG DC.W 0
-
- KEY MOVE.B $FFFFFC02.W,PRESS
- BCLR #6,$FFFFFA11.W
- RTE
- PRESS DC.W 0
-
- SAVE_PAL DS.W 16
- SAVE_RES DS.W 1
- SAVE_PHYSIC DS.L 1
- SAVE_LOGIC DS.L 1
-
- END MOVE.W #$2700,SR
- LEA $FFFF8800.W,A0
- MOVE.L #$700FF00,(A0)
- MOVE.L #$8000000,(A0)
- MOVE.L #$9000000,(A0)
- MOVE.L #$A000000,(A0)
- LEA VARS,A0
- MOVE.L (A0)+,$70.W
- MOVE.L (A0)+,$120.W
- MOVE.L (A0)+,$118.W
- MOVE.L (A0)+,$134.W
- MOVE.L (A0)+,$68.W
- MOVE.B (A0)+,$FFFFFA07.W
- MOVE.B (A0)+,$FFFFFA09.W
- MOVE.B (A0)+,$FFFFFA13.W
- MOVE.B (A0)+,$FFFFFA1B.W
- MOVE.B (A0)+,$FFFFFA21.W
- MOVE.B (A0)+,$FFFFFA1SAVE_PAL DS.W 16
- SAVE_RES DS.W 1
- SAVE_PHYSIC DS.L 1
- SAVE_LOGIC DS.L 1
-
- END MOVE.W #$2700,SR
- LEA $FFFF8800.W,A0
- MOVE.L #$700FF00,(A0)
- MOVE.L #$8000000,(A0)
- MOVE.L #$9000000,(A0)
- MOVE.L #$A000000,(A0)
- LEA VARS,A0
- MOVE.L (A0)+,$70.W
- MOVE.L (A0)+,$120.W
- MOVE.L (A0)+,$118.W
- MOVE.L (A0)+,$134.W
- MOVE.L (A0)+,$68.W
- MOVE.B (A0)+,$FFFFFA07.W
- MOVE.B (A0)+,$FFFFFA09.W
- MOVE.B (A0)+,$FFFFFA13.W
- MOVE.B (A0)+,$FFFFFA1B.W
- MOVE.B (A0)+,$FFFFFA21.W
- MOVE.B (A0)+,$FFFFFA1SAVE_PAL DS.W 16
- SAVE_RES DS.W 1
- SAVE_PHYSIC DS.L 1
- SAVE_LOGIC DS.L 1
-
- END MOVE.W #$2700,SR
- LEA $FFFF8800.W,A0
- MOVE.L #$700FF00,(A0)
- MOVE.L #$8000000,(A0)
- MOVE.L #$9000000,(A0)
- MOVE.L #$A000000,(A0)
- LEA VARS,A0
- MOVE.L (A0)+,$70.W
- MOVE.L (A0)