OSWORD &9A

From BeebWiki
Jump to: navigation, search
OSWORD &9A (154) Perform BeebLink request
On entry:
 XY?0   =inward control block size
 XY?1   =returned control block size
 XY?2   =request code, or &00 for ROM presence check
 XY?3   =&00
 XY?4   =&00
 XY?5   =&00
 XY!6   =address of request payload
 XY!10  =size of request payload
 XY!14  =address for response payload
 XY!18  =max size of response payload
On exit:
 XY?3   =response code (never &00), or &FF on error
 XY?5   =FS ID of BeebLink ROM that handled the request
 XY!18  =total size of response payload

Addresses are 32-bit addresses, same as OSFILE and so on.

If the response payload total size is greater than the max size, the payload was truncated. (In this case, the max number of bytes were stored, but the rest were discarded.)

Latest docs for this call can be found on GitHub: https://github.com/tom-seddon/beeblink/blob/master/docs/tech.md#new-osword-call

(Versions of the ROM before Feb 2024 respond to OSWORD &99 instead.)