horton@fortune.UUCP (Randy Horton) (08/20/85)
I have an interesting problem for the more knowledgable readers of this group. I have a program which I am attempting to convert from tape to disk. In the tape version, there is first a basic program. The first thing it does is reset the top of basic, then loads two data files with the command "load "filename",1,1 One of these programs loads starting at $C000. The only method I know to save this file short of peeking and put#'in to disk is to use a super wedge. Unfortunately, my wedge resides in the neighborhood of $C000. I would like to find a way to transfer these two files from tape to disk (disk .prg format so that I can 'load "file",8,1') while including the loading address in the file. By the way, I am not pirating software, this is strictly for my own use, I bought the program, I should be able to transfer it to disk if I want. Any of you who have used a datasette will understand. Thanks in advance for any help anyone may be able to offer. -- +---------------------------------------------+ | allegra\ Randy Horton @ Fortune Systems | | cbosgd \ | | dual >!fortune!ranhome!randy | | ihnp4 / | | nsc / Clever disclaimer goes here | +---------------------------------------------+
mab@druxp.UUCP (BlandMA) (08/23/85)
> "load "filename",1,1 One of these programs loads starting at $C000. The > only method I know to save this file short of peeking and put#'in to disk is > to use a super wedge. Unfortunately, my wedge resides in the neighborhood of > $C000. I would like to find a way to transfer these two files from tape to > disk (disk .prg format so that I can 'load "file",8,1') while including the > loading address in the file. I wrote the following BASIC program about a year ago to solve a similar problem. It calls the kernal save routine from BASIC to save the program file. Happy hacking! (old definition of hacking). 100 print"----save memory to disk----":print 110 input" start address";sa 120 input"end address plus one";ea 130 input" file name";f$ 140 a=780:x=781:y=782 150 rem -----setlfs----- 160 poke a,2 170 poke x,8 180 poke y,2 190 sys65466 200 rem -----setnam----- 210 poke a,len(f$) 220 fori=1tolen(f$):poke820+i-1,asc(mid$(f$,i,1)):next 230 poke x,52 240 poke y,3 250 sys65469 260 rem -----save----- 270 poke254,sa-int(sa/256)*256 280 poke255,int(sa/256) 290 poke a,254 300 poke x,ea-int(ea/256)*256 310 poke y,int(ea/256) 320 sys65496 330 print:printf$" saved" -- Alan Bland ihnp4!druxp!mab AT&T-ISL Denver, CO