Commit Graph

48 Commits

Author SHA1 Message Date
Ry
8cb29104bb fox32rom: Add memory copy/compare routines to the jump table 2022-03-25 18:04:07 -07:00
Ry
dddfd8b706 fox32rom: Add memory compare routines 2022-03-25 18:03:12 -07:00
Ry
6dde85a921 fox32rom: Add read_sector and write_sector 2022-03-25 17:24:53 -07:00
Ry
33408802eb fox32rom: Ensure the menu bar is enabled for MENU_BAR_CLICK_EVENT_TYPE 2022-03-23 15:13:08 -07:00
Ry
b3c5c722dc fox32rom: Add menu_update_event to the jump table (oops) 2022-03-23 11:30:17 -07:00
Ry
de64ea53b8 fox32rom: Add enable_menu_bar and disable_menu_bar 2022-03-23 11:24:01 -07:00
Ry
0d990b375c fox32rom: Add panic routine 2022-03-18 21:59:51 -07:00
Ry
7e239d18e2 fox32rom: Add support for %c in format strings 2022-03-13 22:42:55 -07:00
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