Virgil Dupras
95ab1ad588
Transform "blk/" folders into "blk.fs" text files
...
Working in "blk/" folder from a modern system is harder than it
should be. Moving blocks around is a bit awkward, grepping is a
bit less convenient than it could be, git blame has troubles
following, etc.
In this commit, we modify blkpack and blkunpack to work with single
text files with blocks being separated by a special markup.
I think this will make the code significantly more convenient to
work into.
2020-11-14 18:34:15 -05:00
Virgil Dupras
0d172cc2c4
tools: add smsrom
...
Running a ROM on an everdrive is one thing, but running a ROM
directly is another: my hacked up sega.bin didn't have a proper
checksum, so the ROM didn't run.
This new tool transforms a binary into a properly-headered ROM.
Has been tested on an actual SMS.
2020-10-10 13:30:43 -04:00
Virgil Dupras
c9ce0f8cfd
tools/blkpack: support multiple dirname arguments
2020-09-20 09:38:28 -04:00
Virgil Dupras
7dc00179f7
tools/upload: use A! instead of C! to write
...
By default, it changes nothing, but it allows interesting
setups, such as using AT28! for directly uploading to EEPROM.
I've also updated the EEPROM recipe to upload directly to 0x2000.
I'm not sure what has changed, but it's working fine now.
2020-09-17 13:30:29 -04:00
Virgil Dupras
a19c814b0d
tools: improve reliability of ttyopen()
...
Previously, communications with my RC2014 would always be rocky and
fail most of the time. By sending an CR at init, things go much
smoother.
2020-09-17 10:25:08 -04:00
Virgil Dupras
fc7971d64f
tools: improve stty-related advices in README
2020-08-02 16:21:31 -04:00
Virgil Dupras
4632b3c157
tools/exec: exec specified file instead of hardcoding on stdin
...
Under OpenBSD, stdin is already used by the device itself because of
the whole "stty has no memory" situation.
2020-08-02 16:11:19 -04:00
Virgil Dupras
b8e52707e9
recipes/arduinouno/at28: improve reliability
...
Previously, it could never write more than a few bytes before pingpong
getting a mismatch error. Now, I can pingpong Collapse OS binary
without a mismatch.
2020-07-28 15:23:10 -04:00
Virgil Dupras
3607eefa55
Add arduinouno/at28 recipe
2020-07-22 17:26:06 -04:00
Virgil Dupras
c2b507eaff
tools: improve usability on OpenBSD
...
So far, I hadn't managed to run those tools properly on OpenBSD. I
was too confused by its stty peculiarities. I'm still confused, but
at least I managed to make them work... most of the time...
2020-07-02 11:36:53 -04:00
Virgil Dupras
a8302920cb
tools/memdump: expect proper prompt
2020-06-30 11:06:59 -04:00
Virgil Dupras
2d9a07d215
blkunpack: don't include trailing empty lines
...
This was becoming heavy to manage.
2020-06-23 06:52:34 -04:00
link2xt
4017fd04ac
Replace deprecated bzero with memset ( #119 )
2020-06-16 18:58:23 -05:00
link2xt
79da1db90e
tools: mark local C functions as static ( #120 )
2020-06-16 18:58:00 -05:00
Virgil Dupras
f6ded7712e
VE: add 't'
...
This is the first commit I do entirely in VE. It's a habit I'm planning
on taking as it helps a lot to find usability issues.
2020-06-11 18:12:01 -04:00
Zac Stewart
ae954906d8
Make blkpack close files when it's done reading them ( #108 )
...
* Report when a file cannot be opened
* Close files when done reading them
2020-06-08 19:09:45 -05:00
Virgil Dupras
bcddfd461d
blkpack: Remove usage of nonstandard d_type
...
The man page says it's not always available and it caused problems
under some FSes. The condition is not needed in the context of
blk/, let's scrap it.
2020-06-08 06:38:33 -04:00
Virgil Dupras
c07a594e1a
Begin working on a Visual Editor
2020-06-04 10:39:59 -04:00
Virgil Dupras
93c6d150e2
emul: don't embed forth.bin in emul binaries
...
Read the contents of forth.bin at runtime. This allows us to get
rid of the bin2c tooling.
2020-05-23 09:54:26 -04:00
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