maxscrdiv EQU 8 max3ddiv EQU 5 playerheight EQU 8*1024 xpos EQU 0 ;l zpos EQU 4 ;l zsinval EQU 8 ;w zcosval EQU 10 ;w ztox EQU 12 ;l xsinval EQU 16 ;w xcosval EQU 18 ;w xspd EQU 20 ;w zspd EQU 22 ;w mapx EQU 24 ;b mapz EQU 25 ;b whichtile EQU 26 ;b xofflight EQU 28 ;w zofflight EQU 30 ;w offlight EQU 32 ;w zlinestore EQU 34 zlinedir EQU 38 zposdir EQU 40 zposstore EQU 42 xdiststore EQU 44 xdistdir EQU 46 zwallfound EQU 48 xlinestore EQU 50 xlinedir EQU 54 xposdir EQU 56 xposstore EQU 58 zdiststore EQU 60 zdistdir EQU 62 xwallfound EQU 64 midoffset EQU 104*4*40 SECTION Scrn,CODE_C OpenLib equ -552 ; Offset for OpenLibrary. CloseLib equ -414 ; Offset for CloseLibrary. vhposr equ $006 vhposrl equ $007 bltcon0 equ $40 bltcon1 equ $42 bltcpt equ $48 bltbpt equ $4c bltapt equ $50 spr0ctl equ $142 spr1ctl equ $14a spr2ctl equ $152 spr3ctl equ $15a spr4ctl equ $162 spr5ctl equ $16a spr6ctl equ $172 spr7ctl equ $17a spr0pos equ $140 spr1pos equ $148 spr2pos equ $150 spr3pos equ $158 spr4pos equ $160 spr5pos equ $168 spr6pos equ $170 spr7pos equ $178 bltdpt equ $54 bltafwm equ $44 bltalwm equ $46 bltsize equ $58 bltcmod equ $60 bltbmod equ $62 bltamod equ $64 bltdmod equ $66 diwstart equ $8e ; Screen hardware registers. diwstop equ $90 ddfstart equ $92 ddfstop equ $94 bplcon0 equ $100 bplcon1 equ $102 col0 equ $180 col1 equ $182 col2 equ $184 col3 equ $186 col4 equ $188 col5 equ $18a col6 equ $18c col7 equ $18e col8 equ $190 col9 equ $192 col10 equ $194 dmacon equ $96 dmaconr equ $002 intenar equ $01c intena equ $09a intreq equ $09c intreqr equ $01e intreqrl equ $01f bpl1pth equ $e0 bpl1ptl equ $e2 bpl2pth equ $e4 bpl2ptl equ $e6 bpl3pth equ $e8 bpl3ptl equ $ea bpl4pth equ $ec bpl4ptl equ $ee bpl5pth equ $f0 bpl5ptl equ $f2 bpl6pth equ $f4 bpl6ptl equ $f6 bpl7pth equ $f8 bpl7ptl equ $fa ** This waits for the blitter to finish before allowing program ** execution to continue. WB MACRO \@bf: btst #6,dmaconr(a6) bne.s \@bf ENDM *Another version for when d6 <> dff000 WBSLOW MACRO \@bf: btst #6,$dff000+dmaconr bne.s \@bf ENDM ** include "macros.i" include "ab3:source/defs.i" jmp stuff endstuff: move.l #$dff000,a6 ; NB V. IMPORTANT: A6=CUSTOM BASE *** Put myself in supervisor mode move.l #blag,$80 trap #0 ; move.l $6c,d0 ; move.l #blag,$6c ; move.w #$8010,intreq(a6) rts saveit: ds.l 10 saveinters: dc.w 0 blag: ; move.w #$10,intreq(a6) ; move.l d0,$6c ; move.w #$7fff,intena(a6) CACHE_ON d2 bsr putinmem move.w #4,putinmem+2 CACHE_CLEAR d2 CACHE_ON d2 bsr putinmem move.w #6,putinmem+2 bsr putinmem rte putinmem: move.w #0,testit rts testit: dc.w 0 old: dc.l 0 stuff: move.l 4.w,a6 ; Get EXECBASE. lea gfxname(PC),a1 ; Point to 'graphics.library' string. moveq #0,d0 ; Ignore version number. jsr OpenLib(a6) ; Open the library. move.l d0,a1 ; Store library address. move.l 38(a1),old ; Store workbench copper address. move.l 4.w,a6 ; Get EXECBASE again. jsr CloseLib(a6) ; Close the library. jmp endstuff gfxname dc.b "graphics.library",0 cnop 0,64 Panel: incbin "PanelRaw" scrntab: ds.b 16 val SET 32 REPT 96 dc.b val,val,val val SET val+1 ENDR ds.b 16 cnop 0,64 scrn: dcb.l 8,$33333333 dc.l 0 dc.l 0 dcb.l 8,$0f0f0f0f dc.l 0 dc.l 0 dcb.l 8,$00ff00ff dc.l 0 dc.l 0 dcb.l 8,$0000ffff dc.l 0 dc.l 0 dc.l 0,-1,0,-1,0,-1,0,-1 dc.l 0 dc.l 0 dc.l -1,-1,0,0,-1,-1,0,0 dc.l 0 dc.l 0 dc.l 0,0,-1,-1,-1,-1,-1,-1 dc.l 0 dc.l 0