Commit Graph

90 Commits

Author SHA1 Message Date
Ry
4fc5324f2a fox32+fox32rom: Use DMA for the disk controller
Instead of accessing one byte at a time, use a DMA-like system to
read/write a whole sector at a time directly to/from memory.
2022-03-12 13:12:10 -08:00
Ry
e332558e21 fox32rom: Change "Halt" to "Shut Down" 2022-03-11 17:39:41 -08:00
Ry
2df2596b48 fox32+fox32rom: Remove the concept of "fast" and "shared" memory
Instead of having two banks of RAM, just have one bank. This requires
the use of some cursed code, but it's fine :P

Co-authored-by: Lua <lua@foxgirl.dev>
2022-03-11 17:13:18 -08:00
Ry
d2b0f1f47e fox32rom: Remove unused About button in the System menu 2022-03-11 11:48:27 -08:00
ry755
aa5b55613d fox32rom: Clear the backgrond to BACKGROUND_COLOR before booting 2022-02-23 10:51:36 -08:00
ry755
73509767a8 fox32rom: Change the color scheme 2022-02-22 15:01:58 -08:00
ry755
4be89373f6 fox32+fox32rom: Rename "mount"/"unmount" to "insert"/"remove" 2022-02-22 14:05:39 -08:00
ry755
73a109415a fox32rom: Allow "%%" in format strings for printing an actual '%' char 2022-02-22 13:58:15 -08:00
ry755
702cf11558 fox32rom: Use '%' instead of '\' for format strings
I forgot how printf() worked :p
2022-02-22 13:52:29 -08:00
ry755
2bdf6cb583 fox32rom: Show the version number in a "status bar" at the bottom 2022-02-22 13:47:20 -08:00
ry755
72258d063f fox32rom: Start implementing a basic string formatting system 2022-02-22 13:45:54 -08:00
ry755
f17a15b14a fox32rom: Add routines for drawing decimal values 2022-02-21 22:07:02 -08:00
ry755
a7ccb2167e fox32rom: Rename "submenu" to "menu" 2022-02-21 21:26:30 -08:00
ry755
3fae47a36e fox32rom: Move rectangle drawing routines to a generic routine 2022-02-21 21:15:16 -08:00
ry755
5f5771e823 fox32rom: Move text drawing to a generic routine
Instead of having lots of duplicate code for drawing text to overlays
and the background, move all of the actual drawing logic to a generic
routine that can be used to draw text to *any* type of framebuffer.
2022-02-12 20:42:37 -08:00
ry755
62281cf98c fox32rom: Fix incorrect jump in draw_font_tile_to_overlay
This was a typo due to copy-paste, oops :p
2022-02-12 19:39:15 -08:00
ry755
d0847849e1 fox32rom: Sort includes into alphabetical order 2022-02-11 21:31:41 -08:00
ry755
d814684968 fox32rom: Starting versioning at 0.1.0 2022-02-11 21:12:18 -08:00
ry755
436b126184 fox32rom: Reduce size from 32MiB to 512KiB
There was no reason to reserve so much empty space.
2022-02-11 20:57:37 -08:00
ry755
292f460ce1 fox32rom: Rename the "event stack" to "event queue" everywhere 2022-02-11 20:47:19 -08:00
ry755
519d80a0c6 fox32rom: Make all consts uppercase 2022-02-11 20:44:11 -08:00
ry755
041cf206ec fox32rom: Use a FIFO queue for events instead of a LIFO stack
Using a LIFO stack for events was a dumb idea in the first place, this
should've been a FIFO queue from the beginning.

This allows the system to respond to events in the same order that they
are generated, instead of always responding to the newest event first.
2022-02-11 20:27:23 -08:00
ry755
203822e4f6 fox32rom: Remove some outdated "ideas" comments 2022-02-11 20:21:15 -08:00
ry755
fee7b1fa64 fox32rom: Add a small debug routine for printing to the terminal 2022-02-11 19:41:58 -08:00
ry755
e21aae6d08 fox32rom: Add some convenience routines for copying memory 2022-02-11 19:39:33 -08:00
ry755
eb46348730 fox32rom: Only clear the mouse click bit instead of the whole byte 2022-01-31 23:38:53 -08:00
ry755
3a5675ec6d fox32rom: Don't repush the submenu update event if the submenu closed 2022-01-31 19:54:32 -08:00
ry755
9a2c1fcf4a fox32rom: Move disk booting routines to a separate file 2022-01-31 03:37:49 -08:00
ry755
faad082dfb Add unfinished READMEs 2022-01-31 03:11:08 -08:00
ry755
c5df621583 Add LICENSE 2022-01-31 01:51:26 -08:00
ry755
63ce25c1ef fox32rom: Rename "rom.asm" to "main.asm", "rom.def" to "fox32rom.def" 2022-01-30 01:05:42 -08:00
ry755
ce2a571369 fox32rom: Add support for booting a raw binary from a disk 2022-01-30 00:57:54 -08:00
ry755
b8195a079d fox32rom: Don't use the stack pointer for the event stack
Previously this used a very hacky way to push and pop events on the
event stack. This especially caused issues since it disabled and
enabled interrupts, and these routines are called in an interrupt
handler, which breaks things in some cases :p
2022-01-30 00:53:25 -08:00
ry755
7c3794ed45 fox32rom: Make the event stack pointer comparison more understandable 2022-01-30 00:38:58 -08:00
ry755
acf024611b fox32+fox32rom: Change the IO port base to 0x80000000 2022-01-27 18:11:54 -08:00
ry755
f964815203 fox32rom: Change the shared memory base to 0x80000000 2022-01-27 18:02:21 -08:00
ry755
d7fae71821 fox32rom: Fix broken #include_bin paths 2022-01-27 16:35:25 -08:00
ry755
1cc1bce116 fox32rom: Replace all instances of "def." with "data." 2022-01-27 16:33:50 -08:00
ry755
b7df472b08 fox32rom: Use raw font file instead of inc file 2022-01-26 22:37:33 -08:00
ry755
705593697b Initial commit
I should've made a git repo for this much sooner, oops :p
2022-01-26 22:21:21 -08:00