Virgil Dupras
80d1b59050
Add words |M and |L
Splitting a word into MSB/LSB pairs happens often and is worth, I
think, native words. Also, I'm going to need it in the upcoming
commits.
3 년 전
Virgil Dupras
7001446212
Complete overhaul of recipes
Recipes contain bits and pieces of hardware-related knowledge, but
these bits feel sparse. I've been wanting to consolidate hardware-
related documentation for a while, but always fell at odds with the
recipes organisation.
We don't have recipes anymore, just a /doc/hw section that contains
hardware-related documentation which often translate to precise
instructions to run Collapse OS on a specific machine.
With this new organisation, I hope to end up with a better, more
solid documentation.
3 년 전
Virgil Dupras
fea9beac1e
recipes/pcat: move recipe blocks into local overlay
3 년 전
Virgil Dupras
94ed01086a
pcat: move drivers and xcomp to blkfs
4 년 전
Virgil Dupras
1bea45acb8
8086a: add PUSHs, and POPs,
4 년 전
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!
4 년 전
Virgil Dupras
f76d30b6fe
pcat: add blk write support
4 년 전
Virgil Dupras
515890717f
pcat: use heads count from 13H08H
On real hardware, there aren't always 2 heads...
4 년 전
Virgil Dupras
d7f002df98
pcat: use boot drive no passed to bootloader through DL
instead of hardcoded drive 0.
4 년 전
Virgil Dupras
dc7f36263a
pcat: BLK-enabled!
That INT 13H logic was a bit tricky to implement...
read-only for now.
4 년 전
Virgil Dupras
cd514e6cd6
pcat: add PSP checks in all native words
Also, fix (roll) which wasn't properly implemented.
4 년 전
Virgil Dupras
dcaa515929
pcat: implement does
4 년 전
Virgil Dupras
99c05fff3c
pcat: it works!
Forth intepreter now works! There's still DOES> and overflow checks
to implement, but otherwise, we have it!
4 년 전
Virgil Dupras
60ecab314e
pcat: we have PROMPT!
Not working, but we do get that sweet "CollapseOS".
4 년 전
Virgil Dupras
1536434666
pcat: implement cell execution and shaping things up
4 년 전
Virgil Dupras
9d2afd200c
pcat: implement (s)
4 년 전
Virgil Dupras
8cc8df0446
pcat: add native _find
4 년 전
Virgil Dupras
5ebdf84e78
pcat: more native words
almost there!
4 년 전
Virgil Dupras
3b21ba635d
pcat: add PICK and (roll)
4 년 전
Virgil Dupras
6b07296d30
pcat: more native words
4 년 전
Virgil Dupras
bd508daad9
pcat: begin organizing native words properly
This port is taking shape!
4 년 전
Virgil Dupras
6bc1738bfd
pcat: implement (loop)
8086 asm is a lot terser than z80... Those indirect memory operations
are very handy.
4 년 전
Virgil Dupras
bc8144b4be
pcat: implement (br) and (br?)
4 년 전
Virgil Dupras
a92864a595
pcat: implement RSP mechanism in execution model
4 년 전
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...
4 년 전
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!
4 년 전
Virgil Dupras
a72322df31
pcat: begin structuring around words
4 년 전
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...
4 년 전
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.
4 년 전
Virgil Dupras
177750c928
recipes/pcat: first steps into 8086!
4 년 전
Virgil Dupras
b606dbf9af
rc2014: move xcomp unit's contents to blkfs
4 년 전
Virgil Dupras
e6bac985fa
Cross-compiles in a single stage!
Finally got rid of the XPACKed core and managed to cross-compile
all core words, which greatly simplifies the bootstrapping process.
4 년 전
Virgil Dupras
40a756cf1c
Move a bunch of words from XPACKed core to xcomp core
4 년 전
Virgil Dupras
51997533ff
Move a bunch of words from XPACKed core to xcomp core
4 년 전
Virgil Dupras
bd1e76ec5b
Gather all RC2014 drivers into a single "RC2014 Recipe section"
4 년 전
Virgil Dupras
bb77cd0759
xcomp: add overrides into a loadable block
Makes xcomp.fs units shorter.
4 년 전
Virgil Dupras
0434d02818
xcomp: implement X[']
4 년 전
Virgil Dupras
7c20501f27
Move core's blk to xcomp core (low and high)
TODO: implement X['] so that I can remove those XCURRENT patterns.
4 년 전
Virgil Dupras
029df00ad4
Free some space for xcomp core
4 년 전
Virgil Dupras
d6a3e79394
Free some space for xcomp core low
4 년 전
Virgil Dupras
6a5ff3adcb
rc2014: unify SD Card driver
Now more low/high layers.
4 년 전
Virgil Dupras
cbf5baf3b6
Pack core words a bit
This leaves space for xcomp-core which is growing.
4 년 전
Virgil Dupras
dfe474ca0e
xcomp: add XCOMPILE and X[COMPILE]
This allows us to move words like ABORT" to xcomp-core, which is
I think the last roadblock before being able to unify all drivers
into a single xcomp layer.
4 년 전
Virgil Dupras
6beb082e29
acia: make wholly cross compilable
4 년 전
Virgil Dupras
da371451cc
Replace INITIAL_SP with PS_ADDR conf
Now I struggle to remember why I ever did things they way I did.
There must have been a reason...
4 년 전
Virgil Dupras
afc2327770
Split icore in 2 parts
The goal is to insert device drivers in between.
4 년 전
Virgil Dupras
31119c2de3
xcomp: move all offset spitting to the end of the unit
I'd like to move this code, along with all recipe contents, to blk/.
It's easier if "emul-related" code is gathered at the same place.
4 년 전
Virgil Dupras
f023f9bcb4
Pack core words blks a bit tighter
With all this recent movements, we had a bit of a fragmentation
issue.
4 년 전
Virgil Dupras
931c812394
Remove cmp
Not worth the complexity and space.
4 년 전
Virgil Dupras
61b2e02351
xcomp: remove XOFF and use ORG and BIN( instead
4 년 전