mirror of https://github.com/AxioDL/kabufuda.git
77 lines
3.1 KiB
C++
77 lines
3.1 KiB
C++
#ifndef SRAM_HPP
|
|
#define SRAM_HPP
|
|
|
|
#include <stdint.h>
|
|
|
|
// Modified code taken from libogc
|
|
|
|
/*-------------------------------------------------------------
|
|
system.h -- OS functions and initialization
|
|
Copyright (C) 2004
|
|
Michael Wiedenbauer (shagkur)
|
|
Dave Murphy (WinterMute)
|
|
This software is provided 'as-is', without any express or implied
|
|
warranty. In no event will the authors be held liable for any
|
|
damages arising from the use of this software.
|
|
Permission is granted to anyone to use this software for any
|
|
purpose, including commercial applications, and to alter it and
|
|
redistribute it freely, subject to the following restrictions:
|
|
1. The origin of this software must not be misrepresented; you
|
|
must not claim that you wrote the original software. If you use
|
|
this software in a product, an acknowledgment in the product
|
|
documentation would be appreciated but is not required.
|
|
2. Altered source versions must be plainly marked as such, and
|
|
must not be misrepresented as being the original software.
|
|
3. This notice may not be removed or altered from any source
|
|
distribution.
|
|
-------------------------------------------------------------*/
|
|
|
|
namespace kabufuda
|
|
{
|
|
#pragma pack(push,1)
|
|
union SRAMFlags
|
|
{
|
|
uint8_t Hex;
|
|
struct
|
|
{
|
|
uint8_t : 2;
|
|
uint8_t sound : 1; // Audio settings; 0 = Mono, 1 = Stereo
|
|
uint8_t initialized : 1; // if 0, displays prompt to set language on boot and asks user to set options and time/date
|
|
uint8_t : 2;
|
|
uint8_t boot_menu : 1; // if 1, skips logo animation and boots into the system menu regardless of if there is a disc inserted
|
|
uint8_t progressive : 1; // if 1, automatically displays Progressive Scan prompt in games that support it
|
|
};
|
|
};
|
|
|
|
union SRAM
|
|
{
|
|
uint8_t p_SRAM[64];
|
|
struct // Stored configuration value from the system SRAM area
|
|
{
|
|
uint16_t checksum; // Holds the block checksum.
|
|
uint16_t checksum_inv; // Holds the inverse block checksum
|
|
uint32_t ead0; // Unknown attribute
|
|
uint32_t ead1; // Unknown attribute
|
|
uint32_t counter_bias; // Bias value for the realtime clock
|
|
int8_t display_offsetH; // Pixel offset for the VI
|
|
uint8_t ntd; // Unknown attribute
|
|
uint8_t lang; // Language of system
|
|
SRAMFlags flags; // Device and operations flag
|
|
|
|
// Stored configuration value from the extended SRAM area
|
|
uint8_t flash_id[2][12]; // flash_id[2][12] 96bit memorycard unlock flash ID
|
|
uint32_t wirelessKbd_id; // Device ID of last connected wireless keyboard
|
|
uint16_t wirelessPad_id[4]; // 16-bit device ID of last connected pad.
|
|
uint8_t dvderr_code; // last non-recoverable error from DVD interface
|
|
uint8_t __padding0; // reserved
|
|
uint8_t flashID_chksum[2]; // 8-bit checksum of unlock flash ID
|
|
uint32_t __padding1; // padding
|
|
};
|
|
};
|
|
#pragma pack(pop)
|
|
|
|
extern const SRAM g_SRAM;
|
|
}
|
|
|
|
#endif // SRAM_HPP
|