[Coco] Recovering a damaged cassette file

Arthur Flexser flexser at fiu.edu
Thu Sep 6 10:49:52 EDT 2012


Now that I think of it, the first two program bytes, which would
ordinarily be a pointer to the address of the second line of the
program, may have been zeroed when the IO error occurred.  You
probably need to manually reset those bytes to the correct address.

Art

On Thu, Sep 6, 2012 at 10:32 AM, Bill Pierce <ooogalapasooo at aol.com> wrote:
>
> Mr Gault, what method did you use? I can get no listing but a loop with "printchr$(x);" reveals the code is there. It also looks like I may have a little more than you according to what text I see. My wav was heavily processed and loads right up to the final error"
>
> Music from the Tandy/Radio Shack Color Computer 2 & 3
> https://sites.google.com/site/dabarnstudio/
> Bill Pierce
> ooogalapasooo at aol.com
>
>
>
>
> -----Original Message-----
> From: Robert Gault <robert.gault at att.net>
> To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
> Sent: Thu, Sep 6, 2012 10:09 am
> Subject: Re: [Coco] Recovering a damaged cassette file
>
>
> Chad H wrote:
>> I was going to give this a try...or has someone already recovered it for
>> you?
>>
>> -----Original Message-----
>> From: coco-bounces at maltedmedia.com [mailto:coco-bounces at maltedmedia.com] On
>> Behalf Of Diego Barizo
>> Sent: Tuesday, September 04, 2012 11:07 PM
>> To: CoCoList for Color Computer Enthusiasts
>> Subject: Re: [Coco] Recovering a damaged cassette file
>>
>> I have uploaded the wav, MP3 and Audacity files
>> http://www.yaccs.info/MyDoD/MyDoD.mp3
>> http://www.yaccs.info/MyDoD/MyDoD.wav
>> http://www.yaccs.info/MyDoD/MyDoD.aup.zip
>>
>> Thanks to anyone who can give it a try.
>>
>> Diego
>>
>>
>
> I have been able to recover lines 10-640 but that seems to be about half of the
> program.
>
> It is definitely for a Coco3. It was saved at normal speeds. Given that the drop
>
> outs are between 15 and 16 seconds, it looks like the program can not be
> recovered completely.
> Also, the program will run but there seems to be an error in line 420. Line 420
> will prevent the rest of the program from running until to press a key.
> Lines 620, and 635 refer to subroutines that have been lost.
>
>
> 10 WIDTH 32:PMODE 4,1:PCLS 1:COLOR 0
> 20 ' 251,60
> 30 LINE(0,0)-(0,191),PSET
> 40 LINE(0,30)-(15,30),PSET
> 50 LINE-(15,80),PSET
> 60 LINE-(7,80),PSET
> 70 LINE(100,100)-(200,100),PSET
> 80 LINE(20,30)-(100,30),PSET
> 90 LINE(10,0)-(10,28),PSET
> 100 LINE(40,80)-(15,80),PSET
> 110 LINE(140,80)-(50,80),PSET
> 120 LINE(200,190)-(150,190),PSET
> 130 LINE(30,180)-(90,130),PSET,B
> 140 LINE(170,96)-(243,39),PSET,B
> 150 LINE(50,50)-(93,61),PSET,B
> 160 LINE(80,100)-(164,100),PSET
> 170 LINE(35,45)-(200,90),PSET,B
> 180 LINE(5,75)-(99,75),PSET
> 190 LINE(54,96)-(180,96),PSET
> 200 LINE(68,189)-(68,78),PSET
> 210 LINE(8,18)-(85,18),PSET
> 220 LINE(9,109)-(9,189),PSET
> 230 LINE(100,95)-(100,30),PSET
> 240 LINE(0,4)-(45,4),PSET
> 250 LINE(0,182)-(174,182),PSET
> 260 LINE-(174,191),PSET
> 270 LINE(140,182)-(140,80),PSET
> 280 LINE(50,30)-(50,70),PSET
> 290 LINE(140,130)-(249,130),PSET
> 300 LINE(253,127)-(253,91),PSET
> 310 LINE(190,190)-(190,150),PSET
> 320 PSET(35,77,1)
> 330 LINE(15,35)-(34,38),PSET,B
> 340 LINE(43,18)-(83,1),PSET,B
> 350 LINE(50,18)-(75,3),PSET,B
> 360 LINE(253,91)-(251,91),PSET
> 370 LINE(251,60)-(251,130),PSET
> 380 PSET(251,117,1)
> 390 LINE(140,127)-(253,127),PSET
> 400 LINE(140,124)-(249,121),PSET,B
> 410 LINE(100,0)-(131,12),PSET,B
> 420 EXEC 44539
> 430 H=10:V=4:X=0:Y=0:SCREEN 0,0
> 440 CLS 1
> 450 FOR A=X TO X+31:FOR B=Y TO Y+12
> 460 C=PPOINT(A,B)
> 470 IF C=1 THEN C=159 ELSE C=128
> 480 POKE 1024+(B-Y)*32+A-X,C
> 490 NEXT B,A
> 500 C=PEEK(1024+V*32+H)
> 510 A$=INKEY$:POKE 1024+V*32+H,1:IF A$=""GOTO 510
> 520 POKE 1024+V*32+H,C
> 530 IF A$="^" THEN V=V-1:IF V<0 THEN V=12:Y=Y-12:IF Y<0 THEN Y=0:V=0:GOTO 440
> ELSE 440
> 540 IF A$=CHR$(8) THEN H=H-1:IF H<0 THEN H=31:X=X-31:IF X<0 THEN X=0:H=0:GOTO
> 440 ELSE 440
> 550 IF A$=CHR$(9)  THEN H=H+1:IF H>31 THEN H=0:X=X+31:IF X>235 THEN
> X=223:H=31:GOTO 440:ELSE440
> 560 IF A$=CHR$(10) THEN V=V+1:IF V>12 THEN V=0:Y=Y+12:IF Y>190 THEN
> Y=180:V=12:GOTO440 ELSE 440
> 570 IF POINT(H*2,V*2)=2 GOTO 580 ELSE 620
> 580 IF A$=CHR$(10) THEN V=V-1:IF V<0 THEN Y=Y-12:V=12::IF Y<0 THEN Y=0:V=0:GOTO
> 440 ELSE 440
> 590 IF A$="^" THEN V=V+1:IF V>12 THEN V=0:Y=Y+12:IF Y>190 THEN Y=180:V=12:GOTO
> 440ELSE 440
> 600 IF A$=CHR$(8) THEN H=H+1:IF H>31 THEN H=0:X-X+31:IF X>235 THEN
> X=223:H=0:GOTO440 ELSE 440
> 610 IF A$=CHR$(9) THEN H=H-1:IF H<0 THEN H=31:X=X-31:IF X<0 THEN X=0:H=0:GOTO
> 440 ELSE 440
> 620 IF A$="S" THEN PRINT at 32*15,"PRESIONE UNA TECLA":EXEC 44539:GOSUB 1000
> 625 PRINT at 32*14,"H"H+X,"V"V+Y
> 630 IF H+X=251 AND V+Y=60 THEN PRINT"!!!lo has logrado!!!";:END
> 635 IF A$="R" GOSUB 1100
> 640 GOTO500
>
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco



More information about the Coco mailing list