<commit_before>oz-x86-32-asm
=============

OZ, A more utopian OS (that thing that lives down under)

Well, at least utopian was the goal when I begain this project.
Written all in the NASM assembler OZ was intended to be a light weight
microkernel/hypervisor for x86 that booted up fast (like in seconds fast).
Got as far as bringing the cpu cores online, defining an ABI, and handling
a few interrupts ...  But then I moved off in a slightly different direction.

Resurrecting OZ 003 here in 2015 we find that the tools are better (qemu just
rocks!) and my pgdb (look for it in my other github projects) makes NASM
debugging way easier.


tested on: Arch Linux 2015


============ Files ============
oz.asm      - main
ozirq.asm   - interrupt handlers and setup
ozsys.asm   - system calls
oz_fd       - oz binary for floppy discs (first few sectors)
oz_fd.img   - oz binary for floppy discs (entire 1.44MB image)
oz_usb      - oz binary for a 129MB usb stick
usbptbl.inc - the partition table I used for some usb stick
              (adjust it if you need)

============ Build / Run ======

Install nasm (http://www.nasm.us) version 2.07 at least,
here in 2015 version 2.11 is common - I didn't go back to test with
previous nasm versions and it seems like subtle syntaxy things have
changed so the minimum version might be larger.

    $ nasm -v
    NASM version 2.11.08 compiled on Mar 24 2015
    $ cd oz-x86-32-asm-003
    $ (cd apps/testvga; make)
    $ (cd apps/testfpu; make)
    $ (cd apps/initsmp; make)
    $ make
    $ qemu-system-i386 -smp 8 -boot a -fda oz_fd -monitor stdio
<commit_msg>initial release<commit_after>oz-x86-32-asm
=============

OZ, A more utopian OS (that thing that lives down under)

Well, at least utopian was the goal when I begain this project.
Written all in the NASM assembler OZ was intended to be a light weight
microkernel/hypervisor for x86 that booted up fast (like in seconds fast).
Got as far as bringing the cpu cores online, defining an ABI, and handling
a few interrupts ...  But then I moved off in a slightly different direction.

Resurrecting OZ 003 here in 2015 we find that the tools are better (qemu just
rocks!) and my pgdb (look for it in my other github projects) makes NASM
debugging way easier.


tested on: Arch Linux 2015


============ Files ============
    oz.asm      - main
    ozirq.asm   - interrupt handlers and setup
    ozsys.asm   - system calls
    oz_fd       - oz binary for floppy discs (first few sectors)
    oz_fd.img   - oz binary for floppy discs (entire 1.44MB image)
    oz_usb      - oz binary for a 129MB usb stick
    usbptbl.inc - the partition table I used for some usb stick
                  (adjust it if you need)

============ Build / Run ======

Install nasm (http://www.nasm.us) version 2.07 at least,
here in 2015 version 2.11 is common - I didn't go back to test with
previous nasm versions and it seems like subtle syntaxy things have
changed so the minimum version might be larger.

    $ nasm -v
    NASM version 2.11.08 compiled on Mar 24 2015
    $ cd oz-x86-32-asm-003
    $ (cd apps/testvga; make)
    $ (cd apps/testfpu; make)
    $ (cd apps/initsmp; make)
    $ make
    $ qemu-system-i386 -smp 8 -boot a -fda oz_fd -monitor stdio

{'fraction_non_alphanumeric': 0.09141445336627547, 'fraction_numerical': 0.033971587399629403, 'mean_word_length': 2.9987654320987653, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3885426', 'n_tokens_mistral': 1094, 'n_tokens_neox': 966, 'n_words': 477}