Files
game-and-watch-patch/Core/Inc/stock_firmware_mario.h
2021-11-15 12:36:34 -08:00

45 lines
1.0 KiB
C

#pragma once
/**
*
*/
void (* const stock_Reset_Handler)(void) = 0x08017a45;
gamepad_t (* const stock_read_buttons)(void) = 0x08010d48 | THUMB;
/**
* Returns `true` if USB power is connected, `false` otherwise.
*/
bool (* const is_usb_connected)(void) = 0x08010dc2 | THUMB;
/**
* Put system to sleep.
*/
void (* const sleep)(void) = 0x080063a0 | THUMB;
/**
* Address for checking to see if we are in {Clock, BALL, SMB1, SMB2}.
* See `get_gnw_mode()`
*/
volatile uint8_t * const gnw_mode_addr = 0x20001044;
/**
* This will most likely be overriden by the patcher.
*/
const uint8_t * const SMB1_ROM = 0x90001e60;
#define SMB1_CLOCK_WORKING 0x24000000
uint8_t * const smb1_clock_working = SMB1_CLOCK_WORKING;
uint8_t * const smb1_clock_graphics_working = SMB1_CLOCK_WORKING + 0x8000;
volatile uint8_t * const ui_draw_status_addr = 0x20010694;
/**
* Function that loads the SMB1 rom into memory and prepares all the sprite
* data.
*/
uint8_t * (* const stock_prepare_clock_rom)(uint8_t *src, size_t len) = 0x08010e10 | THUMB;