aboutsummaryrefslogtreecommitdiff
path: root/arm9/source/main.c
Commit message (Collapse)AuthorAge
* Update version to 1.0.0HEADmainBen Bridle2025-09-19
|
* Massive rewriteBen Bridle2025-09-19
| | | | | | | | | | | | | | | This commit rewrites the emulator halfway from scratch to make it easier to change and maintain in the future. The emulator core was rewritten to adhere to the released Bedrock specification (earlier versions implemented an older prototype specification, which is no longer relevant). This commit also adds proper support for running multiple concurrent Bedrock instances. This was previously supported in a limited manner for the on-screen keyboard, but now works for any regular program as well, with switching being performed by pressing the L or R bumper buttons. This is disabled by default, as programs will still need to be baked into the emulator and hand-loaded.
* Tidy codeBen Bridle2024-12-16
|
* Power down the emulator when the main Bedrock instance haltsBen Bridle2024-12-16
| | | | This will need to be changed once multitasking is properly implemented.
* Update system metadata to match current specificationBen Bridle2024-12-16
|
* Implement a toggleable keyboard on the lower screenBen Bridle2024-12-16
|
* Update palette only when screen buffers flipBen Bridle2024-11-22
| | | | | | | | | | | | Previously, any palette updates would be immediately visible, but any screen updates would draw to the back buffer and would only become visible when the back buffer was copied to the front buffer. This could result in a flash of a new palette before the new screen had a chance to draw and become visible. To prevent this, a second palette was created to receive palette updates, with the updates only being copied to the visible palette when the screen buffers flip.
* Implement file deviceBen Bridle2024-11-22
| | | | | | | There is still a small amount of work to be done on the file device: - Read file size only when requested - Hide '.' and '..' directories - Resize files
* Implement name and author ports in system deviceBen Bridle2024-11-22
|
* Implement memory deviceBen Bridle2024-11-19
| | | | | | | | | | | | | The memory device is fully implemented, with 3MB of heap memory. This commit is a bit messy, additional changes are: - The program memory and program counter in each Bedrock struct have been moved to a dedicated struct to prevent a name collision with the memory device - The run_bg and debug functions have been moved to core.c and debug.c - The blank screen colour has been changed back to black - No second program runs on the sub screen by default - The number of Bedrock instances to run has been parameterized
* Initial commitBen Bridle2024-11-18