forked from WartyMN/F256-FileManager
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoverlay_startup.h
85 lines (62 loc) · 3.67 KB
/
overlay_startup.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/*
* overlay_startup.h
*
* Created on: Mar 11, 2024
* Author: micahbly
*/
#ifndef OVERLAY_STARTUP_H_
#define OVERLAY_STARTUP_H_
/* about this class
*
* Routines for starting up f/manager, including show splash screen(s)
* Some code here originated in sys.c and other places before being moved here
*
*/
/*****************************************************************************/
/* Includes */
/*****************************************************************************/
#include "app.h"
#include "text.h"
#include <stdint.h>
/*****************************************************************************/
/* Macro Definitions */
/*****************************************************************************/
/*****************************************************************************/
/* Enumerations */
/*****************************************************************************/
/*****************************************************************************/
/* Structs */
/*****************************************************************************/
/*****************************************************************************/
/* Public Function Prototypes */
/*****************************************************************************/
// load strings into memory and set up string pointers
void Startup_LoadString(void);
// clear screen and show app (foenix) logo, and machine logo if running from flash
void Startup_ShowLogo(void);
// enable the random number generator, and seed it
void Startup_InitializeRandomNumGen(void);
//! Initialize the system (primary entry point for all system initialization activity)
//! Starts up the memory manager, creates the global system object, runs autoconfigure to check the system hardware, loads system and application fonts, allocates a bitmap for the screen.
bool Sys_InitSystem(void);
//! Find out what kind of machine the software is running on, and configure the passed screen accordingly
//! Configures screen settings, RAM addresses, etc. based on known info about machine types
//! Configures screen width, height, total text rows and cols, and visible text rows and cols by checking hardware
//! @param the_system: valid pointer to system object
//! @return Returns false if the machine is known to be incompatible with this software.
bool Sys_AutoConfigure(void);
//! Find out what kind of machine the software is running on, and determine # of screens available
//! @param the_system: valid pointer to system object
//! @return Returns false if the machine is known to be incompatible with this software.
bool Sys_AutoDetectMachine(void);
//! Detect the current screen mode/resolution, and set # of columns, rows, H pixels, V pixels, accordingly
//! @param the_screen: valid pointer to the target screen to operate on
//! @return returns false on any error/invalid input.
bool Sys_DetectScreenSize(void);
//! Set the left/right and top/bottom borders
//! This will reset the visible text columns as a side effect
//! @param border_width: width in pixels of the border on left and right side of the screen. Total border used with be the double of this.
//! @param border_height: height in pixels of the border on top and bottom of the screen. Total border used with be the double of this.
//! @return returns false on any error/invalid input.
void Sys_SetBorderSize(uint8_t border_width, uint8_t border_height);
#endif /* OVERLAY_STARTUP_H_ */