| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
This will need to be changed once multitasking is properly implemented.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|