Difference between revisions of "OSBYTEs"

From BeebWiki
Jump to: navigation, search
m (Removed absent links.)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Category:OSBYTE]]
 
[[Category:OSBYTE]]
* [[OSBYTE &00|&00  0]] OS Version Number Report
+
==OSBYTE Index==
 +
<table style="font-family:sans-serif;text-align:left;" class="mw-widebody"><tr valign="top">
 +
<td>
 +
&nbsp;&nbsp;&nbsp;&nbsp;Hex Dec Function
 +
* [[OSBYTE &00|&00  0]] Read host OS
 
* [[OSBYTE &01|&01  1]] Read/Write User Flag
 
* [[OSBYTE &01|&01  1]] Read/Write User Flag
 
* [[OSBYTE &02|&02  2]] Specify Input Stream
 
* [[OSBYTE &02|&02  2]] Specify Input Stream
Line 26: Line 30:
 
* [[OSBYTE &18|&18  24]] Select external sound system.
 
* [[OSBYTE &18|&18  24]] Select external sound system.
 
* [[OSBYTE &19|&19  25]] Reset a group of font definitions
 
* [[OSBYTE &19|&19  25]] Reset a group of font definitions
* &1A  26
+
* [[OSBYTE &19|&19  25]] Watford Speech - output an allophone or word
 +
* [[OSBYTE &19|&19  25]] Slogger Expansion ROM: Placeholder value for KEYV handler
 +
* [[OSBYTE &1A|&1A  26]] Handset detection (Communicator); [https://github.com/tom-seddon/basic_editor/blob/master/docs/doc.md#shiftescape-in-basic BASIC Editor toggle configuration]
 
* &1B  27
 
* &1B  27
 
* &1C  28
 
* &1C  28
 
* &1D  29
 
* &1D  29
* &1E  30
+
* [[OSBYTE &1E|&1E  30]] Enable SLAVE ROM commands
 
* &1F  31
 
* &1F  31
 
* [[OSBYTE &20|&20  32]] Watford32K - Read top of memory
 
* [[OSBYTE &20|&20  32]] Watford32K - Read top of memory
Line 40: Line 46:
 
* &26  38
 
* &26  38
 
* &27  39
 
* &27  39
* &28  40
+
* &28  40 EasyTalk speech ROM
* &29  41
+
* &29  41 EasyTalk speech ROM
* &2A  42
+
* &2A  42 EasyTalk speech ROM
* &2B  43
+
* &2B  43 EasyTalk speech ROM
* &2C  44
+
* &2C  44 EasyTalk speech ROM
* &2D  45
+
* &2D  45 EasyTalk speech ROM
 
* &2E  46
 
* &2E  46
 
* &2F  47
 
* &2F  47
Line 64: Line 70:
 
* &3E  62
 
* &3E  62
 
* [[OSBYTE &3F|&3F  63]] ZNOS CP/M - Reload CCP and BDOS
 
* [[OSBYTE &3F|&3F  63]] ZNOS CP/M - Reload CCP and BDOS
* &40  64
+
* [[OSBYTE &40|&40  64]] Merlin: Read modem handshake
* &41  65
+
* [[OSBYTE &41|&41  65]] Merlin: Select RAM page
* &42  66
+
* [[OSBYTE &42|&42  66]] Merlin: Enable/disable paged RAM
 
* [[OSBYTE &43|&43  67]] ParaMax - Enter CNC control program
 
* [[OSBYTE &43|&43  67]] ParaMax - Enter CNC control program
 
* [[OSBYTE &44|&44  68]] Test sideways RAM presence
 
* [[OSBYTE &44|&44  68]] Test sideways RAM presence
Line 73: Line 79:
 
* [[OSBYTE &47|&47  71]] Read/write alphabet or keyboard number
 
* [[OSBYTE &47|&47  71]] Read/write alphabet or keyboard number
 
* &48  72
 
* &48  72
* &49  73
+
* [[OSBYTE &49|&49  73]] Integra-B calls
 
* &4A  74
 
* &4A  74
 
* &4B  75
 
* &4B  75
Line 83: Line 89:
 
* &51  81
 
* &51  81
 
* &52  82
 
* &52  82
* &53  83
+
* [[OSBYTE &53|&53  83]] ADJI: Placeholder value for KEYV handler
 
* &54  84
 
* &54  84
 
* &55  85
 
* &55  85
Line 91: Line 97:
 
* &59  89
 
* &59  89
 
* [[OSBYTE &5A|&5A  90]] Find/set ROM status
 
* [[OSBYTE &5A|&5A  90]] Find/set ROM status
 +
* [[OSBYTE &5A|&5A  90]] Enable/disable PRES ADFS
 
* &5B  91
 
* &5B  91
 
* &5C  92
 
* &5C  92
Line 110: Line 117:
 
* [[OSBYTE &6C|&6C 108]] Main/Shadow RAM Usage
 
* [[OSBYTE &6C|&6C 108]] Main/Shadow RAM Usage
 
* [[OSBYTE &6D|&6D 109]] Make Temporary FS permanent
 
* [[OSBYTE &6D|&6D 109]] Make Temporary FS permanent
 +
* [[OSBYTE &6E|&6E 110]] Write to ROMSTROBE
 
* [[OSBYTE &6E|&6E 110]] Early Watford DFS - Control drive double-stepping, superceeded by *OPT40, *OPT80<ref>''The Micro User'', August 1986, p.22.</ref>
 
* [[OSBYTE &6E|&6E 110]] Early Watford DFS - Control drive double-stepping, superceeded by *OPT40, *OPT80<ref>''The Micro User'', August 1986, p.22.</ref>
 
* [[OSBYTE &6F|&6F 111]] Read/Write shadow RAM switch
 
* [[OSBYTE &6F|&6F 111]] Read/Write shadow RAM switch
 
* [[OSBYTE &70|&70 112]] Select Main/Shadow for VDU access
 
* [[OSBYTE &70|&70 112]] Select Main/Shadow for VDU access
 
* [[OSBYTE &71|&71 113]] Select Main/Shadow for Display hardware
 
* [[OSBYTE &71|&71 113]] Select Main/Shadow for Display hardware
* [[OSBYTE &72|&72 114]] Write to Shadow/Main toggle
+
* [[OSBYTE &72|&72 114]] Write to Shadow/Main toggle (called by *SHADOW)
 
* [[OSBYTE &73|&73 115]] Blank/restore palette
 
* [[OSBYTE &73|&73 115]] Blank/restore palette
 
* [[OSBYTE &74|&74 116]] Reset internal sound system
 
* [[OSBYTE &74|&74 116]] Reset internal sound system
Line 128: Line 136:
 
* [[OSBYTE &7E|&7E 126]] Acknowledge ESCAPE Condition
 
* [[OSBYTE &7E|&7E 126]] Acknowledge ESCAPE Condition
 
* [[OSBYTE &7F|&7F 127]] Check for EOF  
 
* [[OSBYTE &7F|&7F 127]] Check for EOF  
 +
 +
<td>
 +
&nbsp;&nbsp;&nbsp;&nbsp;Hex Dec Function
 
* [[OSBYTE &80|&80 128]] Read ADC Channel/Buffer/Mouse/Device status
 
* [[OSBYTE &80|&80 128]] Read ADC Channel/Buffer/Mouse/Device status
* [[OSBYTE &81|&81 129]] Read Key with Time Limit/Scan for any keys/Read OS version
+
* [[OSBYTE &81|&81 129]] Read key with time limit/Scan for any keys/Read OS version
 
* [[OSBYTE &82|&82 130]] Read High Order Address
 
* [[OSBYTE &82|&82 130]] Read High Order Address
 
* [[OSBYTE &83|&83 131]] Read bottom of user memory (OSHWM)
 
* [[OSBYTE &83|&83 131]] Read bottom of user memory (OSHWM)
Line 136: Line 147:
 
* [[OSBYTE &86|&86 134]] Text cursor position
 
* [[OSBYTE &86|&86 134]] Text cursor position
 
* [[OSBYTE &87|&87 135]] Character at text cursor and screen MODE
 
* [[OSBYTE &87|&87 135]] Character at text cursor and screen MODE
* [[OSBYTE &88|&88 136]] Perform *CODE
+
* [[OSBYTE &88|&88 136]] Call user code (called by *CODE)
* [[OSBYTE &89|&89 137]] Cassete Motor Control
+
* [[OSBYTE &89|&89 137]] Cassette Motor Control (called by *MOTOR)
 
* [[OSBYTE &8A|&8A 138]] Place character into buffer
 
* [[OSBYTE &8A|&8A 138]] Place character into buffer
* [[OSBYTE &8B|&8B 139]] Set filing system attributes (do *OPT)
+
* [[OSBYTE &8B|&8B 139]] Set filing system options (called by *OPT)
* [[OSBYTE &8C|&8C 140]] Select Tape FS at 1200/300 baud (do *TAPE)
+
* [[OSBYTE &8C|&8C 140]] Select Tape FS at 1200/300 baud (called by *TAPE)
* [[OSBYTE &8D|&8D 141]] Select RFS (do *ROM)
+
* [[OSBYTE &8D|&8D 141]] Select RFS (called by *ROM)
* [[OSBYTE &8E|&8E 142]] Enter Langauge ROM
+
* [[OSBYTE &8E|&8E 142]] Enter Language ROM
 
* [[OSBYTE &8F|&8F 143]] Issue SWR Service Request
 
* [[OSBYTE &8F|&8F 143]] Issue SWR Service Request
* [[OSBYTE &90|&90 144]] Set TV offset and interlacing (do *TVx,y)
+
* [[OSBYTE &90|&90 144]] Set TV offset and interlacing (called by *TVx,y)
 
* [[OSBYTE &91|&91 145]] Read character from buffer
 
* [[OSBYTE &91|&91 145]] Read character from buffer
 
* [[OSBYTE &92|&92 146]] Read FRED
 
* [[OSBYTE &92|&92 146]] Read FRED
Line 161: Line 172:
 
* [[OSBYTE &9F|&9F 159]] Write to Speech Processor
 
* [[OSBYTE &9F|&9F 159]] Write to Speech Processor
 
* [[OSBYTE &A0|&A0 160]] Read VDU Variable
 
* [[OSBYTE &A0|&A0 160]] Read VDU Variable
* [[OSBYTE &A1|&A1 161]] Read CMOS RAM
+
* [[OSBYTE &A1|&A1 161]] Read configuration setting
* [[OSBYTE &A2|&A2 162]] Write CMOS RAM
+
* [[OSBYTE &A2|&A2 162]] Write configuration setting
* [[OSBYTE &A3|&A3 163]] Reserved for applications software
+
* [[OSBYTE &A3|&A3 163]] Application software call
 
* [[OSBYTE &A4|&A4 164]] Check Processor Type
 
* [[OSBYTE &A4|&A4 164]] Check Processor Type
* [[OSBYTE &A5|&A5 165]] Read output Cursor Position
+
* [[OSBYTE &A5|&A5 165]] Read output cursor position
 
* [[OSBYTE &A6|&A6 166]] Read Start of MOS variables
 
* [[OSBYTE &A6|&A6 166]] Read Start of MOS variables
 
* [[OSBYTE &A7|&A7 167]] Read Start of MOS variables
 
* [[OSBYTE &A7|&A7 167]] Read Start of MOS variables
Line 252: Line 263:
 
* [[OSBYTE &FA|&FA 250]] Read/Write RAM used for VDU access, Watford RAM board status
 
* [[OSBYTE &FA|&FA 250]] Read/Write RAM used for VDU access, Watford RAM board status
 
* [[OSBYTE &FB|&FB 251]] Read/Write RAM used for Display hardware
 
* [[OSBYTE &FB|&FB 251]] Read/Write RAM used for Display hardware
* [[OSBYTE &FC|&FC 252]] Read/Write current language Rom Number
+
* [[OSBYTE &FC|&FC 252]] Read/Write Current language ROM Number
 
* [[OSBYTE &FD|&FD 253]] Read/Write Last Reset Type
 
* [[OSBYTE &FD|&FD 253]] Read/Write Last Reset Type
* [[OSBYTE &FE|&FE 254]] Read/Write available RAM/Read/Write effect of shift/ctrl on Numeric pad
+
* [[OSBYTE &FE|&FE 254]] Read/Write Available RAM/Read/Write effect of shift/ctrl on Numeric pad
* [[OSBYTE &FF|&FF 255]] Read/Write startup Options
+
* [[OSBYTE &FF|&FF 255]] Read/Write Startup options
 +
</table>
  
 
[[User:Jgharston|Jgharston]] 18:54, 11 September 2007 (BST)
 
[[User:Jgharston|Jgharston]] 18:54, 11 September 2007 (BST)
 
----
 
----
 
<references/>
 
<references/>
 +
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 06:41, 12 April 2020 (CEST)

Latest revision as of 22:56, 9 September 2023

OSBYTE Index

    Hex Dec Function

  • &00 0 Read host OS
  • &01 1 Read/Write User Flag
  • &02 2 Specify Input Stream
  • &03 3 Specify Output Stream(s)
  • &04 4 Define action of cursor editing keys
  • &05 5 Printer Driver Type
  • &06 6 Printer Ignore Character
  • &07 7 RS423 Baud Receive rate
  • &08 8 RS423 Baud Transmit Rate
  • &09 9 First Colour Duration
  • &0A 0 Second Colour Duration
  • &0B 11 Auto Repeat Delay
  • &0C 12 Auto Repeat Period
  • &0D 13 Disable Event
  • &0E 14 Enable Event
  • &0F 15 Flush all buffers/input buffer
  • &10 16 Set maximum number of ADC chanel
  • &11 17 Force an ADC conversion
  • &12 18 Reset F-key definitions
  • &13 19 Wait for Vertical Retrace
  • &14 20 Explode user defined character font RAM
  • &15 21 Flush Selected Buffer
  • &16 22 Increment Polling Semaphore
  • &17 23 Decrement Polling Semaphore
  • &18 24 Select external sound system.
  • &19 25 Reset a group of font definitions
  • &19 25 Watford Speech - output an allophone or word
  • &19 25 Slogger Expansion ROM: Placeholder value for KEYV handler
  • &1A 26 Handset detection (Communicator); BASIC Editor toggle configuration
  • &1B 27
  • &1C 28
  • &1D 29
  • &1E 30 Enable SLAVE ROM commands
  • &1F 31
  • &20 32 Watford32K - Read top of memory
  • &21 33 Watford32K - Read top of memory for mode
  • &22 34 Watford32K - Read/Write RAM switch
  • &23 35 Watford32K - Read workspace address
  • &24 36 Watford32K - Read/Write RAM buffer bank
  • &25 37
  • &26 38
  • &27 39
  • &28 40 EasyTalk speech ROM
  • &29 41 EasyTalk speech ROM
  • &2A 42 EasyTalk speech ROM
  • &2B 43 EasyTalk speech ROM
  • &2C 44 EasyTalk speech ROM
  • &2D 45 EasyTalk speech ROM
  • &2E 46
  • &2F 47
  • &30 48
  • &31 49
  • &32 50 NetFS - Poll transmit
  • &33 51 NetFS - Poll receive
  • &34 52 NetFS - Delete receive block, enable/disable events on reception
  • &35 53 NetFS - Disconnect REMOTE
  • &36 54
  • &37 55
  • &38 56
  • &39 57
  • &3A 58
  • &3B 59
  • &3C 60
  • &3D 61
  • &3E 62
  • &3F 63 ZNOS CP/M - Reload CCP and BDOS
  • &40 64 Merlin: Read modem handshake
  • &41 65 Merlin: Select RAM page
  • &42 66 Merlin: Enable/disable paged RAM
  • &43 67 ParaMax - Enter CNC control program
  • &44 68 Test sideways RAM presence
  • &45 69 Test PSEUDO/Absolute usage
  • &46 70 Read/write country number
  • &47 71 Read/write alphabet or keyboard number
  • &48 72
  • &49 73 Integra-B calls
  • &4A 74
  • &4B 75
  • &4C 76
  • &4D 77
  • &4E 78
  • &4F 79
  • &50 80
  • &51 81
  • &52 82
  • &53 83 ADJI: Placeholder value for KEYV handler
  • &54 84
  • &55 85
  • &56 86
  • &57 87
  • &58 88
  • &59 89
  • &5A 90 Find/set ROM status
  • &5A 90 Enable/disable PRES ADFS
  • &5B 91
  • &5C 92
  • &5D 93
  • &5E 94
  • &5F 95
  • &60 96 Terminal Emulator flow control
  • &61 97 HKSET Page timeout monitor
  • &62 98 HKSET Poll received page status
  • &63 99
  • &64 100 Enter SPY debugger
  • &65 101
  • &66 102
  • &67 103
  • &68 104
  • &69 105
  • &6A 106 Select pointer/activate mouse
  • &6B 107 External/Internal 1MHz Bus
  • &6C 108 Main/Shadow RAM Usage
  • &6D 109 Make Temporary FS permanent
  • &6E 110 Write to ROMSTROBE
  • &6E 110 Early Watford DFS - Control drive double-stepping, superceeded by *OPT40, *OPT80[1]
  • &6F 111 Read/Write shadow RAM switch
  • &70 112 Select Main/Shadow for VDU access
  • &71 113 Select Main/Shadow for Display hardware
  • &72 114 Write to Shadow/Main toggle (called by *SHADOW)
  • &73 115 Blank/restore palette
  • &74 116 Reset internal sound system
  • &75 117 Read VDU Status Byte
  • &76 118 Reflect keyboard status in LEDs
  • &77 119 Close all Spool/Exec files
  • &78 120 Write Key Pressed Data
  • &79 121 Keyboard Scan
  • &7A 122 Keyboard Scan from &10
  • &7B 123 Printer Dormancy Warning
  • &7C 124 Clear ESCAPE Condition informing Tube if necessary
  • &7D 125 Set ESCAPE conditon
  • &7E 126 Acknowledge ESCAPE Condition
  • &7F 127 Check for EOF

    Hex Dec Function

  • &80 128 Read ADC Channel/Buffer/Mouse/Device status
  • &81 129 Read key with time limit/Scan for any keys/Read OS version
  • &82 130 Read High Order Address
  • &83 131 Read bottom of user memory (OSHWM)
  • &84 132 Read top of user memory
  • &85 133 Read base of display RAM for a given mode
  • &86 134 Text cursor position
  • &87 135 Character at text cursor and screen MODE
  • &88 136 Call user code (called by *CODE)
  • &89 137 Cassette Motor Control (called by *MOTOR)
  • &8A 138 Place character into buffer
  • &8B 139 Set filing system options (called by *OPT)
  • &8C 140 Select Tape FS at 1200/300 baud (called by *TAPE)
  • &8D 141 Select RFS (called by *ROM)
  • &8E 142 Enter Language ROM
  • &8F 143 Issue SWR Service Request
  • &90 144 Set TV offset and interlacing (called by *TVx,y)
  • &91 145 Read character from buffer
  • &92 146 Read FRED
  • &93 147 Write FRED
  • &94 148 Read JIM
  • &95 149 Write JIM
  • &96 150 Read SHELIA
  • &97 151 Write SHELIA
  • &98 152 Examine Buffer Status
  • &99 153 Write character into input buffer checking for ESCAPE
  • &9A 154 Write to Video ULA control register and RAM copy
  • &9B 155 Write to Video ULA palette register and RAM copy
  • &9C 156 Read/write ACIA registers
  • &9D 157 Fast Tube BPUT
  • &9E 158 Read from Speech Processor
  • &9F 159 Write to Speech Processor
  • &A0 160 Read VDU Variable
  • &A1 161 Read configuration setting
  • &A2 162 Write configuration setting
  • &A3 163 Application software call
  • &A4 164 Check Processor Type
  • &A5 165 Read output cursor position
  • &A6 166 Read Start of MOS variables
  • &A7 167 Read Start of MOS variables
  • &A8 168 Read address of extended vector table
  • &A9 169 Read address of extended vector table
  • &AA 170 Read address of ROM info table
  • &AB 171 Read address of ROM info table
  • &AC 172 Read address of keyboard table
  • &AD 173 Read address of keyboard table
  • &AE 174 Read address of VDU variables
  • &AF 175 Read address of VDU variables
  • &B0 176 Read/Write Tape Timeout
  • &B1 177 Read/Write input device
  • &B2 178 Read/Write keyboard interrupt enable
  • &B3 179 Read/Write primary OSHWM/Read/Write ROM polling semaphore
  • &B4 180 Read/Write OSHWM
  • &B5 181 Read/Write RS423 interpretation
  • &B6 182 Read/Write Font Explosion/Read NOIGNORE Status
  • &B7 183 Read/Write TAPE/ROM switch
  • &B8 184 Read/Write MOS copy of Video ULA control register
  • &B9 185 Read/Write MOS copy of palette register/Read/Write ROM polling semaphore
  • &BA 186 Read/Write ROM active on last BRK
  • &BB 187 Read/Write ROM number of BASIC
  • &BC 188 Read/Write current ADC channel number
  • &BD 189 Read/Write highest ADC channel number
  • &BE 190 Read/Write ADC type
  • &BF 191 Read/Write RS423 busy flag
  • &C0 192 Read/Write ACIA control register
  • &C1 193 Read/Write flash counter
  • &C2 194 Read/Write first colour duration
  • &C3 195 Read/Write second colour duration
  • &C4 196 Read/Write auto Repeat Delay
  • &C5 197 Read/Write auto Repeat Period
  • &C6 198 Read/Write *EXEC file handle
  • &C7 199 Read/Write *SPOOL file handle
  • &C8 200 Read/Write BREAK/ESCAPE effect
  • &C9 201 Read/Write keyboard Enable/Disable
  • &CA 202 Read/Write Keyboard Status
  • &CB 203 Read/Write RS423 in buffer minimum
  • &CC 204 Read/Write RS423 ignore flag
  • &CD 205 Read/Write RS423 destination/Read/Write user key string length
  • &CE 206 Read/Write ECONET call intepretation
  • &CF 207 Read/Write ECONET input intepretation
  • &D0 208 Read/Write ECONET output intepretation
  • &D1 209 Read/Write speech supression status
  • &D2 210 Read/Write sound supression flag
  • &D3 211 Read/Write channel for BELL
  • &D4 212 Read/Write volume/ENVELOPE For BELL
  • &D5 213 Read/Write frequency for BELL
  • &D6 214 Read/Write duration for BELL
  • &D7 215 Read/Write Startup Message Enable/Disable
  • &D8 216 Read/Write user key string length
  • &D9 217 Read/Write paged line count
  • &DA 218 Read/Write VDU Queue length
  • &DB 219 Read/Write ASCII code for TAB
  • &DC 220 Read/Write ASCII for ESCAPE
  • &DD 221 Read/Write Intrepretation ASCII 197-207
  • &DE 222 Read/Write Interpretation ASCII 208-223
  • &DF 223 Read/Write Interpretation ASCII 224-239
  • &E0 224 Read/Write Interpretation ASCII 240-255
  • &E1 225 Read/Write Interpretation of F-Keys
  • &E2 226 Read/Write Interpretation of Shift-F-Keys
  • &E3 227 Read/Write Interpretation of Ctrl-F-Keys
  • &E4 228 Read/Write Interpretation of Ctrl-Shift-Fkeys
  • &E5 229 Read/Write ESCAPE key status
  • &E6 230 Read/Write ESCAPE effects
  • &E7 231 Read/Write 6522 User IRQ Mask
  • &E8 232 Read/Write 6850 IRQ Mask
  • &E9 233 Read/Write 6522 System IRQ Mask
  • &EA 234 Read/Write Tube present flag
  • &EB 235 Read/Write speech Processor Pressence
  • &EC 236 Read/Write character output device status
  • &ED 237 Read/Write Cursor Edit State
  • &EE 238 Read/Write base of numeric pad
  • &EF 239 Read/Write shadow state
  • &F0 240 Read/Write Country flag
  • &F1 241 Read/Write value written by *FX1
  • &F2 242 Read/Write OS copy of serial ULA register
  • &F3 243 Read/Write offset to current TIME value
  • &F4 244 Read/Write soft key consistency flag
  • &F5 245 Read/Write printer Type
  • &F6 246 Read/Write printer Ignore character set by *FX6
  • &F7 247 Read/Write Intercept BREAK/Define action of BREAK key
  • &F8 248 Read/Write LSB BREAK intercepter jump address
  • &F9 249 Read/Write MSB BREAK intercepter jump address
  • &FA 250 Read/Write RAM used for VDU access, Watford RAM board status
  • &FB 251 Read/Write RAM used for Display hardware
  • &FC 252 Read/Write Current language ROM Number
  • &FD 253 Read/Write Last Reset Type
  • &FE 254 Read/Write Available RAM/Read/Write effect of shift/ctrl on Numeric pad
  • &FF 255 Read/Write Startup options

Jgharston 18:54, 11 September 2007 (BST)


  1. The Micro User, August 1986, p.22.

Jgharston (talk) 06:41, 12 April 2020 (CEST)