Files
TeslaRel410/sda4/DPL3/VRENDER/PXPL5SUP/REGISTER.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

130 lines
2.5 KiB
C++

#ifndef register_h
//
// integer registers first
//
// icoeff_p = vpx ( icoeff_p, codeword, opcode0, conn, backwards );
// icoeff_p = vpx ( icoeff_p, codeword, opcode0, conn, backwards );
//
#define iparam1 r16
#define iparam2 r17
#define iparam3 r18
#define iparam4 r19
#define iparam5 r20
//
#define rv1 iparam3
#define rv2 iparam4
#define rv3 r20
#define needs_texture r21
#define rcoeffptr r22
#define rcoeffsave r23
#define rvertex r24
#define rcoeff_pp r25
#define rcoeffmax r26
#define n_polygons r27
#define extra_stuff r28
#define itmp1 r29
#define itmp2 r30
#define lbin r4
#define xbin r5
#define ycnt r6
#define xcnt r7
#define usage r8
#define bin r9
#define opcode0 r10
#define backwards r11
#define iminx r12
#define iminy r13
#define imaxx r14
#define imaxy r15
// iminx iminy etc only used early in binitization
#define n_verts usage
#define rvert bin
//
// fp registers
//
//
// screen-space minimax for binitizing
// PASS NO FLOAT PARAMETERS IN HERE OR YOU ARE S T U F F E D
//
#define fparam1 f8
#define fparam2 f9
#define fparam3 f10
#define fminx f8
#define fminy f9
#define fmaxx f10
#define fmaxy f11
//
// some sphere-only registers
//
#define fxc f12
#define fyc f13
#define fzc f14
#define frad f15
#define flx f16
#define fly f17
#define flz f20
#define frz f21
#define ftwo ftexscale
#define fr2 fminz
#define fx2y2 f22
#define fr12 f23
#define fK f24
#define frinvlz f25
// re-use lz - not needed after load
#define fxtwo ftmp7
#define fytwo ftmp8
#define fminus1 ftmp9
// x, y coords for tris/quads
#define fx1 f12
#define fy1 f13
#define fx2 f14
#define fy2 f15
#define fx3 f16
#define fy3 f17
#define fx4 f18
#define fy4 f19
// repeated expressions fx32, fx13, fx21, fC
#define fx32 f20
#define fx13 f21
#define fx21 f22
#define fC f23
#define fy31 fx13
#define fy12 fx21
#define fy23 fx32
// screen-space function values for planarizing
#define fv1 f24
#define fv2 f25
#define fv3 f26
#define ftmp1 f28
#define ftmp2 f29
#define ftmp3 f30
#define ftmp4 f31
#define ftmp5 f27
#define ftmp6 f4
#define ftmp7 f6
#define ftmp8 f7
#define ftmp9 ftmp4
#define fmaterial f3
#define ftexscale f2
#define fminz f5
#else
#endif