Commit Graph

205 Commits

Author SHA1 Message Date
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
7f6eeb10c7 terminal: Only draw the line upon LF or when requested 2022-11-25 17:20:03 -08:00
Ry
8b977f9f9e terminal: Add various "control characters" 2022-11-21 21:43:58 -08:00
Ry
399ad8c7bb shell: Use hex const for the cursor 2022-11-21 21:32:06 -08:00
Ry
c0ea6192e2 Don't hardcode /bin/bash in the build script 2022-11-21 21:30:56 -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
6de1a5f6df Only start a terminal instance on boot, instead of Launcher 2022-10-14 21:35:15 -07:00
Ry
2997fb7c85 launcher: Add "Quit Launcher" menu item 2022-10-14 21:34:51 -07:00
Ry
ce094891ce launcher: Don't disable overlays on startup 2022-10-14 21:09:30 -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
4f1ae864aa Add screenshot to the README 2022-10-05 16:26:11 -07:00
Ry
d62518b5eb barclock: Draw a leading zero if the minute is less than 10 2022-10-05 16:20:50 -07:00
Ry
89ee1342fe Start working on a very basic window manager 2022-10-05 16:15:36 -07:00
Ry
fecf74b652 Ignore wallpaper files 2022-09-09 16:39:40 -07:00
Ry
7b113056f7 barclock: Initial commit 2022-09-09 16:39:08 -07:00
Ry
ee2103eda5 Allow starting multiple FXF binaries at startup 2022-09-09 16:37:13 -07:00
Ry
b3c9c83c86 meta: Update ryfs tool to 0.5 2022-08-29 16:16:33 -07:00
Ry
81ac508a60 launcher: initial commit 2022-08-28 22:23:54 -07:00
Ry
021b1970ca meta: Update ryfs tool to version 0.4 2022-08-11 18:28:11 -07:00
Ry
cf627052ff Add is_task_id_used 2022-08-11 17:35:13 -07:00
Ry
0439b67d14 Prepare for the 1st release 2022-07-31 17:27:39 -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
68eb3777b0 vulpine: Remove for now 2022-06-21 19:40:09 -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
f6c41797f8 Replace .gitmodules after repo move 2022-06-21 18:36:30 -07:00
Ry
a4d0e2f09e Add .gitignore 2022-06-21 00:11:26 -07:00
Ry
6510580d1e fox32os: Rename "build" folder to "meta" in build.sh 2022-05-21 17:23:10 -07:00
Ry
4eecef4ff2 fox32os: Rename "build" folder to "meta" 2022-05-21 17:18: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
1da623ce18 vulpine: Initial commit 2022-05-21 17:00:50 -07:00