... | ... |
@@ -21,7 +21,7 @@ |
21 | 21 |
|60 @Audio3 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ] |
22 | 22 |
|80 @Controller [ &vector $2 &button $1 &key $1 ] |
23 | 23 |
|90 @Mouse [ &vector $2 &x $2 &y $2 &state $1 &wheel $1 ] |
24 |
-|a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ] |
|
24 |
+|a0 @File [ &vector $2 &success $2 &offset-hs $2 &offset-ls $2 &name $2 &length $2 &load $2 &save $2 ] |
|
25 | 25 |
|b0 @DateTime [ &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1 ] |
26 | 26 |
|
27 | 27 |
( variables ) |
... | ... |
@@ -30,7 +30,7 @@ |
30 | 30 |
|70 @Midi [ &vector $2 &channel $1 ¬e $1 &velocity $1 ] |
31 | 31 |
|80 @Controller [ &vector $2 &button $1 &key $1 ] |
32 | 32 |
|90 @Mouse [ &vector $2 &x $2 &y $2 &state $1 &wheel $1 ] |
33 |
-|a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ] |
|
33 |
+|a0 @File [ &vector $2 &success $2 &offset-hs $2 &offset-ls $2 &name $2 &length $2 &load $2 &save $2 ] |
|
34 | 34 |
|
35 | 35 |
( variables ) |
36 | 36 |
|
... | ... |
@@ -12,7 +12,7 @@ |
12 | 12 |
|
13 | 13 |
|00 @System &vector $2 &pad $6 &r $2 &g $2 &b $2 |
14 | 14 |
|20 @Screen &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 |
15 |
-|a0 @File &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 |
|
15 |
+|a0 @File &vector $2 &success $2 &offset-hs $2 &offset-ls $2 &name $2 &length $2 &load $2 &save $2 |
|
16 | 16 |
|
17 | 17 |
( variables ) |
18 | 18 |
|
... | ... |
@@ -25,7 +25,7 @@ |
25 | 25 |
|70 @Midi [ &vector $2 &channel $1 ¬e $1 &velocity $1 ] |
26 | 26 |
|80 @Controller [ &vector $2 &button $1 &key $1 ] |
27 | 27 |
|90 @Mouse [ &vector $2 &x $2 &y $2 &state $1 &wheel $1 ] |
28 |
-|a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ] |
|
28 |
+|a0 @File [ &vector $2 &success $2 &offset-hs $2 &offset-ls $2 &name $2 &length $2 &load $2 &save $2 ] |
|
29 | 29 |
|
30 | 30 |
( variables ) |
31 | 31 |
|
... | ... |
@@ -4,7 +4,7 @@ |
4 | 4 |
|
5 | 5 |
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |
6 | 6 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 ] |
7 |
-|a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ] |
|
7 |
+|a0 @File [ &vector $2 &success $2 &offset-hs $2 &offset-ls $2 &name $2 &length $2 &load $2 &save $2 ] |
|
8 | 8 |
|
9 | 9 |
( variables ) |
10 | 10 |
|
... | ... |
@@ -3,7 +3,7 @@ |
3 | 3 |
( devices ) |
4 | 4 |
|
5 | 5 |
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |
6 |
-|a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ] |
|
6 |
+|a0 @File [ &vector $2 &success $2 &offset-hs $2 &offset-ls $2 &name $2 &length $2 &load $2 &save $2 ] |
|
7 | 7 |
|
8 | 8 |
( variables ) |
9 | 9 |
|
... | ... |
@@ -8,7 +8,7 @@ |
8 | 8 |
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |
9 | 9 |
|10 @Console [ &pad $8 &write $1 ] |
10 | 10 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 ] |
11 |
-|a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ] |
|
11 |
+|a0 @File [ &vector $2 &success $2 &offset-hs $2 &offset-ls $2 &name $2 &length $2 &load $2 &save $2 ] |
|
12 | 12 |
|
13 | 13 |
( variables ) |
14 | 14 |
|
... | ... |
@@ -7,7 +7,7 @@ |
7 | 7 |
|
8 | 8 |
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |
9 | 9 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 ] |
10 |
-|a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ] |
|
10 |
+|a0 @File [ &vector $2 &success $2 &offset-hs $2 &offset-ls $2 &name $2 &length $2 &load $2 &save $2 ] |
|
11 | 11 |
|
12 | 12 |
( variables ) |
13 | 13 |
|
... | ... |
@@ -2,7 +2,7 @@ |
2 | 2 |
|
3 | 3 |
|00 @System [ &vector $2 &wst $1 &rst $1 &pad $4 &r $2 &g $2 &b $2 &debug $1 &halt $1 ] |
4 | 4 |
|10 @Console [ &pad $8 &write $1 ] |
5 |
-|a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ] |
|
5 |
+|a0 @File [ &vector $2 &success $2 &offset-hs $2 &offset-ls $2 &name $2 &length $2 &load $2 &save $2 ] |
|
6 | 6 |
|
7 | 7 |
( vectors ) |
8 | 8 |
|
... | ... |
@@ -62,7 +62,7 @@ |
62 | 62 |
that will prevent an infinite loop. |
63 | 63 |
) |
64 | 64 |
;&dest-file .File/name DEO2 |
65 |
- #0000 .File/offset DEO2 |
|
65 |
+ #0000 .File/offset-ls DEO2 |
|
66 | 66 |
#ff00 .File/length DEO2 |
67 | 67 |
#0100 .File/load |
68 | 68 |
LIT DEO2 #00ff STA |
... | ... |
@@ -269,7 +269,7 @@ |
269 | 269 |
|
270 | 270 |
&loop |
271 | 271 |
OVR2 .File/name DEO2 |
272 |
- DUP2 .File/offset DEO2 |
|
272 |
+ DUP2 .File/offset-ls DEO2 |
|
273 | 273 |
;asma-read-buffer/end ;asma-read-buffer SUB2 STH2k .File/length DEO2 |
274 | 274 |
;asma-read-buffer DUP2k .File/load DEO2 |
275 | 275 |
.File/success DEI2 |
... | ... |
@@ -544,7 +544,7 @@ |
544 | 544 |
|
545 | 545 |
@asma-flush-to-file ( len* -- ) |
546 | 546 |
DUP2 .File/length DEO2 |
547 |
- ,asma-output/offset LDR2 DUP2 .File/offset DEO2 ADD2 ,asma-output/offset STR2 |
|
547 |
+ ,asma-output/offset LDR2 DUP2 .File/offset-ls DEO2 ADD2 ,asma-output/offset STR2 |
|
548 | 548 |
;asma/dest-filename LDA2 .File/name DEO2 |
549 | 549 |
;asma-write-buffer .File/save DEO2 |
550 | 550 |
JMP2r |
... | ... |
@@ -10,7 +10,7 @@ |
10 | 10 |
|00 @System &vector $2 &pad $6 &r $2 &g $2 &b $2 |
11 | 11 |
|20 @Screen &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 |
12 | 12 |
|80 @Controller [ &vector $2 &button $1 &key $1 ] |
13 |
-|a0 @File &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 |
|
13 |
+|a0 @File &vector $2 &success $2 &offset-hs $2 &offset-ls $2 &name $2 &length $2 &load $2 &save $2 |
|
14 | 14 |
|
15 | 15 |
( init ) |
16 | 16 |
|
... | ... |
@@ -76,7 +76,7 @@ file_talk(Device *d, Uint8 b0, Uint8 w) |
76 | 76 |
if(w && (read || b0 == 0xf)) { |
77 | 77 |
char *name = (char *)&d->mem[mempeek16(d->dat, 0x8)]; |
78 | 78 |
Uint16 result = 0, length = mempeek16(d->dat, 0xa); |
79 |
- Uint16 offset = mempeek16(d->dat, 0x4); |
|
79 |
+ long offset = (mempeek16(d->dat, 0x4) << 16) + mempeek16(d->dat, 0x6); |
|
80 | 80 |
Uint16 addr = mempeek16(d->dat, b0 - 1); |
81 | 81 |
FILE *f = fopen(name, read ? "r" : (offset ? "a" : "w")); |
82 | 82 |
if(f) { |
... | ... |
@@ -344,7 +344,7 @@ file_talk(Device *d, Uint8 b0, Uint8 w) |
344 | 344 |
if(w && (read || b0 == 0xf)) { |
345 | 345 |
char *name = (char *)&d->mem[mempeek16(d->dat, 0x8)]; |
346 | 346 |
Uint16 result = 0, length = mempeek16(d->dat, 0xa); |
347 |
- Uint16 offset = mempeek16(d->dat, 0x4); |
|
347 |
+ long offset = (mempeek16(d->dat, 0x4) << 16) + mempeek16(d->dat, 0x6); |
|
348 | 348 |
Uint16 addr = mempeek16(d->dat, b0 - 1); |
349 | 349 |
FILE *f = fopen(name, read ? "r" : (offset ? "a" : "w")); |
350 | 350 |
if(f) { |