diff options
| author | XaviDCR92 <xavi.dcr@gmail.com> | 2017-05-01 23:05:51 +0200 |
|---|---|---|
| committer | XaviDCR92 <xavi.dcr@gmail.com> | 2017-05-01 23:05:51 +0200 |
| commit | 83b4684d7cb9934371909b522d6daa0f16cc0396 (patch) | |
| tree | 39fa1ca99061b12203dae50898a2b3dec3b5f276 /Source/System.h | |
| parent | 8629c228db1fe1f206d409356ad75995060a0ca8 (diff) | |
* Added some comments on System.
* New routine PadOneKeySinglePress() and PadTwoKeySinglePress().
* Temp waypoints now turn red when colliding with an aircraft or with a previously existing waypoint.
* When loading files, GPU operation is finishedbefore calling fopen. Also, I_MASK is disabled just in case.
* For PLT files, actual tile needs to be set instead of parking number.
Diffstat (limited to 'Source/System.h')
| -rw-r--r-- | Source/System.h | 40 |
1 files changed, 35 insertions, 5 deletions
diff --git a/Source/System.h b/Source/System.h index cbb22ea..b6ed48b 100644 --- a/Source/System.h +++ b/Source/System.h @@ -23,78 +23,108 @@ // Calls PSXSDK init routines void SystemInit(void); + // Sets default VSync (only sets flag to true and increases global_timer) void ISR_SystemDefaultVBlank(void); + // Calls srand() using current global_timer value as seed void SystemSetRandSeed(void); + // Returns VSync flag value bool SystemRefreshNeeded(void); -// Tells whether CPU->GPU DMA transfer is ready -bool SystemDMAReady(void); -// Tells whether CPU->GPU DMA transfer is busy -bool SystemDMABusy(void); + // Loads a file into system's internal buffer bool SystemLoadFile(char *fname); + // Loads a file into desired buffer bool SystemLoadFileToBuffer(char * fname, uint8_t * buffer, uint32_t szBuffer); + // Clears VSync flag after each frame void SystemDisableScreenRefresh(void); + // Returns file buffer address uint8_t * SystemGetBufferAddress(void); + // Tells whether srand() has been called using a pseudo-random value bool SystemIsRandSeedSet(void); + // Stops program flow during X cycles void SystemWaitCycles(uint32_t cycles); + // To be called from GfxDrawScene after each cycle void SystemRunTimers(void); + // 1 cycle-length flag with a frequency of 1 Hz bool System1SecondTick(void); + // 1 cycle-length flag with a frequency of 2 Hz bool System500msTick(void); + // 1 cycle-length flag with a frequency of 10 Hz bool System100msTick(void); + // Returns random value between given minimum and maximum values uint32_t SystemRand(uint32_t min, uint32_t max); + // Increases global timer by 1 step void SystemIncreaseGlobalTimer(void); + // Sets value to emergency mode flag void SystemSetEmergencyMode(bool value); + // Returns emergency mode flag state bool SystemGetEmergencyMode(void); + // (Experimental) uint64_t SystemGetGlobalTimer(void); + // Returns whether critical section of code is being entered -bool SystemIsBusy(void); +volatile bool SystemIsBusy(void); + // Returns whether indicated value is contained inside buffer bool SystemContains_u8(uint8_t value, uint8_t * buffer, size_t sz); + // Overload for uint16_t bool SystemContains_u16(uint16_t value, uint16_t * buffer, size_t sz); + // Creates a timer instance wiht a determined value and associates it to a callback // Once time expires, callback is automatically called right after GfxDrawScene(). TYPE_TIMER * SystemCreateTimer(uint32_t seconds, bool rf, void (*timer_callback)(void) ); + // Reportedly, sets all timer data to zero. void SystemResetTimers(void); + // To be called every cycle (i.e.: inside GfxDrawScene() ). void SystemUserTimersHandler(void); + // Sets timer remaining time to initial value. void SystemTimerRestart(TYPE_TIMER * timer); + // Flushes a timer pointed to by timer. void SystemTimerRemove(TYPE_TIMER * timer); + // Compares two arrays of unsigned short type. bool SystemArrayCompare(unsigned short * arr1, unsigned short * arr2, size_t sz); + // Prints stack pointer address using dprintf() void SystemPrintStackPointerAddress(void); + // Checks if a 32-bit pattern set at the end of the stack has been // accidentally modified by program flow. void SystemCheckStack(void); + // Looks for string "str" inside a string array pointed to by "array". // Returns index inside string array on success, -1 if not found. int32_t SystemIndexOfStringArray(char * str, char ** array); + // Function overload for uint16_t data type. int32_t SystemIndexOf_U16(uint16_t value, uint16_t * array, uint32_t sz); + // Function overload for uint8_t data type. int32_t SystemIndexOf_U8(uint8_t value, uint8_t * array, uint32_t from, uint32_t sz); +void SystemCyclicHandler(void); + /* ************************************** * Global Variables * * **************************************/ |
