Skip to content

tvjames/kernel-mode-game-of-life

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kernel Mode "Game of Life"

This is an attempt to implement Conway's Game of Life as a simple protected mode i386 kernel. The primary purpose for this is as a learning exercise.

Based on the excellent intro by Arjun Sreedharan in the article Kernel 101 – Let’s write a Kernel

Trying it out

The makefile expects to be run from a linux system with the dependencies outlined in the Kernel 101 article.

  • Linux
  • NASM assembler
  • gcc
  • ld (GNU Linker)
  • qemu

The kernel must be complied on a linux machine, or with the GNU build tools targeting i386 elf binaries. The kernel once build can be run from any system supporting qemu in i386 mode.

make
make run

This expects that qemu is installed an in the path. The qemu-system-i386 executable is used.

Controls

r       Returns the viewport to the original view 
w       Move the viewport up
s       Move the viewport down
a       Move the viewport left
d       Move the viewport right
n       Advance the game 1 time step

Builing on a mac

Don't :)

A Vagrantfile is included that will watch for changes in the src folder and auto-rebuild the source. Allowing development from a mac without needing to install a cross-compiler for creating elf binaries. If there is a better way please submit a pull request.

vagrant up
vagrant ssh -c "cd /vagrant && make watch" #do this from another terminal

Licence

MIT

Resources

About

Game of life implemented as an i386 kernel

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published