; A little 'roller' routine Roller bsr RollerMain RollerBorder move.l #RollScreenData,a0 ; draw border... move.l #5,d0 move.l #160,d1 RollerBordrLoop or.b #$02,(a0) ; ...4 'lines' at a time or.b #$20,39(a0) or.b #$02,40(a0) or.b #$20,79(a0) or.b #$02,80(a0) or.b #$20,119(a0) or.b #$02,120(a0) or.b #$20,159(a0) add.l d1,a0 dbf d0,RollerBordrLoop rts RollerMain tst.b RollState ; check if waiting beq Roll_Wait Roll_Roll tst.b RollSpeedCount ; if rolling, check speed beq Roll_RollMess sub.b #1,RollSpeedCount rts ; OH SOD IT - I'M NOT COMMENTING ANY MORE! Roll_RollMess move.b RollSpeed,RollSpeedCount tst.b RollCounter beq Roll_StartWait Roll_Move sub.b #1,RollCounter move.l CurrentRollAddr,a0 move.b (a0),d0 btst #7,d0 bne Roll_MoveItDn bra Roll_MoveItUp Roll_StartWait move.l CurrentRollAddr,a0 move.b 39(a0),RollWaitCounter move.b #0,RollState Roll_Wait tst.b RollWaitCounter beq Roll_StartMove sub.b #1,RollWaitCounter rts Roll_StartMove bsr Roll_NextData bsr Roll_Move move.b #1,RollState move.b #7,RollCounter move.l CurrentRollAddr,a0 move.b (a0),d0 btst #7,d0 bne Roll_StartMoveD sub.b #1,d0 move.b d0,RollSpeed move.b d0,RollSpeedCount rts Roll_StartMoveD move.b #255,d1 sub.b d0,d1 move.b d1,RollSpeed move.b d1,RollSpeedCount rts Roll_MoveItUp move.l #RollScreenData,a0 move.l #RollScreenData+40,a1 move.l #79,d0 Roll_MIU_Loop move.l (a1)+,(a0)+ move.l (a1)+,(a0)+ move.l (a1)+,(a0)+ move.l (a1)+,(a0)+ dbf d0,Roll_MIU_Loop rts Roll_MoveItDn move.l #RollScreenData+960,a0 move.l #RollScreenData+920,a1 move.l #79,d0 Roll_MID_Loop move.l -(a1),-(a0) move.l -(a1),-(a0) move.l -(a1),-(a0) move.l -(a1),-(a0) dbf d0,Roll_MID_Loop rts Roll_GetNewData move.l NewRollAddr,a0 add.l #1,a0 move.l #RollNewData1,a1 move.l #RollNewData2,a2 move.l #RollCharset,d2 move.l #1,d3 move.b #32,d4 moveq.l #0,d5 move.l #37,d0 Roll_GND_Loop1 move.l d5,d1 move.b (a0)+,d1 sub.b d4,d1 asl #3,d1 add.l d2,d1 move.l d1,a3 add.l d3,a1 add.l d3,a2 move.b (a3),(a1) move.b (a3)+,(a2) move.b (a3),40(a1) move.b (a3)+,40(a2) move.b (a3),80(a1) move.b (a3)+,80(a2) move.b (a3),120(a1) move.b (a3)+,120(a2) move.b (a3),160(a1) move.b (a3)+,160(a2) move.b (a3),200(a1) move.b (a3)+,200(a2) move.b (a3),240(a1) move.b (a3)+,240(a2) move.b (a3),280(a1) move.b (a3)+,280(a2) dbf d0,Roll_GND_Loop1 rts Roll_NextData move.l NewRollAddr,CurrentRollAddr add.l #40,NewRollAddr move.l NewRollAddr,a0 tst.b (a0) beq RestartRoller bra Roll_GetNewData RestartRoller move.l #roll0,CurrentRollAddr move.l #roll1,NewRollAddr bra Roll_GetNewData RollZeroData1 dcb.b 40,0 RollNewData1 dcb.b 320,0 RollScreenData dcb.b 960,0 RollNewData2 dcb.b 320,0 RollZeroData2 dcb.b 40,0 RollCharset include "asrc:fontsrc/HsSpace.fontsrc" even CurrentRollAddr dc.l roll0 ; line in center section NewRollAddr dc.l roll1 ; line to roll into top/bottom section RollWaitCounter dc.b 0 ; 0 = do next line RollSpeedCount dc.b 0 ; 0 = advance line 1 pixel RollCounter dc.b 0 ; 0 = start wait RollState dc.b 0 RollSpeed dc.b 0 even roll0 dc.b 002," ",0 roll1 dc.b 002," ",0 dc.b 002," HI DUDES ",200 dc.b 001," ",0 dc.b 001," THIS IS A DEMO BY THE 81ST TRACK ",200 dc.b 001," ",0 dc.b 001," CODED ENTIRELY BY AARDVARK ",100 dc.b 001," ",0 dc.b 001,"AS THE EXTRA SECTION OF THE MUSIC DISK",250 dc.b 001," ",0 dc.b 001," LEFT MOUSE BUTTON TO START 'THE END' ",250 dc.b 001," ",0 dc.b 001,"FIRST OF ALL, LET ME HAND YOU OVER TO",50 dc.b 002," ",0 dc.b 002," THE 81ST TRACK GREETINGS ",150 dc.b 002," ",0 dc.b 002," ",0 dc.b 002," ",0 dc.b 001," RED SECTOR ",50 dc.b 255," ",0 dc.b 255," REBELS ",50 dc.b 001," ",0 dc.b 001," S.A.E. ",50 dc.b 255," ",0 dc.b 255," SCOOPEX ",50 dc.b 001," ",0 dc.b 001," ANARCHY ",50 dc.b 255," ",0 dc.b 255," SILENTS ",50 dc.b 001," ",0 dc.b 001," MAHONEY AND KAKTUS ",50 dc.b 255," ",0 dc.b 255," BUDBRAIN ",50 dc.b 001," ",0 dc.b 001," KEFRENS ",50 dc.b 255," ",0 dc.b 255," ",50 dc.b 001," ",0 dc.b 001," IF YOU FEEL LEFT OUT, DON'T WORRY, ",0 dc.b 001," AS WE MIGHT GREET SOME MORE PEOPLE ",150 dc.b 001," DURING THE REST OF THE ROLLER. ",0 dc.b 001," ",0 dc.b 001," ",100 dc.b 001," ",0 dc.b 001," 10 ",34 dc.b 001," ",0 dc.b 001," 9 ",34 dc.b 001," ",0 dc.b 001," 8 ",34 dc.b 001," ",0 dc.b 001," 7 ",34 dc.b 001," ",0 dc.b 001," 6 ",34 dc.b 001," ",0 dc.b 001," 5 ",34 dc.b 001," ",0 dc.b 001," 4 ",34 dc.b 001," ",0 dc.b 001," 3 ",34 dc.b 001," ",0 dc.b 001," 2 ",34 dc.b 001," ",0 dc.b 001," 1 ",34 dc.b 001," ",0 dc.b 001," 0 ",34 dc.b 001," ",0 dc.b 001," PARTY TIME! ",34 dc.b 001," ",0 dc.b 001," TURN THE MUSIC UP AND GET ON DOWN! ",34 dc.b 254," ",0 dc.b 254," THE MUSIC WAS WRITTEN BY ME AND ",50 dc.b 254," ",0 dc.b 254,"INCLUDES A BRAND NEW SOUND COURTESY OF",50 dc.b 254," ",0 dc.b 254," A YAMAHA PSS-680 AND TWO SMALL WIRES ",50 dc.b 254," ",0 dc.b 254," CONNECTING MIDI OUT TO MIDI IN!! ",50 dc.b 001," ",0 dc.b 001," ",0 dc.b 001," ",0 dc.b 254," ",0 dc.b 254,"--------------------------------------",0 dc.b 254,"AARDVARK OFF POWERSLAVE ON",50 dc.b 254,"--------------------------------------",0 dc.b 254," ",0 dc.b 254," ",0 dc.b 001," ",0 dc.b 001,"POWER TEXT - POWER TEXT - POWER TEXT ",0 dc.b 001," POWER TEXT - POWER TEXT - POWER TEXT ",250 dc.b 254," POWER TEXT - POWER TEXT - POWER TEXT",0 dc.b 254," ",0 dc.b 254," ",50 dc.b 254," ",0 dc.b 254,"--------------------------------------",0 dc.b 254,"POWERSLAVE OFF AARDVARK ON",50 dc.b 254,"--------------------------------------",0 dc.b 254," ",0 dc.b 254," ",0 dc.b 001," ",0 dc.b 001,"ROUND ",0 dc.b 001," AND ",0 dc.b 001," ROUND ",0 dc.b 001," THE ",0 dc.b 001," ROLLER ",0 dc.b 001," GOES ",0 dc.b 001," AND ",0 dc.b 001," NOT ",0 dc.b 001," A ",0 dc.b 001," BLIT ",0 dc.b 001," IN ",0 dc.b 001," SIGHT",0 dc.b 001," ",0 dc.b 001," ",50 dc.b 253," ",0 dc.b 253," AARDVARK SAYS ",0 dc.b 253," ",0 dc.b 253,"NEVER WORK IT OUT WHILE YOU CAN CHEAT!",0 dc.b 253," ",0 dc.b 253," ",0 dc.b 254," ",0 dc.b 254,"--------------------------------------",0 dc.b 254," AND NOW FOR A FEW TECHIE DETAILS ",100 dc.b 003,"--------------------------------------",0 dc.b 003," ",0 dc.b 003,"ROLLER: 24 PIXELS HIGH, DONE BY 68000",100 dc.b 003," ",0 dc.b 003,"ROLLER FONT: RIPPED FROM A SPECCY GAME",100 dc.b 003," ",0 dc.b 003,"PAGED TEXT: 220 CHARS, DONE BY 68000",100 dc.b 003," ",0 dc.b 003,"PAGED TEXT FONT: BASED ON ROLLER FONT",100 dc.b 003," ",0 dc.b 003,"MUSIC: 144K, MADE IN NOISETRACKER 2.0",100 dc.b 003," ",0 dc.b 003,"SCROLL: 44 PIXELS HIGH MAX, 6 FONTS",100 dc.b 003," ",0 dc.b 003,"SCROLL: BLITTED (3 BLITS PER FRAME)",100 dc.b 003," ",0 dc.b 003,"MOST SCROLL FONTS RIPPED FROM A MAC!!!",100 dc.b 003," ",0 dc.b 003,"BOBS: 60 BOBS, (BLITTED, OF COURSE)",100 dc.b 003," ",0 dc.b 003," ",0 dc.b 003," ",0 dc.b 003," ",0 dc.b 002," THANKS TO: ",50 dc.b 002," ",0 dc.b 002," HISOFT FOR DEVPAC V2 ",100 dc.b 002," ",0 dc.b 002," COMMODORE FOR THE AMIGA 500 ",100 dc.b 002," ",0 dc.b 002," APPLE COMPUTERS INC FOR MACINTOSHS ",80 dc.b 001," ",0 dc.b 001," (GREAT SOURCE FOR FONTS) ",20 dc.b 001," ",0 dc.b 001," ",0 dc.b 002," ",0 dc.b 002," BUT WHY AM I TYPING THIS TEXT? ",100 dc.b 004," ",0 dc.b 004," MUST BE BECAUSE I AM AT THE KEYBOARD ",0 dc.b 004," ",0 dc.b 004," ",0 dc.b 001," ",0 dc.b 001," PAY ATTENTION WHILE I AM TYPING! ",0 dc.b 001," ",0 dc.b 255," ",0 dc.b 255," ",0 dc.b 001," ",0 dc.b 001," ",0 dc.b 255," ",250 dc.b 254," ",0 dc.b 254," ",0 dc.b 254," ",0 dc.b 0 even