EGFX · FUNCTION 3ALPHA · USE AT YOUR OWN RISK
EMIT
Create particles.
PX/PY seed the effect. AMOUNT requests particles; FLAGS bit 0 enables gravity.
Parameters
| Name | Order | Description |
|---|---|---|
PX/PY | 1–4 | Signed particle origin in pixels. |
AMOUNT | 5 | Number requested; limited by the pool. |
FLAGS | 6 | Bit 0 enables gravity. |
BASIC example
Tested listing: basic-demo.bas.
5 REM Set HIMEM before PROCs: reserve host graphics RAM.
10 MODE 1:HIMEM=&2400
15 REM Initialise ROM and effects; t% is animation phase.
20 PROCeginit:PROCegloadsprites("SPRITES",6):PROCegreset:t%=0
30 REPEAT
35 REM Begin clears frame; Master draws on hidden page.
40 PROCegbegin
45 REM Text needs 8-pixel alignment; sprite image is 0-7.
50 PROCegtext("EG GFX FROM BBC BASIC",8,8)
60 PROCegsprite(120+80*SIN(t%/10),110+60*COS(t%/10),t% MOD 8)
62 REM Trail remembers positions; dot uses logical colour 2.
65 PROCegtrail(120+80*SIN(t%/10),110+60*COS(t%/10))
66 REM Negative X tests left-edge clipping.
67 PROCegdot(240,64,2)
68 PROCegsprite(-4,48,4)
70 PROCegline(16,40,280,200,1)
75 REM Emit two particles with gravity, then update/draw pool.
80 PROCegemit(160,176,2,1):PROCegparticles
85 REM Present at vsync; wrap phase. Q quits to MODE 7.
90 PROCegpresent:t%=(t%+1) MOD 256
100 UNTIL INKEY(0)=81
110 MODE 7:END
Assembly example
JSR init_egfx
JSR begin_frame
LDA #3 : JSR eg_call
JSR present_frame
RTS