commit deb59af

Devine Lu Linvega  ·  2026-06-27 23:23:18 +0000 UTC
parent 93d8fad
Grabbed latest M/PC
1 files changed,  +27, -6
+27, -6
 1@@ -14,6 +14,7 @@
 2 
 3 |0050 @Varvara/version
 4 |0080 @path/buflen
 5+|0100 @loader/pagelen
 6 |0200 @bios/buflen
 7 |0800 @dir/buflen
 8 |0120 @meta/buflen
 9@@ -664,10 +665,8 @@
10 @run/<eval> ( -- )
11 	bios/is-empty ?bios/<push-err-underflow>
12 	bios/pop path/make
13-	( ? ) DUP2 file/is-oversized ?{
14-		( ? ) DUP2 file/exists ?loader/<bind>
15-		POP2 !bios/<push-err-missing> }
16-	POP2 !bios/<push-err-oversized>
17+	( ? ) DUP2 file/exists ?loader/<bind>
18+	POP2 !bios/<push-err-missing>
19 	&api =dict/run =&<eval> "<run> 20 "( 20 "f.rom 20 09 20 "ok 20 ") 00
20 
21 @txt/<eval> ( -- )
22@@ -1012,6 +1011,25 @@
23 (
24 @|Loader )
25 
26+@loader/<load-expansion> ( -- )
27+	#ff00 file/<seek>
28+	;&pagelen .File/length DEO2
29+	;&page .File/read DEO2
30+	#0000
31+	&>s
32+		;&page .File/read DEO2
33+		.File/success DEI2 ORA ?{ POP2 JMP2r }
34+		DUP2 /<move>
35+		INC2 !&>s
36+
37+@loader/<move> ( page* -- )
38+	DUP2 #80 SFT2 ,&a STR2
39+	#08 SFT2 INC2 ,&p STR2
40+	;&mmu-mov .System/expansion DEO2
41+	JMP2r
42+
43+	&mmu-mov [ 01 =&pagelen 0000 =&page &p $2 &a $2 ]
44+
45 @loader/<bind> ( path* -- )
46 	;&buf ,&+ptr STR2
47 	&>w
48@@ -1030,6 +1048,7 @@
49 	JMP2r
50 
51 @loader/callback ( -> )
52+	;&buf file/is-oversized #00 EQU ?{ /<load-expansion> }
53 	#0000 DUP2 Screen/<set-pos>
54 	( | Clear screen )
55 	[ LIT2 80 -Screen/pixel ] DEO
56@@ -1041,9 +1060,9 @@
57 	( | Load )
58 	;&buf .File/name DEO2
59 	#fee0 .File/length DEO2
60-	;&mmu .System/expansion DEO2 !/entry
61+	;&mmu-get .System/expansion DEO2 !/entry
62 
63-	&mmu [ 01 0020 0000 =&rom 0000 =&entry ]
64+	&mmu-get [ 01 0020 0000 =&rom 0000 =&entry ]
65 
66 (
67 @|Fade )
68@@ -1772,6 +1791,8 @@
69 
70 @symbol/buf $20
71 
72+@loader/page $&pagelen
73+
74 @meta/buf $1 &body $&buflen &cap 0000 &icon $90
75 
76 @path/buf $&buflen &cap 0000