Difference between revisions of "OSWORD &19"

From BeebWiki
Jump to: navigation, search
m
 
m (Added Watford Electronics Speech.)
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[Category:OSWORD]]
+
[[Category:OSWORD]]__NOTOC__
OSWORD &19 (25) - IP Network receive
+
==OSWORD &19 (25) - IP Network receive==
  
 
This call is made by a modifed NFS to pass networking calls on to an IP
 
This call is made by a modifed NFS to pass networking calls on to an IP
Line 39: Line 39:
 
* http://mdfs.net/Docs/Comp/BBC/Oswords
 
* http://mdfs.net/Docs/Comp/BBC/Oswords
 
{{Networking}}
 
{{Networking}}
 +
 +
==Watford Electronics Speech control==
 +
        On entry:
 +
                XY!0  =address of data
 +
                XY?4  =flag
 +
                XY+5..6=length of data
 +
        If flag is 0 then the address points to a table of byte pairs that
 +
        are output as though with Speech OSBYTE &19.
 +
        If flag is &8x then the address points to an ASCII string of words or
 +
        allophones, terminated with <cr> or &00. The string will be spoken
 +
        as with *TALK
 +
        If flag is &Cx then the address points to an ASCII string of word or
 +
        allophones of the length specified in the control block.
 +
        Calls with flag set to &8x or &Cx, bit 3 of the flag sets the unknown
 +
        word mode. If flag is &x0 unrecognised words are spoken letter by
 +
        letter. If flag is &x8 unrecognised words are ignored and the call
 +
        is passed to the vector at &0230.
 +
 
[[User:Jgharston|Jgharston]] 01:33, 19 December 2010 (UTC)
 
[[User:Jgharston|Jgharston]] 01:33, 19 December 2010 (UTC)
 +
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 22:55, 28 March 2015 (UTC)

Revision as of 23:55, 28 March 2015

OSWORD &19 (25) - IP Network receive

This call is made by a modifed NFS to pass networking calls on to an IP networking handler. It should not be called directly by the user, programs should call OSWORD &11 and allow the networking system to forward the call to the appropriate handler.

Specification

   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.
   
   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

Watford Electronics Speech control

       On entry:
               XY!0   =address of data
               XY?4   =flag
               XY+5..6=length of data
       If flag is 0 then the address points to a table of byte pairs that
       are output as though with Speech OSBYTE &19. 
       If flag is &8x then the address points to an ASCII string of words or
       allophones, terminated with <cr> or &00. The string will be spoken
       as with *TALK
       If flag is &Cx then the address points to an ASCII string of word or
       allophones of the length specified in the control block.
       Calls with flag set to &8x or &Cx, bit 3 of the flag sets the unknown
       word mode. If flag is &x0 unrecognised words are spoken letter by
       letter. If flag is &x8 unrecognised words are ignored and the call
       is passed to the vector at &0230.

Jgharston 01:33, 19 December 2010 (UTC) Jgharston (talk) 22:55, 28 March 2015 (UTC)