Commit Graph

42 Commits

Author SHA1 Message Date
CrazyEttin a20d846f60 Fix the root loading bug in the bootloader as well just to be safe, fix a bug in loadf giving a file size one sector too large, make loadf return the size of the file in cx, change print to work based on file size instead of a file ending character, and modify the readme and other text files accordingly. 2021-07-07 00:58:21 +03:00
CrazyEttin e605a6a0a8 Add paging to print and modify the readme accordingly, add the file loading bug to the known bugs section, and tidy the usage section. 2021-07-04 21:18:01 +03:00
CrazyEttin 41eb45ac46 Implement paging in list and fix a bug where the root directory would load only partially. 2021-07-01 20:40:28 +03:00
CrazyEttin 79a2fc78b8 Make loadf check if there is enough memory before loading a file, and make the loadf error states and messages more specific and modify the readme accordingly. 2021-07-01 16:52:47 +03:00
CrazyEttin 1ba0dbe89f Rename type to print and modify the readme and make.sh accordingly, fix a bug where the system would crash if you tried to access a non-existent or empty drive, add a section for known bugs in the readme, tidy up the code a bit, and add a logo. 2021-06-29 20:05:14 +03:00
CrazyEttin 6d5d7963e5 Relocated programs to 0x3000 because of a miscalculation of how much room the file systems of 1440 KiB disks take. 2021-06-29 00:09:38 +03:00
CrazyEttin f6c67e0c82 Make drive specifications work for command as well and modify the readme accordingly, and fix some other minor bugs. 2021-06-28 22:17:53 +03:00
CrazyEttin 116b21bab7 Implement drive specifications for loadf and list and modify the readme accordingly, rewrite error messages, and decide to not support EBPB and file attributes. 2021-06-28 21:00:05 +03:00
CrazyEttin 874bcb9d67 Write list and update the readme and make.sh accordingly, fix the drive changing command so that ignores extra spaces and possible command tails, remove cmpstr as it is no longer used by anything, and make readstr independent of terminal width again. 2021-06-28 01:21:37 +03:00
CrazyEttin 851abfe053 Fix the loading problem at track border in the bootloader as well, tidy up loadf a bit more, rewrite the sections of the readme about input and commands as a single section about usage, and add a line to make.sh deleting any existing source image before creating a new one. 2021-06-27 19:22:58 +03:00
CrazyEttin 2544d96a81 Fix a bug in loadf that prevented reading clusters at a track boundary, write type, Ettinify the text files, and modify the readme and make.sh accordingly, and add a source disk image to make.sh. 2021-06-26 19:10:45 +03:00
CrazyEttin 92d93714bd Write echo, update the readme with information on how the commands work, and replace a lodsb stosb loop in the shell with a movsb one. 2021-06-25 22:51:59 +03:00
CrazyEttin 001faba978 Remove file name extensions from commands, implement command tails, ignore extra spaces either leading or trailing a command or between a command and its tail (except for drive changing), and fix a typo in hello. 2021-06-25 14:35:15 +03:00
CrazyEttin dd139699af Change loadf so that it aborts if the load fails and so that it doesn’t print error messages itself, only sends an error code to the program that called it. 2021-06-24 20:30:49 +03:00
CrazyEttin f826fef4fc Add drive letter assignment and the ability to change the drive. 2021-06-24 19:31:15 +03:00
CrazyEttin 1758b807e0 Get loadf variables from the disk description table instead of hardcoding them, tidy up the make script a bit, add contributors to the copyright statement, and change the phrasing of the readme slightly. 2021-06-24 18:34:41 +03:00
CrazyEttin 5aa6bcb79c Add support for Sortix build environment.
Co-authored-by: Jonas 'Sortie' Termansen <sortie@maxsi.org>
2021-06-22 22:37:49 +03:00
CrazyEttin 2bfa61b669 Change the line endings of the text files from Unix to DOS style. 2021-06-22 16:05:09 +03:00
CrazyEttin 08f2d57bb2 Move the system stack to the end of the address space, make the shell ignore empty input, and tweak printstr and readstr a bit. 2021-06-21 21:55:20 +03:00
CrazyEttin 2e003c3198 Write loadf and rewrite the shell to load external programs with it instead of internal calls. 2021-06-20 14:18:50 +03:00
CrazyEttin 59d9c7e89d Move system calls to interrupts and rename the main system loop to shell. 2021-06-18 21:59:59 +03:00
CrazyEttin fc3a0bbbe9 Add an error message to the bootloader in case the system is not found, fix two related bugs in readstr related to movement between lines and scrolling, and tidy the code up a bit. 2021-06-17 01:03:00 +03:00
CrazyEttin 45a11e601f Finish writing fileify, remove printch and readch since those have not proven useful, merge the code in byte2hex to keycode, and rename printnl back to newline because it was easy to confuse with println. 2021-06-16 22:00:45 +03:00
CrazyEttin a62a87970a Move the system from after the bootloader to the beginning of usable memory and the bootloader and system stacks to after their respective programs, fix a couple of bugs in the bootloader that made it not load the system correctly above a specific size, abandon the goal of eventual subdirectory support and modify the project directory structure and make.sh accordingly, and start writing fileify. 2021-06-16 18:03:31 +03:00
CrazyEttin f2654038cb Make the system compatible with Intel 8086 CPU, change the remaining media-dependent constants in the bootloader to variables, change the default media to a 360 KiB 5.25" floppy disk and offer 1.44 MB 3.5" disk as an option instead, and change labels used for data to variables because apparently using labels for data is not wise. 2021-06-10 20:54:43 +03:00
CrazyEttin 9afbaae05d Add readch and for the sake of symmetry printch, simplify make.sh, and tweak the code a bit to make it more consistent. 2021-06-08 21:57:05 +03:00
CrazyEttin cc35d72a4e The system now boots from a FAT12 file system! 2021-06-06 21:53:15 +03:00
CrazyEttin 9065e2c591 Protect registers from changes within calls and rename newline to printcrlf for the sake of consistency. 2021-06-06 11:18:15 +03:00
CrazyEttin 9582045822 Rework cursor positioning after input. 2021-06-04 20:36:46 +03:00
CrazyEttin 522905d77c Move the system to low memory and tweak readln. 2021-06-04 09:15:21 +03:00
CrazyEttin 6e5019dcb7 Trying to set up a stack. 2021-06-02 18:13:12 +03:00
CrazyEttin d0a5441a62 Reorganise the repo a bit. 2021-06-02 13:33:39 +03:00
CrazyEttin e791c67665 Add a disk description table to the bootloader in anticipation of file system support and do some general tweaking. 2021-06-01 21:34:37 +03:00
CrazyEttin 843c018510 Include the string-ending null for maximum length strings within the string length. 2021-05-31 18:48:13 +03:00
CrazyEttin adefdf3e4c Reorganise and comment the code and rewrite readstr. 2021-05-30 19:34:42 +03:00
CrazyEttin ed9ec938ae Organise the code better and tweak some of the label names. 2021-05-28 14:48:03 +03:00
CrazyEttin 3045519bd4 Fix backspace not working at linebreak. 2021-05-28 01:31:00 +03:00
CrazyEttin 958b64e8a3 Add byte2hex call and help and keycode commands 2021-05-27 22:33:43 +03:00
CrazyEttin 0daa68f804 Streamline the commands and give the major parts of the code headings 2021-05-27 00:28:40 +03:00
CrazyEttin 0c0c882b21 Add couple of commands and tweak the input length 2021-05-27 00:28:40 +03:00
CrazyEttin 46691e9975 Change all numbers to hex and add trailing space removing to read. 2021-05-27 00:28:23 +03:00
CrazyEttin df836219eb Initial commit 2021-05-26 17:05:49 +03:00