Commit Graph

67 Commits

Author SHA1 Message Date
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