Virgil Dupras
e8f1464ae5
Re-add Michael Schierl's emulator link to README
I has removed it when I switched to Forth because it was emulating
the assembler version, but Michael updated it, so I relink it.
The JS VM part is so cool!
преди 3 години
Virgil Dupras
20813f71b8
Remove discussion section from README
Having this information on the website is enough.
преди 3 години
Virgil Dupras
8607c94922
Update CONTRIBUTING with instructions for sending patches
преди 4 години
Virgil Dupras
fb695b67df
Replace Travis CI with Sourcehut CI
преди 4 години
Virgil Dupras
7eeec67ff5
Add extra words WIPED? and FREEBLKS?
преди 4 години
Virgil Dupras
9ab5cda397
ed: rename I to i
Shadowing core "I" is too messy. As soon as ed is loaded in memory,
nothing else that isn't "i-aware" can be loaded anymore.
I guess that's why "contexts" exist in Starting Forth, but adding
this concept just for allowing the shadowing of core words seems
overkill to me. Renaming I to i in ed seems better.
преди 4 години
Virgil Dupras
af339d8c6a
VE: properly make buffer dirty on E and X
преди 4 години
Virgil Dupras
2d9a07d215
blkunpack: don't include trailing empty lines
This was becoming heavy to manage.
преди 4 години
Virgil Dupras
49d7a7f435
z80mbc2: add BLK support
преди 4 години
Virgil Dupras
a7660fba0e
z80mbc2: new recipe
ref #82
преди 4 години
Virgil Dupras
94ed01086a
pcat: move drivers and xcomp to blkfs
преди 4 години
Virgil Dupras
1bea45acb8
8086a: add PUSHs, and POPs,
преди 4 години
Virgil Dupras
06d997f26a
pcat: write recipe README
преди 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
4939189233
emul: make blk operations much faster
It helps a bit with staging times.
преди 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
8d645405b3
pcat: add RSP checks in next
преди 4 години
Virgil Dupras
f9eb7c661b
8086asm: fix CMPrr, and CMPxx, argument order
преди 4 години
Virgil Dupras
cd514e6cd6
pcat: add PSP checks in all native words
Also, fix (roll) which wasn't properly implemented.
преди 4 години
Virgil Dupras
c2c32bbed8
pcat: properly handle IMMED flag in _find
преди 4 години
Virgil Dupras
1b5333d0b4
pcat: move all find code in _find word
It isn't used by low level boot code anymore, so it can go there.
преди 4 години
Virgil Dupras
dbd283758c
Refer to BOOT and (uflw) by addr in stable ABI
Was previously referred to by name+find, which was wasteful.
преди 4 години
Virgil Dupras
dcaa515929
pcat: implement does
преди 4 години
link2xt
d83d12899b
MOVE: do not crash when u is 0 ( #126 )
This commit adds ?DUP IF guards to MOVE and MOVE- that make them exit
when u is 0. Without these guards a DO loop was executed 65535 times
instead of 0.
In particular, this fixes a crash when "105 LOAD I " is executed
immediately after boot. Block editor word "I" passes IBUF length (0)
to MOVE- and MOVE in this case, causing a crash.
преди 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
ae719508d9
pcat: make /MOD division 16-bit
Was required for the many "256 /MOD" in the code.
преди 4 години
Virgil Dupras
60ecab314e
pcat: we have PROMPT!
Not working, but we do get that sweet "CollapseOS".
преди 4 години
Virgil Dupras
397ee3e3e6
Simplify word '
преди 4 години
Virgil Dupras
1536434666
pcat: implement cell execution and shaping things up
преди 4 години
Virgil Dupras
c571567660
emul: make verbose staging the default
I always keep it on myself. I can imagine it's especially useful to
newcomers.
преди 4 години
Virgil Dupras
acf8e03f53
8086asm: add overflow check to RPCs,
I've spent way too much time debugging bugs caused by this...
*sigh*, why can't I learn?
преди 4 години
Virgil Dupras
019fd8a67d
pcat: fix ?DUP
преди 4 години
Virgil Dupras
9d2afd200c
pcat: implement (s)
преди 4 години
Virgil Dupras
723d3c4249
pcat: all native words implemented!
(well, not PC@ and PC!, but I'm not even sure what would be the role
of these in a PC/AT. they're only used in drivers on the z80 front,
so they will not be immediately needed. todo... )
Now comes the fitting part.
преди 4 години
Virgil Dupras
8cc8df0446
pcat: add native _find
преди 4 години
Virgil Dupras
5ebdf84e78
pcat: more native words
almost there!
преди 4 години
Virgil Dupras
89bc7df120
pcat: more native words
преди 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
aca9bc9058
z80: small optimization in cell execution
преди 4 години
Virgil Dupras
035532acf7
z80: remove remaining indirections in execute calls
We now have a stable ABI that is pretty cleared up...
преди 4 години
Virgil Dupras
42818d25be
z80: remove layers of indirection of find calls
преди 4 години
Virgil Dupras
76e698157c
z80: remove layer of indirection in most "next" calls
The only calls still using the stable ABI indirection are those
made before the next routine is created.
преди 4 години
Virgil Dupras
eba83fa9a9
z80: use named labels for boot routines
The usage of numerotated labels for this was becoming severly
confusing.
преди 4 години
Virgil Dupras
eed817b517
pcat: adapt to word type change
преди 4 години