56 Commits

Author SHA1 Message Date
Rose 9fa68697f5 new string.h implementation & tests 2024-08-09 12:39:48 -05:00
Rose 3e30c10d55 update text 2024-07-31 21:23:15 -05:00
Rose a7081942aa plan! 2024-07-31 21:18:45 -05:00
Rose 26fc668d74 kbd stuff needs volatile, start structure changes 2024-07-31 21:03:29 -05:00
lucia 56152c6d20 some fixes 2024-07-31 20:02:36 -05:00
Lucia Ceionia 5fa8e0efa3 add emulator demo 2023-10-29 19:37:03 -05:00
Lucia Ceionia e688617286 Support for multiple volumes, filesystem detection (currently FAT) 2023-02-17 06:21:43 -06:00
Lucia Ceionia d0a5eb4c6f Usermode now loads at 0x800000, Virtual 8086 loads consistent DS&ES for data access 2023-02-17 01:41:30 -06:00
Lucia Ceionia 5fe565b6f7 Filesystem now uses an abstract representation 2023-02-14 23:48:11 -06:00
Lucia Ceionia 1b2184fe52 Kernel now is loaded from a partition, allowing a separate MBR bootloader if desired 2023-02-13 18:23:33 -06:00
Lucia Ceionia e9c4e993f4 Lots of little things, Changed test output, Usermode test build 2023-02-12 00:42:14 -06:00
Lucia Ceionia 36e66600f5 Can view large count directories, Names trimmed in viewers 2023-02-10 22:17:03 -06:00
Lucia Ceionia 0953fe31ec Improved Linker script & Makefile 2023-02-10 19:20:17 -06:00
Lucia Ceionia cec3b93c83 File Selector uses a very simple double buffer 2023-02-10 04:45:47 -06:00
Lucia Ceionia 168816cb1e More fun color :3 2023-02-10 04:24:29 -06:00
Lucia Ceionia 1ac79d005b Can return from fun recovery :3 2023-02-10 03:57:44 -06:00
Lucia Ceionia 8c5247c317 Hex editor has separate BSS, Converted some consts to defines 2023-02-10 03:42:53 -06:00
Lucia Ceionia d1024d7793 Disk does very basic read caching 2023-02-10 01:06:42 -06:00
Lucia Ceionia 89c0f95219 Hex viewer is now a hex editor! 2023-02-09 23:32:51 -06:00
Lucia Ceionia 094e278212 Moved INT 13H disk operations outside DOSFS driver 2023-02-09 13:19:50 -06:00
Lucia Ceionia c7b69675bb Can navigate directories 2023-02-08 12:48:01 -06:00
Lucia Ceionia 7799813a30 Check for CMOV support on boot 2023-02-08 11:38:35 -06:00
Lucia Ceionia 6a4c1908bb Preliminary support for CHS disks. 2023-02-08 10:33:49 -06:00
Lucia Ceionia d1f1bfa974 Program loader sets text mode on exit. 2023-02-08 03:41:13 -06:00
Lucia Ceionia de2edf1404 Improved fault handling 2023-02-07 23:53:13 -06:00
Lucia Ceionia 7f0a94352d Added example disk, Made some minor changes to error output 2023-02-07 18:52:17 -06:00
Lucia Ceionia 0e3ae9c4e3 Can create usermode children, Can load programs from disk 2023-02-06 05:49:03 -06:00
Lucia Ceionia 6e66cb9bbe Can pass args to child via varargs 2023-02-06 03:55:13 -06:00
Lucia Ceionia 5729c6c893 Can spawn a child task in C, Fault handler can return to previous 2023-02-06 03:07:15 -06:00
Lucia Ceionia b41d65bfce Lots of general cleanup, Call to specified V86 int (from Kernel and Usermode) 2023-02-06 02:27:33 -06:00
Lucia Ceionia d63430bb4d Bootloader can load more from disk, Text file viewer added 2023-02-06 00:01:48 -06:00
Lucia Ceionia d0fbc7df56 Added enum for scancodes, More control in hex viewer, hex viewer can switch between 25/50 lines 2023-02-05 19:57:06 -06:00
Lucia Ceionia 7107c0ef8b Fixed the hex viewer formatting lol 2023-02-04 20:09:42 -06:00
Lucia Ceionia ddadeed70c Added a hex viewer, Fixed a bug in dosfs 2023-02-04 18:51:09 -06:00
Lucia Ceionia 964cbcd68d Added a file selection screen (that does nothing), Moved tests to their own file, Fixed a race condition with the keyboard handler 2023-02-02 21:40:39 -06:00
Lucia Ceionia 2114741766 Might? have fixed one race condition bug. Still crashing for unknown reasons on my laptop rarely 2023-02-02 18:15:14 -06:00
Lucia Ceionia 750b1edc16 Register arguments can be passed to v86 code 2023-02-02 14:52:26 -06:00
Lucia Ceionia 7937de6ef0 Added fun fault recovery :3 (I think I spotted a race condition in exception handling during testing, but whatever, that can wait) 2023-02-02 01:44:35 -06:00
Lucia Ceionia ce771b19bb Fixed small mistake in last commit 2023-02-02 01:34:49 -06:00
Lucia Ceionia 02f03d2224 Usermode can now call system functions (currently get key, gfx mode) with INT 21H, Test switch to graphics mode is done from Usermode 2023-02-02 00:50:16 -06:00
Lucia Ceionia 679eb8cf57 More advanced Fault handling (recovers to text mode), Keyboard handler converted to C and improved (shifting, simple get_key added) 2023-02-01 20:42:05 -06:00
Lucia Ceionia 0faa2eb553 Adds more fault 'hanlders', Sets A20 for some hardware, Fixes some other minor stuff 2023-02-01 14:18:27 -06:00
Lucia Ceionia afaf5e1a03 Implemented Paging! Moved Kernel to 0x100000, Moved TSS above 1M, Moved V86 to 0x8000, Moved Usermode test to 0x400000, Moved lots of things! 2023-01-31 21:26:43 -06:00
Lucia Ceionia 43e902e83c Fixed disk handling 2023-01-04 19:36:29 -06:00
Lucia Ceionia 9aa56cdce2 Actually read the dir 2022-09-22 10:08:56 -05:00
Lucia Ceionia 9216b3359a Fixed some Task stuff, added DOSFS filesystem 2022-09-21 17:14:11 -05:00
Lucia Ceionia 6ebee28032 Fixed problem loading null segs on real hardware 2022-09-20 13:13:42 -05:00
Lucia Ceionia 8c309c6d9f Added kernel disk reading test 2022-09-19 19:46:26 -05:00
Lucia Ceionia 606fc37e37 'Better' task management, needs more testing 2022-09-19 16:06:01 -05:00
Lucia Ceionia c80a420da0 Usermode can return to caller, ret value in EAX. 2022-09-18 00:30:24 -05:00