summaryrefslogtreecommitdiff
path: root/arm9/source
Commit message (Collapse)AuthorAge
* Hide the . and .. directories in file deviceBen Bridle2024-12-16
| | | | | | | The file device shows the special directories . and .. in every directory but the root directory. To hide these, in non-root directories, we reduce the reported number of child entries by 2, and when selecting a child entry we increment the pointer by 2.
* 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.
* Increase cycles evaluated at a time to 65536Ben Bridle2024-12-16
| | | | | Evaluating a greater number of cycles at a time reduces the overhead caused by the Bedrock instance management code.
* Update system metadata to match current specificationBen Bridle2024-12-16
|
* Implement a toggleable keyboard on the lower screenBen Bridle2024-12-16
|
* Fix overflow error in line drawing functionBen Bridle2024-12-16
| | | | Drawing a line with length of 0x4000 or greater was never terminating.
* Prevent null pointer errorsBen Bridle2024-12-16
| | | | | Many functions which used the scr->nds pointer were not first checking that the pointer was not null.
* Prevent overzealous resetting of Bedrock instancesBen Bridle2024-11-22
| | | | | | | A Bedrock instance contains some data which should not be erased, such as the buffer contents for the system name and system author ports, and the identifier for the memory device. This has been stubbed out for now, since it isn't yet needed.
* 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
|
* Simplify clock device implementationBen Bridle2024-11-22
| | | | | Two pairs of generic get/set functions now do the role of the previous pair of custom get/set functions for each timer.
* 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