A set of minimal dependency bootstrap binaries
Go to file
Jeremiah Orians 5c7119ca36
Added a hex assembler that processes text on tape_01 and puts the result on tape_02
2016-06-25 12:58:04 -04:00
Linux Bootstrap Organized files and expanded notes 2016-05-21 20:12:34 -04:00
stage0 Hex conversion complete for new stage0_monitor, it is officially self hosting. 2016-06-19 09:59:02 -04:00
stage1 Added a hex assembler that processes text on tape_01 and puts the result on tape_02 2016-06-25 12:58:04 -04:00
x86 Minor reorganization 2016-06-05 14:46:30 -04:00
.gitignore Initial starting point for the creation of our hex bootstrap toolchain 2016-05-01 09:03:41 -04:00
ISA_HEX_Map.org Added PC relative instruction load and store to make position independent code more efficient 2016-06-19 22:31:30 -04:00
LICENSE Added README and LICENSE 2016-05-18 18:52:18 -04:00
README Improved documentation to reflect sytle information obtained. 2016-06-12 18:25:38 -04:00
SET.c Added a very simple example line editor. 2016-06-19 16:00:24 -04:00
asm.c Added PC relative instruction load and store to make position independent code more efficient 2016-06-19 22:31:30 -04:00
disasm.c Added PC relative instruction load and store to make position independent code more efficient 2016-06-19 22:31:30 -04:00
notes.org Improved documentation to reflect sytle information obtained. 2016-06-12 18:25:38 -04:00
vm.c Added PC relative instruction load and store to make position independent code more efficient 2016-06-19 22:31:30 -04:00
vm.h We will deal with tests later as idea needs to be explored before integration 2016-06-12 09:02:00 -04:00
vm_instructions.c Added PC relative instruction load and store to make position independent code more efficient 2016-06-19 22:31:30 -04:00

README

This is a set of manually created hex programs in a Cthulhu Path to madness fashion.
Which only have the goal of creating a bootstrapping path to a C compiler capable of
Compiling GCC, with only the explicit requirement of a single 1 KByte binary or less.

Additionally, all code must be able to be understood by 70% of the population of programmers.
If the code can not be understood by that volume, it needs to be altered until it satifies the above requirement.

WE DON'T WANT YOUR CLEVER CODE. Only stupidly simple code will be accepted.
The Madness must be satisfied and only with the Blood ritual of code we perform here.

This repo contains a few of my false start pieces that may be of interest to people who
want to independently create the root binary, I welcome all bug fixes and code that aids
in the above stated goal.

I'll be adding more code and documentation as I build pieces.
ALL code in this REPO is under the GPLv3 or Later.