ASSEMBLER DEFINITIONS

MACRO RTS,
   PC R14 MOV,
END-MACRO

MACRO RTSV,
   SP ! { PC } STMFD,
   PC R14 MOV,
END-MACRO

MACRO LEAVEV,
   SP ! { PC } STMFD,
   LEAVE,
END-MACRO

MACRO FLAGS,
   SP ! { PC } STMFD,
END-MACRO

MACRO POP10,
   R1 POP,
   R0 POP,
END-MACRO

CODE POP210,
   R2 POP,
   R1 POP,
   R0 POP,
   RTS,
END-CODE

CODE POP3210,
   R3 POP,
   R2 POP,
   R1 POP,
   R0 POP,
   RTS,
END-CODE

CODE POP43210,
   R4 POP,
   R3 POP,
   R2 POP,
   R1 POP,
   R0 POP,
   RTS,
END-CODE

CODE POP543210,
   R5 POP,
   R4 POP,
   R3 POP,
   R2 POP,
   R1 POP,
   R0 POP,
   RTS,
END-CODE

CODE POP6543210,
   R6 POP,
   R5 POP,
   R4 POP,
   R3 POP,
   R2 POP,
   R1 POP,
   R0 POP,
   RTS,
END-CODE

CODE POP76543210,
   R7 POP,
   R6 POP,
   R5 POP,
   R4 POP,
   R3 POP,
   R2 POP,
   R1 POP,
   R0 POP,
   RTS,
END-CODE

CODE POP54321,
   R5 POP,
   R4 POP,
   R3 POP,
   R2 POP,
   R1 POP,
   RTS,
END-CODE

CODE POP4321,
   R4 POP,
   R3 POP,
   R2 POP,
   R1 POP,
   RTS,
END-CODE

CODE POP321,
   R3 POP,
   R2 POP,
   R1 POP,
   RTS,
END-CODE

FORTH DEFINITIONS
VOCABULARY OS IMMEDIATE
OS DEFINITIONS HEX

CODE XWriteC
   R0 POP,
   0 X SWI,
   RTSV,
END-CODE

CODE XWrite0
   R0 POP,
   2 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XNewLine
   3 X SWI,
   RTSV,
END-CODE

CODE XReadC
   4 X SWI,
   R1 1 # CS MOV,
   R1 0 # CC MOV,
   R0 PUSH,
   R1 PUSH,
   RTSV,
END-CODE

CODE XCLI
   R0 POP,
   5 X SWI,
   RTSV,
END-CODE

CODE XFile
   R6 R7 POP, ( OUTPUT BUF, INPUT BUF )
   R7 { R0 R1 R2 R3 R4 R5 } LDMFD,
   8 X SWI,
   R6 { R0 R1 R2 R3 R4 R5 } STMEA,
   R6 PUSH,
   RTSV,
END-CODE

CODE XArgs
   R3 R4 POP, ( OUTPUT BUF, INPUT BUF )
   R4 { R0 R1 R2 } LDMFD,
   9 X SWI,
   R3 { R0 R1 R2 } STMEA,
   R3 PUSH,
   RTSV,
END-CODE

CODE XBGet
   R1 POP,
   0A X SWI,
   R1 1 # CS MOV,
   R1 0 # CC MOV,
   R0 PUSH,
   R1 PUSH,
   RTSV,
END-CODE

CODE XBPut
   POP10,
   0B X SWI,
   RTSV,
END-CODE

CODE XGBPB
   R7 R8 POP, ( OUTPUT BUF, INPUT BUF )
   R8 { R0 R1 R2 R3 R4 R5 R6 } LDMFD,
   0C X SWI,
   R7 { R0 R1 R2 R3 R4 } STMEA,
   R7 PUSH,
   RTSV,
END-CODE

CODE XFind
   ENTER,
   CALL POP210,
   0D X SWI,
   R0 PUSH,
   LEAVEV,
END-CODE

CODE XReadLine
   ENTER,
   CALL POP3210,
   0E X SWI,
   R4 1 # CS MOV,
   R4 0 # CC MOV,
   R1 PUSH,
   R4 PUSH,
   LEAVEV,
END-CODE

CODE XControl
   ENTER,
   CALL POP3210,
   0F X SWI,
   R0 R1 R2 R3 PUSH,
   LEAVEV,
END-CODE

CODE XGetEnv
   10 X SWI,
   R0 R1 R2 PUSH,
   RTSV,
END-CODE

CODE XExit
   ENTER,
   CALL POP210,
   11 X SWI,
   LEAVEV,
END-CODE

CODE XSetEnv
   R7 POP,
   R6 POP,
   R5 POP,
   R4 POP,
   POP10,
   12 X SWI,
   R0 R1 R4 R5 R6 R7 PUSH,
   RTSV,
END-CODE

CODE XCallBack
   POP10,
   15 X SWI,
   R0 R1 PUSH,
   RTSV,
END-CODE

CODE XBreakPt
   17 X SWI,
   RTSV,
END-CODE

CODE XBreakCtrl
   POP10,
   18 X SWI,
   R0 R1 PUSH,
   RTSV,
END-CODE

CODE XUnusedSWI
   R0 POP,
   19 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XUpdateMEMC
   POP10,
   1A X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XSetCallBack
   1B X SWI,
   RTSV,
END-CODE

CODE XMouse
   1C X SWI,
   R0 R1 R2 R3 PUSH,
   RTSV,
END-CODE

CODE XHeap
   R4 R5 POP, ( OUTPUT BUF, INPUT BUF )
   R5 ! { R0 R1 R2 R3 } LDMFD,
   1D X SWI,
   R4 { R0 R1 R2 R3 } STMEA,
   R4 PUSH,
   RTSV,
END-CODE

CODE XModule
   R5 R6 POP, ( OUTPUT BUF, INPUT BUF )
   R6 { R0 R1 R2 R3 R4 } LDMFD,
   1E X SWI,
   R5 { R0 R1 R2 R3 } STMEA,
   R5 PUSH,
   RTSV,
END-CODE

CODE XClaim
   ENTER,
   CALL POP210,
   1F X SWI,
   LEAVEV,
END-CODE

CODE XRelease
   ENTER,
   CALL POP210,
   20 X SWI,
   LEAVEV,
END-CODE

CODE XReadUnsigned
   ENTER,
   CALL POP210,
   21 X SWI,
   R1 R2 PUSH,
   LEAVEV,
END-CODE

0 VARIABLE SAVE-RPP

CODE XGenerateEvent
   R1 POP, ( ADDRESS OF PARAMS )
   RPP ! { R8 R9 SP RPP UP R14 } STMFD,
   R1 { R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 } LDMFD,
   22 X SWI,
   RPP ! { R8 R9 SP RPP UP R14 } LDMFD,
   RTSV,
END-CODE

CODE XReadVarVal
   ENTER,
   CALL POP43210,
   23 X SWI,
   R2 R3 R4 PUSH,
   LEAVEV,
END-CODE

CODE XSetVarVal
   ENTER,
   CALL POP43210,
   24 X SWI,
   R3 R4 PUSH,
   LEAVEV,
END-CODE

CODE XGSInit
   R2 POP,
   R0 POP,
   25 X SWI,
   R0 R1 R2 PUSH,
   RTSV,
END-CODE

CODE XGSRead
   R2 POP,
   R0 POP,
   26 X SWI,
   R3 1 # CS MOV,
   R3 0 # CC MOV,
   R0 R1 R2 PUSH,
   R3 PUSH,
   RTSV,
END-CODE

CODE XGSTrans
   ENTER,
   CALL POP210,
   27 X SWI,
   R3 1 # CS MOV,
   R3 0 # CC MOV,
   R0 R2 PUSH,
   R3 PUSH,
   LEAVEV,
END-CODE

CODE XBinaryToDecimal
   ENTER,
   CALL POP210,
   28 X SWI,
   R2 PUSH,
   LEAVEV,
END-CODE

CODE XFSControl
   RPP ! { R8 R9 } STMFD,
   R8 R9 POP, ( OUTPUT BUF, INPUT BUF )
   R9 { R0 R1 R2 R3 R4 R5 R6 R7 } LDMFD,
   29 X SWI,
   R8 { R0 R1 R2 R3 R4 R5 R6 R7 } STMEA,
   R8 PUSH,
   RPP ! { R8 R9 } LDMFD,
   RTSV,
END-CODE

CODE XChangeDynamicArea
   POP10,
   2A X SWI,
   R1 PUSH,
   RTSV,
END-CODE

CODE XGenerateError
   R0 POP,
   2B X SWI,
   RTSV,
END-CODE

CODE XReadEscapeState
   2C X SWI,
   R0 1 # CS MOV,
   R0 0 # CC MOV,
   R0 PUSH,
   RTSV,
END-CODE

CODE XEvaluateExpression
   ENTER,
   CALL POP210,
   2D X SWI,
   R1 R2 PUSH,
   LEAVEV,
END-CODE

CODE XSpriteOp
   RPP ! { R8 R9 } STMFD,
   R8 R9 POP,
   R9 ! { R0 R1 R2 R3 R4 R5 R6 R7 } LDMFD,
   2E X SWI,
   R8 { R0 R1 R2 R3 R4 R5 R6 R7 } STMEA,
   R8 PUSH,
   RPP ! { R8 R9 } LDMFD,
   RTSV,
END-CODE

CODE XReadPalette
   POP10,
   2F X SWI,
   R2 R3 PUSH,
   RTSV,
END-CODE

CODE XServiceCall
   ENTER,
   CALL POP43210,
   30 X SWI,
   LEAVEV,
END-CODE

CODE XReadVduVariables
   POP10,
   31 X SWI,
   RTSV,
END-CODE

CODE XReadPoint
   POP10,
   32 X SWI,
   R2 R3 R4 PUSH,
   RTSV,
END-CODE

CODE XUpCall
   ENTER,
   CALL POP3210,
   33 X SWI,
   R0 PUSH,
   LEAVEV,
END-CODE

CODE XCallAVector
   RPP ! { R8 R9 } STMFD, ( SAVE LIMIT AND INDEX )
   R9 POP,
   R8 POP,
   R7 POP,
   R6 POP,
   R5 POP,
   R4 POP,
   R3 POP,
   R2 POP,
   R1 POP,
   R0 POP,
   34 X SWI,
   RPP ! { R8 R9 } LDMFD, ( RESTORE LIMIT AND INDEX )
   RTSV,
END-CODE

CODE XReadModeVariable
   POP10,
   35 X SWI,
   R0 1 # CS MOV,
   R0 0 # CC MOV,
   R0 R2 PUSH,
   RTSV,
END-CODE

CODE XRemoveCursors
   36 X SWI,
   RTSV,
END-CODE

CODE XRestoreCursors
   37 X SWI,
   RTSV,
END-CODE

CODE XSWINumberToString
   ENTER,
   CALL POP210,
   38 X SWI,
   LEAVEV,
END-CODE

CODE XSWINumberFromString
   R1 POP,
   39 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XValidateAddress
   POP10,
   3A X SWI,
   R0 1 # CS MOV,
   R0 0 # CC MOV,
   R0 PUSH,
   RTSV,
END-CODE

CODE XCallAfter
   ENTER,
   CALL POP210,
   3B X SWI,
   LEAVEV,
END-CODE

CODE XCallEvery
   ENTER,
   CALL POP210,
   3C X SWI,
   LEAVEV,
END-CODE

CODE XRemoveTickerEvent
   POP10,
   3D X SWI,
   RTSV,
END-CODE

CODE XInstallKeyHandler
   R0 POP,
   3E X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XCheckModeValid
   R0 POP,
   3F X SWI,
   R2 0 # CC MOV,
   R2 1 # CS MOV,
   R0 R1 PUSH,
   R2 PUSH,
   RTSV,
END-CODE

CODE XChangeEnvironment
   ENTER,
   CALL POP3210,
   40 X SWI,
   R1 R2 R3 PUSH,
   LEAVEV,
END-CODE

CODE XClaimScreenMemory
   POP10,
   41 X SWI,
   R0 0 # CC MOV,
   R0 1 # CS MOV,
   R0 R1 R2 PUSH,
   RTSV,
END-CODE

CODE XReadMonotonicTime
   42 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XSubstituteArgs
   ENTER,
   CALL POP43210,
   43 X SWI,
   R2 PUSH,
   LEAVEV,
END-CODE

CODE XPrettyPrint
   ENTER,
   CALL POP210,
   44 X SWI,
   LEAVEV,
END-CODE

CODE XPlot
   ENTER,
   CALL POP210,
   45 X SWI,
   LEAVEV,
END-CODE

CODE XWriteN
   POP10,
   46 X SWI,
   RTSV,
END-CODE

CODE XReadArgs
   ENTER,
   CALL POP3210,
   49 X SWI,
   R3 PUSH,
   LEAVEV,
END-CODE

CODE XReadRAMFsLimits
    4A X SWI,
    R0 R1 PUSH,
    RTSV,
END-CODE

CODE XClaimDeviceVector
   ENTER,
   CALL POP210,
   4B X SWI,
   LEAVEV,
END-CODE

CODE XReleaseDeviceVector
   ENTER,
   CALL POP210,
   4C X SWI,
   LEAVEV,
END-CODE

CODE XDelinkApplication
   POP10,
   4D X SWI,
   R1 PUSH,
   RTSV,
END-CODE

CODE XRelinkApplication
   R0 POP,
   4E X SWI,
   RTSV,
END-CODE

CODE XChangedBox
   R0 POP,
   5A X SWI,
   R0 R1 PUSH,
   RTSV,
END-CODE

CODE XExitAndDie
   ENTER,
   CALL POP3210,
   50 X SWI,
   LEAVEV,
END-CODE

CODE XReadMemMapInfo
   51 X SWI,
   R0 R1 PUSH,
   RTSV,
END-CODE

CODE XReadMemMapEntries
   R0 POP,
   52 X SWI,
   RTSV,
END-CODE

CODE XSetMemMapEntries
   R0 POP,
   53 X SWI,
   RTSV,
END-CODE

CODE XAddCallBack
   POP10,
   54 X SWI,
   RTSV,
END-CODE

CODE XReadDefaultHandler
   R0 POP,
   55 X SWI,
   R1 R2 R3 PUSH,
   RTSV,
END-CODE

CODE XSerialOp
   ENTER,
   CALL POP210,
   57 X SWI,
   R3 0 # CC MOV,
   R3 1 # CS MOV,
   R0 R1 R2 PUSH,
   R3 PUSH,
   LEAVEV,
END-CODE

CODE XReadSysInfo
   R0 POP,
   58 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XConfirm
   59 X SWI,
   R1 0 # CC MOV,
   R1 1 # CS MOV,
   R0 PUSH,
   R1 PUSH,
   RTSV,
END-CODE

CODE XConvertStandardDateAndTime
   ENTER,
   CALL POP210,
   C0 X SWI,
   R0 R1 R2 PUSH,
   LEAVEV,
END-CODE

CODE XConvertDateAndTime
   ENTER,
   CALL POP3210,
   C1 X SWI,
   R0 R1 R2 PUSH,
   LEAVEV,
END-CODE


FORTH DEFINITIONS
VOCABULARY ADFS IMMEDIATE
ADFS DEFINITIONS HEX

CODE XDiscOp
   ENTER,
   CALL POP4321,
   40240 X SWI,
   R0 R2 R3 R4 PUSH,
   LEAVEV,
END-CODE

CODE XHDC
   ENTER,
   CALL POP43210,
   40241 X SWI,
   LEAVEV,
END-CODE

CODE XDrives
   40242 X SWI,
   R0 R1 R2 PUSH,
   RTSV,
END-CODE

CODE XFreeSpace
   R0 POP,
   40243 X SWI,
   R0 R1 PUSH,
   RTSV,
END-CODE

FORTH DEFINITIONS
VOCABULARY Podule IMMEDIATE
Podule DEFINITIONS HEX

CODE XReadID
   R3 POP,
   40280 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XReadHeader
   R3 POP,
   R2 POP,
   40281 X SWI,
   RTSV,
END-CODE

CODE XEnumerateChunks
   R3 POP,
   R0 POP,
   40282 X SWI,
   R0 R1 R2 R4 PUSH,
   RTSV,
END-CODE

CODE XReadChunk
   R3 POP,
   R2 POP,
   R0 POP,
   40283 X SWI,
   RTSV,
END-CODE

CODE XReadBytes
   ENTER,
   CALL POP3210,
   40284 X SWI,
   LEAVEV,
END-CODE

CODE XWriteBytes
   ENTER,
   CALL POP3210,
   40285 X SWI,
   LEAVEV,
END-CODE

CODE XCallLoader
   ENTER,
   CALL POP3210,
   40286 X SWI,
   R0 R1 R2 PUSH,
   LEAVEV,
END-CODE

CODE XRawRead
   ENTER,
   CALL POP3210,
   40287 X SWI,
   LEAVEV,
END-CODE

CODE XRawWrite
   ENTER,
   CALL POP3210,
   40288 X SWI,
   LEAVEV,
END-CODE

CODE XHardwareAddress
END-CODE

FORTH DEFINITIONS
VOCABULARY Wimp IMMEDIATE
Wimp DEFINITIONS HEX

: GEN-BLOCK
   <BUILDS
      ALLOT
   DOES>
   ;

: WIND-BLOCK
   88 GEN-BLOCK
   ;

: ICON-BLOCK
   36 GEN-BLOCK
   ;

: OPEN-BLOCK
   32 GEN-BLOCK
   ;

: REDRAW-BLOCK
   44 GEN-BLOCK
   ;

: ICON-STATE-BLOCK
   40 GEN-BLOCK
   ;

: MOUSE-BLOCK
   24 GEN-BLOCK
   ;

: DRAG-BLOCK
   38 GEN-BLOCK
   ;

: CARET-BLOCK
   24 GEN-BLOCK
   ;

: MENU-BLOCK
   28
   20 24 *
   + GEN-BLOCK
   ;

: POLL-BLOCK
   256 GEN-BLOCK
   ;

HIDE GEN-BLOCK

CODE XInitialise
   ENTER,
   CALL POP210,
   400C0 X SWI,
   R0 R1 PUSH,
   LEAVEV,
END-CODE

CODE XCreateWindow
   R1 POP,
   400C1 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XCreateIcon
   R1 POP,
   400C2 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XDeleteWindow
   R1 POP,
   400C3 X SWI,
   RTSV,
END-CODE

CODE XDeleteIcon
   R1 POP,
   400C4 X SWI,
   RTSV,
END-CODE

CODE XOpenWindow
   R1 POP,
   400C5 X SWI,
   RTSV,
END-CODE

CODE XCloseWindow
   R1 POP,
   400C6 X SWI,
   RTSV,
END-CODE

CODE XPoll
   POP10,
   400C7 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XRedrawWindow
   R1 POP,
   400C8 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XUpdateWindow
   R1 POP,
   400C9 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XGetRectangle
   R1 POP,
   400CA X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XGetWindowState
   R1 POP,
   400CB X SWI,
   RTSV,
END-CODE

CODE XGetWindowInfo
   R1 POP,
   400CC X SWI,
   RTSV,
END-CODE

CODE XSetIconState
   R1 POP,
   400CD X SWI,
   RTSV,
END-CODE

CODE XGetIconState
   R1 POP,
   400CE X SWI,
   RTSV,
END-CODE

CODE XGetPointerInfo
   R1 POP,
   400CF X SWI,
   RTSV,
END-CODE

CODE XDragBox
   R1 POP,
   400D0 X SWI,
   RTSV,
END-CODE

CODE XForceRedraw
   ENTER,
   CALL POP43210,
   400D1 X SWI,
   LEAVEV,
END-CODE

CODE XSetCaretPosition
   ENTER,
   CALL POP543210,
   400D2 X SWI,
   LEAVEV,
END-CODE

CODE XGetCaretPosition
   R1 POP,
   400D3 X SWI,
   RTSV,
END-CODE

CODE XCreateMenu
   R3 POP,
   R2 POP,
   R1 POP,
   400D4 X SWI,
   RTSV,
END-CODE

CODE XDecodeMenu
   R3 POP,
   R2 POP,
   R1 POP,
   400D5 X SWI,
   RTSV,
END-CODE

CODE XWhichIcon
   ENTER,
   CALL POP3210,
   400D6 X SWI,
   LEAVEV,
END-CODE

CODE XSetExtent
   POP10,
   400D7 X SWI,
   RTSV,
END-CODE

CODE XSetPointerShape
   ENTER,
   CALL POP543210,
   400D8 X SWI,
   LEAVEV,
END-CODE

CODE XOpenTemplate
   R1 POP,
   400D9 X SWI,
   RTSV,
END-CODE

CODE XCloseTemplate
   400DA X SWI,
   RTSV,
END-CODE

CODE XLoadTemplate
   R6 POP,
   R5 POP,
   R4 POP,
   R3 POP,
   R2 POP,
   R1 POP,
   400DB X SWI,
   R2 R6 PUSH,
   RTSV,
END-CODE

CODE XProcessKey
   R0 POP,
   400DC X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XCloseDown
   POP10,
   400DD X SWI,
   RTSV,
END-CODE

CODE XStartTask
   R0 POP,
   400DE X SWI,
   RTSV,
END-CODE

CODE XReportError
   ENTER,
   CALL POP210,
   400DF X SWI,
   R1 PUSH,
   LEAVEV,
END-CODE

CODE XGetWindowOutline
   R1 POP,
   400E0 X SWI,
   RTSV,
END-CODE

CODE XPollIdle
   ENTER,
   CALL POP210,
   400E1 X SWI,
   R0 PUSH,
   LEAVEV,
END-CODE

CODE XPlotIcon
   R1 POP,
   400E2 X SWI,
   RTSV,
END-CODE

CODE XSetMode
   R0 POP,
   400E3 X SWI,
   RTSV,
END-CODE

CODE XSetPalette
   R1 POP,
   400E4 X SWI,
   RTSV,
END-CODE

CODE XReadPalette
   R1 POP,
   400E5 X SWI,
   RTSV,
END-CODE

CODE XSetColour
   R0 POP,
   400E6 X SWI,
   RTSV,
END-CODE

CODE XSendMessage
   ENTER,
   CALL POP3210,
   400E7 X SWI,
   R2 PUSH,
   LEAVEV,
END-CODE

CODE XCreateSubMenu
   R3 POP,
   R2 POP,
   R1 POP,
   400E8 X SWI,
   RTSV,
END-CODE

CODE XSpriteOp
   RPP ! { R8 R9 } STMFD,
   R8 R9 POP, ( OUTPUT BUF, INPUT BUF )
   R9 { R0 R1 R2 R3 R4 R5 R6 R7 } LDMFD,
   400E9 X SWI,
   R8 { R0 R1 R2 R3 R4 R5 R6 R7 } STMEA,
   R8 PUSH,
   RPP ! { R8 R9 } LDMFD,
   RTSV,
END-CODE

CODE XBaseOfSprites
   400EA X SWI,
   R0 R1 PUSH,
   RTSV,
END-CODE

CODE XBlockCopy
   ENTER,
   CALL POP6543210,
   400EB X SWI,
   LEAVEV,
END-CODE

CODE XSlotSize
   POP10,
   400EC X SWI,
   R0 R1 R2 PUSH,
   RTSV,
END-CODE

CODE XReadPixTrans
   R7 POP,
   R6 POP,
   R2 POP,
   R1 POP,
   R0 POP,
   400ED X SWI,
   RTSV,
END-CODE

CODE XClaimFreeMemory
   POP10,
   400EE X SWI,
   R1 R2 PUSH,
   RTSV,
END-CODE

CODE XCommandWindow
   R0 POP,
   400EF X SWI,
   RTSV,
END-CODE

CODE XTextColour
   R0 POP,
   400F0 X SWI,
   RTSV,
END-CODE

CODE XTransferBlock
   ENTER,
   CALL POP43210,
   400F1 X SWI,
   LEAVEV,
END-CODE

CODE XReadSysInfo
   R0 POP,
   400F2 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XSetFontColours
   R2 POP,
   R1 POP,
   400F3 X SWI,
   RTSV,
END-CODE


FORTH DEFINITIONS

VOCABULARY Font IMMEDIATE
Font DEFINITIONS HEX

CODE XCacheAddr
   R0 0 # MOV,
   40080 X SWI,
   R0 R1 R2 PUSH,
   RTSV,
END-CODE

CODE XFindFont
   ENTER,
   CALL POP54321,
   40081 X SWI,
   R0 PUSH,
   LEAVEV,
END-CODE

CODE XLoseFont
   R0 POP,
   40082 X SWI,
   RTSV,
END-CODE

CODE XReadDefn
   POP10,
   40083 X SWI,
   R1 R2 R3 R4 R5 R6 R7 PUSH,
   RTSV,
END-CODE

CODE XReadInfo
   R0 POP,
   40084 X SWI,
   R1 R2 R3 R4 PUSH,
   RTSV,
END-CODE

CODE XStringWidth
   ENTER,
   CALL POP54321,
   40085 X SWI,
   R2 R3 R4 R5 PUSH,
   LEAVEV,
END-CODE

CODE XPaint
   ENTER,
   CALL POP4321,
   40086 X SWI,
   LEAVEV,
END-CODE

CODE XCaret
   ENTER,
   CALL POP43210,
   40087 X SWI,
   LEAVEV,
END-CODE

CODE XConverttoOS
   R2 POP,
   R1 POP,
   40088 X SWI,
   R1 R2 PUSH,
   RTSV,
END-CODE

CODE XConverttoPoints
   R2 POP,
   R1 POP,
   40089 X SWI,
   R1 R2 PUSH,
   RTSV,
END-CODE

CODE XSetFont
   R0 POP,
   4008A X SWI,
   RTSV,
END-CODE

CODE XCurrentFont
   4008B X SWI,
   R0 R1 R2 R3 PUSH,
   RTSV,
END-CODE

CODE XFutureFont
   4008C X SWI,
   R0 R1 R2 R3 PUSH,
   RTSV,
END-CODE

CODE XFindCaret
   ENTER,
   CALL POP321,
   4008D X SWI,
   R2 R3 R4 R5 PUSH,
   LEAVEV,
END-CODE

CODE XCharBBox
   ENTER,
   CALL POP210,
   4008E X SWI,
   R1 R2 R3 R4 PUSH,
   LEAVEV,
END-CODE

CODE XReadScaleFactor
   4008F X SWI,
   R1 R2 PUSH,
   RTSV,
END-CODE

CODE XSetScaleFactor
   R2 POP,
   R1 POP,
   40090 X SWI,
   RTSV,
END-CODE

CODE XListFonts
   ENTER,
   CALL POP321,
   40091 X SWI,
   R2 PUSH,
   LEAVEV,
END-CODE

CODE XSetFontColours
   ENTER,
   CALL POP3210,
   40092 X SWI,
   LEAVEV,
END-CODE

CODE XSetPalette
   ENTER,
   CALL POP54321,
   40093 X SWI,
   LEAVEV,
END-CODE

CODE XReadThresholds
   R1 POP,
   40094 X SWI,
   RTSV,
END-CODE

CODE XSetThresholds
   R1 POP,
   40095 X SWI,
   RTSV,
END-CODE

CODE XFindCaretJ
   ENTER,
   CALL POP54321,
   40096 X SWI,
   R2 R3 R4 R5 PUSH,
   LEAVEV,
END-CODE

CODE XStringBBox
   R1 POP,
   40097 X SWI,
   R1 R2 R3 R4 PUSH,
   RTSV,
END-CODE

FORTH DEFINITIONS
VOCABULARY Sound IMMEDIATE
Sound DEFINITIONS HEX

CODE XConfigure
   ENTER,
   CALL POP43210,
   40140 X SWI,
   R0 R1 R2 R3 R4 PUSH,
   LEAVEV,
END-CODE

CODE XEnable
   R0 POP,
   40141 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XStereo
   POP10,
   40142 X SWI,
   R1 PUSH,
   RTSV,
END-CODE

CODE XSpeaker
   R0 POP,
   40143 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XVolume
   R0 POP,
   40180 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XSoundLog
   R0 POP,
   40181 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XLogScale
   R0 POP,
   40182 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XInstallVoice
   POP10,
   40183 X SWI,
   R0 R1 PUSH,
   RTSV,
END-CODE

CODE XRemoveVoice
   R1 POP,
   40184 X SWI,
   R0 R1 PUSH,
   RTSV,
END-CODE

CODE XAttachVoice
   POP10,
   40185 X SWI,
   R0 R1 PUSH,
   RTSV,
END-CODE

CODE XControlPacked
   POP10,
   40186 X SWI,
   RTSV,
END-CODE

CODE XTuning
   R0 POP,
   40187 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XPitch
   R0 POP,
   40188 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XControl
   ENTER,
   CALL POP3210,
   40189 X SWI,
   LEAVEV,
END-CODE

CODE XAttachNamedVoice
   POP10,
   4018A X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XReadControlBlock
   POP10,
   4018B X SWI,
   R0 R2 PUSH,
   RTSV,
END-CODE

CODE XWriteControlBlock
   ENTER,
   CALL POP210,
   4018C X SWI,
   R0 R2 PUSH,
   LEAVEV,
END-CODE

CODE XQInit
   401C0 X SWI,
   RTSV,
END-CODE

CODE XQSchedule
   ENTER,
   CALL POP3210,
   401C1 X SWI,
   R0 PUSH,
   LEAVEV,
END-CODE

CODE XQRemove
   R0 POP,
   401C2 X SWI,
   R0 R1 R2 R3 PUSH,
   RTSV,
END-CODE

CODE XQFree
   401C3 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XQSDispatch
   401C4 X SWI,
   RTSV,
END-CODE

CODE XQTempo
   R0 POP,
   401C5 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

CODE XQBeat
   R0 POP,
   401C6 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

FORTH DEFINITIONS DECIMAL
VOCABULARY Debugger IMMEDIATE
Debugger DEFINITIONS HEX

CODE XDisassemble
   R0 POP,
   40380 X SWI,
   R1 R2 PUSH,
   RTSV,
END-CODE

FORTH DEFINITIONS DECIMAL
VOCABULARY Hourglass IMMEDIATE
Hourglass DEFINITIONS HEX

CODE XOn
   406C0 X SWI,
   RTSV,
END-CODE

CODE XOff
   406C1 X SWI,
   RTSV,
END-CODE

CODE XSmash
   406C2 X SWI,
   RTSV,
END-CODE

CODE XStart
   R0 POP,
   406C3 X SWI,
   RTSV,
END-CODE

CODE XPercentage
   R0 POP,
   406C4 X SWI,
   RTSV,
END-CODE

CODE XLEDs
   POP10,
   406C5 X SWI,
   R0 PUSH,
   RTSV,
END-CODE

FORTH DEFINITIONS DECIMAL
VOCABULARY IIC IMMEDIATE
IIC DEFINITIONS HEX

CODE XControl
   ENTER,
   CALL POP210,
   240 X SWI,
   LEAVEV,
END-CODE

FORTH DEFINITIONS DECIMAL
VOCABULARY Draw IMMEDIATE
Draw DEFINITIONS HEX

CODE XProcessPath
   ENTER,
   CALL POP76543210,
   40700 X SWI,
   LEAVEV,
END-CODE

CODE XProcessPathFP
   ENTER,
   CALL POP76543210,
   40701 X SWI,
   LEAVEV,
END-CODE

CODE XFill
   ENTER,
   CALL POP3210,
   40702 X SWI,
   LEAVEV,
END-CODE

CODE XFillFP
   ENTER,
   CALL POP3210,
   40703 X SWI,
   LEAVEV,
END-CODE

CODE XStroke
   ENTER,
   CALL POP6543210,
   40704 X SWI,
   LEAVEV,
END-CODE

CODE XStrokeFP
   ENTER,
   CALL POP6543210,
   40705 X SWI,
   LEAVEV,
END-CODE

CODE XStrokePath
   ENTER,
   CALL POP6543210,
   40706 X SWI,
   R0 PUSH,
   LEAVEV,
END-CODE

CODE XStrokePathFP
   ENTER,
   CALL POP6543210,
   40707 X SWI,
   R0 PUSH,
   LEAVEV,
END-CODE

CODE XFlattenPath
   ENTER,
   CALL POP210,
   40708 X SWI,
   R0 PUSH,
   LEAVEV,
END-CODE

CODE XFlattenPathFP
   ENTER,
   CALL POP210,
   40709 X SWI,
   R0 PUSH,
   LEAVEV,
END-CODE

CODE XTransformPath
   ENTER,
   CALL POP3210,
   4070A X SWI,
   R0 PUSH,
   LEAVEV,
END-CODE

CODE XTransformPathFP
   ENTER,
   CALL POP3210,
   4070B X SWI,
   R0 PUSH,
   LEAVEV,
END-CODE

FORTH DEFINITIONS DECIMAL
