Difference between revisions of "OSWORD &FF"
m (1 revision) |
m |
||
Line 1: | Line 1: | ||
[[Category:OSWORD]] | [[Category:OSWORD]] | ||
− | OSWORD &FF (255) - DOS fast screen control 80x86 DOS | + | ==OSWORD &FF (255) - DOS fast screen control 80x86 DOS== |
The control block is ignored, so for speed, set XY?0=0 and XY?1=0. | The control block is ignored, so for speed, set XY?0=0 and XY?1=0. | ||
Line 9: | Line 9: | ||
the command loop is entered. The command is sent through register | the command loop is entered. The command is sent through register | ||
2: | 2: | ||
− | + | ||
&FF - single byte read through register 1 fills the following eight | &FF - single byte read through register 1 fills the following eight | ||
bytes of screen memory. | bytes of screen memory. | ||
Line 17: | Line 17: | ||
− | OSWORD &FF (255) - Z80 Data transfer over Tube Z80 Tube OS | + | ==OSWORD &FF (255) - Z80 Data transfer over Tube Z80 Tube OS== |
On entry: | On entry: |
Revision as of 22:10, 8 March 2015
OSWORD &FF (255) - DOS fast screen control 80x86 DOS
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, first, the address is sent, high byte then low byte. This address is updated for the data sent and wraps round from &7FFF to &4000. If the high byte is &00, no low byte is sent, and the routine finishes. Then the command loop is entered. The command is sent through register 2: &FF - single byte read through register 1 fills the following eight bytes of screen memory. &00 - eight bytes read though register 1 fill following eight bytes of screen memory. Other - loop back to wait for address or termination.
OSWORD &FF (255) - Z80 Data transfer over Tube Z80 Tube OS
On entry: XY?0 =&0D (send block length) XY?1 =&01 (receive block length) XY!2 =I/O address XY!6 =Z80 address XY+10..11=data length XY?12 =command, 0=read from I/O, 1=write to I/O.
See Also
Jgharston 14:30, 26 May 2009 (UTC)