creating a baremetal program for conways game of life
- create a program that runs cgol in 1600x1200 cells, written in x86 assembly
- 32bit protected mode
- multicore
- multithread
- threadpool
- cells are not calculated individually, but 8 at a time
- not working
- comments are mostly in german, change incoming
- compile main.s:
nasm -f bin -g -O0 -o STARTUP.BIN main.s - compile boot.s
nasm -f bin -g -O0 -o BOOT.BIN protected.s - put BOOT.BIN & STARTUP.BIN on the bootmedium
BOOT.BIN from 0 to 512 and STARTUP.BIN from 512 onwards
you can use the bincopy.py program to do that for you, take a look into skript.sh how to use it
or use your own bootmedium with a custom bootloader - run a vm with your bootmedium in your favorite x86 capable virtualizer
e.g qemu with: qemu-system-i386 -vga std -m 1024k -drive if=floppy,index=0,format=raw,file=floppy.img
in help/ are files with general information for problem solving
in old/ are older working versions for
ax 0x0013 int0x10 320x240
0x0012 int0x10 640x480
boot.s bootloader for 16 bit realmode
protected.s bootloader for 32bit protected mode
main32bitSingle.s Mainfile for 32 bit Singlethread, needs protected.s as bootloader
in util/ are some little helper programs in python for debugging and easy manipulation of the .img Files
- https://github.com/nanobyte-dev
- https://github.com/alexfru/BootProg
- https://wiki.osdev.org
- https://github.com/mell-o-tron/OS-Reference
none use it however you want