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