Commit Graph

84 Commits

Author SHA1 Message Date
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
Ry
75eb29613b Implement a basic VFS layer with "streams" 2022-10-14 16:39:40 -07:00
Ry
453e7f0e65 Make window titles semi-transparent 2022-10-05 21:02:56 -07:00
Ry
9512c40747 Prevent windows from being moved off-screen 2022-10-05 17:18:14 -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
9aac5dff10 Make the new_task info comments a bit more clear 2022-06-25 16:32:32 -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
606ec0283e Set the heap allocator's MEMORY_TOP to 64KB below the stack 2022-06-24 16:14:46 -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
0d57361f66 Allow tasks to not free their memory when they end 2022-06-23 16:38:05 -07:00
Ry
d1d2df0d74 Change scheduler starvation panic message 2022-06-23 15:43:36 -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
30f8ec6d81 Remove unused extern and global tables from FXF 2022-06-21 19:05:34 -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