Difference between revisions of "OSWORD &19"
m (1 revision) |
m (.) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | [[Category:OSWORD]] | + | [[Category:OSWORD]]__NOTOC__ |
− | OSWORD &19 (25) | + | {{PageTitle|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 8: | Line 8: | ||
==Specification== | ==Specification== | ||
− | + | ===Open receive 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 receive 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|OSBYTE &34 (52)]]. | Unread receive blocks must be deleted with [[OSBYTE &34|OSBYTE &34 (52)]]. | ||
Line 39: | Line 40: | ||
* 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) |
Latest revision as of 18:28, 7 January 2023
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
Open receive 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 receive 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 | |
---|---|
|
|
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)