<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 06 Sep 2011 00:47:26 +0200
From   : conca@... (Carlo)
Subject: Sometimes they come back... OSWORD &7F question

On 05/09/2011 2.29, J.G.Harston wrote:

> Carlo wrote:
>> One thing that I've never ever been able to do is reading and writing raw
>> floppy disc tracks.
>> BeebWiki says that OSWORD&7F should be able to do just that with commands
>> &E0 and&F0, provided a 1770 DFS is used:
>
> No, the BeebWiki says that OSWORD&7F can read and write entire tracks with
> commands&E0 and&F0. The normal read/write commands are&53 and&4B.
> &E0/&F0 tend to be used for the *FORMAT and *VERIFY lowlevels.

Of course the normal read/write tracks are &53 and &4B, but I need to read
entire tracks in raw mode. I want to examine some copy protected floppies.

> The&E0/&F0 commands are specifically there to enable *FORMAT and *VERIFY to
> perform their functions, and as such I would be unsurprised if they cannot
> do double-density.

Makes sense...

> Also, did you read the notes on the Wiki page that warns that, although the
> API and the low-level code allows double-density access, on the Master
> series computers the code actually access the wrong bit of hardware, so
> double-density access does not work. See http://mdfs.net/ROMs/Filing/Disk
> (as referenced on the Wiki page) for patched versions that actually work.

As I said, I'm aware of this issue and tried different patched versions,
none of which seems to implement &E0/&F0. They all come back with a result
byte of &FE.

> Errr.... What's wrong with X%=&00:Y%=&30:A%=&7F:CALL&FFF1 ???

Well, I'm an Assembly man, can't dig all that high level BASIC stuff :)

> How about actually using the code on the Wiki page?

I tried the code, and it worked as expected with commands &53 and &4B; when
I modified it to execute command &E0 (with only one parameter instead of
three) it returned &FE as a result.
My conclusion is that Acorn DFS does not implement the &E0/&F0 commands.
I wonder where the information about their existence came from.

Are there any other options for raw track read? Do I really have to code
an NMI handler and send the raw command to the WD1770? Has anyone done it
already?
And for the other option: is there somewhere a Solidisk DFS ROM modified
to work with native BBC Master hardware?

Thanks,
-- Carlo.
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>