Virgil Dupras
efed0e249e
recipes/rc2014/selfhost: add verification instructions
преди 4 години
Virgil Dupras
dee7eea497
Move link.fs to blkfs
преди 4 години
Virgil Dupras
a2f164ecc3
emul: bootstrap to stage2 from within Collapse OS!
Big bootstrapping change which greatly reduces the role of the modern
operating system in the bootstrapping process.
преди 4 години
Virgil Dupras
13771d8c92
xcomp: add XPACK
преди 4 години
Virgil Dupras
9edab10a3a
blk: add dirty flag and auto write blocks on fetch
Also, fix some PSP leaks related to LOAD.
преди 4 години
Virgil Dupras
79ce88c12c
tools: add blkunpack
and remove cfspack, which will not ever be used again.
преди 4 години
Virgil Dupras
d4cdb659b4
tools: add blkpack
преди 4 години
Virgil Dupras
b536d3bfd6
rc2014: complete the EEPROM recipe
преди 4 години
Virgil Dupras
d0545d555f
upload: use A! instead of C!
It makes the tool much more versatile. I'll have adev being included
in all recipes, so it can be assumed.
преди 4 години
Virgil Dupras
509972b08c
tools: add exec and convert ./upload to Forth
преди 4 години
Virgil Dupras
d6c9ab3f32
tools/stripfc: strip a little bit more
преди 4 години
Virgil Dupras
e37f4c2551
bin2c: add missing stdtypes.h
преди 4 години
Byron A. Grobe
217df20d77
Moved tools/bin2c to single-level with other tools.
преди 4 години
Byron A. Grobe
f65c189e9b
Replace bin2c.sh with a more portable implementation.
`xxd' is not available on all systems, and on others does not support
the `-i' flag. Since bin2c.sh relied on a tool that I can't seem to find
a compatible version of, I have included a simple, portable replacement in C.
Usage remains the same:
bin2c ARRAYNAME < inputfile > outputfile.
This change is also reflected in emul/Makefile.
преди 4 години
Virgil Dupras
ba384bfa0f
Add stripfc tool
преди 4 години
Virgil Dupras
9235fa9223
Add /tools/slatest
To update LATEST offset more easily. Will be useful for recipes.
преди 4 години
Virgil Dupras
049f2cf222
Reverse ttysafe escaping order
Sending the escape after its target made things complicated for upcoming
stuff I want to add. Although it makes `recv.asm` slightly larger, it's really
worth it.
преди 4 години
Virgil Dupras
c5116b39ae
Fix tools Makefile for GNU make
It seems that my little "@.c" trick only worked in BSD make...
преди 4 години
Virgil Dupras
a74ee81822
recipes/trs80: new recipe (WIP)
преди 4 години
Virgil Dupras
439f880abe
Rewrite font_compile.pl to C
преди 4 години
Virgil Dupras
359991c005
cfspack: fix compilation error
Some compilers don't like assigning stdout statically.
преди 4 години
Virgil Dupras
4cde58fd83
cfspack: make into a library
Use it in shell instead of using popen()
преди 4 години
Virgil Dupras
72357fec86
Move "emul" folder to root
преди 4 години
Virgil Dupras
40f56dd6dc
cfspack: silence compilation warning
преди 4 години
Virgil Dupras
c5c6ef4c6c
Move "tests" folder to root
преди 4 години
Virgil Dupras
e3c885085d
Consolidate tests
Also, removed leftover in runbin.c (what did it do there??) that
could result in tests falsely passing.
преди 4 години
Virgil Dupras
7ca54d179d
lib/expr: make EXPR_PARSE "tail" HL
Things are now much simpler.
преди 4 години
Virgil Dupras
289037a3dd
lib/parse: make parseDecimal "tail" HL
HL, instead of being preserved, is set to the character following
the last read character.
преди 4 години
Virgil Dupras
dcb96aefe9
lib/parse: remove parseHexPair
Also, make parseHexadecimal "tail" (HL). Soon, all routines in lib/parse
will do that, making the life of lib/expr easier.
преди 4 години
Virgil Dupras
2503bdfced
lib/args: remove
преди 4 години
Virgil Dupras
981c93bfd4
lib/expr: fix stack imbalance on failure
преди 4 години
Virgil Dupras
4760d044c0
test_expr: simplify
преди 4 години
Virgil Dupras
213614af33
lib/expr: make recursion process a bit more orderly
Instead of going left and right, finding operators chars and replacing them
with nulls, we parse expressions in a more orderly manner, one chunk at a
time. I think it qualifies as "recursive descent", but I'm not sure.
This allows us to preserve the string we parse and should also make the
implementation of parens much easier.
преди 4 години
Virgil Dupras
7410891ad1
lib/expr: fix unary minus
For some reason, I've mistakenly disabled tests in test_expr without noticing
and I also broke "-123" parsing. Fixed.
преди 4 години
Virgil Dupras
6d88c3a754
parseExprDE --> parseExpr
преди 4 години
Virgil Dupras
025b90909f
Update bootstrap bin
преди 4 години
Virgil Dupras
aef96c5e96
Add missing common.asm test harness file
преди 4 години
Virgil Dupras
a034f63e23
test: begin adding common test harnessing code
This should make tests a bit more convenient to write and debug.
Moreover, begin de de-IX-ization of parseExpr. I have, in a local WIP, a
parseExpr implemented using a recursive descent algo, it passes all tests, but
it unfortunately assembles a faulty zasm. I have to find the expressions that
it doesn't parse properly.
But before I do that, I prefer to commit these significant improvements I've
been making to tests harness in parallel of this development.
преди 4 години
Virgil Dupras
98ca338aba
avra: add LD/ST
преди 4 години
Virgil Dupras
b955a67daa
avra: add TST
преди 4 години
Virgil Dupras
6e1e8e0e59
avra: add LSL
преди 4 години
Virgil Dupras
8ded02bc78
avra: fix misordered MOV, MUL, NEG and NOP
преди 4 години
Virgil Dupras
f54e10f9fd
avra: add CALL and JMP
преди 4 години
Virgil Dupras
10b925e0e0
avra: add BCLR and BSET
преди 4 години
Virgil Dupras
1771ee8da7
avra: add SER
преди 4 години
Virgil Dupras
0a9ac27cf6
avra: add SBIC and SBIS
преди 4 години
Virgil Dupras
a9dcba5793
avra: add CBR instruction
преди 4 години
Virgil Dupras
c968995ec0
avra: add CBI and SBI
This completes instruction support for the Blink tn45 example.
преди 4 години
Virgil Dupras
2652c81519
avra: make CLR work properly
преди 4 години
Virgil Dupras
aa8df95f7d
Add "avr/" includes folder
Also, add a "real world" example in AVRA tests, a blink program on
a ATtiny45. Some instructions are commented out because they aren't
implemented yet, but not many.
The output of the program has been verified against AVRA's own
output.
преди 4 години