d*************************************************************************** * ADRENALIN MENU ?? * * * * CODING:MOTIV * * ART:???????? * * MUSIC:?????? * * * * * * * * THIS CODE WILL DISPLAY TWO PICTURES ONE WHICK IS FADED OUT TO BRING * * ON THE NEXT. THE SECOND PICTURE IS ACCOMPNIED BY A RASTER SCROLL AND * * MUSIC. * * * * V 2 * * RELEASED: * * * * * * * *************************************************************************** ;opt o+,w-,d- KEYS: FROM EQU 1 ;WHAT MENU CHOICES TO EQU 3 ;TO USE FROM KEYS '1' TO '3' YES EQU 1 NO EQU 0 FINAL EQU YES ;IS IT THE FINAL VERSION ;IF NO SPACE TO EXIT COLOUR0 EQU $909 ;DARK BLUE MOVE.L #0,-(SP) MOVE.W #$20,-(SP) TRAP #1 ;SUPER MODE ADDQ.L #6,SP MOVE.L D0,OLD_USP ;SAVE USP BSR SET_UP ;INITIALISE SYSTEM BSR INIT ;SET UP SCREENS BSR SAVE_INTS ;SAVE INTERUPTS BSR SET_INTS1 ;SET UP NEW INTERUPTS BSR TEXT_FORM MOVE.B #2,WHAT_HZ MOVE.B #2,$FFFF820A.W BSR CLS MOVEM.L BLANK,D0-7 MOVEM.L D0-7,$FFFF8240 MOVEM.L D0-7,NEW_PAL ************************** * DISPLAY ADRENALIN LOGO * ************************** MAIN1 ************* *MAIN SCREEN* ************* BSR INIT_MUS INTRO: BSR WAIT_SYNC ;WAIT FOR VBL BSR PLAY_MUS MOVE.B W_LINE,D0 SUB.B #1,D0 CMP.B #50,D0 BEQ NOT_YET MOVE.B D0,W_LINE BRA INTRO NOT_YET BSR DISPLAY_PIC1 MOVE.L #BLANK,A0 MOVE.L #PIC1+2,A1 BSR FADEIN MOVE.L #$1F,D7 .WAITING BSR WAIT_SYNC MOVE.L D7,-(SP) BSR PLAY_MUS MOVE.L (SP)+,D7 DBF D7,.WAITING INTRO2 BSR WAIT_SYNC BSR PLAY_MUS MOVE.B W_LINE,D0 SUB.B #1,D0 CMP.B #1,D0 BEQ GET_READY MOVE.B D0,W_LINE BRA INTRO2 GET_READY: BSR SET_INTS2 MAIN: BSR WAIT_SYNC ;WAIT FOR VBL BSR PLAY_MUS BSR BEAM_MOVE BSR BARS MOVE.L #$3FF,D7 .LIP DBF D7,.LIP BSR SCROLL_IT MOVE.B W_LINE,D0 SUB.B #1,D0 CMP.B #1,D0 BEQ NOTY MOVE.B D0,W_LINE NOTY CLR.L D0 MOVE.B $FFFFFC02.W,D0 SUB.B #1,D0 CMP.B #TO,D0 BGT NO_KEY CMP.B #FROM,D0 BLT NO_KEY SUB.B #1,D0 LSL.B #2,D0 MOVE.L #CHOICES,A0 MOVE.L (A0,D0.W),A0 MOVEM.W (A0),D0-7 MOVEM.w D0-7,$200 BRA LOAD_IT NO_KEY CMP.W #0,HZ_TEST BNE NEXT CMP.B #10,D0 BEQ HZ NEXT IFEQ FINAL CMP.B #$38,D0 ;I SUBTRACT ONE FROM ABOVE SO SPACE NOW=$38 BEQ LOAD_IT ;JUST THE QUITING PART NOT ACTUALL LOADING ENDC SUB.W #1,HZ_TEST CMP.W #0,HZ_TEST BGT MAIN MOVE.W #0,HZ_TEST BRA MAIN ;IF NO SPACE CONTINUE LOOP HZ MOVE.W #20,HZ_TEST CMP.B D0,D1 BEQ MAIN EOR.B #2,WHAT_HZ EOR.W #001,NEW_PAL BRA MAIN LOAD_IT MOVE.W #$000,BEAM+68 MOVE.L #45,D7 .LOOP2 MOVE.L #34-1,D6 MOVE.L #BEAM,A0 BSR WAIT_SYNC MOVEM.L D0-7/A0-6,-(SP) BSR PLAY_MUS MOVEM.L (SP)+,D0-7/A0-6 .LOOP1 MOVE.W 2(A0),(A0)+ DBF D6,.LOOP1 DBF D7,.LOOP2 BSR SET_INTS1 MOVE.L #$FFFF8240,A0 MOVE.L #BLANK,A1 BSR FADEIN BSR WAIT_SYNC BSR CLS BSR PLAY_MUS INTRO3 BSR WAIT_SYNC BSR PLAY_MUS MOVE.B W_LINE,D0 ADD.B #1,D0 CMP.B #99,D0 BEQ GONE MOVE.B D0,W_LINE BRA INTRO3 GONE BSR STOP_MUS BSR WAIT_SYNC MOVE.B WHAT_HZ,$FFFF820A.W ****************** *END OF MAIN CODE* ****************** END BSR FLUSH BSR REST_INTS BSR ENDING ;RESTORE MAIN SYSTEM MOVE.L OLD_USP,-(SP) MOVE.W #$20,-(SP) ;USER MODE TRAP #1 ADDQ.L #6,SP fin CLR.W -(SP) TRAP #1 ;QUIT ************************** * MY SUBROUTINES GO HERE * ************************** INIT_MUS: MOVE.W #1,D0 JSR MUSIC RTS PLAY_MUS: JSR MUSIC+8 RTS STOP_MUS: MOVE.L #$08080000,$FF8800 clear vol. chan A MOVE.L #$09090000,$FF8800 clear vol. chan B MOVE.L #$0A0A0000,$FF8800 clear vol. chan C RTS FLUSH: BTST.B #0,$FFFFFC00.W BEQ ALL_OK MOVE.B $FFFFFC02.W,D0 BRA.S FLUSH ALL_OK RTS ********* very nice fade routine taken DIRECTLY from MSD/POV source code!!!! ;A0=SOURCE PALETTE A1=TARGET PALETTE FADEIN MOVE #7,D6 MOVE.L A1,A2 FADEIN1 LEA PALREG,A0 MOVE #14,D7 ADDQ #2,A0 ADDQ #2,A1 FADEIN2 BSR MODIFY ADDQ #2,A0 ADDQ #2,A1 DBRA D7,FADEIN2 move.w #6,D0 ;speed at which it fades BSR WAIT MOVE.L A2,A1 DBRA D6,FADEIN1 RTS WAIT BSR.S owvbl DBRA D0,WAIT RTS owvbl MOVEM.L D0-7/A0-6,-(SP) BSR WAIT_SYNC BSR PLAY_MUS MOVEM.L (SP)+,D0-7/A0-6 RTS PALREG EQU $FF8240 MODIFY MOVE (A0),D0 ;PALREG MOVE (A1),D1 ;TARGET MOVE D0,D4 ;NEW COL MOVE D0,D2 MOVE D1,D3 AND #$7,D2 AND #$7,D3 CMP D2,D3 BEQ.S MOK1 BMI.S MDN1 ADDQ #1,D4 BRA.S MOK1 MDN1 SUBQ #1,D4 MOK1 MOVE D0,D2 MOVE D1,D3 AND #$70,D2 AND #$70,D3 CMP D2,D3 BEQ.S MOK2 BMI.S MDN2 ADD #$10,D4 BRA.S MOK2 MDN2 SUB #$10,D4 MOK2 MOVE D0,D2 MOVE D1,D3 AND #$700,D2 AND #$700,D3 CMP D2,D3 BEQ.S MOK3 BMI.S MDN3 ADD #$100,D4 BRA.S MOK3 MDN3 SUB #$100,D4 MOK3 MOVE D4,(A0) RTS SCROLL_IT: CMP.W #0,STOPER BEQ FINE SUB.W #1,STOPER RTS FINE CMP.W #1,SPEED_TST BNE FAST CMP.B #2,SPEED BEQ MAKE_1 MOVE.B #2,SPEED BRA FAST MAKE_1 MOVE.B #1,SPEED RTS FAST ADD.W #1,SCROLL_TEST CMP.W #6,SCROLL_TEST BNE SCROLL_BUF MOVE.W #0,SCROLL_TEST BSR GET_LET MULU.W #5*15*2,D1 MOVE.L #FONT,A1 ADD.W D1,A1 MOVE.L #CHR_BUF,A2 MOVE.L #15-1,D6 .LOOP2 MOVE.L #5-1,D7 .LOOP1 MOVE.W (A1)+,D2 AND.W COL_SET,D2 MOVE.W D2,12(A2) MOVE.W D2,(A2)+ DBF D7,.LOOP1 LEA 14(A2),A2 DBF D6,.LOOP2 SCROLL_BUF: MOVE.L #SCR_BUF,A0 MOVE.L #CHR_BUF,A1 MOVE.L #26,D6 .LOOP2 MOVE.L #32,D7 .LOOP1 MOVE.W 2(A0),(A0)+ DBF D7,.LOOP1 MOVE.W (A1),(A0)+ MOVE.W 2(A1),(A1)+ MOVE.W 2(A1),(A1)+ MOVE.W 2(A1),(A1)+ MOVE.W 2(A1),(A1)+ MOVE.W 2(A1),(A1)+ ADDQ.L #2,A1 DBF D6,.LOOP2 RTS GET_LET: MOVE.W W_I_T,D0 MOVE.L #TEXT,A0 ADD.W #1,W_I_T CLR.L D1 MOVE.B (A0,D0.W),D1 CMP.B #'$',D1 BEQ COLOR_CHG CMP.B #$FF,D1 BNE OK CLR.W W_I_T CLR.L D1 BRA GET_LET BRA FIN OK ;MOVE.W D0,W_I_T FIN RTS COLOR_CHG ADD.W #1,W_I_T MOVE.B 1(A0,D0.W),D1 CMP.B #'1',D1 BNE NEXT1 MOVE.W #%1111111111110000,COL_SET BSR GET_LET RTS NEXT1 CMP.B #'2',D1 BNE NEXT2 MOVE.W #%1111111100001111,COL_SET BSR GET_LET RTS NEXT2 CMP.B #'3',D1 BNE NEXT3 MOVE.W #%1111000011111111,COL_SET BSR GET_LET RTS NEXT3 CMP.B #'4',D1 BNE NEXT4 MOVE.W #%1111111100000000,COL_SET BSR GET_LET RTS NEXT4 CMP.B #'5',D1 BNE NEXT5 MOVE.W #%1111000011110000,COL_SET BSR GET_LET RTS NEXT5 CMP.B #'6',D1 BNE NEXT6 MOVE.W #%1111000000001111,COL_SET BSR GET_LET RTS NEXT6 CMP.B #'6',D1 BNE NEXT7 MOVE.W #%1111111111111111,COL_SET BSR GET_LET RTS NEXT7 CMP.B #'0',D1 BNE NEXT8 EOR.W #1,SPEED_TST BSR GET_LET RTS NEXT8 MOVE.W #$77,STOPER BSR GET_LET RTS TEXT_FORM: MOVE.L #TEXT,A0 ;CONVERTS THE ASCII BSR UPPER ;TEXT MOVE.L #ORDER,A0 BSR UPPER MOVE.L #TEXT,A0 MOVE.L #0,D4 CSTART MOVE.L #0,D0 ADDQ.L #1,D4 MOVE.L #ORDER,A1 CMP.B #$FF,(A0) BEQ CEND CNEXT2 MOVE.B (A0),D2 CNEXT MOVE.B (A1),D1 CMP.B #'$',D2 BEQ LEAVE CMP.B D1,D2 BEQ CAGAIN CMP.B #$FF,(A1)+ BEQ NOT ADDQ.L #1,D0 BRA CNEXT CAGAIN MOVE.B D0,(A0)+ BRA CSTART NOT MOVE.B #0,(A0)+ ;LOCATION OF SPACE (0 = IST POS) BRA CSTART ; (1=SECOND) LEAVE ADD.L #2,A0 BRA CNEXT2 CEND MOVE.L D0,COUNT RTS UPPER CMP.B #'A',(A0) ;ALTERS LOWER TO UPPER BLT UAGAIN ;LETTERS CMP.B #'Z',(A0) BGT UAGAIN ADD.B #32,(A0) UAGAIN ADDQ.L #1,A0 CMP.B #$FF,(A0) BNE UPPER RTS INIT: MOVE.L #SCREEN2,D0 ADD.L #257,D0 CLR.B D0 MOVE.L D0,SCREEN1 ADD.L #160*280,D0 CLR.B D0 MOVE.L D0,SCREEN2 MOVE.L SCREEN1,D1 MOVE.L D1,D0 LSR.L #8,D0 MOVE.B D0,$FFFF8203.W ;TELL VIDEO CHIP WHERE LSR.L #8,D0 ;NEW SCREEN IS LOCATED MOVE.B D0,$FFFF8201.W MOVE.B D1,$FFFF820D.W RTS CLS MOVE.L SCREEN1,A0 MOVE.L SCREEN2,A1 MOVE.L #2000-1,D7 .LOOP1 CLR.L (A0)+ CLR.L (A1)+ CLR.L (A0)+ CLR.L (A1)+ CLR.L (A0)+ CLR.L (A1)+ CLR.L (A0)+ CLR.L (A1)+ DBF D7,.LOOP1 RTS BARS: CHAN1 MOVE.L SCREEN1,A0 LEA 160*196(A0),A0 MOVE.B #8,$FFFF8800.W MOVE.B $FFFF8800.W,D0 AND.L #%1111,D0 LSL.W #2,D0 MOVE.L #64,D1 SUB.L D0,D1 .LOOP1 MOVE.W #$FFFF,(A0) ADDQ.L #8,A0 MOVE.W #$FFFF,(A0) ADDQ.L #8,A0 MOVE.W #$FFFF,(A0) ADDQ.L #8,A0 MOVE.W #$FFFF,(A0) ADDQ.L #8,A0 SUB.L #320+32,A0 DBF D0,.LOOP1 .LOOP2 MOVE.W #0,(A0) ADDQ.L #8,A0 MOVE.W #0,(A0) ADDQ.L #8,A0 MOVE.W #0,(A0) ADDQ.L #8,A0 MOVE.W #0,(A0) ADDQ.L #8,A0 SUB.L #320+32,A0 DBF D1,.LOOP2 CHAN2 MOVE.L SCREEN1,A0 LEA 160*196+64(A0),A0 MOVE.B #9,$FFFF8800.W MOVE.B $FFFF8800.W,D0 AND.L #%1111,D0 LSL.W #2,D0 MOVE.L #64,D1 SUB.L D0,D1 ADDQ.L #2,A0 .LOOP1 MOVE.W #$FFFF,(A0) ADDQ.L #8,A0 MOVE.W #$FFFF,(A0) ADDQ.L #8,A0 MOVE.W #$FFFF,(A0) ADDQ.L #8,A0 MOVE.W #$FFFF,(A0) ADDQ.L #8,A0 SUB.L #320+32,A0 DBF D0,.LOOP1 .LOOP2 MOVE.W #0,(A0) ADDQ.L #8,A0 MOVE.W #0,(A0) ADDQ.L #8,A0 MOVE.W #0,(A0) ADDQ.L #8,A0 MOVE.W #0,(A0) ADDQ.L #8,A0 SUB.L #320+32,A0 DBF D1,.LOOP2 CHAN3 MOVE.L SCREEN1,A0 LEA 160*196+128(A0),A0 MOVE.B #10,$FFFF8800.W MOVE.B $FFFF8800.W,D0 AND.L #%1111,D0 LSL.W #2,D0 MOVE.L #64,D1 SUB.L D0,D1 ADDQ.L #4,A0 .LOOP1 MOVE.W #$FFFF,(A0) ADDQ.L #8,A0 MOVE.W #$FFFF,(A0) ADDQ.L #8,A0 MOVE.W #$FFFF,(A0) ADDQ.L #8,A0 MOVE.W #$FFFF,(A0) ADDQ.L #8,A0 SUB.L #320+32,A0 DBF D0,.LOOP1 .LOOP2 MOVE.W #0,(A0) ADDQ.L #8,A0 MOVE.W #0,(A0) ADDQ.L #8,A0 MOVE.W #0,(A0) ADDQ.L #8,A0 MOVE.W #0,(A0) ADDQ.L #8,A0 SUB.L #320+32,A0 DBF D1,.LOOP2 RTS WAIT_SYNC: ST.B VBL_TEST .WAIT TST.B VBL_TEST BNE .WAIT RTS SET_UP: MOVE.W #$2,-(SP) TRAP #14 ADDQ.L #2,SP MOVE.L D0,PHYS ;SAVE OLD PHYSICAL SCREEN MOVE.W #$3,-(SP) TRAP #14 ADDQ.L #2,SP MOVE.L D0,LOGI ;SAVE OLD LOGICAL SCREEN MOVE.W #$4,-(SP) TRAP #14 ADDQ.L #2,SP MOVE.W D0,RES ;SAVE OLD RES MOVE.W #0,-(SP) MOVE.L #-1,-(SP) ;CLS MOVE.L #-1,-(SP) MOVE.W #$5,-(SP) TRAP #14 LEA 12(SP),SP MOVE.L #SCREEN2,D0 ADD.L #257,D0 CLR.B D0 MOVE.L D0,SCREEN1 ADD.L #160*280,D0 CLR.B D0 MOVE.L D0,SCREEN2 MOVE.B D0,BACK MOVEM.L $FFFF8240,D0-7 MOVEM.L D0-7,OLD_PAL MOVEM.L NEW_PAL,D0-7 MOVEM.L D0-7,$FFFF8240 RTS ENDING: MOVE.W RES,-(SP) MOVE.L PHYS,-(SP) ;REPLACE AND CLEAR SCREENS MOVE.L LOGI,-(SP) MOVE.W #$5,-(SP) TRAP #14 LEA 12(SP),SP MOVEM.L OLD_PAL,D0-7 MOVEM.L D0-7,$FFFF8240 RTS SAVE_INTS MOVE.B #$12,$FFFFFC02.W MOVE.L #STORAGE,A0 MOVE.L $70.W,(A0)+ MOVE.L $118.W,(A0)+ MOVE.L $120.W,(A0)+ MOVE.B $FFFFFA07.W,(A0)+ MOVE.B $FFFFFA09.W,(A0)+ MOVE.B $FFFFFA0F.W,(A0)+ MOVE.B $FFFFFA11.W,(A0)+ MOVE.B $FFFFFA13.W,(A0)+ MOVE.B $FFFFFA1B.W,(A0)+ MOVE.B $FFFFFA1D.W,(A0)+ MOVE.B $FFFFFA21.W,(A0)+ RTS SET_INTS1 MOVE.W #$2700,SR MOVE.L #VBL1,$70.W MOVE.L #T1_1,$120.W CLR.B $FFFFFA1B.W CLR.B $FFFFFA1D.W AND.B #$0,$FFFFFA09.W AND.B #$0,$FFFFFA07.W ORI.B #$1,$FFFFFA07.W ORI.B #$1,$FFFFFA13.W BCLR #$3,$FFFFFA17.W ;auto ISR enable at RTE - MSD MOVE.W #$2300,SR RTS SET_INTS2 MOVE.W #$2700,SR MOVE.L #VBL2,$70.W MOVE.L #T2_1,$120.W CLR.B $FFFFFA1B.W CLR.B $FFFFFA1D.W MOVE.W #$2300,SR RTS REST_INTS MOVE.W #$2700,SR MOVE.L #STORAGE,A0 MOVE.L (A0)+,$70.W MOVE.L (A0)+,$118.W MOVE.L (A0)+,$120.W MOVE.B (A0)+,$FFFFFA07.W MOVE.B (A0)+,$FFFFFA09.W MOVE.B (A0)+,$FFFFFA0F.W MOVE.B (A0)+,$FFFFFA11.W MOVE.B (A0)+,$FFFFFA13.W MOVE.B (A0)+,$FFFFFA1B.W MOVE.B (A0)+,$FFFFFA1D.W MOVE.B (A0)+,$FFFFFA21.W MOVE.W #$2300,SR MOVE.B #$8,$FFFFFC02.W RTS BEAM_MOVE: MOVE.L BEAM_COL,A2 MOVE.L #BEAM,A0 LEA 2(A0),A1 REPT 33 MOVE.W (A1)+,(A0)+ ENDR MOVE.W (A2)+,(A0) CMP.L #B_COL_END,A2 BNE END_BEAM MOVE.L #B_COL,A2 END_BEAM MOVE.L A2,BEAM_COL RTS DISPLAY_PIC1 MOVEM.L PIC1+2,D0-7 MOVEM.L D0-7,NEW_PAL MOVE.L #8000-1,D7 MOVE.L #PIC1+34,A0 MOVE.L SCREEN1,A1 .LOOP1 MOVE.L (A0)+,(A1)+ DBF D7,.LOOP1 RTS VBL1: MOVEM.L D0-7,-(SP) MOVE.W O_COL,D0 MOVE.W D0,$FFFF8240 SF.B VBL_TEST CLR.B $FFFFFA1B.W MOVE.B W_LINE,$FFFFFA21.W ;199 LINE DOWN MOVE.L #T1_1,$120.W MOVE.B #8,$FFFFFA1B.W MOVEM.L (SP)+,D0-7 RTE VBL2: MOVEM.L D0-7,-(SP) MOVE.W O_COL,D0 MOVE.W D0,$FFFF8240 SF.B VBL_TEST CLR.B $FFFFFA1B.W MOVE.B #1,$FFFFFA21.W ;199 LINE DOWN MOVE.L #T2_1,$120.W MOVE.B #8,$FFFFFA1B.W MOVEM.L (SP)+,D0-7 RTE opt o- T1_1: CLR.B $FFFFFA1B.W MOVE.W NEW_PAL,$FFFF8240 MOVEM.L D0-7/A0-6,-(SP) CLR.W D2 MOVE.B W_LINE,D0 MOVE.W #200,D1 LSL.B D0 SUB.B D0,D2 ADD.W D2,D1 MOVE.B D1,$FFFFFA21.W MOVE.L #T1_2,$120.W MOVEM.L (SP)+,D0-7/A0-6 MOVE.B #8,$FFFFFA1B.W RTE T1_2 CLR.B $FFFFFA1B.W MOVE.W O_COL,$FFFF8240 RTE T2_1: MOVE.W #$2700,SR CLR.B $FFFFFA1B.W MOVEM.L D0-7/A0-6,-(SP) MOVE.L #$FFFF8209,A0 MOVE.B #$10,D1 .WAIT MOVE.B (A0),D0 BEQ .WAIT SUB.B D0,D1 LSL.B D1,D0 MOVE.B #194,$FFFFFA21.W MOVE.L #T2_2,$120.W MOVE.L #BEAM,A1 MOVE.L #$FFFF8240,A2 REPT 66 NOP ENDR REPT 34 MOVE.W (A1)+,(A2) ENDR MOVE.B #8,$FFFFFA1B.W MOVE.W #$000,$FFFF8240 MOVE.L #SCR_BUF,A0 MOVE.L #31,D7 ;HEIGHT OF SCROLL MOVE.B SPEED,D1 LSR.B D1,D1 REPT 9 NOP ENDR .LOOP2 REPT 34 MOVE.W (A0)+,(A2) ENDR MOVE.W #$000,$FFFF8240 MOVE.W #$000,$FFFF8240 MOVE.W #$000,$FFFF8240 MOVE.W #$000,$FFFF8240 REPT 3 NOP ENDR DBF D7,.LOOP2 MOVE.W NEW_PAL,$FFFF8240 MOVE.W #$2300,SR MOVEM.L (SP)+,D0-7/A0-6 RTE T2_2 CLR.B $FFFFFA1B.W MOVE.W #$2700,SR MOVEM.L D0-7/A0-6,-(SP) MOVE.L #$FFFF8209,A0 MOVE.B #$10,D1 .WAIT MOVE.B (A0),D0 BEQ .WAIT SUB.B D0,D1 LSL.B D1,D0 MOVE.L #BEAM,A1 MOVE.L #$FFFF8240,A2 REPT 82 NOP ENDR REPT 34 MOVE.W (A1)+,(A2) ENDR MOVE.W O_COL,$FFFF8240 MOVE.W #$2300,SR MOVEM.L (SP)+,D0-7/A0-6 RTE BEAM_COL DC.L B_COL B_COL ;DS.W 50 ;dc.w $00c,$005,$00d,$006,$00e,$007,$00f,$80f ;dc.w $80F ;$00c,$005,$00d,$006,$00e,$007,$00f,$80f dc.w $10f,$90f,$20f,$a0f,$30f,$b0f,$40f,$c0f dc.w $50f,$d0f,$60f,$e0f,$70f,$f0f,$f07,$f0e dc.w $f06,$f0d,$f05,$f0c,$f04,$f0b,$f03,$f0a dc.w $f02,$f09,$f01,$f08,$f00,$f80,$f10,$f90 dc.w $f20,$fa0,$f30,$fb0,$f40,$fc0,$f50,$fd0 dc.w $f60,$fe0,$f70 DC.W $F70,$FE0,$F60 DC.W $FD0,$F50,$FC0,$F40,$FB0,$F30,$FA0,$F20 DC.W $F90,$F10,$F80,$F00,$F08,$F01,$F09,$F02 DC.W $F0A,$F03,$F0B,$F0B,$F0C,$F05,$F0D,$F06 DC.W $F0E,$F07,$F0F,$70F,$E0F,$60F,$D0F,$50F DC.W $C0F,$40F,$B0F,$30F,$A0F,$20F,$90F,$10F ;DS.W 50 ;BLANK BEAM B_COL_END dc.w $10f,$90f,$20f,$a0f,$30f,$b0f,$40f,$c0f dc.w $50f,$d0f,$60f,$e0f,$70f,$f0f,$f07,$f0e dc.w $f06,$f0d,$f05,$f0c,$f04,$f0b,$f03,$f0a dc.w $f02,$f09,$f01,$f08,$f00,$f80,$f10,$f90 O_COL DC.W COLOUR0 ;$909 W_LINE DC.B 99 EVEN NEW_PAL DC.W $000,$700,$600,$500,$400,$300,$200,$100 DC.W $007,$006,$005,$004,$003,$002,$001,$777 PIC1 INCBIN ADRENALN.PI1 MUSIC INCBIN MAX19.MUS FONT INCLUDE RASTER.FNT TEXT INCBIN TEXT.TXT DC.B $FF EVEN W_I_T DC.W 0 ORDER DC.B " ABCDEFGHIJ" DC.B "KLMNOPQRST" DC.B "UVWXYZ." ;COPY OF FONT DC.B "" DC.B "" STOPPER DC.W $FFFF EVEN COUNT DC.L 0 CHOICES DC.L EXEC1,EXEC2,EXEC3,EXEC4,EXEC5 EXEC1 DC.B 'PROG1.PRG',0 EVEN EXEC2 DC.B 'PROG2.PRG',0 EVEN EXEC3 DC.B 'PROG3.PRG',0 EVEN EXEC4 DC.B 'PROG4.PRG',0 EVEN EXEC5 DC.B 'PROG6.PRG',0 EVEN COL_SET DC.B $1 EVEN SPEED DC.W $0000 SPEED_TST DC.W 0 *************************** SECTION BSS *************************** BEAM DS.W 34 ;RASTER_BEAM DS.L 1 SCR_BUF DS.W 34*32 ;SCROLL BUFFER CHR_BUF DS.W 6*31 STOPER DS.L 1 HZ_TEST DS.W 1 WHAT_HZ DS.W 1 PHYS DS.L 1 ;OLD PHYSICAL SCREEN LOGI DS.L 1 ;OLD LOGICAL SCREEN RES DS.W 1 ;OLD RESOLUTION OLD_USP DS.L 1 ;OLD USP OLD_PAL DS.L 8 ;OLD PAL STORAGE DS.L 16 VBL_TEST DS.W 1 SCROLL_TEST DS.W 1 KEYB DS.W 1 BACK DS.L 1 BLANK DS.L 8 SCREEN1 DS.L 1 SCREEN2 DS.L 1