A set of minimal dependency bootstrap binaries
Go to file
Jeremiah Orians 1e28eadc7a
Preparing the our next release with our first stage3 program
2017-06-16 23:02:58 -04:00
High_level_prototypes Enhanced disassembler to trace reported forth bug 2017-06-16 14:52:23 -04:00
Library function prototypes Added requested Copyright notices 2017-04-01 17:26:44 -04:00
Linux Bootstrap Fixed formatting and added function to makefile 2017-06-03 12:34:28 -04:00
public Added requested Copyright notices 2017-04-01 17:26:44 -04:00
stage0 Added requested Copyright notices 2017-04-01 17:26:44 -04:00
stage1 Added requested Copyright notices 2017-04-01 17:26:44 -04:00
stage2 Enabled support for HIDDEN Flag 2017-06-16 18:08:33 -04:00
stage3 Preparing the our next release with our first stage3 program 2017-06-16 23:02:58 -04:00
test Enabled support for HIDDEN Flag 2017-06-16 18:08:33 -04:00
x86 Moved the x86 notes into the x86 folder 2017-05-21 22:05:17 -04:00
.gitignore Removed questions about High level prototype build process 2017-06-03 22:51:13 -04:00
CHANGELOG.org Preparing the our next release with our first stage3 program 2017-06-16 23:02:58 -04:00
Checksums.org Added requested Copyright notices 2017-04-01 17:26:44 -04:00
HACKING Added organizational hacking guide 2017-05-25 09:20:56 -04:00
ISA_HEX_Map.org Added requested Copyright notices 2017-04-01 17:26:44 -04:00
Knight.py Added requested Copyright notices 2017-04-01 17:26:44 -04:00
LICENSE Incorporated official GPL license 2017-03-30 06:34:29 -04:00
README Improving documentation 2017-05-27 20:12:36 -04:00
User_Interface.py Modified webIDE to use new and improved disassembler output 2017-06-16 15:12:40 -04:00
Web Interface prototype Generator.py Added requested Copyright notices 2017-04-01 17:26:44 -04:00
bootstrapping Steps.org Enabled support for HIDDEN Flag 2017-06-16 18:08:33 -04:00
dynamic_execution_trace.c Added requested Copyright notices 2017-04-01 17:26:44 -04:00
makefile Removed questions about High level prototype build process 2017-06-03 22:51:13 -04:00
tty.c Added requested Copyright notices 2017-04-01 17:26:44 -04:00
vm.c Ends the question about Memory available for application development, default is now 16KB 2017-05-06 20:46:22 -04:00
vm.h First step to making tape file names arbitrary 2017-04-08 14:41:50 -04:00
vm_decode.c Improving Memory documentation 2017-05-06 21:21:18 -04:00
vm_instructions.c Preventing segment faults from occuring due to missing input files 2017-06-14 21:56:37 -04:00
vm_minimal.c Improved vm scriptability and broke out a minimal vm definition for people wishing to keep implementation trivial 2017-04-08 15:08:12 -04:00
wrapper.c Fixed web debugger regression 2017-05-14 09:35:54 -04:00

README

## Copyright (C) 2016 Jeremiah Orians
## This file is part of stage0.
##
## stage0 is free software: you an redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## stage0 is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with stage0.  If not, see <http://www.gnu.org/licenses/>.

The master repository for this work is located at:
https://savannah.nongnu.org/projects/stage0/

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.

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.

In order to build stage0 and all the pieces, one only needs to run make all.
Each individual piece can be built by simply running make $piece with $piece being replaced by the actual part you want to make.

The only pieces that have any external dependencies are the Web IDE (Python3+CherryPy), libvm (GCC) and vm (GCC+GNU getopt)