You've already forked hackerlibultra
mirror of
https://github.com/HackerN64/hackerlibultra.git
synced 2026-01-21 10:37:53 -08:00
* set build options * remove COMPARE and MDOERN_* switches * remove tools makefile * AR patching is gone too since we want a fullly decomped version * AR is modern * remove cwd changes * edit my own tool to fix compile errors * compile files generated with my own tool instead of the originals * inline modern_gcc makefile * port mips toolchain detection logic * add util.mk for find-command * remove forced AR order and strip/mdebug removal commands * add -mabi=32 to as flags * formatting changes * add clang format files * formatting changes * make libgultra CI work * install mips gcc too * add format check tools * Add formatting to CI * Add CI (#4) * make libgultra CI work * install mips gcc too * remove make setup --------- Co-authored-by: someone2639 <someone2639@gmail.com> * we don't use clang-tidy * use 120 width for formatting * a * address clang-tidy messing up * test * align consecutive macros and declarations * only align macros for now * SpaceAfterCStyleCast: false * format headers too * remove cast space switch because its false by default * pointers on left * AlignConsecutiveBitFields: true * install clang-format and clang-tidy on gh actions * and clang-tools * show diff in format check tool * make CI work --------- Co-authored-by: someone2639 <someone2639@gmail.com> 🙏
75 lines
2.2 KiB
C
75 lines
2.2 KiB
C
/*---------------------------------------------------------------------*
|
|
Copyright (C) 1998 Nintendo.
|
|
|
|
$RCSfile: os_flash.h,v $
|
|
$Revision: 1.1 $
|
|
$Date: 2000/06/15 06:24:55 $
|
|
*---------------------------------------------------------------------*/
|
|
|
|
#ifndef _OS_FLASH_H_
|
|
#define _OS_FLASH_H_
|
|
|
|
#ifdef _LANGUAGE_C_PLUS_PLUS
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "ultratypes.h"
|
|
#include "os_pi.h"
|
|
|
|
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
|
|
|
|
/*
|
|
* defines for FLASH
|
|
*/
|
|
#define FLASH_START_ADDR 0x08000000
|
|
|
|
#define FLASH_SIZE 0x20000
|
|
|
|
#define FLASH_LATENCY 0x5
|
|
#define FLASH_PULSE 0x0c
|
|
#define FLASH_PAGE_SIZE 0xf
|
|
#define FLASH_REL_DURATION 0x2
|
|
#define DEVICE_TYPE_FLASH 8
|
|
|
|
#define FLASH_VERSION_MX_PROTO_A 0x00c20000
|
|
#define FLASH_VERSION_MX_A 0x00c20001
|
|
#define FLASH_VERSION_MX_C 0x00c2001e
|
|
#define FLASH_VERSION_MX_B_AND_D 0x00c2001d
|
|
#define FLASH_VERSION_MEI 0x003200f1
|
|
|
|
/* OLD_FLASH is MX_PROTO_A, MX_A and MX_C */
|
|
#define OLD_FLASH 0
|
|
/* NEW_FLASH is MX_B_AND_D and MATSUSHITA flash */
|
|
#define NEW_FLASH 1
|
|
|
|
#define FLASH_STATUS_ERASE_BUSY 2
|
|
#define FLASH_STATUS_ERASE_OK 0
|
|
#define FLASH_STATUS_ERASE_ERROR -1
|
|
|
|
#define FLASH_STATUS_WRITE_BUSY 1
|
|
#define FLASH_STATUS_WRITE_OK 0
|
|
#define FLASH_STATUS_WRITE_ERROR -1
|
|
|
|
extern OSPiHandle* osFlashReInit(u8 latency, u8 pulse, u8 page_size, u8 rel_duration, u32 start);
|
|
extern OSPiHandle* osFlashInit(void);
|
|
extern void osFlashReadStatus(u8* flash_status);
|
|
extern void osFlashReadId(u32* flash_type, u32* flash_maker);
|
|
extern void osFlashClearStatus(void);
|
|
extern s32 osFlashAllErase(void);
|
|
extern s32 osFlashSectorErase(u32 page_num);
|
|
extern s32 osFlashWriteBuffer(OSIoMesg* mb, s32 priority, void* dramAddr, OSMesgQueue* mq);
|
|
extern s32 osFlashWriteArray(u32 page_num);
|
|
extern s32 osFlashReadArray(OSIoMesg* mb, s32 priority, u32 page_num, void* dramAddr, u32 n_pages, OSMesgQueue* mq);
|
|
extern void osFlashChange(u32 flash_num);
|
|
extern void osFlashAllEraseThrough(void);
|
|
extern void osFlashSectorEraseThrough(u32 page_num);
|
|
extern s32 osFlashCheckEraseEnd(void);
|
|
|
|
#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */
|
|
|
|
#ifdef _LANGUAGE_C_PLUS_PLUS
|
|
}
|
|
#endif
|
|
|
|
#endif /* !_OS_FLASH_H_ */
|