Player Missile Module#
;********************************
;** Player-Missile Modul **
;** PHOENIX SOFTCREW 1990 **
;** **
;** "PMGR.INC" **
;********************************
PROC PM_Init ()
BYTE ramtop=$6A,sdmctl=$22F,
gractl=$D01D,pmbase=$D407
CARD pmadr=$2D5
ramtop==-16
sdmctl==%$1C
pmadr=ramtop*$100+$400
pmbase=ramtop
gractl=3
Zero (ramtop*$100,$800)
RETURN
PROC PM_Set ()
BYTE sdmctl=$22F
sdmctl==%$1C
RETURN
PROC P_Pos (BYTE num,xpos,ypos,CARD shape,BYTE len)
BYTE ARRAY hpos=$D000
CARD pmadr=$2D5,adr
adr=pmadr
adr==+num*$100+ypos
MoveBlock (adr,shape,len)
hpos(num)=xpos
RETURN
PROC P_Size (BYTE num,size)
BYTE ARRAY ps=$D008
ps(num)=size
RETURN
PROC PM_Col (BYTE num,hue,lum)
BYTE ARRAY pcol=$2C0
pcol (num)=hue*$10+lum
RETURN
PROC M_Pos (BYTE num,xpos,ypos,CARD shape,len)
BYTE ARRAY hpos=$D004
CARD pmadr=$2D5,adr
adr=pmadr-$100
adr==+ypos
MoveBlock (adr,shape,len)
hpos=xpos
RETURN
PROC P_Clear (BYTE num)
CARD pmadr=$2D5
Zero (pmadr+num*$100,$100)
RETURN
PROC PM_Restore ()
BYTE u
BYTE ARRAY hpos=$D000
FOR u=0 TO 8
DO
hpos(u)=0
OD
RETURN