Nugget
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Classes | Namespaces | Typedefs | Enumerations | Functions
gte-registers.hh File Reference
#include <stdint.h>
#include "psyqo/fixed-point.hh"
#include "psyqo/matrix.hh"
#include "psyqo/vector.hh"
Include dependency graph for gte-registers.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  psyqo::GTE::PackedVec3
 A GTE-compatible short vector. More...
 

Namespaces

namespace  psyqo
 
namespace  psyqo::GTE
 

Typedefs

typedef FixedPoint< 12 > psyqo::GTE::Long
 A GTE-compatible 32-bits fixed point number.
 
typedef FixedPoint< 12, int16_t > psyqo::GTE::Short
 A GTE-compatible 16-bits fixed point number.
 

Enumerations

enum class  psyqo::GTE::Register {
  psyqo::GTE::VXY0 , psyqo::GTE::VZ0 , psyqo::GTE::VXY1 , psyqo::GTE::VZ1 ,
  psyqo::GTE::VXY2 , psyqo::GTE::VZ2 , psyqo::GTE::RGB , psyqo::GTE::OTZ ,
  psyqo::GTE::IR0 , psyqo::GTE::IR1 , psyqo::GTE::IR2 , psyqo::GTE::IR3 ,
  psyqo::GTE::SXY0 , psyqo::GTE::SXY1 , psyqo::GTE::SXY2 , psyqo::GTE::SXYP ,
  psyqo::GTE::SZ0 , psyqo::GTE::SZ1 , psyqo::GTE::SZ2 , psyqo::GTE::SZ3 ,
  psyqo::GTE::RGB0 , psyqo::GTE::RGB1 , psyqo::GTE::RGB2 , psyqo::GTE::RES1 ,
  psyqo::GTE::MAC0 , psyqo::GTE::MAC1 , psyqo::GTE::MAC2 , psyqo::GTE::MAC3 ,
  psyqo::GTE::IRGB , psyqo::GTE::ORGB , psyqo::GTE::LZCS , psyqo::GTE::LZCR ,
  psyqo::GTE::R11R12 , psyqo::GTE::R13R21 , psyqo::GTE::R22R23 , psyqo::GTE::R31R32 ,
  psyqo::GTE::R33 , psyqo::GTE::TRX , psyqo::GTE::TRY , psyqo::GTE::TRZ ,
  psyqo::GTE::L11L12 , psyqo::GTE::L13L21 , psyqo::GTE::L22L23 , psyqo::GTE::L31L32 ,
  psyqo::GTE::L33 , psyqo::GTE::RBK , psyqo::GTE::GBK , psyqo::GTE::BBK ,
  psyqo::GTE::LR1LR2 , psyqo::GTE::LR3LG1 , psyqo::GTE::LG2LG3 , psyqo::GTE::LB1LB2 ,
  psyqo::GTE::LB3 , psyqo::GTE::RFC , psyqo::GTE::GFC , psyqo::GTE::BFC ,
  psyqo::GTE::OFX , psyqo::GTE::OFY , psyqo::GTE::H , psyqo::GTE::DQA ,
  psyqo::GTE::DQB , psyqo::GTE::ZSF3 , psyqo::GTE::ZSF4 , psyqo::GTE::FLAG
}
 The list of available GTE registers. More...
 
enum  psyqo::GTE::Safety { psyqo::GTE::Unsafe , psyqo::GTE::Safe }
 Whether to insert nops after register operations. More...
 
enum class  psyqo::GTE::PseudoRegister {
  psyqo::GTE::Rotation , psyqo::GTE::Light , psyqo::GTE::Color , psyqo::GTE::V0 ,
  psyqo::GTE::V1 , psyqo::GTE::V2 , psyqo::GTE::SV , psyqo::GTE::LV ,
  psyqo::GTE::Translation , psyqo::GTE::ScreenOffset
}
 The list of available GTE pseudo registers. More...
 

Functions

template<>
void psyqo::GTE::writeSafe< Register::VXY0 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::VZ0 > (Short z_)
 
template<>
void psyqo::GTE::writeSafe< Register::VXY1 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::VZ1 > (Short z_)
 
template<>
void psyqo::GTE::writeSafe< Register::VXY2 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::VZ2 > (Short z_)
 
template<>
void psyqo::GTE::writeSafe< Register::OTZ > (Short z_)
 
template<>
void psyqo::GTE::writeSafe< Register::IR0 > (Short x_)
 
template<>
void psyqo::GTE::writeSafe< Register::IR1 > (Short x_)
 
template<>
void psyqo::GTE::writeSafe< Register::IR2 > (Short x_)
 
template<>
void psyqo::GTE::writeSafe< Register::IR3 > (Short x_)
 
template<>
void psyqo::GTE::writeSafe< Register::R11R12 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::R13R21 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::R22R23 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::R31R32 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::R33 > (Short z_)
 
template<>
void psyqo::GTE::writeSafe< Register::L11L12 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::L13L21 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::L22L23 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::L31L32 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::L33 > (Short z_)
 
template<>
void psyqo::GTE::writeSafe< Register::LR1LR2 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::LR3LG1 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::LG2LG3 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::LB1LB2 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeSafe< Register::LB3 > (Short z_)
 
template<>
void psyqo::GTE::writeSafe< Register::ZSF3 > (Short z_)
 
template<>
void psyqo::GTE::writeSafe< Register::ZSF4 > (Short z_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::VXY0 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::VZ0 > (Short z_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::VXY1 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::VZ1 > (Short z_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::VXY2 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::VZ2 > (Short z_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::OTZ > (Short z_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::IR0 > (Short x_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::IR1 > (Short x_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::IR2 > (Short x_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::IR3 > (Short x_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::R11R12 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::R13R21 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::R22R23 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::R31R32 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::R33 > (Short z_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::L11L12 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::L13L21 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::L22L23 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::L31L32 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::L33 > (Short z_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::LR1LR2 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::LR3LG1 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::LG2LG3 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::LB1LB2 > (Short x_, Short y_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::LB3 > (Short z_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::ZSF3 > (Short z_)
 
template<>
void psyqo::GTE::writeUnsafe< Register::ZSF4 > (Short z_)
 
template<>
void psyqo::GTE::writeSafe< PseudoRegister::Rotation > (const Matrix33 &in)
 
template<>
void psyqo::GTE::writeSafe< PseudoRegister::Light > (const Matrix33 &in)
 
template<>
void psyqo::GTE::writeSafe< PseudoRegister::Color > (const Matrix33 &in)
 
template<>
void psyqo::GTE::writeSafe< PseudoRegister::V0 > (const Vec3 &in)
 
template<>
void psyqo::GTE::writeSafe< PseudoRegister::V1 > (const Vec3 &in)
 
template<>
void psyqo::GTE::writeSafe< PseudoRegister::V2 > (const Vec3 &in)
 
template<>
void psyqo::GTE::writeSafe< PseudoRegister::Translation > (const Vec3 &in)
 
template<>
void psyqo::GTE::writeSafe< PseudoRegister::ScreenOffset > (const Vec2 &in)
 
template<>
void psyqo::GTE::writeUnsafe< PseudoRegister::Rotation > (const Matrix33 &in)
 
template<>
void psyqo::GTE::writeUnsafe< PseudoRegister::Light > (const Matrix33 &in)
 
template<>
void psyqo::GTE::writeUnsafe< PseudoRegister::Color > (const Matrix33 &in)
 
template<>
void psyqo::GTE::writeUnsafe< PseudoRegister::V0 > (const Vec3 &in)
 
template<>
void psyqo::GTE::writeUnsafe< PseudoRegister::V1 > (const Vec3 &in)
 
template<>
void psyqo::GTE::writeUnsafe< PseudoRegister::V2 > (const Vec3 &in)
 
template<>
void psyqo::GTE::writeUnsafe< PseudoRegister::Translation > (const Vec3 &in)
 
template<>
void psyqo::GTE::writeUnsafe< PseudoRegister::ScreenOffset > (const Vec2 &in)
 
template<>
PackedVec3 psyqo::GTE::readSafe< PseudoRegister::SV > ()
 
template<>
PackedVec3 psyqo::GTE::readSafe< PseudoRegister::LV > ()
 
template<>
PackedVec3 psyqo::GTE::readUnsafe< PseudoRegister::SV > ()
 
template<>
PackedVec3 psyqo::GTE::readUnsafe< PseudoRegister::LV > ()
 
template<>
void psyqo::GTE::read< PseudoRegister::LV > (Vec3 *ptr)
 
template<>
void psyqo::GTE::read< PseudoRegister::LV > (Vec3 &ptr)