; ; ZERO PAGE variables for Stardreamer ; MatrixSize = 24 VBasisSize = 24 .global MatrixOffs :zp .global MatrixZero :zp .global _MatrixTarget :zp .global _MatrixAbsolute :zp .global _VertexSource :zp .global _VertexTarget :zp .global _VertexCount :zp .global Vert1 :zp .global Vert2 :zp .global Vert3 :zp .global HighVert :zp .global RightVert :zp .global LeftVert :zp .global Temp1 :zp .global Temp2 :zp .global Temp3 :zp .global Temp4 :zp .global MovementFactor :zp .global VBRotationVector :zp .global VBRotationAxis1 :zp .global VBRotationAxis2 :zp .global VBSinX :zp .global VBSinY :zp .global VBSinZ :zp .global VBSubCosX :zp .global VBSubCosY :zp .global VBSubCosZ :zp .global VBXY :zp .global VBXZ :zp .global VBYZ :zp .global _MatrixStart :zp .global _MatrixWorkArea :zp .global guardarea :zp .global _Velocity :zp .global _Roll :zp .global _Climb :zp .global TempIndex :zp ; many of these can be combined, but worry about that later .segment "EXTZP" : zeropage MatrixOffs: .byte $00 MatrixZero: .byte $00 _MatrixTarget: .byte $00 _MatrixAbsolute: .word $0000 _VertexSource: .word $0000 _VertexTarget: .word $0000 _VertexCount: .byte $00 Vert1: .byte $00 Vert2: .byte $00 Vert3: .byte $00 HighVert: .byte $00 RightVert: .byte $00 LeftVert: .byte $00 Temp1: .byte $00 Temp2: .byte $00 Temp3: .byte $00 Temp4: .byte $00 MovementFactor: .word $0000 VBRotationVector: .byte $00 VBRotationAxis1: .byte $00 VBRotationAxis2: .byte $00 VBSinX: .word $00 ;these are all used by BRotateX/Z VBSinY: .word $00 VBSinZ: .word $00 VBSubCosX: .word $00 VBSubCosY: .word $00 VBSubCosZ: .word $00 VBXY: .word $00 VBXZ: .word $00 VBYZ: .word $00 _MatrixStart: .res MatrixSize*3 _MatrixWorkArea: .res MatrixSize guardarea: .res 4 _Velocity: .byte $00 _Roll: .byte $00 _Climb: .byte $00 TempIndex: .word $0000