home *** CD-ROM | disk | FTP | other *** search
- *****************************************************************************
- * *
- * Standard-makros rev. 0.3a am 8.7.1991 *
- * rev. 0.4a EZ am 26.10.1991 *
- * rev. 0.5a Int am 15.10.1991 *
- * rev. 0.6 gfx am 13.12.1991 *
- * *
- * *
- * *
- *****************************************************************************
- * 13.12: nbm newbitmap : neue bitmap allokieren
- * fbm freebitmap : Bitmap freigeben
- *
- PUBLIC equ 1
- CHIP equ 2
- FAST equ 4
- CLEAR equ $10000
-
- push macro
- move.l \1,-(a7)
- endm
-
- pop macro
- move.l (a7)+,\1
- endm
- DSEG macro
- endm
- saveall macro
- movem.l d0-7/a0-6,-(sp)
- endm
- getall macro
- movem.l (sp)+,d0-7/a0-6
- endm
-
- m_alloc macro ; type length
- getexe
- move.l \1,d1
- move.l \2,d0
- call allocmem
- endm
- m_free macro ; memory length
- getexe
- move.l \1,a1
- move.l \2,d0
- call freemem
- endm
-
- windowsup macro
- wd_rastport equ 50
- wd_userport equ 86
- endm
- ib_activewindow equ $34
- ib_activescreen equ $38
- ib_firstscreen equ $3c
- pr_cli equ $ac
- pr_msgport equ $5c
-
- incmodint macro
- include "dh0:devpac/include/modint.i"
- endm
-
- ll macro
- dc.l \2
- endm
-
- ww macro
- dc.w \2
- endm
-
- bb macro
- dc.b \2
- endm
-
- call macro
- jsr _lvo\1(a6)
- endm
-
-
- elea macro
- lea \1,a0
- move.l a0,\2
- endm
- emove macro
- lea \2,a0
- move.l \1,(a0)
- endm
-
- incall macro
- include "dh0:devpac/include/exec/exec_lib.i"
- include "dh0:devpac/include/graphics/graphics_lib.i"
- include "dh0:devpac/include/intuition/intuition_lib.i"
- include "dh0:devpac/include/libraries/dos_lib.i"
- endm
- incarp macro
- include "dh0:devpac/include/arp_lib.i"
- endm
-
- incexe macro
- include "dh0:devpac/include/exec/exec_lib.i"
- endm
-
- opendos macro
- include "dh0:devpac/include/libraries/dos_lib.i"
- lea dosname(pc),a1
- jsr _lvooldopenlibrary(a6)
- move.l d0,dosbase
- endm
-
- opengfx macro
- include "dh0:devpac/include/graphics/graphics_lib.i"
- lea gfxname(pc),a1
- jsr _lvooldopenlibrary(a6)
- move.l d0,gfxbase
- endm
-
- openint macro
- include "dh0:devpac/include/intuition/intuition_lib.i"
- lea intname(pc),a1
- jsr _lvooldopenlibrary(a6)
- move.l d0,intbase
- endm
-
- opendfl macro
- include "dh0:devpac/include/libraries/diskfont_lib.i"
- lea dflname(pc),a1
- jsr _lvooldopenlibrary(a6)
- move.l d0,dflbase
- endm
-
- openreq macro
- include "dh0:devpac/include/libraries/reqtools_lib.i"
- lea reqname(pc),a1
- jsr _lvooldopenlibrary(a6)
- move.l d0,reqbase
- endm
-
- openarp macro
- lea arpname(pc),a1
- jsr _lvooldopenlibrary(a6)
- move.l d0,arpbase
- endm
-
- getdos macro
- ifd EZ
- move.l _DosBase(a5),a6
- endc
- ifnd EZ
- move.l dosbase(pc),a6
- endc
- endm
-
- getint macro
- ifd EZ
- move.l _IntuitionBase(a5),a6
- endc
- ifnd EZ
- move.l intbase(pc),a6
- endc
- endm
-
- getgfx macro
- ifd EZ
- move.l _GfxBase(a5),a6
- endc
- ifnd EZ
- move.l gfxbase(pc),a6
- endc
- endm
-
- getdfl macro
- ifd EZ
- move.l _DiskFontBase(a5),a6
- endc
- ifnd EZ
- move.l dflbase(pc),a6
- endc
- endm
-
- getarp macro
- ifd EZ
- move.l _ArpBase(a5),a6
- endc
- ifnd EZ
- move.l arpbase(pc),a6
- endc
- endm
-
- getexe macro
- move.l 4.w,a6
- endm
-
- closedos macro
- move.l dosbase(pc),a1
- jsr _lvocloselibrary(a6)
- endm
-
- closegfx macro
- move.l gfxbase(pc),a1
- jsr _lvocloselibrary(a6)
- endm
-
- closeint macro
- move.l intbase(pc),a1
- jsr _lvocloselibrary(a6)
- endm
-
- closearp macro
- move.l arpbase(pc),a1
- jsr _lvocloselibrary(a6)
- endm
-
- closereq macro
- move.l reqbase(pc),a1
- jsr _lvocloselibrary(a6)
- endm
-
- closedfl macro
- move.l dflbase(pc),a1
- jsr _lvocloselibrary(a6)
- endm
-
- intstuff macro
- intbase dc.l 0
- intname dc.b 'intuition.library',0
- even
- endm
-
- dosstuff macro
- dosbase dc.l 0
- dosname dc.b 'dos.library',0
- even
- endm
-
- gfxstuff macro
- gfxbase dc.l 0
- gfxname dc.b 'graphics.library',0
- even
- endm
-
- arpstuff macro
- arpbase dc.l 0
- arpname dc.b 'arp.library',0
- even
- endm
-
- dflstuff macro
- dflbase dc.l 0
- dflname dc.b 'diskfont.library',0
- even
- endm
-
- reqstuff macro
- reqbase dc.l 0
- reqname dc.b 'reqtools.library',0
- even
- endm
-
- ** Used to save some mem using EZAsm
-
- EZintstuff macro
- intname dc.b 'intuition.library',0
- even
- endm
-
- EZdosstuff macro
- dosname dc.b 'dos.library',0
- even
- endm
-
- EZgfxstuff macro
- gfxname dc.b 'graphics.library',0
- even
- endm
-
-
-
-
- nbm macro ; d0= depth d1= width d2= height
- newbitmap
- movem.l d1-5/a0-3/a6,-(sp)
- moveq.w #0,d4
- move.b d0,d4
- move.w d1,d5
- getexe
- move.l #$10001,d1
- moveq.l #48,d0
- call allocmem
- move.l d0,a2
- move.w d4,d0
- move.w d5,d1
- move.l a2,a0
- getgfx
- call initbitmap
- subq.b #1,d4 ;wegen dbf
- move.l a2,a3
- addq.l #8,a2
- ; getgfx
- 1$ move.w d5,d0
- move.w d2,d1
- call allocraster
- tst.l d0
- beq.s nbm_error
- move.l d0,(a2)+
- move.l d0,a1
- move.w d2,d0
- swap d0
- move.w d5,d0
- lsr.w #3,d0
- moveq.w #2,d1
- call bltclear
-
-
- dbf d4,1$
- move.l a3,d0
- bra.s nbm_ok
- nbm_error
- move.l a3,d0
- bsr freebitmap
- moveq.l #0,d0
- nbm_ok
- movem.l (sp)+,d1-5/a0-3/a6
- rts
-
- endm
-
- fbm macro
- freebitmap ; d0= bitmap
- movem.l d0-2/a0-3/a6,-(sp)
- move.l d0,a2
- move.l d0,a3
- moveq.w #0,d2
- move.b 5(a2),d2
- subq.b #1,d2
- addq.l #8,a3
- getgfx
- 1$ tst.l (a3)
- beq.s 2$
- move.l (a3),a0
- clr.l (a3)+
- move.w (a2),d0
- lsl.w #3,d0
- move.w 2(a2),d1
- call freeraster
- dbf d2,1$
- 2$ getexe
- move.l a2,a1
- moveq.l #48,d0
- call freemem
- movem.l (sp)+,d0-2/a0-3/a6
- rts
-
- endm
-
-