SceOled: Difference between revisions
Jump to navigation
Jump to search
Devnoname120 (talk | contribs) |
Devnoname120 (talk | contribs) No edit summary |
||
Line 35: | Line 35: | ||
SCE_OLED_STATUS_ERROR = 2 | SCE_OLED_STATUS_ERROR = 2 | ||
}; | }; | ||
struct SceOledCmd { | |||
unsigned char cmd, | |||
unsigned char size, | |||
unsigned char buf[size] | |||
} | |||
</source> | |||
A <code>cmd_queue</code> is a contiguous array of <code>SceOledCmd</code> of different sizes. To get the next <code>SceOledCmd</code> of a queue, do: | |||
<source lang="c"> | |||
struct SceOledCmd *cur_cmd = ... | |||
struct SceOledCmd *next_cmd = &(cur_cmd->buf) + cur_cmd->size; | |||
if (next_cmd->cmd == 0) {...} // End of queue | |||
</source> | </source> | ||
Revision as of 17:35, 10 July 2017
Module
Known NIDs
Version | Name | World | Privilege | NID |
---|---|---|---|---|
1.69 | SceOled | Non-secure | Kernel | 0x5410837A |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
1.69 | SceOledForDriver | Non-secure | Kernel | 0x60C7478A |
Types
enum SceOledError { SCE_OLED_ERROR_INVALID_BRIGHTNESS_VALUE = 0x803F0A02, SCE_OLED_ERROR_INVALID_READY_STATUS = 0x803F0A03, SCE_OLED_ERROR_NOT_READY = 0x803F0A04, SCE_OLED_INTERNAL_ERROR = 0x803F0A05 }; enum SceOledStatus { SCE_OLED_STATUS_NOT_READY = 0, SCE_OLED_STATUS_READY = 1, SCE_OLED_STATUS_ERROR = 2 }; struct SceOledCmd { unsigned char cmd, unsigned char size, unsigned char buf[size] }
A cmd_queue
is a contiguous array of SceOledCmd
of different sizes. To get the next SceOledCmd
of a queue, do:
struct SceOledCmd *cur_cmd = ... struct SceOledCmd *next_cmd = &(cur_cmd->buf) + cur_cmd->size; if (next_cmd->cmd == 0) {...} // End of queue
SceOledForDriver
SceOledWaitReady
Version | NID |
---|---|
3.60 | 0x0CC6BCB4 |
int SceOledWaitReady();
Waits until the OLED has been initialized.
SceOledGetBrightness
Version | NID |
---|---|
3.60 | 0x43EF811A |
int SceOledGetBrightness();
Get the wide brightness value (0-65536
).
SceOledSetBrightness
Version | NID |
---|---|
3.60 | 0xF9624C47 |
int SceOledSetBrightness(unsigned int brightness);
Set the brightness (brightness needs to be in the range 0-65536
). 0
means screen turned off, 1
means screen dimmed (like if you wait for a long time without touching your screen).
The brightness has actually 17 different values: 1 special value for brightness=0
, and 16 different values for the rest (real_value=brightness/4096
).
SceOledForDriver_2F0C4B67
Version | NID |
---|---|
3.60 | 0x2F0C4B67 |
int SceOledForDriver_2F0C4B67(u8 cmd, void *buffer, int size);
Sends a command to the OLED?
SceOledForDriver_E30604CC
Version | NID |
---|---|
3.60 | 0xE30604CC |
Dispatches the OLED cmd list (using SceOledForDriver_2F0C4B67).