10LOMEM :47600
20? CHR$(4); "bload MLMOD,A29900,d5"
22INPUT " Source  1)DR. A 2)DR. B        3)DR. C(disk)"; src
23IF src<2 THEN  da=PEEK(29976):POKE 29980, da:GOTO 40
24IF src>2 THEN  da=PEEK(29984):POKE 29980, da:GOTO 40
25 da=PEEK(29978):POKE 29980, da
40INPUT "  start at block"; start
50INPUT "  stop at block (max # of blocks=16)"; sp
60IF sp-start>15 OR sp-start<0 THEN ? "  try again":GOTO 40
70FOR k=0 TO sp-start
75 j=start+k
80POKE 29907, j
90 l1=PEEK(29934+k): l2=PEEK(29917+k)
100POKE 29904, l1:POKE 29905, l2
110CALL 29900
120NEXT k
130INPUT "  options:1)write, 2)copy, 0)return, xxxxx)disp #"; option
140IF option=0 THEN 22
145IF option<0 THEN ? "  <0..try again":GOTO 130
150IF option<2 THEN 300
155IF option>2 THEN 226
156INPUT " Destination 1)DR. A 2)DR. B    3)DR. C"; dest
157IF dest<2 THEN  db=PEEK(29976):POKE 29982, db:GOTO 160
158IF dest>2 THEN  db=PEEK(29984):POKE 29982, db:GOTO 160
159 db=PEEK(29978):POKE 29982, db
160INPUT " copy to block #"; fm
170INPUT " end @ block"; t
175IF t-fm>sp-start THEN ? "  try again":GOTO 160
180FOR k=0 TO t-fm
182 j=fm+k
184POKE 29957, j
186 l1=PEEK(29934+k): l2=PEEK(29917+k)
188POKE 29954, l1:POKE 29955, l2
190CALL 29950
195? " block"; j
200NEXT
210GOTO 130
225INPUT "  start @"; option
226 bgn=option
227IF bgn<30000 OR bgn>31099+1100*(sp-start) THEN ? " out of range..try again":GOTO 225
230FOR kn=bgn TO bgn+20
240 la=PEEK(kn): lb=la: lc=PEEK(kn+21): ld=lc
250IF la=12 OR la=16 OR la=128 THEN  lb=2
260IF lc=12 OR lc=16 OR lc=128 THEN  ld=2
270? " "; kn; " "; la; " "; CHR$(lb), kn+21; " "; lc; " "; CHR$(ld)
280NEXT
290GOTO 130
300INPUT " address"; loco
310IF loco<30000 OR loco>31099+1100*(sp-start) THEN ? " out of range..try again":GOTO 300
320INPUT " value"; val
330POKE loco, val
340FOR d=(loco-26) TO (loco-26)+20
350 la=PEEK(d): lb=la: lc=PEEK(d+21): ld=lc
360IF la=12 OR la=16 OR la=128 THEN  lb=2
370IF lc=12 OR lc=16 OR lc=128 THEN  ld=2
380? " "; d; " "; la; " "; CHR$(lb), d+21; " "; lc; " "; CHR$(ld)
390NEXT
400INPUT "choice:1)retun to options, 2)write to next"; chc
410IF chc<2 THEN 130
420 loco=loco+1:GOTO 310
