From 9d4d9de511f59d58f502ac0c36d5c1e06734ffaf Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Thu, 14 May 2020 10:49:24 -0400 Subject: [PATCH] emul: remove stage1 --- emul/Makefile | 18 +++--------------- emul/forth.bin | Bin 5875 -> 5922 bytes emul/stage.c | 8 -------- emul/stage1.fs | 28 ---------------------------- emul/xcomp.fs | 23 ++++++++++++++++++++++- 5 files changed, 25 insertions(+), 52 deletions(-) delete mode 100644 emul/stage1.fs diff --git a/emul/Makefile b/emul/Makefile index 751fb26..17805cd 100644 --- a/emul/Makefile +++ b/emul/Makefile @@ -14,24 +14,12 @@ $(BLKPACK): $(BIN2C): $(BLKPACK) $(BLKUNPACK): $(BLKPACK) -stage0.bin: stage2 xcomp.fs - cat xcomp.fs | ./stage2 > stage0.bin - -stage0-bin.h: stage0.bin $(BIN2C) - $(BIN2C) KERNEL < stage0.bin > $@ - -stage1: stage.c $(OBJS) stage0-bin.h - $(CC) stage.c $(OBJS) -o $@ - -stage1dbg: stage.c $(OBJS) stage0-bin.h - $(CC) -DDEBUG stage.c $(OBJS) -o $@ - # not dependent on forth.bin to avoid circular deps. forth-bin.h: $(BIN2C) $(BIN2C) KERNEL < forth.bin > $@ stage2: stage.c $(OBJS) forth-bin.h blkfs-bin.h - $(CC) -DSTAGE2 stage.c $(OBJS) -o $@ + $(CC) stage.c $(OBJS) -o $@ blkfs: $(BLKPACK) $(BLKPACK) ../blk > $@ @@ -51,8 +39,8 @@ emul.o: emul.c .PHONY: updatebootstrap -updatebootstrap: stage1 stage1.fs - ./stage1 < stage1.fs > forth.bin +updatebootstrap: stage2 xcomp.fs + ./stage2 < xcomp.fs > forth.bin .PHONY: pack pack: diff --git a/emul/forth.bin b/emul/forth.bin index 1003b0d8eb7a200545bce4a310985f72c188282d..1f56f0a7bce6950e6ecd6d65e4f4420b7d33f3c9 100644 GIT binary patch delta 953 zcmZWoOH30{6umR^+Q1av%(S$riPTpqq16Z)<3c{M3>2*lg-lD77}C@T4Y9U{V$?K< zy6D1$5O^+3+_^E*xNxBf8#k;>h>@)cqK1VgNMii#4Bj{3%Ecse?>*{Pau)FYi zH>jD=KRPs$!wolS7#Vdiri3vC0`JH&S%KI5tsc!;h6%}3bT2p=_R3g;lVcoqh-gHo zij#$y0dBfX3I>t0#;h`{IQ`4zm>>IDV_qp3UtK~SO=7i41WMJ``30lHFFF-xuHx;e zkVf1Ze{8gc#1_Jv;JV={o+k9?QU4Vx@Q+5QYr*(#FmS<7g#6y!qyc)+iD+lZ=R*pIx&$qz5aw&o258hv>* z=9kZU1X+am1w&l&b;+F?@A2jRD?Z`VatUV)y^6Oxe8o3%aKne6>2Pnqt)rQDBrLDM zC$w`^4{95{wJ9v!<7b-&9f5}b1fDik<1B%Hlc?fHaJb(Hi$+*9L`D&2B{SVDTfSXpmnMoc i)3?X>I(?-=A$PqzF`Q=6>(f)knHWo1tVK?^ z@dpn9%kvyi@L;J25rm$4$X)8O7po#wL3*ip5vlXG9+rJG@B6-)Z|1$|-#gyb_6Y5` z0I>U}%R@;%JLO>y=x{DTZTPxxfn`TPq$YGifLf5tc$~=XM5D!n$ooIaWxPP>Jz7Vk zJvr(I35g~Im?HNcUcqF%wvgyWNQ;J{wg4%*Mp;G<#!~d73vZXI^NAq1XvzUB)o#q1 z)!I#SzILlR3n}(Q9*FeGtK?Ld1^r*f-@E)?S7$`)jC{zL=jZq2D?Up+F~aU>V7qgwu;` zNR5|1VU27delRQ%4#GsYGrM8fB|H(oR-LaTROq0q1XLpKDGjM1Ir*#ggn{`zr73~> z!^PDt;L$eWs1}`LZS{n~GqQ8<#*MhaM%)#4Nb3u7Q@l6M?SQ0ep)HPXNbgXA<+NZj zqCQkjaKSHx{NArqP`R`P#dNN4mM@IsUrPkNbpvO8aC7~?2xBj`m@MNVD(w>LiKtNs zvMsHTv?$J==qJfz4aas`5Bi^LWo*n4&wDtT5Aiz=kyZ4h_@1&?dRfRb)u#&@i}@yx zEb90gCq~jm1?z8;khl(?v4ahHjV`hkUq~?6Ti*pEubbFY&c)rB=#QT?rW<#~EgySo zJmYHqF>%LW75|`j$H0Aef-sh`hY2gtqim3lk7oRr2WL(kfLzM kujAj=!Z1_6U5C6o45PJ5rF6YMXHMA83rEQ$2wcSc2b9CXm;e9( diff --git a/emul/stage.c b/emul/stage.c index 36ec647..f33b63f 100644 --- a/emul/stage.c +++ b/emul/stage.c @@ -2,12 +2,8 @@ #include #include #include "emul.h" -#ifdef STAGE2 #include "forth-bin.h" #include "blkfs-bin.h" -#else -#include "stage0-bin.h" -#endif /* Staging binaries @@ -74,7 +70,6 @@ static void iowr_here(uint8_t val) end_here |= val; } -#ifdef STAGE2 static void iowr_blk(uint8_t val) { blkid <<= 8; @@ -86,7 +81,6 @@ static uint8_t iord_blkdata() { return BLKFS[blkpos++]; } -#endif int main(int argc, char *argv[]) { @@ -95,10 +89,8 @@ int main(int argc, char *argv[]) m->iord[STDIO_PORT] = iord_stdio; m->iowr[STDIO_PORT] = iowr_stdio; m->iowr[HERE_PORT] = iowr_here; -#ifdef STAGE2 m->iowr[BLK_PORT] = iowr_blk; m->iord[BLKDATA_PORT] = iord_blkdata; -#endif // initialize memory for (int i=0; imem[i] = KERNEL[i]; diff --git a/emul/stage1.fs b/emul/stage1.fs deleted file mode 100644 index 484c541..0000000 --- a/emul/stage1.fs +++ /dev/null @@ -1,28 +0,0 @@ -: EFS@ - 256 /MOD 3 PC! 3 PC! - 1024 0 DO - 4 PC@ - BLK( I + C! - LOOP -; -: EFS! - 256 /MOD 3 PC! 3 PC! - 1024 0 DO - BLK( I + C@ 4 PC! - LOOP -; - -: INIT - CURRENT @ HERE ! - BLK$ - ['] EFS@ BLK@* ! - ['] EFS! BLK!* ! - RDLN$ - LIT< _sys [entry] - ." Collapse OS" NL -; - -(entry) _ -H@ 0x08 BIN+ ! ( update LATEST ) - ," INIT " -H@ 256 /MOD 2 PC! 2 PC! diff --git a/emul/xcomp.fs b/emul/xcomp.fs index 400a9cc..4ffc47c 100644 --- a/emul/xcomp.fs +++ b/emul/xcomp.fs @@ -9,11 +9,32 @@ 393 LOAD ( xcomp core low ) : (emit) 0 PC! ; : (key) 0 PC@ ; +: EFS@ + 256 /MOD 3 PC! 3 PC! + 1024 0 DO + 4 PC@ + BLK( I + C! + LOOP +; +: EFS! + 256 /MOD 3 PC! 3 PC! + 1024 0 DO + BLK( I + C@ 4 PC! + LOOP +; + 420 LOAD ( xcomp core high ) (entry) _ ( Update LATEST ) PC ORG @ 8 + ! ," CURRENT @ HERE ! " -," ' (key) 12 RAM+ ! " +," : INIT " +," BLK$ " +," ['] EFS@ BLK@* ! " +," ['] EFS! BLK!* ! " +," RDLN$ " +," LIT< _sys [entry] " +," LIT< CollapseOS (print) NL " +," ; INIT " ORG @ 256 /MOD 2 PC! 2 PC! H@ 256 /MOD 2 PC! 2 PC!