44 Commits (main)

Author SHA1 Message Date
CrazyEttin b34b0ea74e Add new under construction system calls to the readme and change the one for loading files to accomodate them, move the disk parameters to the main namespace in anticipation of restructuring the disk operations with the addition of the new system calls, rewrite parts of system to remove essentially duplicate code, and rewrite the explanation of the file system in the readme. 2 years ago
CrazyEttin 8baa294947 Rewrite everything to be more elegant, prevent changing to non-existent drives, add the option to quit print and list while paging and modify the readme accordingly, and add info on the EttinOS-extra repository to the readme. 2 years ago
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. 2 years ago
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. 2 years ago
CrazyEttin 41eb45ac46 Implement paging in list and fix a bug where the root directory would load only partially. 2 years ago
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. 2 years ago
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. 2 years ago
CrazyEttin 6d5d7963e5 Relocated programs to 0x3000 because of a miscalculation of how much room the file systems of 1440 KiB disks take. 2 years ago
CrazyEttin f6c67e0c82 Make drive specifications work for command as well and modify the readme accordingly, and fix some other minor bugs. 2 years ago
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. 2 years ago
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. 2 years ago
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. 2 years ago
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. 2 years ago
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. 2 years ago
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. 2 years ago
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. 2 years ago
CrazyEttin f826fef4fc Add drive letter assignment and the ability to change the drive. 2 years ago
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. 2 years ago
CrazyEttin 5aa6bcb79c Add support for Sortix build environment. 2 years ago
CrazyEttin 2bfa61b669 Change the line endings of the text files from Unix to DOS style. 2 years ago
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. 2 years ago
CrazyEttin 2e003c3198 Write loadf and rewrite the shell to load external programs with it instead of internal calls. 2 years ago
CrazyEttin 59d9c7e89d Move system calls to interrupts and rename the main system loop to shell. 2 years ago
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. 2 years ago
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. 2 years ago
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. 2 years ago
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. 2 years ago
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. 2 years ago
CrazyEttin cc35d72a4e The system now boots from a FAT12 file system! 2 years ago
CrazyEttin 9065e2c591 Protect registers from changes within calls and rename newline to printcrlf for the sake of consistency. 2 years ago
CrazyEttin 9582045822 Rework cursor positioning after input. 2 years ago
CrazyEttin 522905d77c Move the system to low memory and tweak readln. 2 years ago
CrazyEttin 6e5019dcb7 Trying to set up a stack. 2 years ago
CrazyEttin d0a5441a62 Reorganise the repo a bit. 2 years ago
CrazyEttin e791c67665 Add a disk description table to the bootloader in anticipation of file system support and do some general tweaking. 2 years ago
CrazyEttin 843c018510 Include the string-ending null for maximum length strings within the string length. 2 years ago
CrazyEttin adefdf3e4c Reorganise and comment the code and rewrite readstr. 2 years ago
CrazyEttin ed9ec938ae Organise the code better and tweak some of the label names. 2 years ago
CrazyEttin 3045519bd4 Fix backspace not working at linebreak. 2 years ago
CrazyEttin 958b64e8a3 Add byte2hex call and help and keycode commands 2 years ago
CrazyEttin 0daa68f804 Streamline the commands and give the major parts of the code headings 2 years ago
CrazyEttin 0c0c882b21 Add couple of commands and tweak the input length 2 years ago
CrazyEttin 46691e9975 Change all numbers to hex and add trailing space removing to read. 2 years ago
CrazyEttin df836219eb Initial commit 2 years ago