home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disc 30
/
Commodore_Disc_30_19xx_-_de.d64
/
datawandler.uni
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
2KB
|
53 lines
10 rem datawandler=universal===========
20 rem
30 rem by alfons mittelmeyer
40 rem
50 rem fuer c64/c128/c16/c116/plus4
60 rem floppy wird benoetigt
70 rem ================================
80 printchr$(147):input"zeilennummer";zn
90 input"schrittweite";sw
100 input"datas pro zeile";dz
110 print:input"adressangabe hex oder dezimal h/d";hx$
120 zs$="dezimal":ifhx$="h"thenzs$="hex"
130 print:print"adressen "zs$" eingeben !"
140 input"anfangsadresse";x$
150 input"endadresse ";y$
160 ifhx$<>"h"thenx=val(x$):y=val(y$):goto200
170 a$=x$:gosub180:x=a:a$=y$:gosub180:y=a:goto200
180 a=0:fori=1tolen(a$):b=asc(mid$(a$,i,1))-48
190 a=16*a+b+7*(b>9):next:return
200 print:print"kontrolle:"
210 print"anfang="x" ende="y" richtig j/n";:inputr$
220 ifr$<>"j"then110
230 print:input"datas in programm mergen j/n";mg$
240 ifmg$="j"theninput"filename";fi$
250 l$="":ifmg$="j"thenl$="l[207]"+chr$(34)+fi$+chr$(34)+",8"
260 print:print"datawandlung beginnt..."
270 open8,8,8,"datas,s,w":cmd8
280 x$=str$(x):y$=str$(y)
290 x$=right$(x$,len(x$)-1)
300 y$=right$(y$,len(y$)-1)
310 gosub430:print" fori="x$"to"y$:zn=zn+sw
320 gosub430:print" reada:pokei,a:next"
330 zn=zn+sw
340 l=int((y-x+1)/dz)+1:k=(y-x+1)-(l-1)*dz
350 ifk=0thenl=l-1:k=dz
360 forj=1tol:n=dz:ifj=lthenn=k
370 gosub430:print" data ";:k$=","
380 for i=0 to n-1:a=peek(x+i)
390 a$=str$(a):a$=right$(a$,len(a$)-1)
400 a$=right$("00"+a$,3):ifi=n-1thenk$=chr$(13)
410 print a$k$;:next
420 x=x+dz:zn=zn+sw:next:goto450
430 printright$(str$(zn),len(str$(zn))-1);
440 return
450 p=peek(772):ifp=124then re$="812,46:poke781":tp=631:tn=198:goto480
460 ifp= 13then re$="812,33:poke7":tp=842:tn=208:goto480
470 re$="810,7:poke2035":tp=1319:tn=239
480 print#8,"sys65484:close8:open8,8,15,"chr$(34)"s:datas"chr$(34)":close8"
490 close8:print"[147]open8,8,8,"chr$(34)"datas,s,r"chr$(34)":poke"re$",8:sys65478"
500 printl$;:poketp,145:poketp+1,145:poketp+2,13:poketp+3,19:poketp+4,13
510 poketn,5:new:end
520 rem ==programmende=================