Commit Graph

321 Commits

Author SHA1 Message Date
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
Virgil Dupras 7ca54d179d lib/expr: make EXPR_PARSE "tail" HL
Things are now much simpler.
2019-12-30 19:24:53 -05:00