home *** CD-ROM | disk | FTP | other *** search
- 10 print"[147]*** wedgemaker ***":print"insert program disk"
- 20 z$=chr$(0)
- 30 f$="":input"program file";f$:iff$=""then30
- 40 close5:close6:close15:open15,8,15:open5,8,5,"0:"+f$+",p,r"
- 50 gosub730:ifer<>0thenclose5:close15:goto30
- 60 get#5,a$:get#5,b$:poke828,asc(a$+z$):poke829,asc(b$+z$):close5
- 70 open6,8,0,"$0:"+f$:get#6,a$,a$,a$,a$,a$,a$
- 80 get#6,a$:ifa$<>chr$(34)then80
- 90 get#6,a$:ifa$<>chr$(34)then90
- 100 get#6,a$:ifa$=chr$(32)then100
- 110 get#6,a$:ifa$<>""then110
- 120 get#6,a$,a$,a$,b$:l=asc(a$+z$)+256*asc(b$+z$)
- 130 close6:close15:print"program is"l"blocks long"
- 140 input"#data pages";p:p=int(p):ifp<1then140
- 150 a=831:fori=1tolen(f$):pokea,asc(mid$(f$,i,1)):a=a+1:nexti:pokea,0
- 160 poke830,l+p+2:poke56,peek(56)-l-p-2:clr
- 170 z$=chr$(0):p=peek(830):f$="":a=831
- 180 c=peek(a):ifc<>0thenf$=f$+chr$(c):a=a+1:goto180
- 190 print"loading "f$
- 200 open15,8,15:poke183,len(f$):poke184,5:poke185,0:poke186,8
- 210 poke187,63:poke188,3:poke780,0:poke781,peek(55):poke782,peek(56)+2
- 220 sys65493:t=peek(781)+256*peek(782):gosub730:ifer<>0thenstop
- 230 close15:print"linking "f$:a=peek(55)+256*(peek(56)+2)
- 240 b=peek(828)+256*peek(829):c=a
- 250 v=peek(a)+256*peek(a+1):ifv=0then270
- 260 v=v-b+c:pokea,v-int(v/256)*256:pokea+1,int(v/256):a=v:goto250
- 270 print"appending ml"
- 280 s=0:fori=828to875:readv:s=s+v:pokei,v:nexti
- 290 ifs<>5045thenprint"error in data block 1":stop
- 300 poke842,peek(771):poke873,peek(771)
- 310 c=c-512:s=0:fori=0to127:readv:pokec+i,v:s=s+v:nexti
- 320 ifs<>14688thenprint"error in data block 2":stop
- 330 s=0:fori=1to12:reada:s=s+a:readv:s=s+v:a=a+c+1:v=v+c
- 340 pokea,v-int(v/256)*256:pokea+1,int(v/256):nexti
- 350 ifs<>1949thenprint"error in data block 3":stop
- 360 pokec+57,peek(771):a=peek(770)+256*peek(771)
- 370 pokec+9,peek(a+1):pokec+10,peek(a+2)
- 380 fori=105to128:pokec+i,0:nexti
- 390 pokec+105,peek(55):pokec+106,peek(56)+2
- 400 t2=int(t/256):t1=t-t2*256
- 410 fori=107to111step2:pokec+i,t1:pokec+i+1,t2:nexti
- 420 c1=peek(55):c2=peek(56)+p
- 430 pokec+113,c1:pokec+114,c2:pokec+117,c1:pokec+118,c2
- 440 print"define commands":print"just hit return to end":l=1:a=129
- 450 a$="":print"command"l;:inputa$:ifa$=""then500
- 460 input"line number";n:x$=a$+z$+"g[207]"+mid$(str$(n),2)+z$
- 470 ifa+len(x$)>383thenprint"table overflow":goto500
- 480 fori=1tolen(x$):pokec+a,asc(mid$(x$,i,1)):a=a+1:nexti
- 490 pokec+a,0:l=l+1:goto450
- 500 ifl=1then440
- 510 input"okay (y/n)";a$:ifa$="n"then440
- 520 ifa$<>"y"then510
- 530 print"insert destination disk"
- 540 w$="":input"wedge name";w$:ifw$=""then540
- 550 w2$=w$+".w":print"saving "w2$:close5:close15:open15,8,15
- 560 fori=1tolen(w2$):poke575+i,asc(mid$(w2$,i,1)):nexti
- 570 poke183,len(w2$):poke184,5:poke185,1:poke186,8
- 580 poke187,64:poke188,2:poke780,55:poke781,t1:poke782,t2
- 590 sys65496:gosub730:ifer<>0then540
- 600 print:printw$" contains:":x$="load"+chr$(34)+w2$+chr$(34)+",8,1"+z$
- 610 x$=x$+"new"+z$+"p[207]55,"+str$(peek(55))+":p[207]56,"+str$(peek(56))
- 620 x$=x$+":p[207]770,"+str$(peek(55))+":p[207]771,"+str$(peek(56))+z$
- 630 fori=1tolen(x$):v=asc(mid$(x$,i)):poke874+i,v:printchr$(v-(v=0)*13);:nexti
- 640 print:print"saving "w$
- 650 close5:close15:open15,8,15,"i":open5,8,5,"0:"+w$+",p,w"
- 660 gosub730:ifer<>0thenclose5:close15:goto540
- 670 print#5,chr$(2)chr$(3)chr$(60)chr$(3);
- 680 fori=772to1019:print#5,chr$(peek(i));:nexti
- 690 close5:close15:print"done"
- 700 print"to install wedge"
- 710 print"load"chr$(34)w$chr$(34)",8,1"
- 720 end
- 730 input#15,er,e1$,tt,ss:ifer=0thenreturn
- 740 printe1$;tt;ss:return
- 750 rem data block 1
- 760 data172,106,3,185,107,3,208,13,169,131
- 770 data141,2,3,169,196,141,3,3,108,2
- 780 data3,162,0,185,107,3,157,0,2,240
- 790 data4,232,200,208,244,200,140,106,3,162
- 800 data255,160,1,76,134,196,0,0
- 810 rem data block 2
- 820 data173,104,96,240,3,32,76,96,32,96,197,160,0,162,0,189
- 830 data0,2,217,129,96,208,8,9,0,240,31,232,200,208,240,185
- 840 data129,96,240,3,200,208,248,200,185,129,96,208,250,200,185,129
- 850 data96,208,218,162,255,160,1,76,134,196,162,255,200,232,185,129
- 860 data96,157,0,2,208,246,32,76,96,24,144,231,162,23,189,105
- 870 data96,168,189,43,0,157,105,96,152,157,43,0,202,16,239,173
- 880 data104,96,73,255,141,104,96,96,0,1,98,137,98,137,98,137
- 890 data98,0,128,0,0,0,128,0,0,0,0,0,0,0,0,0
- 900 rem data block 3
- 910 data0,104,5,76,18,129,31,129,40,129,46,129
- 920 data62,129,70,76,78,105,85,105,95,104,100,104
-