; Copyright 2012 Castle Technology Ltd
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
;     http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
;
; This header file is autogenerated from the files maintained by the
; RISC OS allocations manager and should not be edited by anyone else.

; This header file is autogenerated from the files maintained by the
; RISC OS allocations manager and should not be edited by anyone else.

        SUBT    Definitions of currently allocated OSByte reason Codes

OldOpt  SETA    {OPT}
        OPT     OptNoList+OptNoP1List

                                ^       0
OsByte_OSVersionReport          #       1       ; &00/0 Acorn - BBC MOS
OsByte_MachineClass             *       OsByte_OSVersionReport
OsByte_WriteUserFlag            #       1       ; &01/1 Acorn - BBC MOS
OsByte_SpecifyInputStream       #       1       ; &02/2 Acorn - BBC MOS
OsByte_SpecifyOutputStream      #       1       ; &03/3 Acorn - BBC MOS
OsByte_CursorKeyStatus          #       1       ; &04/4 Acorn - BBC MOS
OsByte_PrinterDriver            #       1       ; &05/5 Acorn - BBC MOS
OsByte_PrinterIgnore            #       1       ; &06/6 Acorn - BBC MOS
OsByte_SerialReceiveBaud        #       1       ; &07/7 Acorn - BBC MOS
OsByte_SerialTransmitBaud       #       1       ; &08/8 Acorn - BBC MOS
OsByte_1stFlashTime             #       1       ; &09/9 Acorn - BBC MOS
OsByte_2ndFlashTime             #       1       ; &0A/10 Acorn - BBC MOS
OsByte_KeybRepeatDelay          #       1       ; &0B/11 Acorn - BBC MOS
OsByte_KeybRepeatPeriod         #       1       ; &0C/12 Acorn - BBC MOS
OsByte_DisableEvent             #       1       ; &0D/13 Acorn - BBC MOS
OsByte_EnableEvent              #       1       ; &0E/14 Acorn - BBC MOS
OsByte_FlushInputBuffer         #       1       ; &0F/15 Acorn - BBC MOS
OsByte_FlushAllBuffers          *       OsByte_FlushInputBuffer
OsByte_MaxADCChannel            #       1       ; &10/16 Acorn - BBC MOS
OsByte_ForceADC                 #       1       ; &11/17 Acorn - BBC MOS
OsByte_ClearFKeys               #       1       ; &12/18 Acorn - BBC MOS
OsByte_Wait                     #       1       ; &13/19 Acorn - BBC MOS
OsByte_ExplodeCharSet           #       1       ; &14/20 Acorn - BBC MOS
OsByte_FlushBuffer              #       1       ; &15/21 Acorn - BBC MOS
OsByte_IncPollingCount          #       1       ; &16/22 Acorn - Elk/BBC Master
OsByte_DecPollingCount          #       1       ; &17/23 Acorn - Elk/BBC Master
OsByte_SelectSoundSystem        #       1       ; &18/24 Acorn - Elk
OsByte_ResetCharSet             #       1       ; &19/25 Acorn - BBC Master

                                ^       &20
OsByte_WatfordHIMEM             #       1       ; &20/32 Watford - BBC 32k expansion
OsByte_WatfordScreenLimit       #       1       ; &21/33 Watford - BBC 32k expansion
OsByte_WatfordShadowSwitchAlt   #       1       ; &22/34 Watford - BBC 32k expansion
OsByte_WatfordWorkspace         #       1       ; &23/35 Watford - BBC 32k expansion
OsByte_WatfordBank              #       1       ; &24/36 Watford - BBC 32k expansion

                                ^       &32
OsByte_NetPollTransmit          #       1       ; &32/50 Acorn - BBC NetFS
OsByte_NetPollReceive           #       1       ; &33/51 Acorn - BBC NetFS
OsByte_NetDeleteBlock           #       1       ; &34/52 Acorn - BBC NetFS
OsByte_NetDisconnectREMOTE      #       1       ; &35/53 Acorn - BBC NetFS

                                ^       &3F
OsByte_ZNOSReload               #       1       ; &3F/63 ZNOS - CP/M coprocessor

                                ^       &43
OsByte_ParaMaxCNC               #       1       ; &43/67 ParaMax - BBC controlled lathe
OsByte_SidewaysRAMPresence      #       1       ; &44/68 Acorn - BBC Master
OsByte_SidewaysRAMPsuedoUse     #       1       ; &45/69 Acorn - BBC Master
OsByte_Country                  #       1       ; &46/70 Acorn - Archimedes
OsByte_Alphabet                 #       1       ; &47/71 Acorn - Archimedes

                                ^       &5A
OsByte_PRESROMStatus            #       1       ; &5A/90 PRES - ADFS &E00 addon

                                ^       &64
OsByte_SystemSoftSPYDebugger    #       1       ; &64/100 System Software - ADE debugger

                                ^       &6A
OsByte_SelectPointer            #       1       ; &6A/106 Acorn - Archimedes
OsByte_ExtInt1MHzBus            #       1       ; &6B/107 Acorn - BBC Master
OsByte_ShadowRAMUse             #       1       ; &6C/108 Acorn - BBC Master
OsByte_MakeTempFSPermanent      #       1       ; &6D/109 Acorn - BBC Master

                                ^       &6F
OsByte_WatfordShadowSwitch      #       1       ; &6F/111 Watford - BBC 32k expansion
OsByte_BankForVDU               #       1       ; &70/112 Acorn - BBC Master
OsByte_BankForDisplay           #       1       ; &71/113 Acorn - BBC Master
OsByte_ShadowSetting            #       1       ; &72/114 Acorn - BBC MOS
OsByte_BlankPalette             #       1       ; &73/115 Acorn - Elk
OsByte_SolidiskShadowRAM        *       OsByte_BlankPalette
OsByte_ResetSoundSystem         #       1       ; &74/116 Acorn - Elk
OsByte_ReadVDUStatus            #       1       ; &75/117 Acorn - BBC MOS
OsByte_UpdateKeyboardLEDs       #       1       ; &76/118 Acorn - BBC MOS
OsByte_CloseSpoolExec           #       1       ; &77/119 Acorn - BBC MOS
OsByte_WriteKeysDown            #       1       ; &78/120 Acorn - BBC MOS
OsByte_ScanKeyboard             #       1       ; &79/121 Acorn - BBC MOS
OsByte_ScanKeyboardFrom16       #       1       ; &7A/122 Acorn - BBC MOS
OsByte_PrinterDormant           #       1       ; &7B/123 Acorn - BBC MOS
OsByte_ClearEscape              #       1       ; &7C/124 Acorn - BBC MOS
OsByte_SetEscape                #       1       ; &7D/125 Acorn - BBC MOS
OsByte_AcknowledgeEscape        #       1       ; &7E/126 Acorn - BBC MOS
OsByte_CheckEOF                 #       1       ; &7F/127 Acorn - BBC MOS
                                ASSERT @ <= &80

        ; Note that reason codes &00 to &7F inclusive only send and
        ; receive X over the Tube(TM) not Y. &80 onwards does both X and Y.
        ; Subreasons &82 to &84 are dealt with by the parasite Tube(TM).

                                ^       &80
OsByte_ReadADC                  #       1       ; &80/128 Acorn - BBC MOS
OsByte_BufferStatus             *       OsByte_ReadADC
OsByte_INKEY                    #       1       ; &81/129 Acorn - BBC MOS
OsByte_OSVersionIdentifier      *       OsByte_INKEY
OsByte_HighOrderAddress         #       1       ; &82/130 Acorn - BBC MOS
OsByte_OSHWM                    #       1       ; &83/131 Acorn - BBC MOS
OsByte_BaseOfCurrentScreen      #       1       ; &84/132 Acorn - BBC MOS
OsByte_BaseOfGivenScreen        #       1       ; &85/133 Acorn - BBC MOS
OsByte_CursorTextXY             #       1       ; &86/134 Acorn - BBC MOS
OsByte_CursorCharacterAndMode   #       1       ; &87/135 Acorn - BBC MOS
OsByte_DoCODE                   #       1       ; &88/136 Acorn - BBC MOS
OsByte_CassetteRelay            #       1       ; &89/137 Acorn - BBC MOS
OsByte_InsertBufferedChar       #       1       ; &8A/138 Acorn - BBC MOS
OsByte_DoOPT                    #       1       ; &8B/139 Acorn - BBC MOS
OsByte_DoTAPE                   #       1       ; &8C/140 Acorn - BBC MOS
OsByte_DoROM                    #       1       ; &8D/141 Acorn - BBC MOS
OsByte_EnterLanguage            #       1       ; &8E/142 Acorn - BBC MOS
OsByte_IssueROMService          #       1       ; &8F/143 Acorn - BBC MOS
OsByte_DoTV                     #       1       ; &90/144 Acorn - BBC MOS
OsByte_ExtractBufferedChar      #       1       ; &91/145 Acorn - BBC MOS
OsByte_ReadFred                 #       1       ; &92/146 Acorn - BBC MOS
OsByte_WriteFred                #       1       ; &93/147 Acorn - BBC MOS
OsByte_ReadJim                  #       1       ; &94/148 Acorn - BBC MOS
OsByte_WriteJim                 #       1       ; &95/149 Acorn - BBC MOS
OsByte_ReadSheila               #       1       ; &96/150 Acorn - BBC MOS
OsByte_WriteSheila              #       1       ; &97/151 Acorn - BBC MOS
OsByte_ExamineBuffer            #       1       ; &98/152 Acorn - BBC MOS
OsByte_InsertBufferCharWithEsc  #       1       ; &99/153 Acorn - BBC MOS
OsByte_WriteVideoControl        #       1       ; &9A/154 Acorn - BBC MOS
OsByte_WriteVideoPalette        #       1       ; &9B/155 Acorn - BBC MOS
OsByte_ReadWriteACIA            #       1       ; &9C/156 Acorn - BBC MOS
OsByte_FastTubeBPUT             #       1       ; &9D/157 Acorn - BBC MOS

        ; Note that reason &9D is the Fast Tube(TM) BPUT, it takes A/X/Y and
        ; does not wait to return anything.

OsByte_ReadSpeechChip           #       1       ; &9E/158 Acorn - BBC MOS
OsByte_WriteSpeechChip          #       1       ; &9F/159 Acorn - BBC MOS
OsByte_VDUVariable              #       1       ; &A0/160 Acorn - BBC MOS
OsByte_ReadCMOS                 #       1       ; &A1/161 Acorn - BBC Master
OsByte_WriteCMOS                #       1       ; &A2/162 Acorn - BBC Master
OsByte_SpriteECFInfo            #       1       ; &A3/163 Acorn - Graphics Extension ROM
OsByte_CheckCPUMatch            #       1       ; &A4/164 Acorn - BBC MOS
OsByte_ReadOutputTextXY         #       1       ; &A5/165 Acorn - BBC MOS
                                ASSERT @ = &A6

OsByte_OSByteVarTableLo         #       1       ; &A6/166 Acorn - BBC MOS
OsByte_OSByteVarTableHi         #       1       ; &A7/167 Acorn - BBC MOS
OsByte_BaseOfOSByteVarTable     *       OsByte_OSByteVarTableLo
OsByte_ROMVectorTableLo         #       1       ; &A8/168 Acorn - BBC MOS
OsByte_ROMVectorTableHi         #       1       ; &A9/169 Acorn - BBC MOS
OsByte_BaseOfROMVectorTable     *       OsByte_ROMVectorTableLo
OsByte_ROMInfoTableLo           #       1       ; &AA/170 Acorn - BBC MOS
OsByte_ROMInfoTableHi           #       1       ; &AB/171 Acorn - BBC MOS
OsByte_BaseOfROMInfoTable       *       OsByte_ROMInfoTableLo
OsByte_KeyboardTableLo          #       1       ; &AC/172 Acorn - BBC MOS
OsByte_KeyboardTableHi          #       1       ; &AD/173 Acorn - BBC MOS
OsByte_BaseOfKeyboardTable      *       OsByte_KeyboardTableLo
OsByte_VDUVarTableLo            #       1       ; &AE/174 Acorn - BBC MOS
OsByte_VDUVarTableHi            #       1       ; &AF/175 Acorn - BBC MOS
OsByte_BaseOfVDUVarTable        *       OsByte_VDUVarTableLo

        ; The remaining all do  newvalue := (oldvalue AND Y) EOR X
        ;                              X := oldvalue
        ; therefore to read use Y = -1 and X = 0

OsByte_RW_TapeTimeout           #       1       ; &B0/176 Acorn - BBC MOS
OsByte_RW_InputStream           #       1       ; &B1/177 Acorn - BBC MOS
OsByte_RW_KeybInterruptState    #       1       ; &B2/178 Acorn - BBC MOS
OsByte_RW_PrimaryOSHWM          #       1       ; &B3/179 Acorn - BBC MOS
OsByte_RW_PollingCount          *       OsByte_RW_PrimaryOSHWM
OsByte_RW_OSHWM                 #       1       ; &B4/180 Acorn - BBC MOS
OsByte_RW_SerialInterpretation  #       1       ; &B5/181 Acorn - BBC MOS
OsByte_RW_FontExplosion         #       1       ; &B6/182 Acorn - BBC MOS
OsByte_RW_PrinterIgnoreState    *       OsByte_RW_FontExplosion
OsByte_RW_CFSOrROMFS            #       1       ; &B7/183 Acorn - BBC MOS
OsByte_RW_CopyOfVideoControl    #       1       ; &B8/184 Acorn - BBC MOS
OsByte_RW_CopyOfPaletteControl  #       1       ; &B9/185 Acorn - BBC MOS
OsByte_RW_PollingCountElk       *       OsByte_RW_CopyOfPaletteControl
OsByte_RW_ROMPagedOnLastError   #       1       ; &BA/186 Acorn - BBC MOS
OsByte_RW_ROMContainingBASIC    #       1       ; &BB/187 Acorn - BBC MOS
OsByte_RW_CurrentADCChannel     #       1       ; &BC/188 Acorn - BBC MOS
OsByte_RW_HighestADCChannel     #       1       ; &BD/189 Acorn - BBC MOS
OsByte_RW_ADCResolution         #       1       ; &BE/190 Acorn - BBC MOS
OsByte_RW_SerialBusyFlag        #       1       ; &BF/191 Acorn - BBC MOS
OsByte_RW_SerialControl         #       1       ; &C0/192 Acorn - BBC MOS
OsByte_RW_FlashCount            #       1       ; &C1/193 Acorn - BBC MOS
OsByte_RW_1stFlashTime          #       1       ; &C2/194 Acorn - BBC MOS
OsByte_RW_2ndFlashTime          #       1       ; &C3/195 Acorn - BBC MOS
OsByte_RW_KeybRepeatDelay       #       1       ; &C4/196 Acorn - BBC MOS
OsByte_RW_KeybRepeatPeriod      #       1       ; &C5/197 Acorn - BBC MOS
OsByte_RW_ExecHandle            #       1       ; &C6/198 Acorn - BBC MOS
OsByte_RW_SpoolHandle           #       1       ; &C7/199 Acorn - BBC MOS
OsByte_RW_BreakEscapeAction     #       1       ; &C8/200 Acorn - BBC MOS
OsByte_RW_KeybEnable            #       1       ; &C9/201 Acorn - BBC MOS
OsByte_RW_KeybStatus            #       1       ; &CA/202 Acorn - BBC MOS
OsByte_RW_SerialBufferThreshold #       1       ; &CB/203 Acorn - BBC MOS
OsByte_RW_SerialIgnore          #       1       ; &CC/204 Acorn - BBC MOS
OsByte_RW_SerialDestination     #       1       ; &CD/205 Acorn - BBC MOS
OsByte_RW_FuncKeyLength         *       OsByte_RW_SerialDestination
OsByte_RW_EconetCallIntercept   #       1       ; &CE/206 Acorn - BBC MOS
OsByte_RW_EconetInIntercept     #       1       ; &CF/207 Acorn - BBC MOS
OsByte_RW_EconetOutIntercept    #       1       ; &D0/208 Acorn - BBC MOS
OsByte_RW_SpeechOpCode          #       1       ; &D1/209 Acorn - BBC MOS
OsByte_RW_SoundSupression       #       1       ; &D2/210 Acorn - BBC MOS
OsByte_RW_BELLChannel           #       1       ; &D3/211 Acorn - BBC MOS
OsByte_RW_BELLVolume            #       1       ; &D4/212 Acorn - BBC MOS
OsByte_RW_BELLFrequency         #       1       ; &D5/213 Acorn - BBC MOS
OsByte_RW_BELLDuration          #       1       ; &D6/214 Acorn - BBC MOS
OsByte_RW_BannerSupression      #       1       ; &D7/215 Acorn - BBC MOS
OsByte_RW_FKeyLength            #       1       ; &D8/216 Acorn - BBC MOS
OsByte_RW_PagedLinesCount       #       1       ; &D9/217 Acorn - BBC MOS
OsByte_RW_VDUQueue              #       1       ; &DA/218 Acorn - BBC MOS
OsByte_RW_TabCharCode           #       1       ; &DB/219 Acorn - BBC MOS
OsByte_RW_SoundSystemElk        *       OsByte_RW_TabCharCode
OsByte_RW_EscapeCharCode        #       1       ; &DC/220 Acorn - BBC MOS
OsByte_RW_UseOfCode192To207     #       1       ; &DD/221 Acorn - BBC MOS
OsByte_RW_UseOfCode197To207     *       OsByte_RW_UseOfCode192To207 ; typo in previous header?
OsByte_RW_UseOfCode208To223     #       1       ; &DE/222 Acorn - BBC MOS
OsByte_RW_UseOfCode224To239     #       1       ; &DF/223 Acorn - BBC MOS
OsByte_RW_UseOfCode240To255     #       1       ; &E0/224 Acorn - BBC MOS
OsByte_RW_CancelVDUQueue        *       OsByte_RW_UseOfCode240To255
OsByte_RW_UseOfFKeys            #       1       ; &E1/225 Acorn - BBC MOS
OsByte_RW_UseOfShiftFKeys       #       1       ; &E2/226 Acorn - BBC MOS
OsByte_RW_UseOfCtrlFKeys        #       1       ; &E3/227 Acorn - BBC MOS
OsByte_RW_UseOfCtrlShiftFKeys   #       1       ; &E4/228 Acorn - BBC MOS
OsByte_RW_EscapeKeyEffects      #       1       ; &E5/229 Acorn - BBC MOS
OsByte_RW_EscapeEffects         #       1       ; &E6/230 Acorn - BBC MOS
OsByte_RW_UserVIAMaskIRQs       #       1       ; &E7/231 Acorn - BBC MOS
OsByte_RW_SerialMaskIRQs        #       1       ; &E8/232 Acorn - BBC MOS
OsByte_RW_SystemVIAMaskIRQs     #       1       ; &E9/233 Acorn - BBC MOS
OsByte_RW_TubePresence          #       1       ; &EA/234 Acorn - BBC MOS
OsByte_RW_SpeechPresence        #       1       ; &EB/235 Acorn - BBC MOS
OsByte_RW_OutputStream          #       1       ; &EC/236 Acorn - BBC MOS
OsByte_RW_CursorEditingState    #       1       ; &ED/237 Acorn - BBC MOS
OsByte_RW_BaseOfNumericKeypad   #       1       ; &EE/238 Acorn - BBC MOS
OsByte_RW_ShadowSetting         #       1       ; &EF/239 Acorn - BBC MOS
OsByte_RW_Country               #       1       ; &F0/240 Acorn - BBC MOS
OsByte_RW_UserFlag              #       1       ; &F1/241 Acorn - BBC MOS
OsByte_RW_CopyOfSerialControl   #       1       ; &F2/242 Acorn - BBC MOS
OsByte_RW_TIMEFlipFlop          #       1       ; &F3/243 Acorn - BBC MOS
OsByte_RW_FKeyInUseFlag         #       1       ; &F4/244 Acorn - BBC MOS
OsByte_RW_PrinterDriver         #       1       ; &F5/245 Acorn - BBC MOS
OsByte_RW_PrinterIgnore         #       1       ; &F6/246 Acorn - BBC MOS
OsByte_RW_JMPOnResetOpCode      #       1       ; &F7/247 Acorn - BBC MOS
OsByte_RW_BreakAction           *       OsByte_RW_JMPOnResetOpCode
OsByte_RW_JMPOnResetLo          #       1       ; &F8/248 Acorn - BBC MOS
OsByte_RW_JMPOnResetHi          #       1       ; &F9/249 Acorn - BBC MOS
OsByte_RW_BankForVDU            #       1       ; &FA/250 Acorn - BBC MOS
OsByte_RW_BankForDisplay        #       1       ; &FB/251 Acorn - BBC MOS
OsByte_RW_ActiveLanguage        #       1       ; &FC/252 Acorn - BBC MOS
OsByte_RW_LastResetType         #       1       ; &FD/253 Acorn - BBC MOS
OsByte_RW_RAMAmount             #       1       ; &FE/254 Acorn - BBC MOS
OsByte_RW_NumericKeypadModifier *       OsByte_RW_RAMAmount
OsByte_RW_StartupOptions        #       1       ; &FF/255 Acorn - BBC MOS
                                ASSERT @ <= &100

        OPT OldOpt

        END
