Commit Graph

279 Commits

Author SHA1 Message Date
Virgil Dupras 939a1da9e6 recipes/arduinouno/at28: add companion at28dump program 2020-07-28 16:29:10 -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 d97012ecae Fix makefile build-from-clean-repo glitches 2020-06-30 10:24:12 -04:00
Virgil Dupras f09aa0603c rc2014: separate SPI relay and SDC drivers
My intention is to reuse the SPI relay to program AVR MCUs from a
RC2014.
2020-06-29 18:48:00 -04:00
Virgil Dupras 5a2612a9c5 Add HERESTART xcomp config 2020-06-28 19:45:28 -04:00
Virgil Dupras 3068b58be5 Rename RAMSTART to SYSVARS
It's more descriptive this way. Also, I'll soon add a new HERESTART
config.
2020-06-28 18:49:30 -04:00
Virgil Dupras b8800be76f rc2014: improve SD card driver docs 2020-06-28 16:34:41 -04:00
Virgil Dupras 1312817117 z80: make boot binary a 2-part process
Previously, recipes that began spitting binary contents before
loading block 282 would end up with VARIABLE code in their binary,
thus breaking them. We fix this by making this loading process
2-part.
2020-06-26 21:41:17 -04:00
Virgil Dupras b3e865d0fb recipes: use cvm's staging binary instead of emul's
Much faster!
2020-06-26 21:23:13 -04:00
Virgil Dupras 49d7a7f435 z80mbc2: add BLK support 2020-06-22 21:21:24 -04:00
Virgil Dupras a7660fba0e z80mbc2: new recipe
ref #82
2020-06-22 19:09:41 -04:00
Virgil Dupras 94ed01086a pcat: move drivers and xcomp to blkfs 2020-06-22 14:21:25 -04:00
Virgil Dupras 1bea45acb8 8086a: add PUSHs, and POPs, 2020-06-22 13:54:33 -04:00
Virgil Dupras 06d997f26a pcat: write recipe README 2020-06-22 13:34:20 -04:00
Virgil Dupras 496826cdc4 pcat: implement AT-XY
VE works! well, at this point, we can say that Collapse OS runs on
PC/AT. A little cleanup and docs writing and we're done!
2020-06-22 06:53:30 -04:00
Virgil Dupras f76d30b6fe pcat: add blk write support 2020-06-22 06:44:52 -04:00
Virgil Dupras 515890717f pcat: use heads count from 13H08H
On real hardware, there aren't always 2 heads...
2020-06-22 05:59:26 -04:00
Virgil Dupras d7f002df98 pcat: use boot drive no passed to bootloader through DL
instead of hardcoded drive 0.
2020-06-21 22:53:11 -04:00
Virgil Dupras dc7f36263a pcat: BLK-enabled!
That INT 13H logic was a bit tricky to implement...

read-only for now.
2020-06-21 22:07:12 -04:00
Virgil Dupras cd514e6cd6 pcat: add PSP checks in all native words
Also, fix (roll) which wasn't properly implemented.
2020-06-21 14:07:02 -04:00
Virgil Dupras dcaa515929 pcat: implement does 2020-06-21 10:40:09 -04:00
Virgil Dupras 99c05fff3c pcat: it works!
Forth intepreter now works! There's still DOES> and overflow checks
to implement, but otherwise, we have it!
2020-06-20 20:06:42 -04:00
Virgil Dupras 60ecab314e pcat: we have PROMPT!
Not working, but we do get that sweet "CollapseOS".
2020-06-20 16:58:48 -04:00
Virgil Dupras 1536434666 pcat: implement cell execution and shaping things up 2020-06-20 13:50:01 -04:00
Virgil Dupras 9d2afd200c pcat: implement (s) 2020-06-19 20:09:51 -04:00
Virgil Dupras 8cc8df0446 pcat: add native _find 2020-06-19 07:56:54 -04:00
Virgil Dupras 5ebdf84e78 pcat: more native words
almost there!
2020-06-19 07:26:33 -04:00
Virgil Dupras 3b21ba635d pcat: add PICK and (roll) 2020-06-18 21:21:46 -04:00
Virgil Dupras 6b07296d30 pcat: more native words 2020-06-18 19:06:53 -04:00
Virgil Dupras bd508daad9 pcat: begin organizing native words properly
This port is taking shape!
2020-06-18 15:28:30 -04:00
Virgil Dupras 6bc1738bfd pcat: implement (loop)
8086 asm is a lot terser than z80... Those indirect memory operations
are very handy.
2020-06-18 15:01:04 -04:00
Virgil Dupras bc8144b4be pcat: implement (br) and (br?) 2020-06-16 22:10:32 -04:00
Virgil Dupras a92864a595 pcat: implement RSP mechanism in execution model 2020-06-16 20:41:53 -04:00
Virgil Dupras d8d2e05eb2 pcat: make find compare strings
find is the biggest chunk of logic of the boot code. The 8086 version
is significantly terser than the z80 one. REP/CMPS helps...
2020-06-15 06:23:19 -04:00
Virgil Dupras 8c452f5add pcat: begin implementing find
Not comparing strings yet. Without asm tooling support, it's a big
chunk to swallow at once. It's progressing well!
2020-06-14 21:52:58 -04:00
Virgil Dupras a72322df31 pcat: begin structuring around words 2020-06-14 14:15:44 -04:00
Virgil Dupras 2b7abf802f pcat: begin porting forth
I'm not sure yet where I'm going, but I'm not going to build the
8086 port from the ground up like I did with the z80, that is,
making is sustain itself and eventually merge its forth code with
core words. That would be too much work which would then be thrown
out (all those words I'll initially have to implement in asm which
are already implemented in Forth).

What I *think* I can do is build a mirror version of z80 boot code
and cross-compile it from the z80. This means it has to follow z80
stable ABI.

Nope, I'm not sure where I'm going...
2020-06-13 21:37:54 -04:00
Virgil Dupras 07e50313c7 pcat: separate MBR code and OS code
MBR code now strictly loads OS code into memory and jumps into it.

Now, I've got to consolidate my assembler code, modrm logic is
messed up.
2020-06-13 15:35:16 -04:00
Virgil Dupras 177750c928 recipes/pcat: first steps into 8086! 2020-06-12 14:03:31 -04:00
Virgil Dupras 394f962510 recipe: fix makefiles for fresh clone contexts
All recipe makesfiles would previously assume a built emul/.

Fixes #113
2020-06-11 12:23:59 -04:00
Virgil Dupras b2b556911f trs80: implement AT-XY
Also, I've run VE on the TRS-80 for the first time! It doesn't work
well though. Screen is mostly blank all the time.

I removed instructions from the recipe which became obsolete when
Collapse OS became 100% bootstrapped. Also, I've updated instructions
to change the NL override which is necessary for blkup to work.
2020-06-07 11:14:57 -04:00
Virgil Dupras a2136e604d rc2014/eeprom: adjust instructions
Now that adev is directly in core, things are easier.
2020-05-22 20:35:01 -04:00
Virgil Dupras 986249cf5e rc2014: fix misinformation in README 2020-05-22 14:19:02 -04:00
Virgil Dupras b5683f447b sms/kbd: update instructions for Forth Collapse OS
The keyboard is a bit glitchy, but these are the same glitch as those
that were already present in Z80 Collapse OS. They still need fixing...
2020-05-21 13:57:34 -04:00
Virgil Dupras b06cf09754 rc2014/ps2: update recipe to Forth's Collapse OS 2020-05-21 09:09:13 -04:00
Virgil Dupras aad6b5c2e5 avra: add global constants 2020-05-19 10:48:48 -04:00
Virgil Dupras ac309bbd9e avra: rename AGAIN, to AGAIN?,
AGAIN, becomes a shortcut for "' RJMP AGAIN?,"
2020-05-19 10:36:07 -04:00
Virgil Dupras 7a41c5c6f9 avra: add IF, .. THEN,
I decided to keep SKIP, .. TO, (renamed from AT,) around and limit
IF, .. THEN, to the simple BRNE case.
2020-05-19 10:26:57 -04:00
Virgil Dupras 8bbd29d37d avra: add SKIP, .. AT,
Will change to IF, .. THEN, but I need a way to easily reverse a
BR op. But from this commit, the translation of sms/kbd/ps2ctl.asm
is complete! perfect binary match!
2020-05-19 10:19:37 -04:00