home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / i / ikhg / h / System < prev   
Encoding:
Text File  |  1989-07-04  |  32.7 KB  |  958 lines

  1.         SUBT    System wide declarations => &.Hdr.System
  2.  
  3. OldOpt  SETA    {OPT}
  4.         OPT     OptNoList+OptNoP1List
  5.  
  6. ; ***********************************
  7. ; ***    C h a n g e   L i s t    ***
  8. ; ***********************************
  9.  
  10. ; Date       Name  Description
  11. ; ----       ----  -----------
  12. ; 29-Sep-87  NReeves Added FileCore SWI chunk
  13. ; 06-Oct-87  APT   Allocated CMOS byte bits to ROMFS
  14. ; 07-Oct-87  NReeves added WinnieSizeCMOS
  15. ; 20-Oct-87  BC    Added 'Event_Econet_Rx' (14), '_Tx' (15), and _OSProc (16)
  16. ; 27-Oct-87  APT   ReadArgs SWI
  17. ; 03-Nov-87  SKS   Added ROMCache Application SWI chunk
  18. ; 04-Nov-87  PMF   Added SmallTalk Applicn SWI chunk
  19. ; 04-Nov-87  APT   ReadRAMFsLimits SWI
  20. ; 12-Nov-87  PMF   Added One extra CMOS byte to termulator (3 now, was 2)
  21. ; 16-Nov-87  APT   Device_Vector claim and release SWIs
  22. ; 03-Dec-87  NDR   Added VersionSWI swi chunk
  23. ; 10-Dec-87  BC    Put in the ProtectionCMOS
  24. ; 16-Dec-87  BC    Added MyoLink swi chunk
  25. ; 16-Dec-87  APT   ExitAndDie SWI added
  26. ; 15-Jan-88  APT   Delink/Relink_Application and HeapSort SWIs added,
  27. ;                  ExitAndDie moved.
  28. ; 15-Jan-88  TMD   Added MouseStepCMOS
  29. ; 21-Jan-88  APT   Memory mapping SWIs added
  30. ; 26-Jan-88  SKS   Added FFTSWI and SoundSamplerSWI chunks
  31. ; 27-Jan-88  BC    Another SWI chunk allocated to Resource
  32. ; 08-Feb-88  SKS   Added FontAidPrintSWI chunk
  33. ; 09-Feb-88  SKS   Added AlliedInteractive SWI chunk,CMOS
  34. ; 11-Feb-88  SKS   Added Euclid3DSWI chunk
  35. ; 17-Feb-88  APT   Added SharedLibrary SWI
  36. ; 22-Feb-88  TMD   Added SystemSpeedCMOS
  37. ; 24-Feb-88  APT   Removed _ from SWI names
  38. ; 24-Feb-88  SKS   Added 256colourhandler SWI chunk
  39. ; 03-Mar-88  NDR   Added WimpModeCMOS (&C4)
  40. ; 07-Mar-88  APT   OS_ReadDefaultHandler
  41. ; 09-Mar-88  SKS   Added CConcepts SWI chunks
  42. ; 09-Mar-88  TMD   Added OS_SetVduVariables
  43. ; 10-Mar-88  TMD   Removed OS_SetVduVariables
  44. ; 11-Mar-88  TMD   Added IIC SWI chunk
  45. ; 12-Mar-88  NDR   Added WimpFlagsCMOS
  46. ; 15-Mar-88  APT   Added Shell SWI chunk
  47. ; 18-Mar-88  APT   Added Intelligent Interfaces SWI chunks
  48. ; 18-Mar-88  NDR   Inserted AddCallBack before ReadDefaultHandler
  49. ; 21-Mar-88  TMD   Added more monitor types
  50. ; 21-Mar-88  TMD   Added SWI OS_SetECFOrigin
  51. ; 23-Mar-88  APT   Moved Intelligent Interfaces SWI chunks
  52. ; 05-Apr-88  APT   Added DrawV
  53. ; 08-Apr-88  SKS   Added HourglassSWI chunk
  54. ; 08-Apr-88  BC    Added EconetV for progress reporting
  55. ; 08-Apr-88  TMD   Added OS_SerialOp
  56. ; 11-Apr-88  SKS   Added AMSFinesseSWI
  57. ; 12-Apr-88  DJS   Added DrawSWI
  58. ; 21-Apr-88  SKS   Added SibeliusSWI
  59. ;  4-May-88  SKS   Added FaxPack SWI
  60. ; 16-May-88  APT   Added OS_ReadSysInfo SWI
  61. ; 18-May-88  APT   Removed pre-1.20 changes.
  62. ; 18-May-88  SKS   Added CED SWI
  63. ; 19-May-88  APT   SWI OS_Confirm
  64. ; 23-May-88  TMD   Added SWI OS_ClipBox
  65. ; 26-May-88  SKS   Added DesktopCMOS byte
  66. ; 31-May-88  TMD   Changed SWI OS_ClipBox to SWI OS_ChangedBox
  67. ; 01-Jun-88  SKS   Added r13_usr, r14_usr
  68. ; 01-Jun-88  NReeves Added ADFSDirCacheCMOS
  69. ; 01-Jun-88  SKS   Added Servo SWI chunk
  70. ; 04-Jun-88  SKS   Added FileSize conversion SWIs, CRC SWI
  71. ; 09-Jun-88  NDR   Added CopyOptionsCMOS,WipeOptionCMOS,CountOptionsCMOS
  72. ; 10-Jun-88  APT   Added colour translation SWI chunk
  73. ; 13-Jun-88  APT   Added TaskModuleSWI
  74. ; 08-Jul-88  NReeves Added RamFS SWI chunk
  75. ; 08-Jul-88  SKS   Added MaxLengthDates
  76. ; 12-Jul-88  SKS   Added HindiWP SWI chunk
  77. ; 19-Jul-88  APT   Added OS_ReadDynamicArea
  78. ; 20-Jul-88  APT   Added more vectors
  79. ; 26-Jul-88  SKS   Added AutoCue SWI chunk
  80. ; 27-Jul-88  SKS   Added UnixBootCMOS
  81. ; 28-Jul-88  TMD   Added SWI OS_PrintChar
  82. ; 29-Jul-88  SKS   Added another bit in DesktopCMOS
  83. ; 01-Aug-88  SKS   Added another two bits in DesktopCMOS
  84. ; 03-Aug-88  SKS   Added UnixFS SWI chunk
  85. ; 17-Aug-88  TMD   Changed comment on MaxLengthDate
  86. ; 30-Aug-88  SKS   Added Realtime Graphics Language SWI chunk
  87. ; 06-Sep-88  SKS   Added Cadsoft SWI chunks
  88. ; 15-Sep-88  SKS   Added DigiTape SWI chunk
  89. ; 19-Sep-88  TMD   Added Resource and Wild Vision SWI chunks
  90. ; 06-Oct-88  TMD   Updated changes list to reflect above!
  91. ; 17-Oct-88  SKS   Checked IEEE488 SWI for II
  92. ; 24-Oct-88  SKS   Added Pluto SWI chunk
  93. ; 25-Oct-88  SKS   Added VEL SWI chunk
  94. ; 31-Oct-88  SKS   Moved II SWIs as someone had typed them wrong when sending
  95. ; 03-Nov-88  SKS   Added BNI SWI chunk
  96. ; 04-Nov-88  SKS   Added BrainSoft SWI chunks
  97. ; 09-Nov-88  SKS   Added WV frame grabber SWI chunk, checked TMDs alloc.
  98. ; 10-Nov-88 NRaine Removed Copy/Count/WipeOptionsCMOS
  99. ; 10-Nov-88 NRaine Added FontMaxCMOS
  100. ; 11-Nov-88  SKS   Checked VDIG SWI + added its name
  101. ; 17-Nov-88 NRaine Added FontMax1/2/3/4/5CMOS
  102. ; 21-Nov-88 NRaine Added FontMax6/7CMOS
  103. ; 21-Nov-88  SKS   Added PlutArchCMOS
  104. ; 01-Dec-88  APT   Added PMF's ABC shared library SWI chunk
  105. ; 05-Dec-88  SKS   Added Aardvark XAsm SWI chunk
  106. ; 07-Dec-88  SKS   Added another BNI SWI chunk
  107. ; 10-Jan-89  BC    Added a SWI chunk for Beebug's ISO C compiler system module
  108. ; 23-Jan-89  BC    Added a SWI chunk for John Ballance Computing's SCSI podule
  109. ; 23-Jan-89  BC    Added a SWI chunk for Simtron's Archway module
  110. ; 23-Jan-89  BC    Separated CMOS RAM allocations into Hdr.CMOS
  111. ; 25-Jan-89 NReeves added SWI chunk for SCSIFS
  112. ; 20-Feb-89  BC    Added a SWI chunk for Si-Plan Electronics Research
  113. ; 20-Feb-89  BC    Added a SWI chunk for Irlam Enterprise Limited
  114. ; 22-Feb-89  JRS   Added an Event number for MIDI
  115. ; 24-Feb-89  BC    Added a SWI chunk for Science frontiers
  116. ; 01-Mar-89  BC    Added a SWI chunk for Paul Fray Limited (ARACHNID)
  117. ; 09-Mar-89  BC    Added a SWI chunk for Mike Harrison, WatfordScannerSWI
  118. ; 13-Mar-89  BC    Added a SWI chunk for Teletext application
  119. ; 17-Mar-89  BC    Added a SWI chunk for Pineapple Software's digitiser
  120. ; 20-Mar-89  BC    Added a SWI chunk for Jamie Smith's MultiFS
  121. ; 29-Mar-89  BC    Added a SWI chunk for Graham Bartram's ACModem
  122. ; 05-Apr-89  BC    Added six SWI chunks for Graham Bartram's ACModem etc.
  123. ; 06-Apr-89  TMD   Corrected name "IO_Podule" to "I/O_Podule"
  124. ; 28-Apr-89  BC    Added a SWI chunk for Software Solutions (FreeStyle)
  125. ; 03-May-89  BC    Added a SWI chunk for X-Ample Technology (Video)
  126. ; 04-May-89  BC    Added a SWI chunk for Solent Computer products (APCLib)
  127. ; 04-May-89  BC    Added a SWI chunk for the SuperSample module
  128. ; 12-May-89  BC    Added a SWI chunk for Haukeland Sykehus
  129. ; 17-May-89  BC    Added five SWI chunks for Wild Vision
  130. ; 05-Jun-89  BC    Added Computer Concepts SuperMonochrome SWI
  131. ; 05-Jun-89  BC    Added Computer Concepts PaintingMessages SWI
  132. ; 09-Jun-89  BC    Added WimpManagerSWI for Software Solutions
  133. ; 13-Jun-89  BC    Changed names of both Acorn's SCSI SWIs to "SCSI"
  134. ; 19-Jun-89  JSR   Added FilerSWI chunk
  135. ; 23-Jun-89  BC    Added CTSRecognitionSWI 40FC0 "Tablet"
  136. ; 23-Jun-89  BC    Added AtomwidePALProgramerSWI 80E80
  137. ; 23-Jun-89  BC    Added AtomwideI2CSWI 80EC0
  138. ; 23-Jun-89  BC    Added SerialPortFDCSWI 41000 "FDC"
  139. ; 30-Jun-89  JS    Added ASimAReviewSWI 80F00
  140. ; 30-Jun-89  JS    Added BeebugScannerSWI 41040
  141. ; 04-Jul-89  RCM   Added SCSILogSWI 41080
  142. ;
  143. ; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  144. ; SWI names are exported in two forms :
  145. ; 1)  with OS_  'OS_DoThingToOtherThing'  as N
  146. ; 2)  with XOS_ 'XOS_DoThingToOtherThing' as N + Auto_Error_SWI_bit
  147.  
  148. Auto_Error_SWI_bit * 1 :SHL: 17
  149.  
  150. SWIClass SETS   "OS"
  151.  
  152.         ^       0                       ; Base for Arthur SWIs
  153.         AddSWI  WriteC                  ; &00
  154.         AddSWI  WriteS                  ; &01
  155.         AddSWI  Write0                  ; &02
  156.         AddSWI  NewLine                 ; &03
  157.         AddSWI  ReadC                   ; &04
  158.         AddSWI  CLI                     ; &05
  159.         AddSWI  Byte                    ; &06
  160.         AddSWI  Word                    ; &07
  161.         AddSWI  File                    ; &08
  162.         AddSWI  Args                    ; &09
  163.         AddSWI  BGet                    ; &0A
  164.         AddSWI  BPut                    ; &0B
  165.         AddSWI  GBPB                    ; &0C
  166.         AddSWI  Find                    ; &0D
  167.         AddSWI  ReadLine                ; &0E
  168.         AddSWI  Control                 ; &0F
  169.         AddSWI  GetEnv                  ; &10
  170.         AddSWI  Exit                    ; &11
  171.         AddSWI  SetEnv                  ; &12
  172.         AddSWI  IntOn                   ; &13
  173.         AddSWI  IntOff                  ; &14
  174.         AddSWI  CallBack                ; &15
  175.         AddSWI  EnterOS                 ; &16
  176.         AddSWI  BreakPt                 ; &17
  177.         AddSWI  BreakCtrl               ; &18
  178.         AddSWI  UnusedSWI               ; &19
  179.         AddSWI  UpdateMEMC              ; &1A
  180.         AddSWI  SetCallBack             ; &1B
  181.         AddSWI  Mouse                   ; &1C
  182.  
  183.         AddSWI  Heap                    ; &1D ; Our new ones start here
  184.         AddSWI  Module                  ; &1E
  185.         AddSWI  Claim                   ; &1F ; PMF's vector handling
  186.         AddSWI  Release                 ; &20 ; routines
  187.         AddSWI  ReadUnsigned            ; &21 ; Read an unsigned number
  188.         AddSWI  GenerateEvent           ; &22
  189.         AddSWI  ReadVarVal              ; &23 ; read variable value & type
  190.         AddSWI  SetVarVal               ; &24 ; set  variable value & type
  191.         AddSWI  GSInit                  ; &25
  192.         AddSWI  GSRead                  ; &26
  193.         AddSWI  GSTrans                 ; &27
  194.         AddSWI  BinaryToDecimal         ; &28
  195.         AddSWI  FSControl               ; &29
  196.         AddSWI  ChangeDynamicArea       ; &2A
  197.         AddSWI  GenerateError           ; &2B
  198.         AddSWI  ReadEscapeState         ; &2C
  199.         AddSWI  EvaluateExpression      ; &2D
  200.         AddSWI  SpriteOp                ; &2E
  201.         AddSWI  ReadPalette             ; &2F ; (was FontManager)
  202.         AddSWI  ServiceCall             ; &30 ; was Claim_Release_FIQ
  203.         AddSWI  ReadVduVariables        ; &31
  204.         AddSWI  ReadPoint               ; &32
  205.         AddSWI  UpCall                  ; &33
  206.         AddSWI  CallAVector             ; &34 ; was ReadCurrentError
  207.         AddSWI  ReadModeVariable        ; &35
  208.         AddSWI  RemoveCursors           ; &36
  209.         AddSWI  RestoreCursors          ; &37
  210.         AddSWI  SWINumberToString       ; &38
  211.         AddSWI  SWINumberFromString     ; &39
  212.         AddSWI  ValidateAddress         ; &3A
  213.         AddSWI  CallAfter               ; &3B
  214.         AddSWI  CallEvery               ; &3C
  215.         AddSWI  RemoveTickerEvent       ; &3D
  216.         AddSWI  InstallKeyHandler       ; &3E
  217.         AddSWI  CheckModeValid          ; &3F
  218.         AddSWI  ChangeEnvironment       ; &40
  219.         AddSWI  ClaimScreenMemory       ; &41
  220.         AddSWI  ReadMonotonicTime       ; &42
  221.         AddSWI  SubstituteArgs          ; &43
  222.         AddSWI  PrettyPrint             ; &44
  223.         AddSWI  Plot                    ; &45
  224.         AddSWI  WriteN                  ; &46
  225.         AddSWI  AddToVector             ; &47
  226.         AddSWI  WriteEnv                ; &48
  227.         AddSWI  ReadArgs                ; &49
  228.         AddSWI  ReadRAMFsLimits         ; &4A
  229.         AddSWI  ClaimDeviceVector       ; &4B
  230.         AddSWI  ReleaseDeviceVector     ; &4C
  231.         AddSWI  DelinkApplication       ; &4D
  232.         AddSWI  RelinkApplication       ; &4E
  233.         AddSWI  HeapSort                ; &4F
  234.         AddSWI  ExitAndDie              ; &50
  235.         AddSWI  ReadMemMapInfo          ; &51
  236.         AddSWI  ReadMemMapEntries       ; &52
  237.         AddSWI  SetMemMapEntries        ; &53
  238.         AddSWI  AddCallBack             ; &54
  239.         AddSWI  ReadDefaultHandler      ; &55
  240.         AddSWI  SetECFOrigin            ; &56
  241.         AddSWI  SerialOp                ; &57
  242.         AddSWI  ReadSysInfo             ; &58
  243.         AddSWI  Confirm                 ; &59
  244.         AddSWI  ChangedBox              ; &5A
  245.         AddSWI  CRC                     ; &5B
  246.         AddSWI  ReadDynamicArea         ; &5C
  247.         AddSWI  PrintChar               ; &5D
  248.  
  249.  ASSERT @ <= &C0
  250.  
  251.         ^       &C0
  252.         AddSWI  ConvertStandardDateAndTime ; &C0
  253.         AddSWI  ConvertDateAndTime         ; &C1
  254.  
  255.         ^       &D0
  256.         AddSWI  ConvertHex1             ; &D0
  257.         AddSWI  ConvertHex2             ; &D1
  258.         AddSWI  ConvertHex4             ; &D2
  259.         AddSWI  ConvertHex6             ; &D3
  260.         AddSWI  ConvertHex8             ; &D4
  261.         AddSWI  ConvertCardinal1        ; &D5
  262.         AddSWI  ConvertCardinal2        ; &D6
  263.         AddSWI  ConvertCardinal3        ; &D7
  264.         AddSWI  ConvertCardinal4        ; &D8
  265.         AddSWI  ConvertInteger1         ; &D9
  266.         AddSWI  ConvertInteger2         ; &DA
  267.         AddSWI  ConvertInteger3         ; &DB
  268.         AddSWI  ConvertInteger4         ; &DC
  269.         AddSWI  ConvertBinary1          ; &DD
  270.         AddSWI  ConvertBinary2          ; &DE
  271.         AddSWI  ConvertBinary3          ; &DF
  272.         AddSWI  ConvertBinary4          ; &E0
  273.         AddSWI  ConvertSpacedCardinal1  ; &E1
  274.         AddSWI  ConvertSpacedCardinal2  ; &E2
  275.         AddSWI  ConvertSpacedCardinal3  ; &E3
  276.         AddSWI  ConvertSpacedCardinal4  ; &E4
  277.         AddSWI  ConvertSpacedInteger1   ; &E5
  278.         AddSWI  ConvertSpacedInteger2   ; &E6
  279.         AddSWI  ConvertSpacedInteger3   ; &E7
  280.         AddSWI  ConvertSpacedInteger4   ; &E8
  281.         AddSWI  ConvertFixedNetStation  ; &E9
  282.         AddSWI  ConvertNetStation       ; &EA
  283.         AddSWI  ConvertFixedFileSize    ; &EB
  284.         AddSWI  ConvertFileSize         ; &EC
  285.  ASSERT @ <= &100
  286.  
  287.         AddSWI  WriteI,         &100
  288.  
  289.         AddSWI  UserSWI,        &200
  290.  
  291.  
  292. ; Aliases for certain SWIs - please avoid using them
  293.  
  294. OS_Multiple     * OS_GBPB
  295. XOS_Multiple    * XOS_GBPB
  296.  
  297. OS_Open         * OS_Find
  298. XOS_Open        * XOS_Find
  299.  
  300.  
  301.  
  302. ; Allocation of Operating System SWI Chunks
  303.  
  304.                 ^       3
  305. StringConvSWI   #       1
  306.  
  307.                 ^       8       ; OS chunk allocation starts at &200
  308. FileSwitchSWI   #       1       ; &200
  309. IICSWI          #       1       ; &240
  310. ; "IIC"
  311.  
  312.  
  313. ; Allocation of System extension SWI chunks (&40000..&5FFFF) and their names
  314.  
  315.                 ^       0
  316. EconetSWI       #       1       ; 0 &40000
  317. ; "Econet"
  318. NetFSSWI        #       1       ; 1  40040
  319. ; "NetFS"
  320. FontSWI         #       1       ; 2  40080
  321. ; "Font"
  322. WimpSWI         #       1       ; 3  400C0
  323. ; "Wimp"
  324. TubeSWI         #       1       ; 4  40100
  325. ; ???
  326. Sound0SWI       #       1       ; 5  40140
  327. ; "Sound"
  328. Sound1SWI       #       1       ; 6  40180
  329. ; "Sound"
  330. Sound2SWI       #       1       ; 7  401C0
  331. ; "Sound"
  332. NetPrintSWI     #       1       ; 8  40200
  333. ; "NetPrint"
  334. ADFSSWI         #       1       ; 9  40240
  335. ; "ADFS"
  336. PoduleSWI       #       1       ; 10 40280
  337. ; "Podule"
  338. ARMPCSWI        #       1       ; 11 402C0
  339. ; ???
  340. WaveTableSWI    #       1       ; 12 40300
  341. ; "WaveSynth"
  342. IntelligentInterfaceIEEESWI # 1 ; 13 40340 ; checked 17/10/88 SKS
  343. ; "IEEE488"
  344. DebuggerSWI     #       1       ; 14 40380
  345. ; "Debugger"
  346. SCSIDriverSWI   #       1       ; 15 403C0 ; Dave Fell
  347.  ; "SCSI"
  348. ; I think Debugger also uses this one !
  349. ; ???
  350. VFSSWI          #       1       ; 16 40400
  351. ; ???
  352. VideoCommandSWI #       1       ; 17 40440
  353. ; ???
  354. FPEmulatorSWI   #       1       ; 18 40480
  355. ; "FPEmulator"
  356. MIDISWI         #       1       ; 19 404C0
  357. ; "MIDI"
  358. IO_PoduleSWI    #       1       ; 20 40500
  359. ; "I/O_Podule"
  360. FileCoreSWI     #       1       ; 21 40540
  361. ; "FileCore"
  362. VersionSWI      #       1       ; 22 40580
  363. ; "Version"
  364. ShellSWI        #       1       ; 23 405C0
  365. ; "Shell"
  366. wasIntellInterf16BitPIOSWI # 1  ; 24 40600
  367. ; ---
  368. wasIntellInterf12BitADCSWI # 1  ; 25 40640
  369. ; ---
  370. wasIntellInterfRS423SWI    # 1  ; 26 40680
  371. ; ---
  372. HourglassSWI            # 1     ; 27 406C0 IJack
  373. ; "Hourglass"
  374. DrawSWI                 # 1     ; 28 40700 DSeal
  375. ; "Draw"
  376. ColourTransSWI          # 1     ; 29 40740 AThompson
  377. ; "ColourTrans"
  378. RamFSSWI                # 1     ; 30 40780 NReeves
  379. ; "RamFS"
  380. UnixFSSWI               # 1     ; 31 407C0 JSmith
  381. ; "UnixFS"
  382. DigiTapeSWI             # 1     ; 32 40800
  383. ; "DigiTape"
  384. PlutoSWI                # 1     ; 33 40840 Lendac Data Systems
  385. ; "Pluto"
  386. VELGraphicsSWI          # 1     ; 34 40880 Video Electronics Ltd.
  387. ; "VELGraph"
  388. BrainSoftSerParPodSWI   # 1     ; 35 408C0 BrainSoft
  389. ; "BrainSerPar"
  390. JBComputingSCSISWI      # 1     ; 36 40900 John Ballance Computing
  391. ; "JBCSCSI"
  392. DigitalServicesTapeSWI  # 1     ; 37 40940 Digital Services
  393. ; "DigiTape"
  394. ScsiFsSWI               # 1     ; 38 40980 NReeves
  395. ; "SCSI"
  396. SiPlanADCSWI            # 1     ; 39 409C0 Si-Plan Electronics Research
  397. ; "SiPlanADC"
  398. SPRScanSWI              # 1     ; 40 40A00 Irlam Enterprise Ltd.
  399. ; "SPRScan"
  400. DualUserPortSWI         # 1     ; 41 40A40 Science Frontiers
  401. ; "DualUserPort"
  402. ArachnidSWI             # 1     ; 42 40A80 Paul Fray Limited
  403. ; "Arachnid"
  404. WatfordScannerSWI       # 1     ; 43 40AC0 Mike Harrison
  405. ; "Scan"
  406. PineappleColorDigitiser # 1     ; 44 40B00 Pineapple Software
  407. ; "Digitiser"
  408. SmithBoysMultiFSSWI     # 1     ; 45 40B40 Jamie Smith
  409. ; "MultiFS"
  410. ACModemDriverSWI        # 1     ; 46 40B80 Graham Bartram (BBC)
  411. ; "ACModem"
  412. ACModemCoreSWI          # 1     ; 47 40BC0 Graham Bartram (BBC)
  413. ; "ACCore"
  414. ACModemLinkSWI          # 1     ; 48 40C00 Graham Bartram (BBC)
  415. ; "ACLink"
  416. ACModemKeySWI           # 1     ; 49 40C40 Graham Bartram (BBC)
  417. ; "ACKey"
  418. ACModemACCEPTSWI        # 1     ; 50 40C80 Graham Bartram (BBC)
  419. ; "ACCEPT"
  420. ACModemScrollSWI        # 1     ; 51 40CC0 Graham Bartram (BBC)
  421. ; "ACScroll"
  422. BBCWimpSystemSWI        # 1     ; 52 40D00 Graham Bartram (BBC)
  423. ; "BBCWimp"
  424. XAmpleTechnologySWI     # 1     ; 53 40D40 X-Ample Technology
  425. ; "Video"
  426. SuperSamplerSWI         # 1     ; 54 40D80 Part of the new font system
  427. ; "Super"
  428. HaukelandSykehusSWI     # 1     ; 55 40DC0 Norweegen, Uni. a/d d/a etc.
  429. ; ""
  430. WildVisionADCSWI        # 1     ; 56 40E00 ADC Utils module
  431. ; "WVADC"
  432. WildVisionDIOSWI        # 1     ; 57 40E40 Digital I/O card
  433. ; "WVDIO"
  434. WildVisionDACSWI        # 1     ; 58 40E80 DAC Utils module
  435. ; "WVDAC"
  436. WildVisionCGraberSWI    # 1     ; 59 40EC0 Colour Frame Grabber
  437. ; "WVCGrab"
  438. WildVisionAudioSWI      # 1     ; 60 40F00 Sound sampler driver
  439. ; "WVAudio"
  440. CCSuperMonochromeSWI    # 1     ; 61 40F40 Computer Concepts
  441. ; "SuperMonochrome"
  442. FilerSWI                # 1     ; 62 40F80 Filer Action window etc.
  443. ; ""
  444. CTSRecognitionSWI       # 1     ; 63 40FC0 Graphics tablet
  445. ; "Tablet"
  446. SerialPortFDCSWI        # 1     ; 64 41000 Disc copier / FDC
  447. ; "FDC"
  448. BeebugScannerSWI        # 1     ; 65 41040
  449. ; "BeebugScanner"
  450. SCSILogSWI              # 1     ; 66 41080 RCManby
  451. ; "SCSI"
  452. ; Add new ones here
  453. ;
  454.  
  455. ; These ones are multiplied by 64 (oops...)
  456.              ASSERT     @ < 536
  457.                         ^ &08600
  458. II16BitPIOSWI           # 1     ; 536 48600 Intelligent Interfaces
  459. ; "II16BitPIO"
  460. II12BitADCSWI           # 1     ; 537 48640 Intelligent Interfaces
  461. ; "II12BitADC"
  462. IIRS423SWI              # 1     ; 538 48680 Intelligent Interfaces
  463. ; "IIRS423"
  464.  
  465.  ASSERT @ < 1 :SHL: 17
  466.  
  467. ; Allocation of Application SWI chunks (&80000..&9FFFF) and their names
  468.  
  469.                         ^       0
  470. MailSWI                 #       1       ; 0     80000
  471. ; ???
  472. NetMonitorSWI           #       1       ; 1     80040
  473. ; "NetMonitor"
  474. ComputerConceptsSWI     #       1       ; 2     80080
  475. ; ???
  476. MinervaSystemDeltaSWI   #       1       ; 3     800C0
  477. ; ???
  478. ResourceNH01SWI         #       1       ; 4     80100
  479. ; "VIP"
  480. PrintSWI                #       1       ; 5     80140
  481. ; ???
  482. EdinburghSWProductsSWI  #       1       ; 6     80180
  483. ; ???
  484. ClaresSWI1              #       1       ; 7     801C0
  485. ; ???
  486. ClaresSWI2              #       1       ; 8     80200
  487. ; ???
  488. ClaresSWI3              #       1       ; 9     80240
  489. ; ???
  490. ClaresSWI4              #       1       ; 10    80280
  491. ; ???
  492. FrameGrabberSWI         #       1       ; 11    802C0 Watford (Mike Harrison)
  493. ; "Vdig"
  494. MinervaRAMmanager       #       1       ; 12    80300
  495. ; ???
  496. MinervaSystemGamma      #       1       ; 13    80340
  497. ; ???
  498. MinervaSystemSigma      #       1       ; 14    80380
  499. ; ???
  500. MinervaInternalUtils    #       1       ; 15    803C0
  501. ; ???
  502. PCEmulationSWI          #       1       ; 16    80400
  503. ; ???
  504. ROMCacheSWI             #       1       ; 17    80440
  505. ; "ROMCache"
  506. SmallTalkSWI            #       1       ; 18    80480
  507. ; ???
  508. MyoLinkSWI              #       1       ; 19    804C0 - L van Someren
  509. ; ???
  510. SoundSamplerSWI         #       1       ; 20    80500 - DFell
  511. ; "Sampler"
  512. FFTSWI                  #       1       ; 21    80540 - DFell
  513. ; ???
  514. ResourceNH02SWI         #       1       ; 22    80580
  515. ; "VIPF"
  516. FontAidPrintSWI         #       1       ; 23    805C0 - CJE Micros
  517. ; "FontAid"
  518. AlliedInteractiveSWI    #       1       ; 24    80600
  519. ; "AIIV"
  520. Euclid3DSWI             #       1       ; 25    80640 - Ace Computing
  521. ; "Euclid"
  522. CSharedLibrarySWI       #       1       ; 26    80680 - PLG use
  523. ; "SharedLibrary"
  524. Minerva256ColourHandlerSWI #    1       ; 27    806C0 - Minerva
  525. ; "Colours"
  526. CCWordProcSWI           #       1       ; 28    80700 - Computer Concepts
  527. ; "CCWord"
  528. CCDrawProgSWI           #       1       ; 29    80740 - Computer Concepts
  529. ; "CCDraw"
  530. FinesseSWI              #       1       ; 30    80780 - AMS
  531. ; "Finesse"
  532. SibeliusSWI             #       1       ; 31    807C0
  533. ; "Sibelius"
  534. FaxPackSWI              #       1       ; 32    80800
  535. ; "FAXPack"
  536. CEDSWI                  #       1       ; 33    80840 - Cambridge Elec. Design
  537. ; "CED"
  538. ServoSWI                #       1       ; 34    80880 - Jansons
  539. ; "Servo"
  540. TaskModuleSWI           #       1       ; 35    808C0
  541. ; "TaskModule" - just for message numbers really!
  542. HindiWordProcSWI        #       1       ; 36    80900 - Southall ITEC
  543. ; "HindiWP"
  544. AutoCueSWI              #       1       ; 37    80940 - Capricorn Consultants
  545. ; "AutoCue"
  546. RealTimeGLSWI           #       1       ; 38    80980 - Silicon Vision Ltd.
  547. ; "RTGL"
  548. CadsoftSWI1             #       1       ; 39    809C0 - Cadsoft
  549. ; "CAD"
  550. CadsoftSWI2             #       1       ; 40    80A00 - Cadsoft
  551. ; "CAD"
  552. ResourceNH03SWI         #       1       ; 41    80A40 - Resource
  553. ; "Playback"
  554. WVAToDAndDToASWI        #       1       ; 42    80A80 - Wild Vision
  555. ; "WVAIO"
  556. BNISWI                  #       1       ; 43    80AC0 - Burden Neurological Inst.
  557. ; "BNIProg"
  558. BrainSoftUtilSWI        #       1       ; 44    80B00 - BrainSoft
  559. ; "BrainUtil"
  560. WVFrameGrabberSWI       #       1       ; 45    80B40 - Wild Vision
  561. ; "WVFGRAB"
  562. ABCSharedLibSWI         #       1       ; 46    80B80 - Paul Fellows
  563. ; "ABCLib"
  564. BASICXAsmSWI            #       1       ; 47    80BC0 - Aardvark Software
  565. ; "AardXAsm"
  566. BNI2SWI                 #       1       ; 48    80C00 - Burden Neurological Inst.
  567. ; "BNILab"
  568. MinBinarySWI            #       1       ; 49    80C40 - Minerva
  569. ; "MinBinary"
  570. MinAssemblerSWI         #       1       ; 50    80C80 - Minerva
  571. ; "MinAssembler"
  572. BeebugISOCSWI           #       1       ; 51    80CC0 - Beebug's ISO C module
  573. ; "BeebugISOC"
  574. ArchwaySWI              #       1       ; 52    80D00 - Simtron's Archway
  575. ; "Archway"
  576. TeleTextSWI             #       1       ; 53    80D40 - Acorn's Teletext jobbie
  577. ; "Teletext"
  578. FreeStyleSWI            #       1       ; 54    80D80 - Software Solutions
  579. ; "FreeStyle"
  580. APCSharedLibSWI         #       1       ; 55    80DC0 - Paul Fellows
  581. ; "APCLib"
  582. CCPaintingMessagesSWI   #       1       ; 56    80E00 - Computer Concepts
  583. ; ""
  584. WimpManagerSWI          #       1       ; 57    80E40 - Software Solutions
  585. ; "WimpManager"
  586. AtomwidePALProgramerSWI #       1       ; 58    80E80 - Atomwide Limited
  587. ; ""
  588. AtomwideI2CSWI          #       1       ; 59    80EC0 - Atomwide Limited
  589. ; ""
  590. ASimAReviewSWI          #       1       ; 60    80F00 - James Sutton (messages)
  591. ; ""
  592. ;
  593.  
  594.  ASSERT @ < 1 :SHL: 17
  595.  
  596. ; User SWI chunks ... don't go here obviously !
  597.  
  598. ; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  599. ; Register names
  600.  
  601. r0      RN      0
  602. r1      RN      1
  603. r2      RN      2
  604. r3      RN      3
  605. r4      RN      4
  606. r5      RN      5
  607. r6      RN      6
  608. r7      RN      7
  609. r8      RN      8
  610. r9      RN      9
  611. r10     RN      10
  612. r11     RN      11
  613. r12     RN      12
  614. r13     RN      13
  615. r14     RN      14
  616. r15     RN      15
  617.  
  618. r13_usr RN      13
  619. r14_usr RN      14
  620.  
  621. r10_fiq RN      10
  622. r11_fiq RN      11
  623. r12_fiq RN      12
  624. r13_fiq RN      13
  625. r14_fiq RN      14
  626.  
  627. r13_irq RN      13
  628. r14_irq RN      14
  629.  
  630. r13_svc RN      13
  631. r14_svc RN      14
  632.  
  633. wp      RN      r12
  634.  
  635. sp      RN      r13
  636. ; No defined sp_usr or sp_fiq - application and FIQ owner dependent
  637. sp_irq  RN      r13_irq
  638. sp_svc  RN      r13_svc
  639. stack   RN      r13
  640.  
  641. lr      RN      r14
  642. lr_usr  RN      r14_usr
  643. lr_fiq  RN      r14_fiq
  644. lr_irq  RN      r14_irq
  645. lr_svc  RN      r14_svc
  646. link    RN      r14
  647.  
  648. pc      RN      r15
  649. psr     RN      r15
  650.  
  651.  
  652. R0      RN      0
  653. R1      RN      1
  654. R2      RN      2
  655. R3      RN      3
  656. R4      RN      4
  657. R5      RN      5
  658. R6      RN      6
  659. R7      RN      7
  660. R8      RN      8
  661. R9      RN      9
  662. R10     RN      10
  663. R11     RN      11
  664. R12     RN      12
  665. R13     RN      13
  666. R14     RN      14
  667. R15     RN      15
  668.  
  669. WP      RN      12
  670. SP      RN      13
  671. STACK   RN      13
  672. LR      RN      14
  673. LINK    RN      14
  674. PC      RN      15
  675. PSR     RN      15
  676.  
  677. Error   RN      0
  678. WsPtr   RN      12
  679. Stack   RN      13
  680.  
  681. ; Supervisor state registers - taken from Brazil -.005 source
  682.  
  683. SPSVC   RN      13
  684. TUBER   RN      12
  685. SVCWK0  RN      11
  686. SVCWK1  RN      10
  687.  
  688. ; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  689. ; Vector numbers
  690.  
  691. UserV   * &00
  692. ErrorV  * &01
  693. IrqV    * &02
  694. WrchV   * &03
  695. RdchV   * &04   ; --\
  696. CliV    * &05   ;   |
  697. ByteV   * &06   ;   |
  698. WordV   * &07   ;   |
  699. FileV   * &08   ;   |
  700. ArgsV   * &09   ;   } These numbers correspond to the SWI numbers
  701. BGetV   * &0A   ;   |
  702. BPutV   * &0B   ;   |
  703. GBPBV   * &0C   ;   |
  704. FindV   * &0D   ;   |
  705. ReadLineV * &0E ; --/
  706. FSCV    * &0F
  707. EventV  * &10
  708. UPTV    * &11
  709. NETV    * &12
  710. KEYV    * &13
  711. INSV    * &14
  712. REMV    * &15
  713. CNPV    * &16   ; Count/Purge Buffer V
  714. UKVDU23V * &17  ; VDU23 (decimal)
  715. UKSWIV  * &18   ; Unknown SWI numbers
  716. UKPLOTV * &19   ; VDU25 (decimal)
  717. MouseV  * &1A   ; The mouse SWI vectors along here
  718. VDUXV   * &1B   ; The MOS calls this vector instead of the VDU if bit 5 of
  719.                 ; wrch destination set
  720. TickerV * &1C   ; 100Hz pacemaker
  721. UpCallV * &1D   ; The 'can you deal with this before I go bang' vector.
  722. ChangeEnvironmentV * &1E
  723.                 ; vectors along here when changing any handlers, so
  724.                 ; debuggers etc can stop it getting through.
  725. SpriteV * &1F   ; called by SWI SpriteOp
  726. DrawV   * &20   ; polygon fill vector for printers
  727. EconetV * &21   ; Vector for NetFS/Econet progress reporting
  728. ColourV * &22   ; for the ColourTrans module
  729. PaletteV * &23  ; palette changed indication
  730.  
  731. SpareVectorC * &24
  732. SpareVectorB * &25
  733. SpareVectorA * &26
  734. SpareVector9 * &27
  735. SpareVector8 * &28
  736. SpareVector7 * &29
  737. SpareVector6 * &2A
  738. SpareVector5 * &2B
  739. SpareVector4 * &2C
  740. SpareVector3 * &2D
  741. SpareVector2 * &2E
  742. SpareVector1 * &2F
  743.  
  744. NVECTORS * &30 ; There are this many vectors, 0..NVECTORS-1
  745.  
  746. ; Aliases for vectors - please avoid using them
  747.  
  748. OpenV   * FindV
  749. GbPbV   * GBPBV
  750.  
  751. ; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  752. ; ARM processor related things
  753.  
  754. N_bit   *       1 :SHL: 31              ; Processor condition flags
  755. Z_bit   *       1 :SHL: 30
  756. C_bit   *       1 :SHL: 29
  757. V_bit   *       1 :SHL: 28
  758. I_bit   *       1 :SHL: 27
  759. F_bit   *       1 :SHL: 26
  760.  
  761. USR_mode *      2_00                    ; Processor mode bits
  762. FIQ_mode *      2_01
  763. IRQ_mode *      2_10
  764. SVC_mode *      2_11
  765.  
  766. ARM_CC_Mask *   &FC000003               ; Processor condition flags + mode bits
  767.  
  768. ; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  769. ; Useful places to hit in A500
  770.  
  771. PhysRam *       &02000000
  772.  
  773. IOC     *       &03200000
  774. VIDC    *       &03400000
  775. LAG     *       &03600000
  776. CAM     *       &03800000
  777.  
  778. FloppyController    * &03310000 ; Fast, Bank 1
  779. EconetController    * &033A0000 ; Sync, Bank 2
  780. SerialController    * &033B0000 ; Sync, Bank 3
  781. PrinterData         * &03350010 ; Fast, Bank 5
  782. LatchB              * &03350018 ; Fast, Bank 5
  783. LatchA              * &03600000 ; Fast, Bank 6
  784.  
  785. ; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  786. ; IOC register offsets
  787.  
  788. IOCControl * &00        ; Control register
  789.  
  790. IOCSERTX   * &04        ; Serial TX
  791. IOCSERRX   * &04        ;        RX
  792.  
  793. IOCIRQSTAA * &10        ; IRQ A Status
  794. IOCIRQREQA * &14        ;       Requesting
  795. IOCIRQCLRA * &14        ;       Clear
  796. IOCIRQMSKA * &18        ;       Mask
  797.  
  798. IOCIRQSTAB * &20        ; IRQ B Status
  799. IOCIRQREQB * &24        ;       Requesting
  800. IOCIRQCLRB * &24        ;       Clear
  801. IOCIRQMSKB * &28        ;       Mask
  802.  
  803. IOCFIQSTA  * &30        ; FIQ   Status
  804. IOCFIQREQ  * &34        ;       Requesting
  805. IOCFIQMSK  * &38        ;       Mask
  806.  
  807. Timer0LL   * &40        ; Timer 0 Write low input latch
  808. Timer0LH   * &44        ;         Write high input latch
  809. Timer0GO   * &48        ;         Load count from input latch
  810. Timer0CL   * &40        ;         Read low output latch
  811. Timer0CH   * &44        ;         Read high output latch
  812. Timer0LR   * &4C        ;         Load output latch from count
  813.  
  814. Timer1LL   * &50        ; Timer 1 Write low input latch
  815. Timer1LH   * &54        ;         Write high input latch
  816. Timer1GO   * &58        ;         Load count from input latch
  817. Timer1CL   * &50        ;         Read low output latch
  818. Timer1CH   * &54        ;         Read high output latch
  819. Timer1LR   * &5C        ;         Load output latch from count
  820.  
  821. Timer2LL   * &60        ; Timer 2 Write low input latch
  822. Timer2LH   * &64        ;         Write high input latch
  823. Timer2GO   * &68        ;         Load count from input latch
  824. Timer2CL   * &60        ;         Read low output latch
  825. Timer2CH   * &64        ;         Read high output latch
  826. Timer2LR   * &6C        ;         Load output latch from count
  827.  
  828. Timer3LL   * &70        ; Timer 3 Write low input latch
  829. Timer3LH   * &74        ;         Write high input latch
  830. Timer3GO   * &78        ;         Load count from input latch
  831. Timer3CL   * &70        ;         Read low output latch
  832. Timer3CH   * &74        ;         Read high output latch
  833. Timer3LR   * &7C        ;         Load output latch from count
  834.  
  835.  
  836. ; Control register bits (A500 specific)
  837.  
  838. vsync_state_bit  * 1 :SHL: 7    ; ReadOnly
  839. pack_state_bit   * 1 :SHL: 6    ; ReadOnly
  840. sound_mute_bit   * 1 :SHL: 5    ; Read/Write
  841. disc_changed_bit * 1 :SHL: 4    ; ???
  842. rtc_seconds_bit  * 1 :SHL: 3    ; ReadOnly - not on A1
  843. rtc_minutes_bit  * 1 :SHL: 2    ; ReadOnly - not on A1
  844. i2c_clock_bit    * 1 :SHL: 1    ; Read/Write
  845. i2c_data_bit     * 1 :SHL: 0    ; Read/Write
  846.  
  847. ; IRQ register A bits (A500 specific)
  848.  
  849. force_bit  * 1 :SHL: 7  ; Force Interrupt       (FIQ owned)
  850. timer1_bit * 1 :SHL: 6  ; Timer 1 crossing zero (event)
  851. timer0_bit * 1 :SHL: 5  ; Timer 0 crossing zero (event)
  852. por_bit    * 1 :SHL: 4  ; Power on RESET flag   (event)
  853. vsync_bit  * 1 :SHL: 3  ; VFLYBK starting       (event)  IR
  854. pack_bit   * 1 :SHL: 2  ; Printer acknowlege    (event) ~IF
  855. ring_bit   * 1 :SHL: 1  ; Ringing indication    (level)
  856. pbusy_bit  * 1 :SHL: 0  ; Printer busy          (level)
  857.  
  858.  
  859. ; IRQ register B bits (A500 specific)
  860.  
  861. serial_Rx_bit   * 1 :SHL: 7  ; Keyboard recieve full
  862. serial_Tx_bit   * 1 :SHL: 6  ; Keyboard transmit empty
  863. podule_IRQ_bit  * 1 :SHL: 5  ; Podule IRQ request
  864. winnie_DRQ_bit  * 1 :SHL: 4  ; Winchester data request
  865. winnie_IRQ_bit  * 1 :SHL: 3  ; Winchester IRQ request
  866. serial_bit      * 1 :SHL: 2  ; 6551 IRQ request
  867. sound_IRQ_bit   * 1 :SHL: 1  ; Sound buffer reload request
  868. podule_FIQ_as_IRQ_bit * 1 :SHL: 0 ; Podule FIQ causing IRQ
  869.  
  870.  
  871. ; FIQ register bits (A500 specific)
  872.  
  873. podule_FIQ_bit  * 1 :SHL: 6  ; Podule FIQ request
  874.  
  875.  
  876. ; Bits in LatchB register
  877.  
  878. pstrobe_bit     * 1 :SHL: 4  ; Printer strobe
  879.  
  880. ; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  881. ; Buffer indices
  882.  
  883. Buff_Key        * 0
  884. Buff_RS423In    * 1
  885. Buff_RS423Out   * 2
  886. Buff_Print      * 3
  887. Buff_Sound0     * 4
  888. Buff_Sound1     * 5
  889. Buff_Sound2     * 6
  890. Buff_Sound3     * 7
  891. Buff_Speech     * 8
  892. Buff_Mouse      * 9
  893.  
  894. ; Event numbers. 0..31 available
  895.  
  896. Event_OutputEmpty       * 0
  897. Event_InputFull         * 1
  898. Event_CharInput         * 2
  899. Event_ADCConvert        * 3
  900. Event_VSync             * 4
  901. Event_IntervalTimer     * 5
  902. Event_Escape            * 6
  903. Event_RS423Error        * 7
  904. Event_Econet_UserRPC    * 8
  905. Event_User              * 9
  906. Event_Mouse             * 10
  907. Event_Keyboard          * 11
  908. Event_Sound             * 12
  909. Event_PCEmulator        * 13    ; reserved for MS-NET by TMD 26/8/87
  910. Event_Econet_Rx         * 14
  911. Event_Econet_Tx         * 15
  912. Event_Econet_OSProc     * 16    ; This is where Notify, View etc. happen
  913. Event_MIDI              * 17    ; to notify of MIDI data being received
  914.  
  915. ; Keyboard status bits
  916.  
  917. KBStat_PendingAlt       * &01
  918. KBStat_ScrollLock       * &02
  919. KBStat_NoNumLock        * &04
  920. KBStat_ShiftEngaged     * &08
  921. KBStat_NoCapsLock       * &10
  922. KBStat_NoShiftLock      * &20
  923. KBStat_CtrlEngaged      * &40
  924. KBStat_ShiftEnable      * &80
  925.  
  926. KBStat_NoCapsLockBitNo  * 4
  927.  
  928. MainVars * &A6
  929.  
  930. ; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  931.  
  932. MosVer   * 6            ; nice non-zero value
  933.  
  934.         GBLS MosTitle
  935. MosTitle SETS "Tim's Arthur Operating System 0.00"
  936. ; If assembling arthur, there are better strings to use!!
  937.  
  938. NIL     * &80000000 ; An interesting value
  939.  
  940.  
  941. MaxLengthDateLo *       &33EA0000       ; Wednesday, 28th September 1988
  942. MaxLengthDateHi *       &00000041       ; 11:34:36.80 am
  943.  
  944. ; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  945. ; And a handy variable or three
  946.  
  947.         GBLL    True
  948. True    SETL    {TRUE}
  949.  
  950.         GBLL    False
  951. False   SETL    {FALSE}
  952.  
  953.                  GBLL AssemblingArthur
  954. AssemblingArthur SETL False
  955.  
  956.         OPT     OldOpt
  957.         END
  958.