Files
TeslaRel410/sda4/DPL3/VRENDER/PXPL5SUP/PXPLMACR.H
T
CydandClaude Fable 5 db7745fcd0 sda4: commit the Glaze developer hard-drive dump
Un-ignored: the dev drive is the ground truth the restoration and
emulator work constantly reference (DPL3/LIBDPL + VRENDER i860 renderer
source, BT/RP live+dev game trees, VGL_LABS pod boot, scene/audio
content). Kept in-repo for the pod-owner community.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 19:41:15 -05:00

57 lines
1.4 KiB
C++

#ifndef pxplmacr_h
#define pxplmacr_h
#define pxpl5_noop() \
st.l r0, 4(rcoeffptr)
#define pxpl5_noop_inc() \
st.l r0, 4(rcoeffptr); \
adds 4, rcoeffptr, rcoeffptr
#define pxpl5op_0_l(reg,op) \
or (op())&0xffff, r0, reg
#define pxpl5op_0_h(reg,op) \
orh ((op())>>16)&0xffff, reg, reg
#define pxpl5op_0(reg,op) \
pxpl5op_0_l(reg,op); pxpl5op_0_h(reg,op)
#define pxpl5op_1_l(reg,op,a) \
or (op(a))&0xffff, r0, reg
#define pxpl5op_1_h(reg,op,a) \
orh ((op(a))>>16)&0xffff, reg, reg
#define pxpl5op_1(reg,op,a) \
pxpl5op_1_l(reg,op,(a)); pxpl5op_1_h(reg,op,(a))
#define pxpl5op_2_l(reg,op,a,b) \
or (op((a),(b)))&0xffff, r0, reg
#define pxpl5op_2_h(reg,op,a,b) \
orh ((op((a),(b)))>>16)&0xffff, reg, reg
#define pxpl5op_2(reg,op,a,b) \
pxpl5op_2_l(reg,op,(a),(b)); pxpl5op_2_h(reg,op,(a),(b))
#define pxpl5op_3_l(reg,op,a,b,c) \
or (op((a),(b),(c)))&0xffff, r0, reg
#define pxpl5op_3_h(reg,op,a,b,c) \
orh ((op((a),(b),(c)))>>16)&0xffff, reg, reg
#define pxpl5op_3(reg,op,a,b,c) \
pxpl5op_3_l(reg,op,(a),(b),(c)); pxpl5op_3_h(reg,op,(a),(b),(c))
#define pxpl5op_4(reg,op,a,b,c,d) \
or (op((a),(b),(c),(d)))&0xffff, r0, reg; \
orh ((op((a),(b),(c),(d)))>>16)&0xffff, reg, reg
#define pxpl5op_5(reg,op,a,b,c,d,e) \
or (op((a),(b),(c),(d),(e)))&0xffff, r0, reg; \
orh ((op((a),(b),(c),(d),(e)))>>16)&0xffff, reg, reg
#endif