[Coco] New! Cassette to floppies
robert.gault at worldnet.att.net
Wed Nov 2 11:26:28 EST 2005
Good information, but does not clarify our differences of opinion on
where or not the load/endload addresses are stored in memory so they can
be found after loading a cassette ml program.
What it does say is that the block load address of a data block is
stored on tape in a header.
Your peeks are not in the sited url and I could not find them elsewhere
at the url. I would like to see some Unravelled references that support
your point of view. Where in the actual Basic code is anything other
than the exec address left uncorrupted after the cloadm is finished?
Bob Devries wrote:
> I suggest you check out this page:
> I have been using those peeks and pokes to transfer machine code
> programmes to disk for many years, and always with complete success!.
> Regards, Bob Devries, Dalby, Queensland, Australia
> Isaiah 50:4 The sovereign Lord has given me
> the capacity to be his spokesman,
> so that I know how to help the weary.
> website: http://www.home.gil.com.au/~bdevasl
> my blog: http://bdevries.invigorated.org/
> ----- Original Message ----- From: "Robert Gault"
> <robert.gault at worldnet.att.net>
> To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
> Sent: Thursday, November 03, 2005 12:02 AM
> Subject: Re: [Coco] New! Cassette to floppies
>> Bob, I think you should check the CLOAD and CLOADM code. The start
>> address at $7E-$7F is a pointer to the load address as you say. But,
>> each block read from the tape changes the $7E-$7F value. Any long
>> program whether Basic or ml will use more than one tape block; they're
>> 255 bytes. This will happen with ml programs even if the program loads
>> to contiguous memory. There is no cassette equivalent to disk single
>> record format.
>> The end address you have given is located within the cassette data
>> buffer at $1DA-$2D9. That does not seem a good place to have a
>> pointer. There is no mention of an end pointer (I can find) in the
>> CLOAD code.
>> Bob Devries wrote:
>>> The START, END, and EXEC addresses of a binary file on tape are in
>>> fact easy to fine, **PROVIDED** the file is contiguous, and not one
>>> of the multi-block ones.
>>> START ADDRESS = PEEK(487) * 256 + PEEK(488)
>>> END ADDRESS = PEEK(126) * 256 + PEEK(127) -1
>>> EXEC ADDRESS = PEEK(157) * 256 + PEEK(158)
>>> If the file is of the multi-block format, you're on your own. :) You
>>> can easily hear the difference by listening to the sound of the file
>>> being played on the tape. If there's gaps in the data stream (except
>>> for the short one after the name block, then it's a multiblock file).
>>> Many games had a pre-loader, which auto-executed, and loaded the rest
>>> of the programme. These are more difficult to transfer to disk.
>>> Regards, Bob Devries, Dalby, Queensland, Australia
>>> Isaiah 50:4 The sovereign Lord has given me
>>> the capacity to be his spokesman,
>>> so that I know how to help the weary.
>>> website: http://www.home.gil.com.au/~bdevasl
>>> my blog: http://bdevries.invigorated.org/
>> Coco mailing list
>> Coco at maltedmedia.com
More information about the Coco