Allow mload to handle more than 255 bytes
This commit is contained in:
@@ -46,12 +46,15 @@
|
|||||||
2100INPUT "Filename: ";H$
|
2100INPUT "Filename: ";H$
|
||||||
2110WAIT:PRINT "Press PLAY on Tape"
|
2110WAIT:PRINT "Press PLAY on Tape"
|
||||||
2120WAIT0:PRINT "Loading ";H$
|
2120WAIT0:PRINT "Loading ";H$
|
||||||
2130DIM V(B-A)
|
2130DIM V((B-A)/255,255)
|
||||||
2140OPEN "CAS:"+H$ FOR INPUT
|
2140OPEN "CAS:"+H$ FOR INPUT
|
||||||
2150INPUT#1,V
|
2150INPUT#1,V(*)
|
||||||
2160CLOSE
|
2160CLOSE
|
||||||
|
2165C=0:D=0
|
||||||
2170FOR I=A TO B
|
2170FOR I=A TO B
|
||||||
2180POKE I,V
|
2180POKE I,V(C,D)
|
||||||
|
2185D=D+1
|
||||||
|
2186IF D>255 THEN D=0:=C+1
|
||||||
2190NEXT I
|
2190NEXT I
|
||||||
2999RETURN
|
2999RETURN
|
||||||
3000REM Saves a memory area to disk
|
3000REM Saves a memory area to disk
|
||||||
@@ -67,12 +70,15 @@
|
|||||||
3100INPUT "Filename: ";H$
|
3100INPUT "Filename: ";H$
|
||||||
3110WAIT:PRINT "Press RECORD on Tape"
|
3110WAIT:PRINT "Press RECORD on Tape"
|
||||||
3120WAIT0:PRINT "Saving ";H$
|
3120WAIT0:PRINT "Saving ";H$
|
||||||
3130DIM V(B-A)
|
3130DIM V((B-A)/255,255)
|
||||||
3140FOR I=1 TO B-A
|
3135C=0:D=0
|
||||||
3150V(I)=PEEK(A+I-1)
|
3140FOR I=A TO B
|
||||||
|
3150V(C,D)=PEEK(I)
|
||||||
|
3155D=D+1
|
||||||
|
3156IF D>255 THEN D=0:C=C+1
|
||||||
3160NEXT I
|
3160NEXT I
|
||||||
3170OPEN "CAS:"+H$ FOR OUTPUT
|
3170OPEN "CAS:"+H$ FOR OUTPUT
|
||||||
3180PRINT#1,V
|
3180PRINT#1,V(*)
|
||||||
3190CLOSE
|
3190CLOSE
|
||||||
3999RETURN
|
3999RETURN
|
||||||
4000REM Compares a memory area with the file on disk
|
4000REM Compares a memory area with the file on disk
|
||||||
@@ -88,11 +94,14 @@
|
|||||||
4100INPUT "Filename: ";H$
|
4100INPUT "Filename: ";H$
|
||||||
4110WAIT:PRINT "Press PLAY on Tape"
|
4110WAIT:PRINT "Press PLAY on Tape"
|
||||||
4120WAIT0:PRINT "Loading ";H$
|
4120WAIT0:PRINT "Loading ";H$
|
||||||
4130DIM V(B-A)
|
4130DIM V((B-A)/255,255)
|
||||||
4140OPEN "CAS:"+H$ FOR INPUT
|
4140OPEN "CAS:"+H$ FOR INPUT
|
||||||
4150INPUT#1,V
|
4150INPUT#1,V(*)
|
||||||
4160CLOSE
|
4160CLOSE
|
||||||
4170FOR I=1 TO B-A
|
4165C=0:D=0
|
||||||
4180IF V(I) <> PEEK(A+I-1) THEN PRINT "Error at address ";A;" Expected ";PEEK(A+I-1);" GOT ";V(I):BREAK
|
4170FOR I=A TO B
|
||||||
|
4180IF V(C,D) <> PEEK(I) THEN PRINT "Error at address ";I;" Expected ";PEEK(I);" GOT ";V(C,D):BREAK
|
||||||
|
4185D=D+1
|
||||||
|
4186IF D>255 THEN D=0:C=C+1
|
||||||
4190NEXT I
|
4190NEXT I
|
||||||
4999RETURN
|
4999RETURN
|
||||||
|
|||||||
Reference in New Issue
Block a user