Virgil Dupras
d777a74be3
Forth takeover!
2020-05-21 22:16:01 -04:00
Virgil Dupras
223cb94466
tools/upload: use C! instead of A!
...
Addressed devices are not included in Collapse OS by default. Let's
just accept that upload only works with memory.
2020-05-21 07:59:04 -04:00
Virgil Dupras
5504c796ee
tools: add blkup
...
With this tool, we can send content to a TRS-80 directly to floppy.
This paves the way to writing ourselves a set of disks containing the
blkfs!
2020-05-03 08:53:17 -04:00
Virgil Dupras
7344186c62
tools: add blkup
...
not actually tested yet...
2020-05-03 07:32:19 -04:00
Virgil Dupras
efed0e249e
recipes/rc2014/selfhost: add verification instructions
2020-04-27 09:24:40 -04:00
Virgil Dupras
dee7eea497
Move link.fs to blkfs
2020-04-26 14:37:54 -04:00
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.
2020-04-26 10:24:09 -04:00
Virgil Dupras
13771d8c92
xcomp: add XPACK
2020-04-25 16:02:47 -04:00
Virgil Dupras
9edab10a3a
blk: add dirty flag and auto write blocks on fetch
...
Also, fix some PSP leaks related to LOAD.
2020-04-16 20:59:20 -04:00
Virgil Dupras
79ce88c12c
tools: add blkunpack
...
and remove cfspack, which will not ever be used again.
2020-04-16 19:44:17 -04:00
Virgil Dupras
d4cdb659b4
tools: add blkpack
2020-04-13 22:05:03 -04:00
Virgil Dupras
b536d3bfd6
rc2014: complete the EEPROM recipe
2020-04-13 14:41:02 -04:00
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.
2020-04-13 12:00:56 -04:00
Virgil Dupras
509972b08c
tools: add exec and convert ./upload to Forth
2020-04-13 10:25:27 -04:00
Virgil Dupras
d6c9ab3f32
tools/stripfc: strip a little bit more
2020-04-12 12:47:50 -04:00
Virgil Dupras
d4324292fb
Merge remote-tracking branch 'origin/master' into forth
2020-04-07 19:32:30 -04:00
Virgil Dupras
e37f4c2551
bin2c: add missing stdtypes.h
2020-04-07 18:13:42 -04:00
Byron A. Grobe
217df20d77
Moved tools/bin2c to single-level with other tools.
2020-04-07 16:56:55 -05:00
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.
2020-04-05 13:04:05 -05:00
Virgil Dupras
ba384bfa0f
Add stripfc tool
2020-04-04 10:27:21 -04:00
Virgil Dupras
9235fa9223
Add /tools/slatest
...
To update LATEST offset more easily. Will be useful for recipes.
2020-04-02 23:20:47 -04:00
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.
2020-02-22 14:11:43 -05:00
Virgil Dupras
c5116b39ae
Fix tools Makefile for GNU make
...
It seems that my little "@.c" trick only worked in BSD make...
2020-02-12 10:12:46 -05:00
Virgil Dupras
a74ee81822
recipes/trs80: new recipe (WIP)
2020-01-11 23:01:28 -05:00
Virgil Dupras
439f880abe
Rewrite font_compile.pl to C
2020-01-07 18:26:40 -05:00
Virgil Dupras
359991c005
cfspack: fix compilation error
...
Some compilers don't like assigning stdout statically.
2019-12-31 15:12:17 -05:00
Virgil Dupras
4cde58fd83
cfspack: make into a library
...
Use it in shell instead of using popen()
2019-12-31 13:57:52 -05:00
Virgil Dupras
72357fec86
Move "emul" folder to root
2019-12-31 13:34:24 -05:00
Virgil Dupras
40f56dd6dc
cfspack: silence compilation warning
2019-12-31 13:08:24 -05:00
Virgil Dupras
c5c6ef4c6c
Move "tests" folder to root
2019-12-31 13:07:05 -05:00
Virgil Dupras
e3c885085d
Consolidate tests
...
Also, removed leftover in runbin.c (what did it do there??) that
could result in tests falsely passing.
2019-12-30 20:08:08 -05:00
Virgil Dupras
7ca54d179d
lib/expr: make EXPR_PARSE "tail" HL
...
Things are now much simpler.
2019-12-30 19:24:53 -05:00
Virgil Dupras
289037a3dd
lib/parse: make parseDecimal "tail" HL
...
HL, instead of being preserved, is set to the character following
the last read character.
2019-12-30 10:13:55 -05:00
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.
2019-12-29 21:56:56 -05:00
Virgil Dupras
2503bdfced
lib/args: remove
2019-12-29 21:05:09 -05:00
Virgil Dupras
981c93bfd4
lib/expr: fix stack imbalance on failure
2019-12-29 16:15:48 -05:00
Virgil Dupras
4760d044c0
test_expr: simplify
2019-12-29 15:39:39 -05:00
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.
2019-12-29 11:42:18 -05:00
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.
2019-12-23 20:53:31 -05:00
Virgil Dupras
6d88c3a754
parseExprDE --> parseExpr
2019-12-23 19:13:44 -05:00
Virgil Dupras
025b90909f
Update bootstrap bin
2019-12-23 16:03:23 -05:00
Virgil Dupras
aef96c5e96
Add missing common.asm test harness file
2019-12-23 16:02:26 -05:00
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.
2019-12-23 15:41:25 -05:00
Virgil Dupras
98ca338aba
avra: add LD/ST
2019-12-22 21:50:20 -05:00
Virgil Dupras
b955a67daa
avra: add TST
2019-12-22 19:24:36 -05:00
Virgil Dupras
6e1e8e0e59
avra: add LSL
2019-12-22 18:36:15 -05:00
Virgil Dupras
8ded02bc78
avra: fix misordered MOV, MUL, NEG and NOP
2019-12-22 18:35:08 -05:00
Virgil Dupras
f54e10f9fd
avra: add CALL and JMP
2019-12-22 15:54:46 -05:00
Virgil Dupras
10b925e0e0
avra: add BCLR and BSET
2019-12-22 15:11:15 -05:00
Virgil Dupras
1771ee8da7
avra: add SER
2019-12-22 15:01:08 -05:00