ISS (the long “line” on the right) passing Venus and Saturn:
Jupiter and its moons a few days ago:
Not spectacular shots, but hey, it’s something.
Also saw the crescent Venus and Saturn’s rings through my scope (you know, the one for bird watching).
The most valuable resource is Table B-13 at the end of Volume 2D of the Intel docs. It’s a very long but easy to understand table of instruction encodings – assuming you already know how that ModR/M stuff works.
@lyse@lyse.isobeef.org Yeah, what else does one need? 😅
I added more instructions, made it portable (so it runs on my own OS as well as Linux/DOS/whatever), and the assembler is now good enough to be used in the build process to compile the bootloader:
That is pretty cool. 😎
It’s still a “naive” assembler. There are zero optimizations and it can’t do macros (so I had to resort to using cpp
). Since nothing is optimized, it uses longer opcodes than NASM and that makes the bootloader 11 bytes too large. 🥴 I avoided that for now by removing some cosmetic output from the bootloader.
Alright, I have a little 8086 assembler for my toy OS going now – or rather a proof-of-concept thereof. It only supports a tiny fraction of the instruction set. It was an interesting learning experience, but I don’t think trying to “complete” this program is worth my time.
The whole thing is just a learning project, I don’t want to actually make a usable OS. There are a few more things I want to have a look at and then I’ll eventually move on to 386/amd64 later this year (hopefully).
The editor can launch a new shell now:
https://movq.de/v/6ec68b50dd/los86-edit-shell.mp4
Trivial to implement but super useful. It allows for simple but meaningful dev cycles: Edit source code, run/test it, back to editor. That’s what I do in the video.
(The Brainfuck program is silly, but I got nothing else at the moment.)
The I/O cache is also getting better. All that back and forth doesn’t hit the disk at all, once cached.
This whole thing is much more fun and interesting when you run it from a real floppy disk. It’s a 5.25” floppy in the video (so it’s actually floppy 😅). Disk seek times can be catastrophic and you don’t notice any of this on modern disks.
My OS has a Brainfuck interpreter now and this counts as a programming language, right? We’re feature complete now. 😂