Their full os impl didn't work : https://github.com/helino/aenix on bochs for me, neither did running minix2. So I tried to do the simplest thing possible to make sure bochs is ok on my machine.
I compiled and installed from source, bochs 2.6.8. I can run "kernel" that sets EAX to 0xCAFEBABE.
I tried next to write to the framework the letter A at (0,0) with a green foreground and dark grey background. I tried several combinations, each look just weird and at the wrong place. (I looked up this for reference of what to write to memory : http://littleosbook.github.io/#the-framebuffer)
I've setup grub to boot an iso with my kernel which is just this:
global loader
Code: Select all
MAGIC_NUMBER equ 0x1BADB002
FLAGS equ 0x0
CHECKSUM equ -MAGIC_NUMBER
section .text:
align 4
dd MAGIC_NUMBER
dd FLAGS
dd CHECKSUM
loader:
mov eax, 0xCAFEBABE
mov [0x000B8000], word 0x4AF0 # 'A' with white Fground and black bg -> at (0,0)
mov [0x000B8010], word 0x4A28 #'A' with Green Fground and Darkgrey bg -> at (0,1)
.loop:
jmp .loop
See screenshot for what happens. Both chars are the wrong character and at the wrong cell.
I'm on fedora 24. I wonder if the problem is bochs? I use x for it's display driver, the authors of littleosbook recommend using sdl which is a display library I cant' see to find for fedora. The aim really is to toy with aenix and get it to run on bochs but I first thought I'll just ascertain if everything is ok with bochs.