Difference between revisions of "OSWORD &11"

From BeebWiki
Jump to: navigation, search
m (.)
m (.)
 
Line 2: Line 2:
 
[[Category:Networking]]
 
[[Category:Networking]]
 
{{PageTitle|OSWORD &11 (17): Network receive}}
 
{{PageTitle|OSWORD &11 (17): Network receive}}
 +
===Open recieve block===
 
  XY?0=0 - Open receive block
 
  XY?0=0 - Open receive block
 
  On entry:
 
  On entry:
Line 11: Line 12:
 
   XY!9  =reception buffer end address
 
   XY!9  =reception buffer end address
 
  On exit:
 
  On exit:
   XY?0=0 if no more space to open blocks, or number of opened
+
   XY?0=0 if no more space to open blocks, or number of opened reception block.
  reception block. Receive blocks can be 'wild', ie will
+
  Receive blocks can be 'wild', ie will receive from anyone if the port or
  receive from anyone if the port or station values are set
+
  station values are set to &00.
  to &00.
 
  
 +
===Read recieve block===
 
  XY?0<>0 - Read and delete receive block
 
  XY?0<>0 - Read and delete receive block
 
  On entry:
 
  On entry:
Line 26: Line 27:
 
   XY+3..4=station received from
 
   XY+3..4=station received from
 
   XY!9  =updated to new address of buffer end
 
   XY!9  =updated to new address of buffer end
 
+
 
  Unread receive blocks must be deleted with OSBYTE &34 (52).
 
  Unread receive blocks must be deleted with OSBYTE &34 (52).
  

Latest revision as of 18:09, 7 January 2023

OSWORD &11 (17): Network receive

Open recieve block

XY?0=0 - Open receive block
On entry:
 XY?0   =0
 XY?1   must contain &7F
 XY?2   =port to receive on
 XY+3..4=station to receive from
 XY!5   =reception buffer start address
 XY!9   =reception buffer end address
On exit:
 XY?0=0 if no more space to open blocks, or number of opened reception block.
 Receive blocks can be 'wild', ie will receive from anyone if the port or
 station values are set to &00.

Read recieve block

XY?0<>0 - Read and delete receive block
On entry:
 XY?0=receive block number to read
 XY!5=receive buffer start address
 XY!9=receive buffer end address
On exit:
 XY?1   =flag from transmission block
 XY?2   =port received on
 XY+3..4=station received from
 XY!9   =updated to new address of buffer end

Unread receive blocks must be deleted with OSBYTE &34 (52).

See Also

Networking calls

Jgharston 13:24, 26 May 2009 (UTC)