Releases: fsmv/bootstrap-os
Hex Editor
A bootable hex editor you can type x86 bytecode into and run it.
Enough to bootstrap anything you want with no other tools. But, I think the very first thing you'd do is write a text editor and assembler, then hand-assemble it and type it in (which is v1.0).
This release adds some niceties on top of v0.1 so that the hex editor is feasibly usable (like being able to fix mistakes).
I have a few more ideas planned for this hex editor to make it still useful after I have written the assembler version. So this won't be the final version of the hex editor code.
Features:
- Running user-typed hex code through the CPU in 16 bit real mode
- Scrolling the buffer and editing previously entered text with replacement mode
- Memory location / line numbers display
- Instructions printed on screen
- Nice bash script for downloading the reference manuals needed (and optionally use LaTeX to add a table of contents to the BIOS manual)
Instructions
./reference_manuals/get_docs
to download reference manuals and get bookmarks in the IBM bios manual./boot boostrap.asm
assembles the code and starts it in qemudd if=bin/bootstrap.bin of=/dev/sdb && sync
writes it to a flash drive for booting on real hardware. Make sure you change/dev/sdb
to the correct device name!
Single Sector Hex Editor
This is enough to make anything you want if you start with a computer running this code, and it works on real hardware in BIOS mode too! However, there's no going back. If you type a mistake you just have to reboot and start over.
Really the very first commit is enough too but I like that this version fits the style I kept later on and that it formats the text a little nicer.
This is the also last commit where all of the code fit in a the 512 byte boot sector (actually there's even less space than that because of floppy header info etc that has to go in the boot sector).
Instructions
./boot boostrap.asm
assembles the code and starts it in qemu
dd if=bin/bootstrap.bin of=/dev/sdb && sync
writes it to a flash drive