Ry
2ed47446a0
kernel/task: Add save_state_and_yield_task
2023-02-07 16:27:23 -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
Ry
75a10ffdc3
kernel: Show an error if running on top of an existing kernel
2023-01-25 18:13:45 -08:00
Ry
cba8b52677
kernel: Add get_active_window_struct
2023-01-24 17:10:48 -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
d072478152
New bottom bar style
2022-12-29 12:02:03 -08:00
Ry
8ac2d2c0d4
kernel: Add a very basic GUI widget system
2022-12-27 18:01:55 -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
a7064075e7
Build the kernel as an FXF binary and boot using the new boot mechanism
2022-10-27 22:49:55 -07:00
Ry
3cd4341986
Add shell task and terminal application
2022-10-14 16:53:41 -07:00
Ry
75eb29613b
Implement a basic VFS layer with "streams"
2022-10-14 16:39:40 -07:00
Ry
89ee1342fe
Start working on a very basic window manager
2022-10-05 16:15:36 -07:00
Ry
ee2103eda5
Allow starting multiple FXF binaries at startup
2022-09-09 16:37:13 -07:00
Ry
cf627052ff
Add is_task_id_used
2022-08-11 17:35:13 -07:00
Ry
887ebc4553
Add get_current_task_id
2022-06-24 17:40:52 -07:00
Ry
df95829e83
Add more spacing between the jump tables
2022-06-24 17:24:08 -07:00
Ry
04761c1a07
Add stack block pointer to each task
...
This allows the stack block to automatically be freed when the task
ends.
2022-06-24 16:37:43 -07:00
Ry
bf1e28e625
Initialize the stack pointer instead of relying on fox32rom to do it
2022-06-24 16:14:06 -07:00
Ry
309ac8cd15
Use the memory allocator for tasks' code memory
2022-06-23 15:18:21 -07:00
Ry
9d510e51b7
Introduce new memory allocator, now with the ability to free memory!!
...
This is a super simple linked list memory allocator, written with
lots of help from my friend hyenasky.
2022-06-23 00:30:59 -07:00
Ry
70fd0823dd
Ensure we reserve room on the stack before starting the first task
...
Not 100% sure if this is actually needed, but this is just to make
sure that the following call to new_task doesn't get its return
address overwritten
2022-06-23 00:21:00 -07:00
Ry
2dbe318538
Load disk 1's contents as an FXF binary if startup.cfg is invalid
2022-06-21 19:38:45 -07:00
Ry
3237db9aac
fox32os: Don't mark task 0 as unused when yielding for the first time
2022-05-21 17:04:39 -07:00
Ry
995b01dfd2
fox32os: Implement multitasking and add a jump table for applications
2022-05-21 16:55:56 -07:00
Ry
6ae69cede7
fox32os: Show startup.cfg error in the status bar
2022-05-19 16:37:49 -07:00
Ry
19af24b8a4
fox32os: Initial commit
2022-05-19 14:15:40 -07:00