; Doop v1.5 ; By Fraser King ; Output DoopRemix:Doop Include Intuition/Intuition.i Include Intuition/Intuition_lib.i Include Intuition/Screens.i Include Exec/Exec_lib.i Include Exec/Types.i Include Graphics/Graphics_lib.i OPEN_INTUITION move.l _AbsExecBase,_SysBase lea intuition_name,a1 moveq #0,d0 CALLEXEC OpenLibrary move.l d0,_IntuitionBase beq EXIT OPEN_GFX lea graphics_name,a1 moveq #0,d0 CALLEXEC OpenLibrary move.l d0,_GfxBase beq CLOSE_INTUITION CALLEXEC Forbid OPEN_SCREEN lea new_screen,a0 CALLINT OpenScreen move.l d0,Screen_p beq CLOSE_GRAPHICS LOAD_COLOURS add.l #sc_ViewPort,d0 move.l d0,a0 lea colour_table,a1 move.w #colour_table_SIZEOF,d0 CALLGRAF LoadRGB4 OPEN_WINDOW lea new_window,a0 move.l Screen_p,nw_Screen(a0) CALLINT OpenWindow move.l d0,window_p beq CLOSE_SCREEN POINTER move.l window_p,a0 move.l Pointer1,a1 move.b 16,d0 move.b 16,d1 move.b 1,d2 move.b 2,d3 CALLINT SetPointer DRAW_IMAGE move.l window_p,a1 get window address move.l wd_RPort(a1),a0 get rastport address lea image2,a1 move.l #0,d0 no additional offsets move.l #0,d1 CALLINT DrawImage INIT move.l #LIST,BAR+2 move.l #LIST1,BAR1+2 move.l #LIST2,BAR2+2 bsr mt_init bra Down Demo bsr ever bsr draw_image1 bsr bar bsr mt_music rts Down bsr Demo add.l #2,Scr cmp.l #40,Scr beq Up btst #6,$BFE001 Beq End bra Down Up bsr Demo sub.l #2,Scr cmp.l #16,Scr beq Up1 btst #6,$BFE001 Beq End bra Up Up1 bsr Demo sub.l #1,Scr cmp.l #0,Scr beq Down btst #6,$BFE001 Beq End bra Up1 DRAW_IMAGE1 move.l window_p,a1 get window address move.l wd_RPort(a1),a0 get rastport address lea image1,a1 move.l #0,d0 no additional offsets move.l scr,d1 CALLINT DrawImage rts EVER: move.l $DFF004,D0 and.l #$1FF00,D0 cmp.l #$02000,D0 bne.s EVER rts End move.l #0,Scr CALLEXEC Permit bsr mt_end CLOSE_WINDOW move.l window_p,a0 CALLINT CloseWindow CLOSE_SCREEN move.l screen_p,a0 CALLINT CloseScreen CLOSE_GRAPHICS move.l _GfxBase,a1 CALLEXEC CloseLibrary CLOSE_INTUITION move.l _IntuitionBase,a1 CALLEXEC CloseLibrary EXIT clr.l d0 rts BAR move.l LIST,D5 ; loads list cmp.l #255,D5 bne OK move.l #LIST,BAR+2 bra COL OK bsr WAITGER ; moves the bars dbf D5,OK add.l #4,BAR+2 COL bsr RED ; loads the colour BAR1 move.l LIST1,D5 cmp.l #255,D5 bne OK1 move.l #LIST1,BAR1+2 bra COL1 OK1 bsr WAITGER dbf D5,OK1 add.l #4,BAR1+2 COL1 bsr GREEN BAR2 move.l LIST2,D5 cmp.l #255,D5 bne OK2 move.l #LIST2,BAR2+2 bra COL2 OK2 bsr WAITGER dbf D5,OK2 add.l #4,BAR2+2 COL2 bsr BLUE rts WAITGER move.l #175,D4 WW dbf D4,WW rts EVEN RED move.w #$100,$DFF180 bsr WAITGER move.w #$200,$DFF180 bsr WAITGER move.w #$300,$DFF180 bsr WAITGER move.w #$400,$DFF180 bsr WAITGER move.w #$500,$DFF180 bsr WAITGER move.w #$600,$DFF180 bsr WAITGER move.w #$700,$DFF180 bsr WAITGER move.w #$600,$DFF180 bsr WAITGER move.w #$500,$DFF180 bsr WAITGER move.w #$400,$DFF180 bsr WAITGER move.w #$300,$DFF180 bsr WAITGER move.w #$200,$DFF180 bsr WAITGER move.w #$100,$DFF180 bsr WAITGER move.w #$200,$DFF180 bsr WAITGER rts GREEN move.w #$010,$DFF180 bsr WAITGER move.w #$020,$DFF180 bsr WAITGER move.w #$030,$DFF180 bsr WAITGER move.w #$040,$DFF180 bsr WAITGER move.w #$050,$DFF180 bsr WAITGER move.w #$060,$DFF180 bsr WAITGER move.w #$070,$DFF180 bsr WAITGER move.w #$060,$DFF180 bsr WAITGER move.w #$050,$DFF180 bsr WAITGER move.w #$040,$DFF180 bsr WAITGER move.w #$030,$DFF180 bsr WAITGER move.w #$020,$DFF180 bsr WAITGER move.w #$010,$DFF180 bsr WAITGER move.w #$020,$DFF180 bsr WAITGER rts BLUE move.w #$001,$DFF180 bsr WAITGER move.w #$002,$DFF180 bsr WAITGER move.w #$003,$DFF180 bsr WAITGER move.w #$004,$DFF180 bsr WAITGER move.w #$005,$DFF180 bsr WAITGER move.w #$006,$DFF180 bsr WAITGER move.w #$007,$DFF180 bsr WAITGER move.w #$006,$DFF180 bsr WAITGER move.w #$005,$DFF180 bsr WAITGER move.w #$004,$DFF180 bsr WAITGER move.w #$003,$DFF180 bsr WAITGER move.w #$002,$DFF180 bsr WAITGER move.w #$001,$DFF180 bsr WAITGER move.w #$000,$DFF180 rts cnop 0,2 ; variables and static data... _GfxBase ds.l 1 _IntuitionBase ds.l 1 _SysBase ds.l 1 screen_p ds.l 1 window_p ds.l 1 intuition_name dc.b 'intuition.library',0 graphics_name dc.b 'graphics.library',0 Scr ds.l 0 cnop 0,2 new_screen dc.w 0,0 screen top left dc.w 320,256 screen width and height dc.w 3 bitplane depth dc.b 3,0 detail and block pens dc.w 0 no special view modes dc.w CUSTOMSCREEN screen type dc.l 0 no special font dc.l 0 no title dc.l 0 no gagdets dc.l 0 no custom bitmap cnop 0,2 new_window dc.w 0,0 window XY origin dc.w 320,256 width and height dc.b 2,0 detail and block pens dc.l 0 IDCMP flags dc.l BORDERLESS+SMART_REFRESH+ACTIVATE window flags dc.l 0 no gadgets dc.l 0 no CHECKMARK imagery dc.l 0 window title dc.l 0 screen set at run-time dc.l 0 no custom bitmap dc.w 0,0 minimum width and height dc.w 0,0 maximum width and height dc.w CUSTOMSCREEN screen type cnop 0,2 Pointer1 dc.l Sprite ; Definition of pointer sprite dc.b 1 ; X-Offset for active 'bit' dc.b 2 ; Y-Offset for active 'bit' dc.w 0 dc.w 0 ; Colours for sprite pointer dc.w 0 dc.w 2 ; Sensitivity of the pointer cnop 0,2 Colour_Table dc.w $0000 dc.w $0620 dc.w $0731 dc.w $0742 dc.w $0854 dc.w $0976 dc.w $0988 dc.w $0AAA Colour_Table_SIZEOF EQU *-Colour_Table cnop 0,2 Image2 dc.w 20,13 XY origin dc.w 272,50 image width and height dc.w 3 depth dc.l Fraserdat image data dc.b $0007,$0000 plane configurations dc.l Image3 no next image Image1 dc.w 92,155 XY origin dc.w 131,61 image width and height dc.w 3 depth dc.l Doopdat image data dc.b $0007,$0000 plane configurations dc.l 0 no next image Image3 dc.w 100,125 XY origin dc.w 111,21 image width and height dc.w 3 depth dc.l Presentsdat image data dc.b $0007,$0000 plane configurations dc.l 0 no next image cnop 0,2 List dc.l 0,1,2,3,4,6,7,9,10,12,14,16,18,20,22,25,28,31,34,38 dc.l 42,45,48,52,55,57,60,57,55,52,48,42,38,34,28,25,22 dc.l 20,18,16,14,12,10,8,7,5,4,3,2,1,0,255 List1 dc.l 0,1,2,3,4,6,7,9,10,12,14,16,18,20,22,25,28,31,34,38 dc.l 42,44,48,52,55,58,55,52,48,42,38,34,28,25,22,20,18 dc.l 16,14,12,10,8,7,5,4,3,2,1,0,255 List2 dc.l 0,1,2,3,4,5,7,9,12,15,17,20,23,25,27,30,33,36,39,42 dc.l 45,47,50,47,45,42,39,36,33,30,27,25,23,20,17,15,12 dc.l 10,9,8,7,6,5,4,3,2,1,0,255 cnop 0,2 include Source:Doop/protracker.s SECTION IMAGE,DATA_C ;mt_data incbin DoopRemix:mod.doop mt_data incbin Source:Modules/mod.Gonads Doopdat1 include Source:Doop/doopdat.bin