Commit Graph

211 Commits (main)

Author SHA1 Message Date
Ry 2688e8082d kernel/task: Add comment saying registers are not saved across yields 2023-02-02 16:21:29 -08:00
Ry e83676567e
Merge pull request #15 from neuschaefer/dev
Serial terminal proof-of-concept
2023-02-02 02:07:43 -08:00
Ry ec79dcf030
Merge pull request #14 from neuschaefer/dev
Make use of data.strz
2023-02-02 01:49:26 -08:00
jn bef0aa9700 Add serial.fxf: Serial terminal 2023-02-02 04:08:18 +01:00
jn d03d49ac44 Move scancode-to-ASCII conversion into the terminal 2023-02-02 04:07:57 +01:00
jn ffdda5eaca Make use of data.strz
The filesystem image is the same before and after this commit:

$ sha256sum fox32os-orig.img fox32os.img
abc77bd6310b8eb6bcde0a8a442ca8bab071307a6cf5155ea606578435f77d27  fox32os-orig.img
abc77bd6310b8eb6bcde0a8a442ca8bab071307a6cf5155ea606578435f77d27  fox32os.img


The conversion was performed with a few sed commands:

find -name '*.asm' | xargs sed -i -e 's/data.str \("[^"]*"\) data.8 0$/data.strz \1/g'
find -name '*.asm' | xargs sed -i -e 's/data.str \("[^"]*"\) data.8 0 /data.strz \1 /g'
find -name '*.asm' | xargs sed -i -e 's/data.str \("[^"]*"\) data.8 0x00 /data.strz \1 /g'
2023-02-02 03:03:07 +01:00
Ry 5708227a61 kernel/main: Detect if disk 1 is a valid FXF binary before running it 2023-02-01 15:43:21 -08:00
Ry e1da81f314
Merge pull request #13 from neuschaefer/dev
Stream overhaul
2023-02-01 15:21:45 -08:00
jn 8fe903a9ff kernel/vfs: Don't ignore buffer length in read(stream) 2023-02-02 00:00:37 +01:00
jn 73eee3e599 kernel/vfs: Don't ignore buffer length in write(stream) 2023-02-02 00:00:37 +01:00
Ry d94611a250
Merge pull request #12 from neuschaefer/dev
Misc.
2023-02-01 14:55:21 -08:00
jn 46f44cdf30 Makefile: simplify fox32os.img rule 2023-02-01 23:41:30 +01:00
jn c9457baa42 Let users provide their own startup.cfg without pain
Users can now edit base_image/startup.cfg without git paying attention
to it. Typing `make` and using the default works, too.
2023-02-01 23:41:30 +01:00
jn 38ccc043c1 Add fox32os convenience script
It invokes the fox32 emulator with fox32os.img in the first disk slot.
2023-02-01 23:41:30 +01:00
Ry 9c55c79d85
Merge pull request #11 from neuschaefer/dev
Add file type check to parse_fxf_binary
2023-02-01 13:41:08 -08:00
jn 205e00dc08 Add file type check to parse_fxf_binary 2023-02-01 20:07:09 +01:00
Ry 5b355a34b9 sh: `help` should list commands in alphabetical order 2023-01-31 22:38:14 -08:00
Ry 652c3b70c2 sh: Make `help` have a little bit of color 2023-01-31 22:03:40 -08:00
Ry cae9ffdd28 terminal: Support multiple colors 2023-01-31 22:03:24 -08:00
Ry 2a8eb5b267 sh: Properly handle `dir` on an empty disk
Fixes issue #8.
2023-01-30 14:16:59 -08:00
Ry 01fd9a5eac
Merge pull request #10 from neuschaefer/dev
sh: Add shutdown command
2023-01-30 13:06:31 -08:00
jn 5641fc6987 sh: Add shutdown command 2023-01-30 18:56:50 +01:00
Ry 75a10ffdc3 kernel: Show an error if running on top of an existing kernel 2023-01-25 18:13:45 -08:00
Ry 94a6a734a4 Update screenshot 2023-01-24 17:22:39 -08:00
Ry 650c2f8ce5 Run barclock on startup 2023-01-24 17:19:48 -08:00
Ry d8c0874b7c barclock: Fix crash when there is no active window 2023-01-24 17:19:17 -08:00
Ry 0c3a0afc5f kernel: Make `get_active_window_struct` return 0 if no active window 2023-01-24 17:18:12 -08:00
Ry cf5850b668 barclock: Show active window title in the menu bar 2023-01-24 17:11:14 -08:00
Ry cba8b52677 kernel: Add `get_active_window_struct` 2023-01-24 17:10:48 -08:00
Ry 70cecc8667 kernel: Always show the menu bar, even if the active window has none 2023-01-24 17:09:34 -08:00
Ry c3b68946f5 launcher: Initial commit 2023-01-24 17:08:55 -08:00
Ry 2a4b5bef9b kernel: Implement basic messageboxes 2023-01-22 13:47:55 -08:00
Ry 5e961c5c73
Merge pull request #6 from neuschaefer/main
Makefile: Declare all dependencies
2023-01-21 15:22:06 -08:00
jn a0d1a78c1c Makefile: Declare all dependencies
Test with:

  find -name '*.asm' | while read f; do echo $f && touch $f && make | grep 'fox32asm 0.' || break; done

If the last line of output is a filename, that means this file isn't tracked as
a dependency.
2023-01-21 12:00:09 +01:00
Ry 9e256a7e3c sh: Move to an application outside of the kernel
Fixes issue #3
2023-01-21 00:17:10 -08:00
Ry 9a0208fe96 terminal: Ignore CTRL key presses 2023-01-20 23:30:43 -08:00
Ry 3901d490d0 Add note about prebuilt images to the README 2023-01-20 19:03:03 -08:00
Ry 9eba47b2bb Update screenshot 2023-01-20 18:58:00 -08:00
Ry c043316fa1 Implement RYFS write support in the VFS 2023-01-20 18:53:16 -08:00
Ry e577446e55 Don't attempt to relocate if none are required
Fixes issue #4
2023-01-20 18:25:15 -08:00
Ry 634e9ca5b3 Ignore bootloader.bin 2023-01-20 18:14:17 -08:00
Ry b84cbb1863
Merge pull request #5 from neuschaefer/main
Makefile and GitHub CI
2023-01-20 18:04:51 -08:00
jn 0345affebe Add GitHub CI configuration 2023-01-21 01:41:58 +01:00
jn b9fc96b161 Replace build.sh with a Makefile 2023-01-20 15:48:53 +01:00
Ry aad731da31 foxpaint: Add a very basic color picker window using button widgets 2023-01-18 17:55:12 -08:00
Ry d072478152 New bottom bar style 2022-12-29 12:02:03 -08:00
Ry 1e6e925d08 kernel: Don't crash when all windows are closed 2022-12-28 00:05:15 -08:00
Ry 1d70da41a9 foxpaint: Initial commit 2022-12-27 18:10:58 -08:00
Ry 8ac2d2c0d4 kernel: Add a very basic GUI widget system 2022-12-27 18:01:55 -08:00
Ry 5c1a000e24 Move user applications into applications directory 2022-12-26 19:05:27 -08:00