From BeebWiki
Jump to: navigation, search

OSWORD &7A (122) - Teletext commands


On entry:
 XY?0=command. The command is &00..&7F for Advanced
 Teletext commands, &80..&FF for standard commands:
&00 - Read channel, returned to XY?1, 0=BBC1, etc.
&01 - Set channel from XY?1, 0=BBC1, etc.
&02 - Read record flag. Record in XY?1, returned flag in XY?2:
    b0=HOLD, b1=received, b2=being updated.
&03 - Set record flag, record in XY?1, flag in XY?2 as above.
&04 - Read a Page Grabber record. XY?1 contains record. Returns
    XY?2=magazine, XY?3=BCD page number, XY+4..5=sub-page,
    XY+6..7=I/O address to store page.
&05 - Set a Page Grabber record, entry details as above.
&06 - Read number of rows to be captured to XY?1.
&07 - Set number of rows to be captured from XY?1.
&08 - Read header line status to XY?1: &00=header off, &01=header on
    with clock, &FF=header on without clock.
&09 - Set header line status from XY?1 as above.
&0A - Read magazine for header display to XY?1. &FF means all
&0B - Set magazine for header display from XY?1 as above.
&0C - Switch off teletext interrupts.
&0D - Switch on teletext interrupts.
&0E - Clear all Page Grabber records.
&0F - Read Television Service Data Packet
On exit:
 XY?1=magazine for initial page
 XY?2=BCD initial page number or &FF if none
 XY+3..4=initial page sub-code
 XY+5..6=network group identity
 XY?7=Time offset from Universal Coordinated Time:
  b0=1, b1=half hour, b2=1 hour, b3=2 hours, b4=4
  hours, b5=8 hours, b6=add/subtract offset, b7=1.
 XY+8..10=BCD Modified Julian Time hi to lo
 XY+11..13=BCD Universal Coordinated Time hours, minutes,
&10 - Clear Page Grabber record.
&11 - Read Adapter status to XY?1: &00=on and connected, &01=on, no
 TV signal, &02=off, but connected, &FF=no adapter connected.
&12 - Set Subtitle Enable flag
On entry:
 XY?1=&00 to enable, &FF to disable,
 XY?2=subtitle magazine
 XY?3=BCD subtitle page.
&13 - Set interrupt handling flag from XY?1: &00 to enable, &FF to
&14 - Enter Tuning routine. Exited by pressing SPACE.
&15 - Return time from TSDP.
On exit:
 XY+1..9="HH:MM:SS" string
 XY?10=flag, &00=ok, &FF=no time found.
&16 - Return date from TSDP.
On exit:
 XY+1..12="DD/MM/YYYY" string
 XY?12=flag, &00=ok, &FF=no date found.
&17 - Check CRC.
On entry:
 XY+1..2=>page data in I/O
On exit:
 XY?3=result, &00=no CRC, &01=CRC ok, &FF=CRC failed.
&18 - Download file from teletext.
On entry:
 XY+1..2=>filename in I/O
 XY!3=load address
 XY!7=exec address
 XY?11=magazine number
 XY?12=BCD page number
 XY?13=&00 - Load to memory at OSHWM, &01 - Load to file
   load address
 XY?14=&00 - Reset default table, &01 Don't reset tables.
&19 - De-Ham a byte at XY?1.
On exit:
 XY?2=De-Hammed nybble and result. b0-b3 contain nybble,
  b4-b7=%1111 - unrecoverable error
  b4-b7=%0xx1 - recoverable error
  b4-b7=%x1x1 - single bit error
  b4-b7=%0xx0 - no error.
&1A - Set emulation mode.
On entry:
 XY?1=characters per line to receive, 40 for TFS mode, 42
 for TTX mode. The two extra bytes at the beginning contain
 the magazine and row numbers.
&1B - Read emulation mode.
On exit:
 XY?1=characters per line that will be read, 40 for TFS or
 42 for TTX.
&80 - Reload Last Page.
&85 - Fetch Page.
On entry:
 XY?1=page 100s
 XY?2=page 10s
 XY?3=page 1s
 XY?4=subpage 1000s
 XY?5=subpage 100s
 XY?6=subpage 10s
 XY?7=subpage 1s
&86 - Chain page. Fetches the next page in a chain.
&88 - Head of Chain. Follows the chain around until the head is
&89 - Test Arrived.
On exit:
 XY?1=result: &00=last page requested not arrived, &FF=last
 page requested has arrived.
&8A - Unlock Page. When a page has arrived, it becomes locked. This
    unlocks it and allows further update.
&8B - Select Channel. Selects the channel in XY?1 (0-3).
&8D - Read TSDP.
On exit:
 XY+1..2=Television Service Data Packet.
&8E - DeHam a Byte. The byte at XY?1 is dehamed and returned in
    XY?1, with flags as for &19 above.
&8F - Transfer. The current page is transfered to the address in
&92 - Headers.
On entry:
 XY+1..2=I/O address to display 32-character page header.
&93 - What Channel. Returns the currently selected channel in XY?1.

See Also

Jgharston 13:16, 26 May 2009 (UTC)

Note: call 21 and 17 allow you to discover what adaptor you're using. See Micro User Aug 1989, "Updater"