home *** CD-ROM | disk | FTP | other *** search
- 100 poke53280,12:poke53281,11
- 105 print"[147][155] flankspeed ";
- 110 print" mistakeproof ml entry program "
- 115 print" created by g. f. wheat "
- 120 print" copr. 1984, ion international inc. "
- 125 fora=54272to54296:pokea,0:next
- 130 poke54272,4:poke54273,48:poke54277,0:poke54278,249:poke54296,15
- 135 fora=680to699:readb:pokea,b:next
- 140 data169,251,166,253,164,254,32,216,255,96
- 145 data169,0,166,251,164,252,32,213,255,96
- 150 b$="starting address in hex":gosub430:ad=b:sr=b
- 155 gosub480:ifb=0then150
- 160 poke251,t(4)+t(3)*16:poke252,t(2)+t(1)*16
- 165 b$="ending address in hex":gosub430:en=b
- 170 gosub470:ifb=0then150
- 175 poke254,t(2)+t(1)*16:b=t(4)+1+t(3)*16
- 180 ifb>255thenb=b-255:poke254,peek(254)+1
- 185 poke253,b:print
- 190 rem get hex line
- 195 gosub495:print": [175][157]";:fora=0to8
- 200 forb=0to1:goto250
- 205 nextb
- 210 a%(a)=t(1)+t(0)*16:ifad+a-1=enthen340
- 215 print" [175][157]";
- 220 nexta:t=ad-(int(ad/256)*256):print" "
- 225 fora=0to7:t=t+a%(a):ift>255thent=t-255
- 230 next
- 235 ifa%(8)<>tthengosub375:goto195
- 240 fora=0to7:pokead+a,a%(a):next:ad=ad+8:goto195
- 245 rem get hex input
- 250 geta$:ifa$=""then250
- 255 ifa$=chr$(20)then305
- 260 ifa$=chr$(133)then535
- 265 ifa$=chr$(134)then560
- 270 ifa$=chr$(135)thenprint" ":goto620
- 275 ifa$=chr$(136)thenprint" ":goto635
- 280 ifa$>"@"anda$<"g"thent(b)=asc(a$)-55:goto295
- 285 ifa$>"/"anda$<":"thent(b)=asc(a$)-48:goto295
- 290 gosub415:goto250
- 295 printa$"[175][157]";
- 300 goto205
- 305 ifa>0then320
- 310 a=-1:ifb=1then330
- 315 goto220
- 320 ifb=0thenprintchr$(20);chr$(20);:a=a-1
- 325 a=a-1
- 330 printchr$(20);:goto220
- 335 rem last line
- 340 print" ":t=ad-(int(ad/256)*256)
- 345 forb=0toa-1:t=t+a%(b):ift>255thent=t-255
- 350 next
- 355 ifa%(a)<>tthengosub375:goto195
- 360 forb=0toa-1:pokead+b,a%(b):next
- 365 print:print"you are finished!":goto535
- 370 rem bell and error messages
- 375 print:print"line entered incorrectly":print:goto415
- 380 print:print"input a 4 digit hex value!":goto415
- 385 print:print"ending is less than starting!":b=0:goto415
- 390 print:print"address not within specified range!":b=0:goto415
- 395 print:print"not zero page or rom!":b=0:goto415
- 400 print"?error in save":goto415
- 405 print"?error in load":goto415
- 410 print:print:print"end of ml area":print
- 415 poke54276,17:poke54276,16:return
- 420 open15,8,15:input#15,a,a$:close15:printa$:return
- 425 rem get four digit hex
- 430 print:printb$;:inputt$
- 435 iflen(t$)<>4thengosub380:goto430
- 440 fora=1to4:a$=mid$(t$,a,1):gosub450:ift(a)=16thengosub380:goto430
- 445 next:b=(t(1)*4096)+(t(2)*256)+(t(3)*16)+t(4):return
- 450 ifa$>"@"anda$<"g"thent(a)=asc(a$)-55:return
- 455 ifa$>"/"anda$<":"thent(a)=asc(a$)-48:return
- 460 t(a)=16:return
- 465 rem adress check
- 470 ifad>enthen385
- 475 ifb<srorb>enthen390
- 480 ifb<256or(b>40960andb<49152)orb>53247then395
- 485 return
- 490 rem address to hex
- 495 ac=ad:a=4096:gosub520
- 500 a=256:gosub520
- 505 a=16:gosub520
- 510 a=1:gosub520
- 515 return
- 520 t=int(ac/a):ift>9thena$=chr$(t+55):goto530
- 525 a$=chr$(t+48)
- 530 printa$;:ac=ac-a*t:return
- 535 a$="**save**":gosub585
- 540 open1,t,1,a$:sys680:close1
- 545 ifst=0thenend
- 550 gosub400:ift=8thengosub420
- 555 goto535
- 560 a$="**load**":gosub585
- 565 open1,t,0,a$:sys690:close1
- 570 ifst=64then195
- 575 gosub405:ift=8thengosub420
- 580 goto560
- 585 print" ":printtab(14)a$
- 590 print:a$="":input"filename";a$
- 595 ifa$=""then590
- 600 print:print"tape or disk?":print
- 605 getb$:t=1:ifb$="d"thent=8:a$="@0:"+a$:return
- 610 ifb$<>"t"then605
- 615 return
- 620 b$="continue from address":gosub430:ad=b
- 625 gosub475:ifb=0then620
- 630 print:goto195
- 635 b$="begin scan at address":gosub430:ad=b
- 640 gosub475:ifb=0then635
- 645 print:goto670
- 650 forb=0to7:ac=peek(ad+b):gosub505:ifad+b=enthenad=sr:gosub410:goto195
- 655 print" ";:nextb
- 660 print:ad=ad+8
- 665 getb$:ifb$=chr$(136)then195
- 670 gosub495:print": ";:goto650
-