Difference between revisions of "OSWORD &FB"

From BeebWiki
Jump to: navigation, search
m (1 revision)
(Rewrote transaction description.)
Line 1: Line 1:
[[Category:OSWORD]]
+
[[Category:OSWORD]][[Category:Second Processors]]__NOTOC__
OSWORD &FB (251) - WD1770/2 Floppy Disk Control 80x86 DOS
+
{{PageTitle|OSWORD &FB (251) Floppy disk access}}
 +
This OSWORD call is installed by the 80x86 DOS BIOS.
  
The control block is ignored, so for speed, set XY?0=0 and XY?1=0.
+
Commands are sent from the 80x86 via Tube Register 2 within the OSWORD protocol,
Commands are sent from the 80x86 via Tube register 2. These are:
+
so cannot be called through the normal OSWORD mechanism. The transaction must be
0 - Finish
+
done manually by the client by sending through Tube Register 2:
1 - Master FDC command; register 2 sends 4-byte address low to
+
    &08 : Start OSWORD transaction
    high, R/W command, Write flag, Interrupt mask, number of
+
    &FB : OSWORD call &FB
    sectors, FDC command.
+
    &00 : TxLen=0
2 - BBC B/B+ command; as for command 1.
+
    xxx : Send a series of commands
3 - Claim Tube and NMI.
+
    &00 : RxLen=0, terminate the OSWORD call
4 - Release Tube and NMI.
 
5..&FF - Write byte sent though register2 to &FExx.
 
  
==See Also==
+
===Commands===
* http://mdfs.net/Docs/Comp/BBC/Oswords
+
* &00 : Finish
 +
* &01 : Master FDC command
 +
* &02 : BBC B/B+ command
 +
* &03 : Claim Tube and NMI
 +
* &04 : Release Tube and NMI
 +
* &nn,&mm : Write byte &mm to &FE00+nn
 +
 
 +
===FDC commands===
 +
The FDC commands &01 and &02 are followed by a parameter block:
 +
* address b0-b7
 +
* address b8-b15
 +
* address b16-b23
 +
* address b24-b31
 +
* &00=Read from disk, <>&00-Write to disk
 +
* error mask
 +
* sector count
 +
* FDC command
 +
 
 +
The initial drive, track, sector must be written to the FDC hardware beforehand
 +
using commands &gt;&04 to write to &FE00+FDC_address.
 +
 
 +
==See also==
 +
* [[OSWORD &FA]]
 +
* [[OSWORD &FC]]
 +
* [[OSWORD &FD]]
 +
* [[OSWORD &FE]]
 +
* [[OSWORD &FF]]
 +
* [http://mdfs.net/Software/Tube/Utils/ OSWORD &FB source code]
 +
* [http://mdfs.net/Docs/Comp/BBC/Oswords OSWORDs list at mdfs.net]
  
 
[[User:Jgharston|Jgharston]] 14:27, 26 May 2009 (UTC)
 
[[User:Jgharston|Jgharston]] 14:27, 26 May 2009 (UTC)
 +
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 10:54, 17 December 2024 (CET)

Revision as of 10:54, 17 December 2024

OSWORD &FB (251) Floppy disk access

This OSWORD call is installed by the 80x86 DOS BIOS.

Commands are sent from the 80x86 via Tube Register 2 within the OSWORD protocol, so cannot be called through the normal OSWORD mechanism. The transaction must be done manually by the client by sending through Tube Register 2:

   &08 : Start OSWORD transaction
   &FB : OSWORD call &FB
   &00 : TxLen=0
   xxx : Send a series of commands
   &00 : RxLen=0, terminate the OSWORD call

Commands

  • &00 : Finish
  • &01 : Master FDC command
  • &02 : BBC B/B+ command
  • &03 : Claim Tube and NMI
  • &04 : Release Tube and NMI
  • &nn,&mm : Write byte &mm to &FE00+nn

FDC commands

The FDC commands &01 and &02 are followed by a parameter block:

  • address b0-b7
  • address b8-b15
  • address b16-b23
  • address b24-b31
  • &00=Read from disk, <>&00-Write to disk
  • error mask
  • sector count
  • FDC command

The initial drive, track, sector must be written to the FDC hardware beforehand using commands >&04 to write to &FE00+FDC_address.

See also

Jgharston 14:27, 26 May 2009 (UTC) Jgharston (talk) 10:54, 17 December 2024 (CET)