At 09:55 PM 06/18/99 +0200, you wrote:
>Maybe the stop drive-routine entry is at another adress in the turboR???
Nope.
I expect it doesn't need a stop drive routine at all. It can be tested
easily: execute "DI / HALT" when the drive spins and see if the drive
stops. Anyone got a turbo R nearby? I won't see mine again 'till Monday.
10 D$=DSKI$(0,0)
20 POKE &HC000,&HF3
30 POKE &HC001,&H76
40 DEFUSR=&HC000:A=USR(0)
insert a disk and then RUN:
drive keeps spinning:
-> this machine needs a routine to be called, most likely #FD9F
drive stops spinning after a few seconds
-> this machine stops the drive motor using hardware delay
>Hmmm... Disk I/O is one of the things I WOULDN'T program manually, because
>that is one of the things that most of the time causes great
>incompatibility.
I agree, but calling #4010 isn't manual disk I/O. As he said, it's "calling
the DiskROM directly", not accessing the FDC directly.
>Especially because it won't run from HD then.
That's only a minor problem compared to "it won't run on MSX type X at all".
>Does the DiskROM differ on FDDs/HDs???
The implementation: yes.
The interface: no (as far as I know).
>Is the entry-table the same in all DiskROMs???
This is the interface.
>How do you recognize the DiskROM???
It tells you where it's located by writing the right values in the system RAM.
There is a table at #FB21, 8 bytes long, 2 bytes entry per DiskROM:
00: number of drives handled by this DiskROM
01: slot ID of this DiskROM
There is also a variable that holds the slot ID of the main disk ROM. I
forgot its location. Look in the docs that come with Compass.
>Can it be called safely on as well FDD as HD???
Depends on what calls you're doing. You can write sectors on HD, but unless
you know what you're doing, you're going to make some people very angry...
>Where can I get info about the DiskROM???
I think there are files on funet.
>When I want to play Audio-CDs I need to access the SCSI and IDE-DiskROMs. I
>know how to do that (whow!), but I have to let my program detect if it's a
>SCSI or IDE-DiskROM, because the commands to play the Audio differ.
Maybe it's even different for every interface, MegaSCSI and Novaxis for
example...
>Is the
>same nessacary for 'ordinary' drive-actions like read sector etc.???
No. You can access them in the same way you would access an FDD.
>MSXDOS also calls the DiskROM directly, I think... So I think the
>entry-tables is the same.
Isn't it the DiskROM itself that writes the correct values to #F37D?
Bye,
Maarten
****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the
quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
****