... a bootstrapping path to a C compiler capable of
Compiling GCC, with only the explicit requirement of a single 1 KByte binary or less.

Jeremiah Orians fdbe263dbe Fixed bug found in pop instructions when R0 and R1 are the same 7 år sedan
High_level_prototypes b65c866e75 Incorporated 3OP CMPJUMP instructions 7 år sedan
Library function prototypes 73651b577e Fixed typo of CMPSKIP(u) to CMPSKIP(u)I which is required per the naming convention 7 år sedan
Linux Bootstrap 6383c9a5a0 Improved Linux bootstrap tooling base 7 år sedan
img a6e081c657 Experimenting with org-mode images 8 år sedan
public a8b228c61e Completed initial prototype supporting Javascript for Web Assembly IDE 7 år sedan
stage0 d7bab06902 Revised stage0 monitor with several minor improvements and updated checksums 7 år sedan
stage1 1b1b94a121 Corrected naming of CMPJUMP(u) to CMPJUMP(u)I to match current naming standard 7 år sedan
x86 14e4c6746a Minor reorganization 8 år sedan
.gitignore 3d53e20bdc Updated Checksums and expanded notes to include bootstrap steps 7 år sedan
CHANGELOG.org d290caa215 Corrected flaws in Changelog 7 år sedan
Checksums.org d7bab06902 Revised stage0 monitor with several minor improvements and updated checksums 7 år sedan
ISA_HEX_Map.org b65c866e75 Incorporated 3OP CMPJUMP instructions 7 år sedan
Knight.py 63c2e03b07 Added a new function to the IDE to shorten debugging time 7 år sedan
LICENSE 7bad58ea0b Added README and LICENSE 8 år sedan
README 5f4e55b309 Improved documentation to reflect sytle information obtained. 8 år sedan
User_Interface.py 63c2e03b07 Added a new function to the IDE to shorten debugging time 7 år sedan
Web Interface prototype Generator.py 9331df8920 Made Static development prototype into a wrapper around generic library so that web program can be more easily tested 7 år sedan
dynamic_execution_trace.c 7fc352944d Added dynamic tracing capability to vm 7 år sedan
makefile 7fc352944d Added dynamic tracing capability to vm 7 år sedan
notes.org 3d53e20bdc Updated Checksums and expanded notes to include bootstrap steps 7 år sedan
tty.c cd1816c9b1 Enable raw mode access for VM interactions 7 år sedan
vm.c da5c2a2442 Refactored out common code 7 år sedan
vm.h b65c866e75 Incorporated 3OP CMPJUMP instructions 7 år sedan
vm_decode.c b65c866e75 Incorporated 3OP CMPJUMP instructions 7 år sedan
vm_instructions.c fdbe263dbe Fixed bug found in pop instructions when R0 and R1 are the same 7 år sedan
wrapper.c 4dee267164 Force IDE to use exact same Memory size as VM, to make finding invalid memory accesses faster 7 år sedan

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.