| ... | ... |
@@ -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) {
|