Ry
8bea7c39b4
kernel + sh: Another stream overhaul
...
Certain streams can now be opened by name by prefixing the name
with a colon (':'). The only supported named stream at the moment
is :fb, which streams to/from the background framebuffer.
A new syscall called `get_size` was also added, which should be used
instead of `ryfs_get_size`. This new syscall supports getting the size
of streams.
2023-03-30 22:18:23 -07:00
Ry
fa693c71a7
all: Increase file struct size to 32 bytes for both files and streams
2023-03-30 21:46:24 -07:00
Ry
b6cde81d2b
kernel/vfs: Support seeking in streams
2023-03-30 18:14:16 -07:00
Ry
713e447d7d
kernel/window: Use consts for the window title bar colors
2023-03-30 15:48:05 -07:00
Ry
a72dbae40b
kernel/window/messagebox: Fix incorrect comment
2023-03-30 15:47:04 -07:00
Ry
f67dfbff23
kernel/fxf/launch: Remove unneeded push
2023-03-23 00:38:22 -07:00
Ry
e0b53d5454
kernel/fxf/launch: Tell the caller if an error occurred
2023-03-23 00:20:11 -07:00
Ry
a484da1526
kernel/fxf/launch: Don't always show error message (oops)
2023-03-23 00:16:53 -07:00
Ry
7d877618a1
kernel/fxf/launch: Show an error message if memory allocation fails
...
```
You are fucked.
[ OK ]
```
2023-03-22 22:44:14 -07:00
Ry
59c688fc87
kernel/fxf/launch: Specify disk ID, and fix issue with argument passing
2023-03-22 22:25:55 -07:00
Ry
8103ec8bcd
kernel/fxf and launcher: Add and use launch_fxf_from_disk
syscall
2023-03-22 22:18:33 -07:00
Ry
60a322ca53
kernel+apps: Use a more standard filename format (8.3 with no spaces)
2023-03-15 17:53:45 -07:00
Ry
189f54dac4
Bump version to 0.2.0
2023-03-06 18:11:17 -08:00
Ry
f47892c133
kernel/main: Add a fox32rom API version check
2023-03-06 17:29:06 -08:00
Ry
f7752e7c08
kernel/main: Only set rsp if we aren't running under an existing kernel
2023-03-05 17:36:30 -08:00
Ry
f99c3d63c1
kernel/main: Keep track of the "current disk"
2023-03-04 23:34:00 -08:00
Ry
9aca4e2e57
kernel/vfs: Update outdated comment
2023-02-08 16:05:08 -08:00
Ry
2ed47446a0
kernel/task: Add save_state_and_yield_task
2023-02-07 16:27:23 -08:00
Ry
b919faaeb4
kernel/window: Update outdated comment
2023-02-06 23:57:50 -08:00
Ry
2688e8082d
kernel/task: Add comment saying registers are not saved across yields
2023-02-02 16:21:29 -08: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
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
jn
205e00dc08
Add file type check to parse_fxf_binary
2023-02-01 20:07:09 +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
0c3a0afc5f
kernel: Make get_active_window_struct
return 0 if no active window
2023-01-24 17:18:12 -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
2a4b5bef9b
kernel: Implement basic messageboxes
2023-01-22 13:47:55 -08:00
Ry
9e256a7e3c
sh: Move to an application outside of the kernel
...
Fixes issue #3
2023-01-21 00:17:10 -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
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
8ac2d2c0d4
kernel: Add a very basic GUI widget system
2022-12-27 18:01:55 -08:00
Ry
3eff04b8a2
shell: Update disk
command
2022-12-26 18:26:27 -08:00
Ry
455a909255
kernel: Fix clicking menu item when different window is directly under
2022-12-25 14:51:36 -08:00
Ry
fddfd78829
kernel: Make sure the event manager task starts when running disk 1
2022-12-25 13:54:45 -08:00
Ry
3b813afa72
kernel: Window manager now manages the menu bar per-window
2022-12-24 22:51:43 -08:00
Ry
b71d10ab63
kernel: Ensure new_window doesn't clobber r0
2022-12-24 01:29:00 -08:00
Ry
a68e584c82
kernel: A more complete window manager implementation
...
It's currently pretty buggy, but at least it's better than what we
had before :P
2022-12-23 22:26:16 -08:00
Ry
c6919d4168
shell: Add clear
command
2022-11-25 17:21:28 -08:00
Ry
c321e54cfb
shell: Redraw the line when needed
2022-11-25 17:20:57 -08:00
Ry
399ad8c7bb
shell: Use hex const for the cursor
2022-11-21 21:32:06 -08:00
Ry
250da95d76
Initialize the memory allocator with a correct bottom of memory
2022-10-27 23:08:18 -07:00
Ry
a7064075e7
Build the kernel as an FXF binary and boot using the new boot mechanism
2022-10-27 22:49:55 -07:00
Ry
cc40cce81b
shell: Prefix an FXF binary with * to not suspend the shell
2022-10-16 18:47:11 -07:00
Ry
06798d3be2
Increase shell input buffer size to 512 characters
...
Because reasons.
2022-10-14 17:15:24 -07:00
Ry
3cd4341986
Add shell task and terminal application
2022-10-14 16:53:41 -07:00