home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-10-03 | 46.6 KB | 2,045 lines |
- * ALL OF THE TEXTS ARE AT THE BOTTOM!
- * for NIGHTFALL if you wanna use this...
- * 1> If you wann change the MOD go to the END Of the FILE and
- * Put a new MOD name and path
- * 2> The text is section off into 25x40 blocks.. to
- * add another screen just copy a block of memory and edite it out
- * I have section it off for ya to make it easier...
- * UPDATED SCROLLY
- * 3> YOU CAN FIND THE BOTTOM SCROLLY Down below... under TEXTT
- * I HOPE YOU LIKE THIS ONE!!!
- * 4> If you want a NEW FONT then use PF8 to make an 8x8 font
- * and use PF16 to make a 16x16 font
- * Now just change the incbins to point at them
-
-
-
- * Now...
- * A ;Assemble
- * WO ;Write Object file
- * Name.exe ; Name of Object file
- * G ; GO <test file to see if it works..
-
- * Now Exit and crunch it with power packer...
-
- * I released this file 09-09-92...
- * However I went back and REdid the MUSIC for Pro-Tracker..
- * Electronic Ice updated his mod and Specfied I have to stop
- * using Digital Sound Studio.. Also from now on I'm writing for PAL!
- * I also updated the routine for the scrolling.. its SMOOTHER NOW!
- * A Coders life is never done... I'm about finished with this....
- * I know I shouldn't do this but I'm adding a SCROLL text for the bottom...
-
- section code,code
- ************ DEMO STARTER! *************************************
- move #$20,$dff1dc
- bsr start
- rts
- START: JSR STARST
- JSR SCROLL
- MOVE.L 4,A6 ;Move Exec Base to A6
- JSR -132(A6) ;Exec-Forbid
- LEA GRNAM(PC),A1 ;Open graphics.library
- JSR -552(A6) ;Exec-Open Library
- MOVE.L D0,GRBAS ;Store the Library start Address
- MOVE.L GRBAS,A6 ;Move Grafics Base to A6
- JSR -456(A6) ;Grafics-Own Blitter
- move.l $6c,oldirq ;store the old interrupt
- move.l #newirq,$6c ;insert YOUR interrupt
- JSR mt_init
- Jsr INTROST
- jsr mt_end
- move.l oldirq,$6C ;setback old interrupt
- wt: btst #14,$dff002 ;Is blitter finished?
- bne.b wt ;no? >goto wt:
- MOVE.L GRBAS,A1 ;Move Grafics Base to A6
- JSR -462(A1) ;Grafics-DisownBlitter
- MOVE.L 38(A1),$DFF080 ;Free Copper
- tst.W $DFF088 ;Restore Old Copper
- MOVE.L 4,A6 ;Move Exec base to A6
- JSR -414(A6) ;Exec-CloseOldLibrary
- JSR -138(A6) ;Exec-Permit
- MOVE.W #$8420,$DFF096 ;Restore DM
- RTS ;End Program!
- GRBAS: DC.L 0 ;Grafics Base Address
- GRNAM: DC.B "graphics.library",0;Name of Grafics Library
- EVEN ;Even up Byte
- oldirq: dc.l 0 ;reserve place for oldinterrupt POINTER
- newirq: movem.l a0-a6/d0-d7,-(a7)
- jsr scrollback
- jsr scrolld1
- JSR SCROLLT
- jsr mt_music
- JSR MOVESTAR
- jsr scrolloff2
- move.w #$0070,$dff09c
- intend: movem.l (a7)+,a0-a6/d0-d7
- rte
- VWAIT: move.l $dff004,d0
- and.l #$0001ff00,d0
- Bne.b VWAIT
- RTS
-
- INTROST:Lea 2+bmap,a0
- Lea 2+cmap,a1
- Lea 2+dmap,a2
- move.l #bpic,d0
- move.l #bpic+40,d1
- move d0,4(a0)
- move d1,12(a0)
- move d0,4(a1)
- move d1,12(a1)
- move d0,4(a2)
- move d1,12(a2)
- swap d0
- swap d1
- move d0,(a0)
- move d1,8(a0)
- move d0,(a1)
- move d1,8(a1)
- move d0,(a2)
- move d1,8(a2)
-
- Lea 2+Smap,a0
- move.l #S_pic,d0
- move.l #S_pic+40,d1
- move d0,4(a0)
- move d1,12(a0)
- swap d0
- swap d1
- move d0,(a0)
- move d1,8(a0)
-
- MOVE.L #copa,$DFF080
- MOVE #0,$DFF088
-
- MLEFT: BTST #6,$BFE001
- BNE.B MRIGHT
- cmp #0,soff
- bne.b mright
- move #48,soff
- MRIGHT: BTST #10,$dff016 ;Right Mouse button
- BNE.B MLEFT
- BTST #6,$BFE001
- BNE.B MLEFT
- bsr scrolloff1
- rts
- SCorMV: dc.w 0
-
- scrollback:
- tst up_down
- bne.w scrollbacku
- bra.b scrollbackd
-
- up_down:dc.w 0
-
- scrollbacKd:
- moveq #0,d0
- add #1,backpt
- cmp #Back,backpt
- bne.b dsc_Go
- move #0,backpt
- move #1,up_down
- dsc_go: move backpt,d0
- lea backsine,a0
- add d0,d0
- move (a0,d0),d0
- tst d0
- beq.w rts
-
- move d0,d1
- lsl #6,d1 ;setting up opertion for 1line
- add d1,d1
- add #20,d1
- move #100,d2
- sub d0,d2
- add #1,d2
- lsl #6,d2
- add d2,d2
- add #20,d2
- mulu #80,d0
- move.l #8000,d3
- sub d0,d3
- add.l #bpic,d3
-
- dsback: BTST #14,$DFF002;
- BNE.B dsback
- MOVE.L #$ffffffff,$dff044
- moVE.L d3,$dff050 ; A OBJ
- MOVE.L #buffer,$dff054 ; D
- MOVE.W #0,$dff064 ; A
- MOVE.W #0,$dff066 ; D <Pl Wdth bytes40>-(BLT Words1*2)
- MOVE.W #$0,$dff042
- move.w #$09f0,$dff040
- MOVE.W d1,$dff058
- dsback2:BTST #14,$DFF002;
- BNE.B dsback2
- MOVE.L #$ffffffff,$dff044
- moVE.L d3,$dff050 ; A OBJ d0
- MOVE.L #bpic+8000,$dff054 ; D
- MOVE.W #0,$dff064 ; A
- MOVE.W #0,$dff066 ; D <Pl Wdth bytes40>-(BLT Words1*2)
- MOVE.W #$2,$dff042
- move.w #$09f0,$dff040
- MOVE.W d2,$dff058 ;d2
- dsback3:BTST #14,$DFF002;
- BNE.B dsback3
- MOVE.L #$ffffffff,$dff044
- moVE.L #buffer,$dff050 ; A OBJ
- MOVE.L #bpic,$dff054 ; D
- MOVE.W #0,$dff064 ; A
- MOVE.W #0,$dff066 ; D <Pl Wdth bytes40>-(BLT Words1*2)
- MOVE.W #$0,$dff042
- move.w #$09f0,$dff040
- MOVE.W d1,$dff058
- rts
-
- scrollbacKu:
- moveq #0,d0
- add #1,backpt
- cmp #Back,backpt
- bne.b sc_Go
- move #0,backpt
- move #0,up_down
- sc_go: move backpt,d0
- lea backsine,a0
- add d0,d0
- move (a0,d0),d0
- tst d0
- beq.w rts
- move d0,d1
- lsl #6,d1 ;setting up opertion for 1line
- add d1,d1
- add #20,d1
- move #100,d2
- sub d0,d2
- add #1,d2
- lsl #6,d2 ;setting up opertion for 1line
- add d2,d2
- add #20,d2
- mulu #80,d0
- move.l #8000,d3
- sub d0,d3
- add.l #bpic,d0
- add.l #bpic,d3
-
- sback: BTST #14,$DFF002;
- BNE.B sback
- MOVE.L #$ffffffff,$dff044
- moVE.L #bpic,$dff050 ; A OBJ
- MOVE.L #buffer,$dff054 ; D
- MOVE.W #0,$dff064 ; A
- MOVE.W #0,$dff066 ; D <Pl Wdth bytes40>-(BLT Words1*2)
- MOVE.W #$0,$dff042
- move.w #$09f0,$dff040
- MOVE.W d1,$dff058
-
- sback2: BTST #14,$DFF002;
- BNE.B sback2
- MOVE.L #$ffffffff,$dff044
- moVE.L d0,$dff050 ; A OBJ
- MOVE.L #bpic,$dff054 ; D
- MOVE.W #0,$dff064 ; A
- MOVE.W #0,$dff066 ; D <Pl Wdth bytes40>-(BLT Words1*2)
- MOVE.W #$0,$dff042
- move.w #$09f0,$dff040
- MOVE.W d2,$dff058
-
- sback3: BTST #14,$DFF002;
- BNE.B sback3
- MOVE.L #$ffffffff,$dff044
- moVE.L #buffer,$dff050 ; A OBJ
- MOVE.L d3,$dff054 ; D
- MOVE.W #0,$dff064 ; A
- MOVE.W #0,$dff066 ; D <Pl Wdth bytes40>-(BLT Words1*2)
- MOVE.W #$0,$dff042
- move.w #$09f0,$dff040
- MOVE.W d1,$dff058
- rts
-
-
- scrolloff2:
- cmp #200,sup
- bne.b rts
- cmp #0,soff
- beq.b rts
- leA SINE,A0
- MOVE Soff,D0
- ADD D0,D0
- MOVEQ #0,D2
- MOVE.W (A0,D0.W),D2
- MULS #40,D2
-
- lea 2+amap,a0
- move.l #apic+8000,d0
- SUB.L D2,D0
- MOVE.L D0,D1
- ADD.L #41,D1
- move d0,4(a0)
- move d1,12(a0)
- swap d0
- swap d1
- move d0,(a0)
- move d1,8(a0)
- sub #1,soff
- beq.w scroll
- rts: rts
- soff: dc.w 0
-
-
- scrollD1:
- cmp #200,sup
- beq.b rts
- leA SINE,A0
- MOVE SUP,D0
- ADD D0,D0
- MOVEQ #0,D2
- MOVE.W (A0,D0.W),D2
- MULS #40,D2
-
- lea 2+amap,a0
- move.l #apic+8000,d0
- SUB.L D2,D0
- MOVE.L D0,D1
- ADD.L #41,D1
- move d0,4(a0)
- move d1,12(a0)
- swap d0
- swap d1
- move d0,(a0)
- move d1,8(a0)
- add #1,sup
- rts
- sup: dc.w 0
-
-
- scrolloff1:
- cmp #200,sup
- bne.b scrolloff1
- move #40,soff1
- bl_tst: BTST #14,$DFF002;
- BNE.B bl_tst
- MOVE.L #$000fffff,$dff044
- moVE.L #apic,$dff050 ; A OBJ
- MOVE.L #apic-2,$dff054 ; D
- MOVE.W #0,$dff064 ; A
- MOVE.W #0,$dff066 ; D <Pl Wdth bytes40>-(BLT Words1*2)
- MOVE.W #$0,$dff042
- move.w #$59f0,$dff040
- MOVE.W #$3214,$dff058
- sub #1,soff1
- bne.b bl_tst
- rts
- soff1: dc.w 0
- SCROLL: movem.l a0-a6/d0-d7,-(a7)
- move #0,sup
- Lea 2+amap,a0
- move.l #apic+8000,d0
- move.l #apic+8041,d1
- move d0,4(a0)
- move d1,12(a0)
- swap d0
- swap d1
- move d0,(a0)
- move d1,8(a0)
- moveq #9,d4
- golp: move.l #99,d6 ;Num in line -1
- gotxt: moveq #0,d0
- lea text,a0
- move.l txt_pnt,d1
- move.b (a0,d1),d0
- bne.b n_nwtxt
- move.l #0,txt_pnt
- move.b text,d0
- n_nwtxt:add.l #1,txt_pnt
- n_CHNGE:sub #32,d0 ;Subtract hex start
- lsl #3,d0 ;And get offset in the FONT
- add.l #font8,d0 ;now to locate in RAM!
- MOVEQ #0,D7
- ADD #1,XOFF
- cmp #40,XOFF
- bne.b y_go
- move #0,Xoff
- move #0,d7
- add #320,Yoff
- cmp #8000,Yoff
- bne.b Y_go
- move #0,Yoff
- Y_go: MOVE XOFF,D7
- add yoff,d7
- ADD.L OFFSET,D7
- ADD.L #apic,D7
- move.l d7,a1
- move.l d0,a0
- moveq #7,d3 ;number of data
- looper: move.b (a0)+,(a1)
- lea 40(a1),a1
- dbf d3,looper
- dbf d6,gotxt
- movem.l a0-a6/d0-d7,-(a7)
- jsr scrollback
- JSR MOVESTAR
- jsr mt_music
- jsr scrollT
- movem.l (a7)+,a0-a6/d0-d7
- dbf d4,golp
-
- movem.l (a7)+,a0-a6/d0-d7
- RTS
- YOFF: DC.W 0
- XOFF: DC.W -1
- offset: dc.L 0
-
- txt_pnt:dc.l 0
-
- TST_CHN:lea mt_chan1temp,a1
- lea SPOINT,a0
- moveq #3,d1 ;Num of channels -1
- gloop: move.b 1(a1),d0
- TST.B D0
- BEQ.B NOSTOVR
- MOVE #-1,(a0)
- NOSTOVR:ADD #1,(a0)
- cmp #8,(a0)
- bne.b not0
- move #7,(a0)
- not0: move (a0)+,(a0)+
- lea 44(a1),a1
- dbf d1,gloop
- rts
-
- * STARS USE SPRITES *
- STARSt: jsr tst_chn
- lea csprite,a4
- lea spoint,a6
- lea buffpt,a5
- moveq #7,d7 ;This is the number of sprites used -1
- sprloop:MOVEQ #0,D0
- move (a6)+,d0
- MULU #64,D0
- ADD.L #STR0,D0
- move.l (a5),a1 ;Location of the START of data
- moveq #$2c,d5 ;Start of sprites
- moveq #7,d6 ;Num of V Sprites in loop -1
- ;Randing stars
- not1: move.l d0,a0
-
- move.b $dff007,d1 ;Rand start height!
- and.b #$f,d1
- beq.b not1
- add.b d1,d5
-
- move.b d5,(a1)+ ;4 more
-
- not2: move.b $dff007,d1
- AND.b $dff007,d1
- OR.b $dff007,d1
- AND.B $DFF007,D1
- beq.b not2
- move.b d1,(a1)+
-
- add.b #$F,d5
- move.b d5,(a1)+
- lea 1(a1),a1
-
- ;Coping that data into the sprite
- moveq #14,d1 ;Num -1 of lines
- scopylp:move.l (a0)+,(a1)+
- dbf d1,scopylp
- dbf d6,not1
-
- ;Put sprites in copper
- move.l (a5)+,d0
- COPYS: MOVE.W D0,6(a4)
- SWAP D0
- MOVE.W D0,2(a4)
- lea 8(a4),a4
- dbf d7,sprloop
- rts
-
-
- STR_rnd:MOVEQ #0,D0
- move (a6),d0
- MULU #64,D0
- ADD.L #STR0,D0
- move.l (a5),a1 ;Location of the START of data
- moveq #$2c,d5 ;Start of sprites
- moveq #7,d6 ;Num of V Sprites in loop -1
- xnot1: move.l d0,a0
- move.b $dff007,d1 ;Rand start height!
- and.b #$f,d1
- beq.b xnot1
- add.b d1,d5
- move.b d5,(a1)+ ;4 more
- xnot2: move.b $dff007,d1
- AND.b $dff007,d1
- OR.b $dff007,d1
- beq.b xnot2
- move.b d1,(a1)+
- add.b #$F,d5
- move.b d5,(a1)+
- lea 61(a1),a1
- dbf d6,xnot1
- rts
-
-
-
-
-
- * STARS USE SPRITES *
- MOVESTAR:jsr tst_chn
- lea csprite,a4
- lea spoint,a6
- lea buffpt,a5
- lea speed,a3
- ***
- moveq #7,d7 ;This is the number of sprites used -1
- ;Get the actual Data pointer
- xsprloop:MOVEQ #0,D0
- move (a6)+,d0
- MULU #64,D0
- ADD.L #STR0,D0
- moveq #7,d6 ;Vloop!
- move.b (a3)+,d2
- move.l (a5),a1 ;Location of the START of data
- xloop: move.l d0,a0
- move (a1),d3
- add.b d2,d3
- move d3,(a1)
- lea 4(a1),a1
- ; Coping that data into the sprite
- moveq #14,d1 ;Num -1 of lines
- zscopylp:move.l (a0)+,(a1)+
- dbf d1,zscopylp
- dbf d6,xloop
- ; Put sprites in copper
- move.l (a5)+,d0
- zCOPYS: MOVE.W D0,6(a4)
- SWAP D0
- MOVE.W D0,2(a4)
- lea 8(a4),a4
- dbf d7,xsprloop
- ;testing rnd factor
- lea spoint,a6
- lea buffpt,a5
- move #8,numlp;numtimes to loop -1
- rndlp: cmp #7,(a6) ;
- bne.b nornd
- bsr.w str_rnd
- nornd: lea 2(a6),a6
- lea 4(a5),a5
- sub #1,numlp
- bne.b rndlp
- rts
- numlp: dc.w 0
- speed: ;dc.b 1,0,2,0,1,0,2,0
- dc.b 0,0,0,0,0,0,0,0
- SPOINT: dc.w 0,0,0,0,0,0,0,0
- buffpt: dc.l sbuff0,sbuff1,sbuff2,sbuff3,sbuff4,sbuff5,sbuff6,sbuff7
- section PT,code
-
- ;**************************************************
- ;* ----- Protracker V2.1A Playroutine ----- *
- ;* Peter "CRAYON" Hanning / Mushroom Studios 1992 *
- ;* Vinterstigen 12, 14440 Ronninge, Sweden *
- ;**************************************************
-
- ; VBlank Version 2:
- ; Call mt_init to initialize the routine, then call mt_music on
- ; each vertical blank (50 Hz). To end the song and turn off all
- ; voices, call mt_end.
-
- ; This playroutine is not very fast, optimized or well commented,
- ; but all the new commands in PT2.1A should work.
- ; If it's not good enough, you'll have to change it yourself.
- ; We'll try to write a faster routine soon...
-
- ; Changes from V1.0C playroutine:
- ; - Vibrato depth changed to be compatible with Noisetracker 2.0.
- ; You'll have to double all vib. depths on old PT modules.
- ; - Funk Repeat changed to Invert Loop.
- ; - Period set back earlier when stopping an effect.
-
- DMAWait = 300 ; Set this as low as possible without losing low notes.
-
- n_note EQU 0 ; W
- n_cmd EQU 2 ; W
- n_cmdlo EQU 3 ; B
- n_start EQU 4 ; L
- n_length EQU 8 ; W
- n_loopstart EQU 10 ; L
- n_replen EQU 14 ; W
- n_period EQU 16 ; W
- n_finetune EQU 18 ; B
- n_volume EQU 19 ; B
- n_dmabit EQU 20 ; W
- n_toneportdirec EQU 22 ; B
- n_toneportspeed EQU 23 ; B
- n_wantedperiod EQU 24 ; W
- n_vibratocmd EQU 26 ; B
- n_vibratopos EQU 27 ; B
- n_tremolocmd EQU 28 ; B
- n_tremolopos EQU 29 ; B
- n_wavecontrol EQU 30 ; B
- n_glissfunk EQU 31 ; B
- n_sampleoffset EQU 32 ; B
- n_pattpos EQU 33 ; B
- n_loopcount EQU 34 ; B
- n_funkoffset EQU 35 ; B
- n_wavestart EQU 36 ; L
- n_reallength EQU 40 ; W
-
- mt_init LEA mt_data,A0
- MOVE.L A0,mt_SongDataPtr
- MOVE.L A0,A1
- LEA 952(A1),A1
- MOVEQ #127,D0
- MOVEQ #0,D1
- mtloop MOVE.L D1,D2
- SUBQ.W #1,D0
- mtloop2 MOVE.B (A1)+,D1
- CMP.B D2,D1
- BGT.S mtloop
- DBRA D0,mtloop2
- ADDQ.B #1,D2
-
- LEA mt_SampleStarts(PC),A1
- ASL.L #8,D2
- ASL.L #2,D2
- ADD.L #1084,D2
- ADD.L A0,D2
- MOVE.L D2,A2
- MOVEQ #30,D0
- mtloop3 CLR.L (A2)
- MOVE.L A2,(A1)+
- MOVEQ #0,D1
- MOVE.W 42(A0),D1
- ASL.L #1,D1
- ADD.L D1,A2
- ADD.L #30,A0
- DBRA D0,mtloop3
-
- OR.B #2,$BFE001
- MOVE.B #6,mt_speed
- CLR.B mt_counter
- CLR.B mt_SongPos
- CLR.W mt_PatternPos
- mt_end CLR.W $DFF0A8
- CLR.W $DFF0B8
- CLR.W $DFF0C8
- CLR.W $DFF0D8
- MOVE.W #$F,$DFF096
- RTS
-
- mt_music
- MOVEM.L D0-D4/A0-A6,-(SP)
- ADDQ.B #1,mt_counter
- MOVE.B mt_counter(PC),D0
- CMP.B mt_speed(PC),D0
- BLO.S mt_NoNewNote
- CLR.B mt_counter
- TST.B mt_PattDelTime2
- BEQ.S mt_GetNewNote
- BSR.S mt_NoNewAllChannels
- BRA mt_dskip
-
- mt_NoNewNote
- BSR.S mt_NoNewAllChannels
- BRA mt_NoNewPosYet
-
- mt_NoNewAllChannels
- LEA $DFF0A0,A5
- LEA mt_chan1temp(PC),A6
- BSR mt_CheckEfx
- LEA $DFF0B0,A5
- LEA mt_chan2temp(PC),A6
- BSR mt_CheckEfx
- LEA $DFF0C0,A5
- LEA mt_chan3temp(PC),A6
- BSR mt_CheckEfx
- LEA $DFF0D0,A5
- LEA mt_chan4temp(PC),A6
- BRA mt_CheckEfx
-
- mt_GetNewNote
- MOVE.L mt_SongDataPtr(PC),A0
- LEA 12(A0),A3
- LEA 952(A0),A2 ;pattpo
- LEA 1084(A0),A0 ;patterndata
- MOVEQ #0,D0
- MOVEQ #0,D1
- MOVE.B mt_SongPos(PC),D0
- MOVE.B (A2,D0.W),D1
- ASL.L #8,D1
- ASL.L #2,D1
- ADD.W mt_PatternPos(PC),D1
- CLR.W mt_DMACONtemp
-
- LEA $DFF0A0,A5
- LEA mt_chan1temp(PC),A6
- BSR.S mt_PlayVoice
- LEA $DFF0B0,A5
- LEA mt_chan2temp(PC),A6
- BSR.S mt_PlayVoice
- LEA $DFF0C0,A5
- LEA mt_chan3temp(PC),A6
- BSR.S mt_PlayVoice
- LEA $DFF0D0,A5
- LEA mt_chan4temp(PC),A6
- BSR.S mt_PlayVoice
- BRA mt_SetDMA
-
- mt_PlayVoice
- TST.L (A6)
- BNE.S mt_plvskip
- BSR mt_PerNop
- mt_plvskip
- MOVE.L (A0,D1.L),(A6)
- ADDQ.L #4,D1
- MOVEQ #0,D2
- MOVE.B n_cmd(A6),D2
- AND.B #$F0,D2
- LSR.B #4,D2
- MOVE.B (A6),D0
- AND.B #$F0,D0
- OR.B D0,D2
- TST.B D2
- BEQ mt_SetRegs
- MOVEQ #0,D3
- LEA mt_SampleStarts(PC),A1
- MOVE D2,D4
- SUBQ.L #1,D2
- ASL.L #2,D2
- MULU #30,D4
- MOVE.L (A1,D2.L),n_start(A6)
- MOVE.W (A3,D4.L),n_length(A6)
- MOVE.W (A3,D4.L),n_reallength(A6)
- MOVE.B 2(A3,D4.L),n_finetune(A6)
- MOVE.B 3(A3,D4.L),n_volume(A6)
- MOVE.W 4(A3,D4.L),D3 ; Get repeat
- TST.W D3
- BEQ.S mt_NoLoop
- MOVE.L n_start(A6),D2 ; Get start
- ASL.W #1,D3
- ADD.L D3,D2 ; Add repeat
- MOVE.L D2,n_loopstart(A6)
- MOVE.L D2,n_wavestart(A6)
- MOVE.W 4(A3,D4.L),D0 ; Get repeat
- ADD.W 6(A3,D4.L),D0 ; Add replen
- MOVE.W D0,n_length(A6)
- MOVE.W 6(A3,D4.L),n_replen(A6) ; Save replen
- MOVEQ #0,D0
- MOVE.B n_volume(A6),D0
- MOVE.W D0,8(A5) ; Set volume
- BRA.S mt_SetRegs
-
- mt_NoLoop
- MOVE.L n_start(A6),D2
- ADD.L D3,D2
- MOVE.L D2,n_loopstart(A6)
- MOVE.L D2,n_wavestart(A6)
- MOVE.W 6(A3,D4.L),n_replen(A6) ; Save replen
- MOVEQ #0,D0
- MOVE.B n_volume(A6),D0
- MOVE.W D0,8(A5) ; Set volume
- mt_SetRegs
- MOVE.W (A6),D0
- AND.W #$0FFF,D0
- BEQ mt_CheckMoreEfx ; If no note
- MOVE.W 2(A6),D0
- AND.W #$0FF0,D0
- CMP.W #$0E50,D0
- BEQ.S mt_DoSetFineTune
- MOVE.B 2(A6),D0
- AND.B #$0F,D0
- CMP.B #3,D0 ; TonePortamento
- BEQ.S mt_ChkTonePorta
- CMP.B #5,D0
- BEQ.S mt_ChkTonePorta
- CMP.B #9,D0 ; Sample Offset
- BNE.S mt_SetPeriod
- BSR mt_CheckMoreEfx
- BRA.S mt_SetPeriod
-
- mt_DoSetFineTune
- BSR mt_SetFineTune
- BRA.S mt_SetPeriod
-
- mt_ChkTonePorta
- BSR mt_SetTonePorta
- BRA mt_CheckMoreEfx
-
- mt_SetPeriod
- MOVEM.L D0-D1/A0-A1,-(SP)
- MOVE.W (A6),D1
- AND.W #$0FFF,D1
- LEA mt_PeriodTable(PC),A1
- MOVEQ #0,D0
- MOVEQ #36,D7
- mt_ftuloop
- CMP.W (A1,D0.W),D1
- BHS.S mt_ftufound
- ADDQ.L #2,D0
- DBRA D7,mt_ftuloop
- mt_ftufound
- MOVEQ #0,D1
- MOVE.B n_finetune(A6),D1
- MULU #36*2,D1
- ADD.L D1,A1
- MOVE.W (A1,D0.W),n_period(A6)
- MOVEM.L (SP)+,D0-D1/A0-A1
-
- MOVE.W 2(A6),D0
- AND.W #$0FF0,D0
- CMP.W #$0ED0,D0 ; Notedelay
- BEQ mt_CheckMoreEfx
-
- MOVE.W n_dmabit(A6),$DFF096
- BTST #2,n_wavecontrol(A6)
- BNE.S mt_vibnoc
- CLR.B n_vibratopos(A6)
- mt_vibnoc
- BTST #6,n_wavecontrol(A6)
- BNE.S mt_trenoc
- CLR.B n_tremolopos(A6)
- mt_trenoc
- MOVE.L n_start(A6),(A5) ; Set start
- MOVE.W n_length(A6),4(A5) ; Set length
- MOVE.W n_period(A6),D0
- MOVE.W D0,6(A5) ; Set period
- MOVE.W n_dmabit(A6),D0
- OR.W D0,mt_DMACONtemp
- BRA mt_CheckMoreEfx
-
- mt_SetDMA
- MOVE.W #300,D0
- mt_WaitDMA
- DBRA D0,mt_WaitDMA
- MOVE.W mt_DMACONtemp(PC),D0
- OR.W #$8000,D0
- MOVE.W D0,$DFF096
- MOVE.W #300,D0
- mt_WaitDMA2
- DBRA D0,mt_WaitDMA2
-
- LEA $DFF000,A5
- LEA mt_chan4temp(PC),A6
- MOVE.L n_loopstart(A6),$D0(A5)
- MOVE.W n_replen(A6),$D4(A5)
- LEA mt_chan3temp(PC),A6
- MOVE.L n_loopstart(A6),$C0(A5)
- MOVE.W n_replen(A6),$C4(A5)
- LEA mt_chan2temp(PC),A6
- MOVE.L n_loopstart(A6),$B0(A5)
- MOVE.W n_replen(A6),$B4(A5)
- LEA mt_chan1temp(PC),A6
- MOVE.L n_loopstart(A6),$A0(A5)
- MOVE.W n_replen(A6),$A4(A5)
-
- mt_dskip
- ADD.W #16,mt_PatternPos
- MOVE.B mt_PattDelTime,D0
- BEQ.S mt_dskc
- MOVE.B D0,mt_PattDelTime2
- CLR.B mt_PattDelTime
- mt_dskc TST.B mt_PattDelTime2
- BEQ.S mt_dska
- SUBQ.B #1,mt_PattDelTime2
- BEQ.S mt_dska
- SUB.W #16,mt_PatternPos
- mt_dska TST.B mt_PBreakFlag
- BEQ.S mt_nnpysk
- SF mt_PBreakFlag
- MOVEQ #0,D0
- MOVE.B mt_PBreakPos(PC),D0
- CLR.B mt_PBreakPos
- LSL.W #4,D0
- MOVE.W D0,mt_PatternPos
- mt_nnpysk
- CMP.W #1024,mt_PatternPos
- BLO.S mt_NoNewPosYet
- mt_NextPosition
- MOVEQ #0,D0
- MOVE.B mt_PBreakPos(PC),D0
- LSL.W #4,D0
- MOVE.W D0,mt_PatternPos
- CLR.B mt_PBreakPos
- CLR.B mt_PosJumpFlag
- ADDQ.B #1,mt_SongPos
- AND.B #$7F,mt_SongPos
- MOVE.B mt_SongPos(PC),D1
- MOVE.L mt_SongDataPtr(PC),A0
- CMP.B 950(A0),D1
- BLO.S mt_NoNewPosYet
- CLR.B mt_SongPos
- mt_NoNewPosYet
- TST.B mt_PosJumpFlag
- BNE.S mt_NextPosition
- MOVEM.L (SP)+,D0-D4/A0-A6
- RTS
-
- mt_CheckEfx
- BSR mt_UpdateFunk
- MOVE.W n_cmd(A6),D0
- AND.W #$0FFF,D0
- BEQ.S mt_PerNop
- MOVE.B n_cmd(A6),D0
- AND.B #$0F,D0
- BEQ.S mt_Arpeggio
- CMP.B #1,D0
- BEQ mt_PortaUp
- CMP.B #2,D0
- BEQ mt_PortaDown
- CMP.B #3,D0
- BEQ mt_TonePortamento
- CMP.B #4,D0
- BEQ mt_Vibrato
- CMP.B #5,D0
- BEQ mt_TonePlusVolSlide
- CMP.B #6,D0
- BEQ mt_VibratoPlusVolSlide
- CMP.B #$E,D0
- BEQ mt_E_Commands
- SetBack MOVE.W n_period(A6),6(A5)
- CMP.B #7,D0
- BEQ mt_Tremolo
- CMP.B #$A,D0
- BEQ mt_VolumeSlide
- mt_Return2
- RTS
-
- mt_PerNop
- MOVE.W n_period(A6),6(A5)
- RTS
-
- mt_Arpeggio
- MOVEQ #0,D0
- MOVE.B mt_counter(PC),D0
- DIVS #3,D0
- SWAP D0
- CMP.W #0,D0
- BEQ.S mt_Arpeggio2
- CMP.W #2,D0
- BEQ.S mt_Arpeggio1
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- LSR.B #4,D0
- BRA.S mt_Arpeggio3
-
- mt_Arpeggio1
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- AND.B #15,D0
- BRA.S mt_Arpeggio3
-
- mt_Arpeggio2
- MOVE.W n_period(A6),D2
- BRA.S mt_Arpeggio4
-
- mt_Arpeggio3
- ASL.W #1,D0
- MOVEQ #0,D1
- MOVE.B n_finetune(A6),D1
- MULU #36*2,D1
- LEA mt_PeriodTable(PC),A0
- ADD.L D1,A0
- MOVEQ #0,D1
- MOVE.W n_period(A6),D1
- MOVEQ #36,D7
- mt_arploop
- MOVE.W (A0,D0.W),D2
- CMP.W (A0),D1
- BHS.S mt_Arpeggio4
- ADDQ.L #2,A0
- DBRA D7,mt_arploop
- RTS
-
- mt_Arpeggio4
- MOVE.W D2,6(A5)
- RTS
-
- mt_FinePortaUp
- TST.B mt_counter
- BNE.S mt_Return2
- MOVE.B #$0F,mt_LowMask
- mt_PortaUp
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- AND.B mt_LowMask(PC),D0
- MOVE.B #$FF,mt_LowMask
- SUB.W D0,n_period(A6)
- MOVE.W n_period(A6),D0
- AND.W #$0FFF,D0
- CMP.W #113,D0
- BPL.S mt_PortaUskip
- AND.W #$F000,n_period(A6)
- OR.W #113,n_period(A6)
- mt_PortaUskip
- MOVE.W n_period(A6),D0
- AND.W #$0FFF,D0
- MOVE.W D0,6(A5)
- RTS
-
- mt_FinePortaDown
- TST.B mt_counter
- BNE mt_Return2
- MOVE.B #$0F,mt_LowMask
- mt_PortaDown
- CLR.W D0
- MOVE.B n_cmdlo(A6),D0
- AND.B mt_LowMask(PC),D0
- MOVE.B #$FF,mt_LowMask
- ADD.W D0,n_period(A6)
- MOVE.W n_period(A6),D0
- AND.W #$0FFF,D0
- CMP.W #856,D0
- BMI.S mt_PortaDskip
- AND.W #$F000,n_period(A6)
- OR.W #856,n_period(A6)
- mt_PortaDskip
- MOVE.W n_period(A6),D0
- AND.W #$0FFF,D0
- MOVE.W D0,6(A5)
- RTS
-
- mt_SetTonePorta
- MOVE.L A0,-(SP)
- MOVE.W (A6),D2
- AND.W #$0FFF,D2
- MOVEQ #0,D0
- MOVE.B n_finetune(A6),D0
- MULU #37*2,D0
- LEA mt_PeriodTable(PC),A0
- ADD.L D0,A0
- MOVEQ #0,D0
- mt_StpLoop
- CMP.W (A0,D0.W),D2
- BHS.S mt_StpFound
- ADDQ.W #2,D0
- CMP.W #37*2,D0
- BLO.S mt_StpLoop
- MOVEQ #35*2,D0
- mt_StpFound
- MOVE.B n_finetune(A6),D2
- AND.B #8,D2
- BEQ.S mt_StpGoss
- TST.W D0
- BEQ.S mt_StpGoss
- SUBQ.W #2,D0
- mt_StpGoss
- MOVE.W (A0,D0.W),D2
- MOVE.L (SP)+,A0
- MOVE.W D2,n_wantedperiod(A6)
- MOVE.W n_period(A6),D0
- CLR.B n_toneportdirec(A6)
- CMP.W D0,D2
- BEQ.S mt_ClearTonePorta
- BGE mt_Return2
- MOVE.B #1,n_toneportdirec(A6)
- RTS
-
- mt_ClearTonePorta
- CLR.W n_wantedperiod(A6)
- RTS
-
- mt_TonePortamento
- MOVE.B n_cmdlo(A6),D0
- BEQ.S mt_TonePortNoChange
- MOVE.B D0,n_toneportspeed(A6)
- CLR.B n_cmdlo(A6)
- mt_TonePortNoChange
- TST.W n_wantedperiod(A6)
- BEQ mt_Return2
- MOVEQ #0,D0
- MOVE.B n_toneportspeed(A6),D0
- TST.B n_toneportdirec(A6)
- BNE.S mt_TonePortaUp
- mt_TonePortaDown
- ADD.W D0,n_period(A6)
- MOVE.W n_wantedperiod(A6),D0
- CMP.W n_period(A6),D0
- BGT.S mt_TonePortaSetPer
- MOVE.W n_wantedperiod(A6),n_period(A6)
- CLR.W n_wantedperiod(A6)
- BRA.S mt_TonePortaSetPer
-
- mt_TonePortaUp
- SUB.W D0,n_period(A6)
- MOVE.W n_wantedperiod(A6),D0
- CMP.W n_period(A6),D0
- BLT.S mt_TonePortaSetPer
- MOVE.W n_wantedperiod(A6),n_period(A6)
- CLR.W n_wantedperiod(A6)
-
- mt_TonePortaSetPer
- MOVE.W n_period(A6),D2
- MOVE.B n_glissfunk(A6),D0
- AND.B #$0F,D0
- BEQ.S mt_GlissSkip
- MOVEQ #0,D0
- MOVE.B n_finetune(A6),D0
- MULU #36*2,D0
- LEA mt_PeriodTable(PC),A0
- ADD.L D0,A0
- MOVEQ #0,D0
- mt_GlissLoop
- CMP.W (A0,D0.W),D2
- BHS.S mt_GlissFound
- ADDQ.W #2,D0
- CMP.W #36*2,D0
- BLO.S mt_GlissLoop
- MOVEQ #35*2,D0
- mt_GlissFound
- MOVE.W (A0,D0.W),D2
- mt_GlissSkip
- MOVE.W D2,6(A5) ; Set period
- RTS
-
- mt_Vibrato
- MOVE.B n_cmdlo(A6),D0
- BEQ.S mt_Vibrato2
- MOVE.B n_vibratocmd(A6),D2
- AND.B #$0F,D0
- BEQ.S mt_vibskip
- AND.B #$F0,D2
- OR.B D0,D2
- mt_vibskip
- MOVE.B n_cmdlo(A6),D0
- AND.B #$F0,D0
- BEQ.S mt_vibskip2
- AND.B #$0F,D2
- OR.B D0,D2
- mt_vibskip2
- MOVE.B D2,n_vibratocmd(A6)
- mt_Vibrato2
- MOVE.B n_vibratopos(A6),D0
- LEA mt_VibratoTable(PC),A4
- LSR.W #2,D0
- AND.W #$001F,D0
- MOVEQ #0,D2
- MOVE.B n_wavecontrol(A6),D2
- AND.B #$03,D2
- BEQ.S mt_vib_sine
- LSL.B #3,D0
- CMP.B #1,D2
- BEQ.S mt_vib_rampdown
- MOVE.B #255,D2
- BRA.S mt_vib_set
- mt_vib_rampdown
- TST.B n_vibratopos(A6)
- BPL.S mt_vib_rampdown2
- MOVE.B #255,D2
- SUB.B D0,D2
- BRA.S mt_vib_set
- mt_vib_rampdown2
- MOVE.B D0,D2
- BRA.S mt_vib_set
- mt_vib_sine
- MOVE.B 0(A4,D0.W),D2
- mt_vib_set
- MOVE.B n_vibratocmd(A6),D0
- AND.W #15,D0
- MULU D0,D2
- LSR.W #7,D2
- MOVE.W n_period(A6),D0
- TST.B n_vibratopos(A6)
- BMI.S mt_VibratoNeg
- ADD.W D2,D0
- BRA.S mt_Vibrato3
- mt_VibratoNeg
- SUB.W D2,D0
- mt_Vibrato3
- MOVE.W D0,6(A5)
- MOVE.B n_vibratocmd(A6),D0
- LSR.W #2,D0
- AND.W #$003C,D0
- ADD.B D0,n_vibratopos(A6)
- RTS
-
- mt_TonePlusVolSlide
- BSR mt_TonePortNoChange
- BRA mt_VolumeSlide
-
- mt_VibratoPlusVolSlide
- BSR.S mt_Vibrato2
- BRA mt_VolumeSlide
-
- mt_Tremolo
- MOVE.B n_cmdlo(A6),D0
- BEQ.S mt_Tremolo2
- MOVE.B n_tremolocmd(A6),D2
- AND.B #$0F,D0
- BEQ.S mt_treskip
- AND.B #$F0,D2
- OR.B D0,D2
- mt_treskip
- MOVE.B n_cmdlo(A6),D0
- AND.B #$F0,D0
- BEQ.S mt_treskip2
- AND.B #$0F,D2
- OR.B D0,D2
- mt_treskip2
- MOVE.B D2,n_tremolocmd(A6)
- mt_Tremolo2
- MOVE.B n_tremolopos(A6),D0
- LEA mt_VibratoTable(PC),A4
- LSR.W #2,D0
- AND.W #$001F,D0
- MOVEQ #0,D2
- MOVE.B n_wavecontrol(A6),D2
- LSR.B #4,D2
- AND.B #$03,D2
- BEQ.S mt_tre_sine
- LSL.B #3,D0
- CMP.B #1,D2
- BEQ.S mt_tre_rampdown
- MOVE.B #255,D2
- BRA.S mt_tre_set
- mt_tre_rampdown
- TST.B n_vibratopos(A6)
- BPL.S mt_tre_rampdown2
- MOVE.B #255,D2
- SUB.B D0,D2
- BRA.S mt_tre_set
- mt_tre_rampdown2
- MOVE.B D0,D2
- BRA.S mt_tre_set
- mt_tre_sine
- MOVE.B 0(A4,D0.W),D2
- mt_tre_set
- MOVE.B n_tremolocmd(A6),D0
- AND.W #15,D0
- MULU D0,D2
- LSR.W #6,D2
- MOVEQ #0,D0
- MOVE.B n_volume(A6),D0
- TST.B n_tremolopos(A6)
- BMI.S mt_TremoloNeg
- ADD.W D2,D0
- BRA.S mt_Tremolo3
- mt_TremoloNeg
- SUB.W D2,D0
- mt_Tremolo3
- BPL.S mt_TremoloSkip
- CLR.W D0
- mt_TremoloSkip
- CMP.W #$40,D0
- BLS.S mt_TremoloOk
- MOVE.W #$40,D0
- mt_TremoloOk
- MOVE.W D0,8(A5)
- MOVE.B n_tremolocmd(A6),D0
- LSR.W #2,D0
- AND.W #$003C,D0
- ADD.B D0,n_tremolopos(A6)
- RTS
-
- mt_SampleOffset
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- BEQ.S mt_sononew
- MOVE.B D0,n_sampleoffset(A6)
- mt_sononew
- MOVE.B n_sampleoffset(A6),D0
- LSL.W #7,D0
- CMP.W n_length(A6),D0
- BGE.S mt_sofskip
- SUB.W D0,n_length(A6)
- LSL.W #1,D0
- ADD.L D0,n_start(A6)
- RTS
- mt_sofskip
- MOVE.W #$0001,n_length(A6)
- RTS
-
- mt_VolumeSlide
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- LSR.B #4,D0
- TST.B D0
- BEQ.S mt_VolSlideDown
- mt_VolSlideUp
- ADD.B D0,n_volume(A6)
- CMP.B #$40,n_volume(A6)
- BMI.S mt_vsuskip
- MOVE.B #$40,n_volume(A6)
- mt_vsuskip
- MOVE.B n_volume(A6),D0
- MOVE.W D0,8(A5)
- RTS
-
- mt_VolSlideDown
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- AND.B #$0F,D0
- mt_VolSlideDown2
- SUB.B D0,n_volume(A6)
- BPL.S mt_vsdskip
- CLR.B n_volume(A6)
- mt_vsdskip
- MOVE.B n_volume(A6),D0
- MOVE.W D0,8(A5)
- RTS
-
- mt_PositionJump
- MOVE.B n_cmdlo(A6),D0
- SUBQ.B #1,D0
- MOVE.B D0,mt_SongPos
- mt_pj2 CLR.B mt_PBreakPos
- ST mt_PosJumpFlag
- RTS
-
- mt_VolumeChange
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- CMP.B #$40,D0
- BLS.S mt_VolumeOk
- MOVEQ #$40,D0
- mt_VolumeOk
- MOVE.B D0,n_volume(A6)
- MOVE.W D0,8(A5)
- RTS
-
- mt_PatternBreak
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- MOVE.L D0,D2
- LSR.B #4,D0
- MULU #10,D0
- AND.B #$0F,D2
- ADD.B D2,D0
- CMP.B #63,D0
- BHI.S mt_pj2
- MOVE.B D0,mt_PBreakPos
- ST mt_PosJumpFlag
- RTS
-
- mt_SetSpeed
- MOVE.B 3(A6),D0
- BEQ mt_Return2
- CLR.B mt_counter
- MOVE.B D0,mt_speed
- RTS
-
- mt_CheckMoreEfx
- BSR mt_UpdateFunk
- MOVE.B 2(A6),D0
- AND.B #$0F,D0
- CMP.B #$9,D0
- BEQ mt_SampleOffset
- CMP.B #$B,D0
- BEQ mt_PositionJump
- CMP.B #$D,D0
- BEQ.S mt_PatternBreak
- CMP.B #$E,D0
- BEQ.S mt_E_Commands
- CMP.B #$F,D0
- BEQ.S mt_SetSpeed
- CMP.B #$C,D0
- BEQ mt_VolumeChange
- BRA mt_PerNop
-
- mt_E_Commands
- MOVE.B n_cmdlo(A6),D0
- AND.B #$F0,D0
- LSR.B #4,D0
- BEQ.S mt_FilterOnOff
- CMP.B #1,D0
- BEQ mt_FinePortaUp
- CMP.B #2,D0
- BEQ mt_FinePortaDown
- CMP.B #3,D0
- BEQ.S mt_SetGlissControl
- CMP.B #4,D0
- BEQ mt_SetVibratoControl
- CMP.B #5,D0
- BEQ mt_SetFineTune
- CMP.B #6,D0
- BEQ mt_JumpLoop
- CMP.B #7,D0
- BEQ mt_SetTremoloControl
- CMP.B #9,D0
- BEQ mt_RetrigNote
- CMP.B #$A,D0
- BEQ mt_VolumeFineUp
- CMP.B #$B,D0
- BEQ mt_VolumeFineDown
- CMP.B #$C,D0
- BEQ mt_NoteCut
- CMP.B #$D,D0
- BEQ mt_NoteDelay
- CMP.B #$E,D0
- BEQ mt_PatternDelay
- CMP.B #$F,D0
- BEQ mt_FunkIt
- RTS
-
- mt_FilterOnOff
- MOVE.B n_cmdlo(A6),D0
- AND.B #1,D0
- ASL.B #1,D0
- AND.B #$FD,$BFE001
- OR.B D0,$BFE001
- RTS
-
- mt_SetGlissControl
- MOVE.B n_cmdlo(A6),D0
- AND.B #$0F,D0
- AND.B #$F0,n_glissfunk(A6)
- OR.B D0,n_glissfunk(A6)
- RTS
-
- mt_SetVibratoControl
- MOVE.B n_cmdlo(A6),D0
- AND.B #$0F,D0
- AND.B #$F0,n_wavecontrol(A6)
- OR.B D0,n_wavecontrol(A6)
- RTS
-
- mt_SetFineTune
- MOVE.B n_cmdlo(A6),D0
- AND.B #$0F,D0
- MOVE.B D0,n_finetune(A6)
- RTS
-
- mt_JumpLoop
- TST.B mt_counter
- BNE mt_Return2
- MOVE.B n_cmdlo(A6),D0
- AND.B #$0F,D0
- BEQ.S mt_SetLoop
- TST.B n_loopcount(A6)
- BEQ.S mt_jumpcnt
- SUBQ.B #1,n_loopcount(A6)
- BEQ mt_Return2
- mt_jmploop MOVE.B n_pattpos(A6),mt_PBreakPos
- ST mt_PBreakFlag
- RTS
-
- mt_jumpcnt
- MOVE.B D0,n_loopcount(A6)
- BRA.S mt_jmploop
-
- mt_SetLoop
- MOVE.W mt_PatternPos(PC),D0
- LSR.W #4,D0
- MOVE.B D0,n_pattpos(A6)
- RTS
-
- mt_SetTremoloControl
- MOVE.B n_cmdlo(A6),D0
- AND.B #$0F,D0
- LSL.B #4,D0
- AND.B #$0F,n_wavecontrol(A6)
- OR.B D0,n_wavecontrol(A6)
- RTS
-
- mt_RetrigNote
- MOVE.L D1,-(SP)
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- AND.B #$0F,D0
- BEQ.S mt_rtnend
- MOVEQ #0,D1
- MOVE.B mt_counter(PC),D1
- BNE.S mt_rtnskp
- MOVE.W (A6),D1
- AND.W #$0FFF,D1
- BNE.S mt_rtnend
- MOVEQ #0,D1
- MOVE.B mt_counter(PC),D1
- mt_rtnskp
- DIVU D0,D1
- SWAP D1
- TST.W D1
- BNE.S mt_rtnend
- mt_DoRetrig
- MOVE.W n_dmabit(A6),$DFF096 ; Channel DMA off
- MOVE.L n_start(A6),(A5) ; Set sampledata pointer
- MOVE.W n_length(A6),4(A5) ; Set length
- MOVE.W #300,D0
- mt_rtnloop1
- DBRA D0,mt_rtnloop1
- MOVE.W n_dmabit(A6),D0
- BSET #15,D0
- MOVE.W D0,$DFF096
- MOVE.W #300,D0
- mt_rtnloop2
- DBRA D0,mt_rtnloop2
- MOVE.L n_loopstart(A6),(A5)
- MOVE.L n_replen(A6),4(A5)
- mt_rtnend
- MOVE.L (SP)+,D1
- RTS
-
- mt_VolumeFineUp
- TST.B mt_counter
- BNE mt_Return2
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- AND.B #$F,D0
- BRA mt_VolSlideUp
-
- mt_VolumeFineDown
- TST.B mt_counter
- BNE mt_Return2
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- AND.B #$0F,D0
- BRA mt_VolSlideDown2
-
- mt_NoteCut
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- AND.B #$0F,D0
- CMP.B mt_counter(PC),D0
- BNE mt_Return2
- CLR.B n_volume(A6)
- MOVE.W #0,8(A5)
- RTS
-
- mt_NoteDelay
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- AND.B #$0F,D0
- CMP.B mt_Counter,D0
- BNE mt_Return2
- MOVE.W (A6),D0
- BEQ mt_Return2
- MOVE.L D1,-(SP)
- BRA mt_DoRetrig
-
- mt_PatternDelay
- TST.B mt_counter
- BNE mt_Return2
- MOVEQ #0,D0
- MOVE.B n_cmdlo(A6),D0
- AND.B #$0F,D0
- TST.B mt_PattDelTime2
- BNE mt_Return2
- ADDQ.B #1,D0
- MOVE.B D0,mt_PattDelTime
- RTS
-
- mt_FunkIt
- TST.B mt_counter
- BNE mt_Return2
- MOVE.B n_cmdlo(A6),D0
- AND.B #$0F,D0
- LSL.B #4,D0
- AND.B #$0F,n_glissfunk(A6)
- OR.B D0,n_glissfunk(A6)
- TST.B D0
- BEQ mt_Return2
- mt_UpdateFunk
- MOVEM.L A0/D1,-(SP)
- MOVEQ #0,D0
- MOVE.B n_glissfunk(A6),D0
- LSR.B #4,D0
- BEQ.S mt_funkend
- LEA mt_FunkTable(PC),A0
- MOVE.B (A0,D0.W),D0
- ADD.B D0,n_funkoffset(A6)
- BTST #7,n_funkoffset(A6)
- BEQ.S mt_funkend
- CLR.B n_funkoffset(A6)
-
- MOVE.L n_loopstart(A6),D0
- MOVEQ #0,D1
- MOVE.W n_replen(A6),D1
- ADD.L D1,D0
- ADD.L D1,D0
- MOVE.L n_wavestart(A6),A0
- ADDQ.L #1,A0
- CMP.L D0,A0
- BLO.S mt_funkok
- MOVE.L n_loopstart(A6),A0
- mt_funkok
- MOVE.L A0,n_wavestart(A6)
- MOVEQ #-1,D0
- SUB.B (A0),D0
- MOVE.B D0,(A0)
- mt_funkend
- MOVEM.L (SP)+,A0/D1
- RTS
-
-
- mt_FunkTable dc.b 0,5,6,7,8,10,11,13,16,19,22,26,32,43,64,128
-
- mt_VibratoTable
- dc.b 0, 24, 49, 74, 97,120,141,161
- dc.b 180,197,212,224,235,244,250,253
- dc.b 255,253,250,244,235,224,212,197
- dc.b 180,161,141,120, 97, 74, 49, 24
-
- mt_PeriodTable
- ; Tuning 0, Normal
- dc.w 856,808,762,720,678,640,604,570,538,508,480,453
- dc.w 428,404,381,360,339,320,302,285,269,254,240,226
- dc.w 214,202,190,180,170,160,151,143,135,127,120,113
- ; Tuning 1
- dc.w 850,802,757,715,674,637,601,567,535,505,477,450
- dc.w 425,401,379,357,337,318,300,284,268,253,239,225
- dc.w 213,201,189,179,169,159,150,142,134,126,119,113
- ; Tuning 2
- dc.w 844,796,752,709,670,632,597,563,532,502,474,447
- dc.w 422,398,376,355,335,316,298,282,266,251,237,224
- dc.w 211,199,188,177,167,158,149,141,133,125,118,112
- ; Tuning 3
- dc.w 838,791,746,704,665,628,592,559,528,498,470,444
- dc.w 419,395,373,352,332,314,296,280,264,249,235,222
- dc.w 209,198,187,176,166,157,148,140,132,125,118,111
- ; Tuning 4
- dc.w 832,785,741,699,660,623,588,555,524,495,467,441
- dc.w 416,392,370,350,330,312,294,278,262,247,233,220
- dc.w 208,196,185,175,165,156,147,139,131,124,117,110
- ; Tuning 5
- dc.w 826,779,736,694,655,619,584,551,520,491,463,437
- dc.w 413,390,368,347,328,309,292,276,260,245,232,219
- dc.w 206,195,184,174,164,155,146,138,130,123,116,109
- ; Tuning 6
- dc.w 820,774,730,689,651,614,580,547,516,487,460,434
- dc.w 410,387,365,345,325,307,290,274,258,244,230,217
- dc.w 205,193,183,172,163,154,145,137,129,122,115,109
- ; Tuning 7
- dc.w 814,768,725,684,646,610,575,543,513,484,457,431
- dc.w 407,384,363,342,323,305,288,272,256,242,228,216
- dc.w 204,192,181,171,161,152,144,136,128,121,114,108
- ; Tuning -8
- dc.w 907,856,808,762,720,678,640,604,570,538,508,480
- dc.w 453,428,404,381,360,339,320,302,285,269,254,240
- dc.w 226,214,202,190,180,170,160,151,143,135,127,120
- ; Tuning -7
- dc.w 900,850,802,757,715,675,636,601,567,535,505,477
- dc.w 450,425,401,379,357,337,318,300,284,268,253,238
- dc.w 225,212,200,189,179,169,159,150,142,134,126,119
- ; Tuning -6
- dc.w 894,844,796,752,709,670,632,597,563,532,502,474
- dc.w 447,422,398,376,355,335,316,298,282,266,251,237
- dc.w 223,211,199,188,177,167,158,149,141,133,125,118
- ; Tuning -5
- dc.w 887,838,791,746,704,665,628,592,559,528,498,470
- dc.w 444,419,395,373,352,332,314,296,280,264,249,235
- dc.w 222,209,198,187,176,166,157,148,140,132,125,118
- ; Tuning -4
- dc.w 881,832,785,741,699,660,623,588,555,524,494,467
- dc.w 441,416,392,370,350,330,312,294,278,262,247,233
- dc.w 220,208,196,185,175,165,156,147,139,131,123,117
- ; Tuning -3
- dc.w 875,826,779,736,694,655,619,584,551,520,491,463
- dc.w 437,413,390,368,347,328,309,292,276,260,245,232
- dc.w 219,206,195,184,174,164,155,146,138,130,123,116
- ; Tuning -2
- dc.w 868,820,774,730,689,651,614,580,547,516,487,460
- dc.w 434,410,387,365,345,325,307,290,274,258,244,230
- dc.w 217,205,193,183,172,163,154,145,137,129,122,115
- ; Tuning -1
- dc.w 862,814,768,725,684,646,610,575,543,513,484,457
- dc.w 431,407,384,363,342,323,305,288,272,256,242,228
- dc.w 216,203,192,181,171,161,152,144,136,128,121,114
-
- mt_chan1temp dc.l 0,0,0,0,0,$00010000,0,0,0,0,0
- mt_chan2temp dc.l 0,0,0,0,0,$00020000,0,0,0,0,0
- mt_chan3temp dc.l 0,0,0,0,0,$00040000,0,0,0,0,0
- mt_chan4temp dc.l 0,0,0,0,0,$00080000,0,0,0,0,0
-
- mt_SampleStarts dc.l 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
-
- mt_SongDataPtr dc.l 0
-
- mt_speed dc.b 6
- mt_counter dc.b 0
- mt_SongPos dc.b 0
- mt_PBreakPos dc.b 0
- mt_PosJumpFlag dc.b 0
- mt_PBreakFlag dc.b 0
- mt_LowMask dc.b 0
- mt_PattDelTime dc.b 0
- mt_PattDelTime2 dc.b 0,0
-
- mt_PatternPos dc.w 0
- mt_DMACONtemp dc.w 0
-
- ;/* End of File */
-
- section sprites,data_c
- SBUFF0: ds.l 130
- SBUFF1: ds.l 130
- SBUFF2: ds.l 130
- SBUFF3: ds.l 130
- SBUFF4: ds.l 130
- SBUFF5: ds.l 130
- SBUFF6: ds.l 130
- SBUFF7: ds.l 130
-
- section screens,bss_c
- ds.b 1000
- APIC: ds.b 16000
-
- section sin,data
- sine:
- DC.W $0001,$0001
- dc.w $0001,$0002,$0003,$0004,$0005,$0006,$0008,$000A
- dc.w $000C,$000E,$0010,$0013,$0016,$0019,$001C,$001F
- dc.w $0023,$0026,$002A,$002E,$0032,$0036,$003B,$003F
- dc.w $0044,$0048,$004D,$0052,$0058,$005D,$0062,$0068
- dc.w $006D,$0073,$0079,$007F,$0084,$008A,$0090,$0097
- dc.w $009D,$00A3,$00A9,$00AF,$00B6,$00BC,$00C2,$00C8
-
- dc.w $00C8,$00C2,$00BC,$00B5,$00AF,$00A9,$00A3,$009D
- dc.w $0097,$0092,$008D,$0088,$0083,$007E,$007A,$0076
- dc.w $0073,$0070,$006D,$006B,$0069,$0067,$0066,$0065
- dc.w $0065,$0065,$0065,$0066,$0067,$0069,$006B,$006D
- dc.w $0070,$0073,$0076,$007A,$007E,$0083,$0088,$008D
- dc.w $0092,$0097,$009D,$00A3,$00A9,$00AF,$00B5,$00BC
- dc.w $00C2,$00C8
-
- dc.w $00C8,$00C5,$00C2,$00BF,$00BC,$00B9,$00B6,$00B3
- dc.w $00B0,$00AD,$00AB,$00A8,$00A6,$00A3,$00A1,$009F
- dc.w $009E,$009C,$009B,$009A,$0099,$0098,$0097,$0097
- dc.w $0097,$0097,$0097,$0097,$0098,$0099,$009A,$009B
- dc.w $009C,$009E,$009F,$00A1,$00A3,$00A6,$00A8,$00AB
- dc.w $00AD,$00B0,$00B3,$00B6,$00B9,$00BC,$00BF,$00C2
- dc.w $00C5,$00C8
-
- dc.w $00C8,$00C7,$00C5,$00C4,$00C2,$00C1,$00BF,$00BE
- dc.w $00BC,$00BB,$00BA,$00B8,$00B7,$00B6,$00B5,$00B4
- dc.w $00B3,$00B2,$00B2,$00B1,$00B1,$00B0,$00B0,$00B0
- dc.w $00B0,$00B0,$00B0,$00B0,$00B0,$00B1,$00B1,$00B2
- dc.w $00B2,$00B3,$00B4,$00B5,$00B6,$00B7,$00B8,$00BA
- dc.w $00BB,$00BC,$00BE,$00BF,$00C1,$00C2,$00C4,$00C5
- dc.w $00C7,$00C8
-
-
- backpt: dc.w 0
- back= 520
- backsine:
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0001,$0001,$0001,$0001,$0001
- dc.w $0001,$0001,$0001,$0001,$0001,$0001,$0001,$0001
- dc.w $0001,$0001,$0001,$0001,$0001,$0002,$0002,$0002
- dc.w $0002,$0002,$0002,$0002,$0002,$0002,$0002,$0002
- dc.w $0002,$0002,$0002,$0002,$0002,$0002,$0002,$0002
- dc.w $0002,$0003,$0003,$0003,$0003,$0003,$0003,$0003
- dc.w $0003,$0003,$0003,$0003,$0003,$0003,$0003,$0003
- dc.w $0003,$0003,$0003,$0003,$0003,$0003,$0003,$0004
- dc.w $0004,$0004,$0004,$0004,$0004,$0004,$0004,$0004
- dc.w $0004,$0004,$0004,$0004,$0004,$0004,$0004,$0004
- dc.w $0004,$0004,$0004,$0004,$0004,$0004,$0004,$0004
- dc.w $0004,$0004,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006
-
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0007,$0007,$0007,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
- dc.w $0006,$0006,$0006,$0006
-
- dc.w $0006,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
- dc.w $0004,$0004,$0004,$0004,$0004,$0004,$0004,$0004
- dc.w $0004,$0004,$0004,$0004,$0004,$0004,$0004,$0004
- dc.w $0004,$0004,$0004,$0004,$0004,$0004,$0004,$0004
- dc.w $0004,$0004,$0004,$0003,$0003,$0003,$0003,$0003
- dc.w $0003,$0003,$0003,$0003,$0003,$0003,$0003,$0003
- dc.w $0003,$0003,$0003,$0003,$0003,$0003,$0003,$0003
- dc.w $0003,$0002,$0002,$0002,$0002,$0002,$0002,$0002
- dc.w $0002,$0002,$0002,$0002,$0002,$0002,$0002,$0002
- dc.w $0002,$0002,$0002,$0002,$0002,$0001,$0001,$0001
- dc.w $0001,$0001,$0001,$0001,$0001,$0001,$0001,$0001
- dc.w $0001,$0001,$0001,$0001,$0001,$0001,$0001,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000
- SCROLLT:movem.l a0-a6/d0-d7,-(a7)
- GO_TEXT:moveq #0,d0
- move.w SPEED_,d7
- sub.w d7,delay
- bgt bl_shft
- move #16,delay
- lea TEXTT,a0
- move.l TEXT_PNT,d1
- move.b (a0,d1),d0
- bne n_nwtxt.
- move.l #0,TEXT_PNT
- move.b TEXTT,d0
- moveq #8,d1
- n_nwtxt.:add.l #1,TEXT_PNT
- moveq #$F,d1
- no_loop:cmp d1,d0
- beq cspeed
- dbf d1,no_LOOP
- bra N_CHNGE.
- cspeed: move d1,SPEED_
- bra GO_TEXT
- n_CHNGE.:sub #32,d0 ;Subtract hex start
- lsl #5,d0 ;And get offset in the FONT
- add.l #FONT16,d0 ;now to locate in RAM!
- PUT_FNT:BTST #14,$DFF002 ; Blitter tester
- BNE put_fnt ; Loop until blitter stops
- move.l #$ffffffff,$dff044;
- MOVE.L d0,$dff050 ; A Mask of Logo
- MOVE.L #42+spic,$dff054 ; D Destination!
- MOVE.W #42,$dff066 ; D <Pl Wdth bytes40>-(BLT Words1*2)
- MOVE.W #0,$dff064 ; A Modula
- move.w #$9f0,$dff040 ; CookieCut
- MOVE.W #0,$dff042 ; Mode of operation
- MOVE.W #$0401,$dff058 ; (Height*64*Bitplanes)+(Words Wide of BLIT!)
- bl_shft:BTST #14,$DFF002
- BNE bl_shft
- MOVE.L #$ffff0000,$dff044
- MOVE.L #spic+2,$dff050
- MOVE.L #spic,$dff054
- MOVE.W #0,$dff064
- MOVE.W #0,$dff066
- MOVE.W #$0,$dff042
- eor #$f,d7
- add #1,d7
- swap d7
- ror.l #4,d7
- or.w #$9f0,d7
- move.w d7,$dff040
- MOVE.W #$0416,$dff058
- ;COPY DATA TO REAL PLANE;!!!!
- tst: BTST #14,$DFF002;
- BNE tst
- MOVE.L #$FFFFFFFF,$dff044
- moVE.L #spic+2,$dff050 ; A OBJ
- MOVE.L #S_PIC,$dff054 ; D
- MOVE.W #4,$dff064 ; A
- MOVE.W #0,$dff066 ; D <Pl Wdth bytes40>-(BLT Words1*2)
- move.w #$9f0,$dff040
- MOVE.W #$0414,$dff058
- movem.l (a7)+,a0-a6/d0-d7
- RTS
- TEXT_PNT:dc.l 0
- SPEED_: dc.w 2
- delay: dc.w 0
- SECTION BSS,BSS_C
- spic: DS.b 800
- s_pic: DS.b 9000
-
- section copper,data_c
- COPA:
- CSPRITE:dc.l $01200000,$01220000,$01240000,$01260000,$01280000,$012A0000
- dc.l $012C0000,$012E0000,$01300000,$01320000,$01340000,$01360000
- dc.l $01380000,$013A0000,$013C0000,$013E0000
- C17: dc.l $01A20444,$01A40888,$01A60Fff,$01Aa0400,$01Ac0800,$01Ae0f00
- C25: dc.l $01b20040,$01b40080,$01b600f0,$01ba0044,$01bc0088,$01be00ff
- DC.L $008E2c81,$00902cc1,$00920038,$009400D0,$00968020
- DC.L $01020000,$01040024,$01080000,$010A0028,$01004400
- DC.L $0180000e
- AMAP: DC.L $00e00000,$00e20000,$00E80000,$00Ea0000,$01040024
- BMAP: DC.L $00e40000,$00e60000,$00Ec0000,$00Ee0000
- dc.l $0192000e,$0194000e,$0196000e
- dc.l $0182000e,$0184000e,$0186000e
- dc.l $3501fffe,$01920aaa,$01940444,$01960fff
- dc.l $01820000,$01840ff8,$01860ff0
-
- dc.l $3c01fffe,$0180000d,$01920aaa,$01940444,$01960eee
- dc.l $4c01fffe,$0180000c,$01920999,$01940444,$01960ddd
- dc.l $5c01fffe,$0180000b,$01920888,$01940333,$01960ccc
- dc.l $6c01fffe,$01800009,$01920777,$01940333,$01960bbb
- dc.l $7c01fffe,$01800008,$01920666,$01940222,$01960aaa
- dc.l $8c01fffe,$01800007,$01920555,$01940222,$01960999
- dc.l $9001fffe
- DMAP: DC.L $00e40000,$00e60000,$00Ec0000,$00Ee0000
- dc.l $9c01fffe,$01800006,$01920444,$01940111,$01960888
- dc.l $ac01fffe,$01800005,$01920333,$01940111,$01960777
- dc.l $bc01fffe,$01800004,$01920222,$01940000,$01960666
- dc.l $cc01fffe,$01800003,$01920111,$01940000,$01960666
- dc.l $dc01fffe,$01800002,$01920000,$01940000,$01960555
- dc.l $ec01fffe,$01800001,$01920000,$01940000,$01960555
- dc.l $f301fffe,$01040064,$01920000,$01940000,$01960444
- dc.l $01840000,$01860000
- dc.l $f401fffe
- cMAP: DC.L $00e40000,$00e60000,$00Ec0000,$00Ee0000
- dc.l $ff01fffe,$00960020,$01440000,$01400000 ;TURN OFF SPRITE SHIT...
- DC.L $01820fFf,$01840000,$01860fff
- SMAP: DC.L $00e00000,$00e20000,$00E80000,$00Ea0000,$01040024
- dc.l $01820000,$01840ff8,$01860ff0
- DC.L $FFFFFFFE
- text: ;Top line leave alone.. it will only half show...
- dc.b ' '
- dc.b ' '
- dc.b ' THIS FILE WAS LEECH FROM THE '
- dc.b ' '
- dc.b ' _ __ _ ____ _ ___ _ _ ___ '
- dc.b '///_/\//\/___/\ /_\ /\__\/\\\\/\__\'
- dc.b '\\\ \ \\ \ __\/ | | / /_ / //// /__/'
- dc.b ' \\\ \ \\ \\ \ | | / //// //// // \ '
- dc.b ' \\\ \ \\ \\ \__ | | / //// ////\/_~~/ '
- dc.b ' \~ \ \\ \\/ /\| |/ //// ////\~~\// '
- dc.b ' \ \/\\/\~~\/| |\/ ~/\/ ~/\/~~~/ '
- dc.b ' ~~~~ ~ ~~~ ~ ~~~ ~~~ ~~~~ '
- dc.b ' ( CIRCLE BBS ) '
- dc.b ' '
- dc.b ' -*- REGISTERED 2.20 -*- '
- dc.b ' -*- A NIGHTFALL DISTRABUTION SITE -*- '
- dc.b ' '
- dc.b ' SYSOP - RAISTLIN HST"S ONLY '
- dc.b 'CO-SYSOP - DARK ANGEL AMIGA ONLY '
- dc.b ' - THE RIPPER 0-DAY '
- dc.b ' - X /\ D Warez/Counsel '
- dc.b ' '
- dc.b ' (1-813-799-4094) '
- dc.b ' '
- dc.b ' < LEFT BUTTON >'
- ;Top line leave alone.. it will only half show...
- dc.b ' '
- dc.b ' _ _ '
- dc.b ' ___ /|_) _____/|\________________|\|\ '
- dc.b ' / | |_ / _________ __/___/ _ | | |'
- dc.b '/ \ | | (_/ _ \/ || _// _ | | |'
- dc.b '\_ |\__|_|\_ \__|__/\_ || | / _/|_|_|_|'
- dc.b '==\|========|__|=======\||/==\/Present=='
- dc.b ' Mb'
- dc.b ' '
- dc.b ' Proudly Presents '
- dc.b ' '
- dc.b ' XXXXXXX '
- dc.b ' '
- dc.b ' Released 10-xx-92 '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' < LEFT BUTTON >'
-
- ;Top line leave alone.. it will only half show...
- dc.b ' '
- dc.b ' _ _ '
- dc.b ' ___ /|_) _____/|\________________|\|\ '
- dc.b ' / | |_ / _________ __/___/ _ | | |'
- dc.b '/ \ | | (_/ _ \/ || _// _ | | |'
- dc.b '\_ |\__|_|\_ \__|__/\_ || | / _/|_|_|_|'
- dc.b '==\|== =====|__|=======\||/==\/Present=='
- dc.b ' Mb'
- dc.b ' -*- MEMBER LIST -*- '
- dc.b ' '
- dc.b ' BOOGER ---------> Coder '
- dc.b ' X/\D -----------> Modem Trader '
- dc.b ' THe RiPer ------> Another Trader '
- dc.b ' '
- dc.b ' -*- BBS LIST -*- '
- dc.b ' '
- dc.b ' ViCiOuS CiRcLe -- UhQ - +1-813-7994094 '
- dc.b ' BuRiEd TrEaSuRe - UhQ - +1-813-5354253 '
- dc.b ' MeNtAl HoSpItAl - IhQ - +39-11-6601590 '
- dc.b ' MaDnEsS CoNfUSiOn - +39-2-48401439 '
- dc.b ' HiDDeN PoWer ---- WhQ - ++39-40-350660 '
- dc.b ' GaMbLer --------- IhQ - ++39-40-630998 '
- dc.b ' EmPiRe of PoWeR - IhQ - ++39-40-569973 '
- dc.b ' FuTuRa ---------- IhQ - ++39-40-350580 '
- dc.b ' < LEFT BUTTON >'
-
- ;Top line leave alone.. it will only half show...
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' Both buttons to exit... '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' '
- dc.b ' < LEFT BUTTON >'
-
- dc.b 0 ; This signals the END...
- even
-
-
- textT: dc.b 3,'ONCE AGAIN THIS IS IT.... '
- dc.b 5,'BY NOW YOU ARE SEEING THE PLIGHT OF A PROGRAMER '
- dc.b 4,' JUST WHEN YOU THINK YOU ARE FINISHED..... '
- dc.b 5,' BAM! YOU END UP TOUCHING UP THE PROGRAM EVEN MORE!! '
- dc.b 7,' THE TEXT IS IN SECTIONS OF 25 BY 40.. '
- dc.b 2,' YOU CAn ADD MORE SCREENS JUST REMBER TO MAKE IT 25 BY 40'
- dc.b 1,' SPEED 1...... '
- dc.b 2,' SPEED 2...... '
- dc.b 3,' SPEED 3...... '
- dc.b 4,' SPEED 4...... '
- dc.b 5,' SPEED 5...... '
- dc.b 6,' SPEED 6...... '
- dc.b 7,' SPEED 7...... '
- dc.b 8,' SPEED 8...... '
- dc.b 9,' SPEED 9...... '
- dc.b 10,' SPEED A...... '
- dc.b 11,' SPEED B...... '
- dc.b 12,' SPEED C...... '
- dc.b 13,' SPEED D...... '
- dc.b 14,' SPEED E...... '
- dc.b 15,' SPEED F...... '
- even
-
-
-
- section mod,data_C
- buffer: ds.b 8000
- BPIC: incbin "bt_disk1:demo_03/bt-3-background.raw"
- ds.b 8000
- STR0: incbin "bt_disk1:demo_03/bt-3-stars.RAW"
- font8:incbin "bt_disk1:demo_03/bt-3-font8"
- font16: incbin "bt_disk1:demo_03/bt-3-font16"
- MT_DATA:incbin "bt_disk1:demo_03/mod.muzik_2_go_def_by!"
- ; Change the MOD above...
- ; also change the paths if there is a problem loading..
- section mode,code
-
-
-