ASSEMBLER DEFINITIONS

MACRO RTS,
   PC R14 MOV,
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 WriteC
   R0 POP,
   0 SWI,
   RTS,
END-CODE

CODE Write0
   R0 POP,
   2 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE NewLine
   3 SWI,
   RTS,
END-CODE

CODE ReadC
   4 SWI,
   R1 1 # CS MOV,
   R1 0 # CC MOV,
   R0 PUSH,
   R1 PUSH,
   RTS,
END-CODE

CODE CLI
   R0 POP,
   5 SWI,
   RTS,
END-CODE

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

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

CODE BGet
   R1 POP,
   0A SWI,
   R1 1 # CS MOV,
   R1 0 # CC MOV,
   R0 PUSH,
   R1 PUSH,
   RTS,
END-CODE

CODE BPut
   POP10,
   0B SWI,
   RTS,
END-CODE

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

CODE Find
   ENTER,
   CALL POP210,
   0D SWI,
   R0 PUSH,
   LEAVE,
END-CODE

CODE ReadLine
   ENTER,
   CALL POP3210,
   0E SWI,
   R4 1 # CS MOV,
   R4 0 # CC MOV,
   R1 PUSH,
   R4 PUSH,
   LEAVE,
END-CODE

CODE Control
   ENTER,
   CALL POP3210,
   0F SWI,
   R0 R1 R2 R3 PUSH,
   LEAVE,
END-CODE

CODE GetEnv
   10 SWI,
   R0 R1 R2 PUSH,
   RTS,
END-CODE

CODE Exit
   ENTER,
   CALL POP210,
   11 SWI,
   LEAVE,
END-CODE

CODE SetEnv
   R7 POP,
   R6 POP,
   R5 POP,
   R4 POP,
   POP10,
   12 SWI,
   R0 R1 R4 R5 R6 R7 PUSH,
   RTS,
END-CODE

CODE CallBack
   POP10,
   15 SWI,
   R0 R1 PUSH,
   RTS,
END-CODE

CODE BreakPt
   17 SWI,
   RTS,
END-CODE

CODE BreakCtrl
   POP10,
   18 SWI,
   R0 R1 PUSH,
   RTS,
END-CODE

CODE UnusedSWI
   R0 POP,
   19 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE UpdateMEMC
   POP10,
   1A SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE SetCallBack
   1B SWI,
   RTS,
END-CODE

CODE Mouse
   1C SWI,
   R0 R1 R2 R3 PUSH,
   RTS,
END-CODE

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

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

CODE Claim
   ENTER,
   CALL POP210,
   1F SWI,
   LEAVE,
END-CODE

CODE Release
   ENTER,
   CALL POP210,
   20 SWI,
   LEAVE,
END-CODE

CODE ReadUnsigned
   ENTER,
   CALL POP210,
   21 SWI,
   R1 R2 PUSH,
   LEAVE,
END-CODE

0 VARIABLE SAVE-RPP

CODE GenerateEvent
   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 SWI,
   RPP ! { R8 R9 SP RPP UP R14 } LDMFD,
   RTS,
END-CODE

CODE ReadVarVal
   ENTER,
   CALL POP43210,
   23 SWI,
   R2 R3 R4 PUSH,
   LEAVE,
END-CODE

CODE SetVarVal
   ENTER,
   CALL POP43210,
   24 SWI,
   R3 R4 PUSH,
   LEAVE,
END-CODE

CODE GSInit
   R2 POP,
   R0 POP,
   25 SWI,
   R0 R1 R2 PUSH,
   RTS,
END-CODE

CODE GSRead
   R2 POP,
   R0 POP,
   26 SWI,
   R3 1 # CS MOV,
   R3 0 # CC MOV,
   R0 R1 R2 PUSH,
   R3 PUSH,
   RTS,
END-CODE

CODE GSTrans
   ENTER,
   CALL POP210,
   27 SWI,
   R3 1 # CS MOV,
   R3 0 # CC MOV,
   R0 R2 PUSH,
   R3 PUSH,
   LEAVE,
END-CODE

CODE BinaryToDecimal
   ENTER,
   CALL POP210,
   28 SWI,
   R2 PUSH,
   LEAVE,
END-CODE

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

CODE ChangeDynamicArea
   POP10,
   2A SWI,
   R1 PUSH,
   RTS,
END-CODE

CODE GenerateError
   R0 POP,
   2B SWI,
   RTS,
END-CODE

CODE ReadEscapeState
   2C SWI,
   R0 1 # CS MOV,
   R0 0 # CC MOV,
   R0 PUSH,
   RTS,
END-CODE

CODE EvaluateExpression
   ENTER,
   CALL POP210,
   2D SWI,
   R1 R2 PUSH,
   LEAVE,
END-CODE

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

CODE ReadPalette
   POP10,
   2F SWI,
   R2 R3 PUSH,
   RTS,
END-CODE

CODE ServiceCall
   ENTER,
   CALL POP43210,
   30 SWI,
   LEAVE,
END-CODE

CODE ReadVduVariables
   POP10,
   31 SWI,
   RTS,
END-CODE

CODE ReadPoint
   POP10,
   32 SWI,
   R2 R3 R4 PUSH,
   RTS,
END-CODE

CODE UpCall
   ENTER,
   CALL POP3210,
   33 SWI,
   R0 PUSH,
   LEAVE,
END-CODE

CODE CallAVector
   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 SWI,
   RPP ! { R8 R9 } LDMFD, ( RESTORE LIMIT AND INDEX )
   RTS,
END-CODE

CODE ReadModeVariable
   POP10,
   35 SWI,
   R0 1 # CS MOV,
   R0 0 # CC MOV,
   R0 R2 PUSH,
   RTS,
END-CODE

CODE RemoveCursors
   36 SWI,
   RTS,
END-CODE

CODE RestoreCursors
   37 SWI,
   RTS,
END-CODE

CODE SWINumberToString
   ENTER,
   CALL POP210,
   38 SWI,
   LEAVE,
END-CODE

CODE SWINumberFromString
   R1 POP,
   39 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE ValidateAddress
   POP10,
   3A SWI,
   R0 1 # CS MOV,
   R0 0 # CC MOV,
   R0 PUSH,
   RTS,
END-CODE

CODE CallAfter
   ENTER,
   CALL POP210,
   3B SWI,
   LEAVE,
END-CODE

CODE CallEvery
   ENTER,
   CALL POP210,
   3C SWI,
   LEAVE,
END-CODE

CODE RemoveTickerEvent
   POP10,
   3D SWI,
   RTS,
END-CODE

CODE InstallKeyHandler
   R0 POP,
   3E SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE CheckModeValid
   R0 POP,
   3F SWI,
   R2 0 # CC MOV,
   R2 1 # CS MOV,
   R0 R1 PUSH,
   R2 PUSH,
   RTS,
END-CODE

CODE ChangeEnvironment
   ENTER,
   CALL POP3210,
   40 SWI,
   R1 R2 R3 PUSH,
   LEAVE,
END-CODE

CODE ClaimScreenMemory
   POP10,
   41 SWI,
   R0 0 # CC MOV,
   R0 1 # CS MOV,
   R0 R1 R2 PUSH,
   RTS,
END-CODE

CODE ReadMonotonicTime
   42 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE SubstituteArgs
   ENTER,
   CALL POP43210,
   43 SWI,
   R2 PUSH,
   LEAVE,
END-CODE

CODE PrettyPrint
   ENTER,
   CALL POP210,
   44 SWI,
   LEAVE,
END-CODE

CODE Plot
   ENTER,
   CALL POP210,
   45 SWI,
   LEAVE,
END-CODE

CODE WriteN
   POP10,
   46 SWI,
   RTS,
END-CODE

CODE ReadArgs
   ENTER,
   CALL POP3210,
   49 SWI,
   R3 PUSH,
   LEAVE,
END-CODE

CODE ReadRAMFsLimits
    4A SWI,
    R0 R1 PUSH,
    RTS,
END-CODE

CODE ClaimDeviceVector
   ENTER,
   CALL POP210,
   4B SWI,
   LEAVE,
END-CODE

CODE ReleaseDeviceVector
   ENTER,
   CALL POP210,
   4C SWI,
   LEAVE,
END-CODE

CODE DelinkApplication
   POP10,
   4D SWI,
   R1 PUSH,
   RTS,
END-CODE

CODE RelinkApplication
   R0 POP,
   4E SWI,
   RTS,
END-CODE

CODE ChangedBox
   R0 POP,
   5A SWI,
   R0 R1 PUSH,
   RTS,
END-CODE

CODE ExitAndDie
   ENTER,
   CALL POP3210,
   50 SWI,
   LEAVE,
END-CODE

CODE ReadMemMapInfo
   51 SWI,
   R0 R1 PUSH,
   RTS,
END-CODE

CODE ReadMemMapEntries
   R0 POP,
   52 SWI,
   RTS,
END-CODE

CODE SetMemMapEntries
   R0 POP,
   53 SWI,
   RTS,
END-CODE

CODE AddCallBack
   POP10,
   54 SWI,
   RTS,
END-CODE

CODE ReadDefaultHandler
   R0 POP,
   55 SWI,
   R1 R2 R3 PUSH,
   RTS,
END-CODE

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

CODE ReadSysInfo
   R0 POP,
   58 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE Confirm
   59 SWI,
   R1 0 # CC MOV,
   R1 1 # CS MOV,
   R0 PUSH,
   R1 PUSH,
   RTS,
END-CODE

CODE ConvertStandardDateAndTime
   ENTER,
   CALL POP210,
   C0 SWI,
   R0 R1 R2 PUSH,
   LEAVE,
END-CODE

CODE ConvertDateAndTime
   ENTER,
   CALL POP3210,
   C1 SWI,
   R0 R1 R2 PUSH,
   LEAVE,
END-CODE


FORTH DEFINITIONS
VOCABULARY ADFS IMMEDIATE
ADFS DEFINITIONS HEX

CODE DiscOp
   ENTER,
   CALL POP4321,
   40240 SWI,
   R0 R2 R3 R4 PUSH,
   LEAVE,
END-CODE

CODE HDC
   ENTER,
   CALL POP43210,
   40241 SWI,
   LEAVE,
END-CODE

CODE Drives
   40242 SWI,
   R0 R1 R2 PUSH,
   RTS,
END-CODE

CODE FreeSpace
   R0 POP,
   40243 SWI,
   R0 R1 PUSH,
   RTS,
END-CODE

FORTH DEFINITIONS
VOCABULARY Podule IMMEDIATE
Podule DEFINITIONS HEX

CODE ReadID
   R3 POP,
   40280 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE ReadHeader
   R3 POP,
   R2 POP,
   40281 SWI,
   RTS,
END-CODE

CODE EnumerateChunks
   R3 POP,
   R0 POP,
   40282 SWI,
   R0 R1 R2 R4 PUSH,
   RTS,
END-CODE

CODE ReadChunk
   R3 POP,
   R2 POP,
   R0 POP,
   40283 SWI,
   RTS,
END-CODE

CODE ReadBytes
   ENTER,
   CALL POP3210,
   40284 SWI,
   LEAVE,
END-CODE

CODE WriteBytes
   ENTER,
   CALL POP3210,
   40285 SWI,
   LEAVE,
END-CODE

CODE CallLoader
   ENTER,
   CALL POP3210,
   40286 SWI,
   R0 R1 R2 PUSH,
   LEAVE,
END-CODE

CODE RawRead
   ENTER,
   CALL POP3210,
   40287 SWI,
   LEAVE,
END-CODE

CODE RawWrite
   ENTER,
   CALL POP3210,
   40288 SWI,
   LEAVE,
END-CODE

CODE HardwareAddress
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 Initialise
   ENTER,
   CALL POP210,
   400C0 SWI,
   R0 R1 PUSH,
   LEAVE,
END-CODE

CODE CreateWindow
   R1 POP,
   400C1 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE CreateIcon
   R1 POP,
   400C2 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE DeleteWindow
   R1 POP,
   400C3 SWI,
   RTS,
END-CODE

CODE DeleteIcon
   R1 POP,
   400C4 SWI,
   RTS,
END-CODE

CODE OpenWindow
   R1 POP,
   400C5 SWI,
   RTS,
END-CODE

CODE CloseWindow
   R1 POP,
   400C6 SWI,
   RTS,
END-CODE

CODE Poll
   POP10,
   400C7 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE RedrawWindow
   R1 POP,
   400C8 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE UpdateWindow
   R1 POP,
   400C9 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE GetRectangle
   R1 POP,
   400CA SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE GetWindowState
   R1 POP,
   400CB SWI,
   RTS,
END-CODE

CODE GetWindowInfo
   R1 POP,
   400CC SWI,
   RTS,
END-CODE

CODE SetIconState
   R1 POP,
   400CD SWI,
   RTS,
END-CODE

CODE GetIconState
   R1 POP,
   400CE SWI,
   RTS,
END-CODE

CODE GetPointerInfo
   R1 POP,
   400CF SWI,
   RTS,
END-CODE

CODE DragBox
   R1 POP,
   400D0 SWI,
   RTS,
END-CODE

CODE ForceRedraw
   ENTER,
   CALL POP43210,
   400D1 SWI,
   LEAVE,
END-CODE

CODE SetCaretPosition
   ENTER,
   CALL POP543210,
   400D2 SWI,
   LEAVE,
END-CODE

CODE GetCaretPosition
   R1 POP,
   400D3 SWI,
   RTS,
END-CODE

CODE CreateMenu
   R3 POP,
   R2 POP,
   R1 POP,
   400D4 SWI,
   RTS,
END-CODE

CODE DecodeMenu
   R3 POP,
   R2 POP,
   R1 POP,
   400D5 SWI,
   RTS,
END-CODE

CODE WhichIcon
   ENTER,
   CALL POP3210,
   400D6 SWI,
   LEAVE,
END-CODE

CODE SetExtent
   POP10,
   400D7 SWI,
   RTS,
END-CODE

CODE SetPointerShape
   ENTER,
   CALL POP543210,
   400D8 SWI,
   LEAVE,
END-CODE

CODE OpenTemplate
   R1 POP,
   400D9 SWI,
   RTS,
END-CODE

CODE CloseTemplate
   400DA SWI,
   RTS,
END-CODE

CODE LoadTemplate
   R6 POP,
   R5 POP,
   R4 POP,
   R3 POP,
   R2 POP,
   R1 POP,
   400DB SWI,
   R2 R6 PUSH,
   RTS,
END-CODE

CODE ProcessKey
   R0 POP,
   400DC SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE CloseDown
   POP10,
   400DD SWI,
   RTS,
END-CODE

CODE StartTask
   R0 POP,
   400DE SWI,
   RTS,
END-CODE

CODE ReportError
   ENTER,
   CALL POP210,
   400DF SWI,
   R1 PUSH,
   LEAVE,
END-CODE

CODE GetWindowOutline
   R1 POP,
   400E0 SWI,
   RTS,
END-CODE

CODE PollIdle
   ENTER,
   CALL POP210,
   400E1 SWI,
   R0 PUSH,
   LEAVE,
END-CODE

CODE PlotIcon
   R1 POP,
   400E2 SWI,
   RTS,
END-CODE

CODE SetMode
   R0 POP,
   400E3 SWI,
   RTS,
END-CODE

CODE SetPalette
   R1 POP,
   400E4 SWI,
   RTS,
END-CODE

CODE ReadPalette
   R1 POP,
   400E5 SWI,
   RTS,
END-CODE

CODE SetColour
   R0 POP,
   400E6 SWI,
   RTS,
END-CODE

CODE SendMessage
   ENTER,
   CALL POP3210,
   400E7 SWI,
   R2 PUSH,
   LEAVE,
END-CODE

CODE CreateSubMenu
   R3 POP,
   R2 POP,
   R1 POP,
   400E8 SWI,
   RTS,
END-CODE

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

CODE BaseOfSprites
   400EA SWI,
   R0 R1 PUSH,
   RTS,
END-CODE

CODE BlockCopy
   ENTER,
   CALL POP6543210,
   400EB SWI,
   LEAVE,
END-CODE

CODE SlotSize
   POP10,
   400EC SWI,
   R0 R1 R2 PUSH,
   RTS,
END-CODE

CODE ReadPixTrans
   R7 POP,
   R6 POP,
   R2 POP,
   R1 POP,
   R0 POP,
   400ED SWI,
   RTS,
END-CODE

CODE ClaimFreeMemory
   POP10,
   400EE SWI,
   R1 R2 PUSH,
   RTS,
END-CODE

CODE CommandWindow
   R0 POP,
   400EF SWI,
   RTS,
END-CODE

CODE TextColour
   R0 POP,
   400F0 SWI,
   RTS,
END-CODE

CODE TransferBlock
   ENTER,
   CALL POP43210,
   400F1 SWI,
   LEAVE,
END-CODE

CODE ReadSysInfo
   R0 POP,
   400F2 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE SetFontColours
   R2 POP,
   R1 POP,
   400F3 SWI,
   RTS,
END-CODE


FORTH DEFINITIONS

VOCABULARY Font IMMEDIATE
Font DEFINITIONS HEX

CODE CacheAddr
   R0 0 # MOV,
   40080 SWI,
   R0 R1 R2 PUSH,
   RTS,
END-CODE

CODE FindFont
   ENTER,
   CALL POP54321,
   40081 SWI,
   R0 PUSH,
   LEAVE,
END-CODE

CODE LoseFont
   R0 POP,
   40082 SWI,
   RTS,
END-CODE

CODE ReadDefn
   POP10,
   40083 SWI,
   R1 R2 R3 R4 R5 R6 R7 PUSH,
   RTS,
END-CODE

CODE ReadInfo
   R0 POP,
   40084 SWI,
   R1 R2 R3 R4 PUSH,
   RTS,
END-CODE

CODE StringWidth
   ENTER,
   CALL POP54321,
   40085 SWI,
   R2 R3 R4 R5 PUSH,
   LEAVE,
END-CODE

CODE Paint
   ENTER,
   CALL POP4321,
   40086 SWI,
   LEAVE,
END-CODE

CODE Caret
   ENTER,
   CALL POP43210,
   40087 SWI,
   LEAVE,
END-CODE

CODE ConverttoOS
   R2 POP,
   R1 POP,
   40088 SWI,
   R1 R2 PUSH,
   RTS,
END-CODE

CODE ConverttoPoints
   R2 POP,
   R1 POP,
   40089 SWI,
   R1 R2 PUSH,
   RTS,
END-CODE

CODE SetFont
   R0 POP,
   4008A SWI,
   RTS,
END-CODE

CODE CurrentFont
   4008B SWI,
   R0 R1 R2 R3 PUSH,
   RTS,
END-CODE

CODE FutureFont
   4008C SWI,
   R0 R1 R2 R3 PUSH,
   RTS,
END-CODE

CODE FindCaret
   ENTER,
   CALL POP321,
   4008D SWI,
   R2 R3 R4 R5 PUSH,
   LEAVE,
END-CODE

CODE CharBBox
   ENTER,
   CALL POP210,
   4008E SWI,
   R1 R2 R3 R4 PUSH,
   LEAVE,
END-CODE

CODE ReadScaleFactor
   4008F SWI,
   R1 R2 PUSH,
   RTS,
END-CODE

CODE SetScaleFactor
   R2 POP,
   R1 POP,
   40090 SWI,
   RTS,
END-CODE

CODE ListFonts
   ENTER,
   CALL POP321,
   40091 SWI,
   R2 PUSH,
   LEAVE,
END-CODE

CODE SetFontColours
   ENTER,
   CALL POP3210,
   40092 SWI,
   LEAVE,
END-CODE

CODE SetPalette
   ENTER,
   CALL POP54321,
   40093 SWI,
   LEAVE,
END-CODE

CODE ReadThresholds
   R1 POP,
   40094 SWI,
   RTS,
END-CODE

CODE SetThresholds
   R1 POP,
   40095 SWI,
   RTS,
END-CODE

CODE FindCaretJ
   ENTER,
   CALL POP54321,
   40096 SWI,
   R2 R3 R4 R5 PUSH,
   LEAVE,
END-CODE

CODE StringBBox
   R1 POP,
   40097 SWI,
   R1 R2 R3 R4 PUSH,
   RTS,
END-CODE

FORTH DEFINITIONS
VOCABULARY Sound IMMEDIATE
Sound DEFINITIONS HEX

CODE Configure
   ENTER,
   CALL POP43210,
   40140 SWI,
   R0 R1 R2 R3 R4 PUSH,
   LEAVE,
END-CODE

CODE Enable
   R0 POP,
   40141 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE Stereo
   POP10,
   40142 SWI,
   R1 PUSH,
   RTS,
END-CODE

CODE Speaker
   R0 POP,
   40143 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE Volume
   R0 POP,
   40180 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE SoundLog
   R0 POP,
   40181 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE LogScale
   R0 POP,
   40182 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE InstallVoice
   POP10,
   40183 SWI,
   R0 R1 PUSH,
   RTS,
END-CODE

CODE RemoveVoice
   R1 POP,
   40184 SWI,
   R0 R1 PUSH,
   RTS,
END-CODE

CODE AttachVoice
   POP10,
   40185 SWI,
   R0 R1 PUSH,
   RTS,
END-CODE

CODE ControlPacked
   POP10,
   40186 SWI,
   RTS,
END-CODE

CODE Tuning
   R0 POP,
   40187 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE Pitch
   R0 POP,
   40188 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE Control
   ENTER,
   CALL POP3210,
   40189 SWI,
   LEAVE,
END-CODE

CODE AttachNamedVoice
   POP10,
   4018A SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE ReadControlBlock
   POP10,
   4018B SWI,
   R0 R2 PUSH,
   RTS,
END-CODE

CODE WriteControlBlock
   ENTER,
   CALL POP210,
   4018C SWI,
   R0 R2 PUSH,
   LEAVE,
END-CODE

CODE QInit
   401C0 SWI,
   RTS,
END-CODE

CODE QSchedule
   ENTER,
   CALL POP3210,
   401C1 SWI,
   R0 PUSH,
   LEAVE,
END-CODE

CODE QRemove
   R0 POP,
   401C2 SWI,
   R0 R1 R2 R3 PUSH,
   RTS,
END-CODE

CODE QFree
   401C3 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE QSDispatch
   401C4 SWI,
   RTS,
END-CODE

CODE QTempo
   R0 POP,
   401C5 SWI,
   R0 PUSH,
   RTS,
END-CODE

CODE QBeat
   R0 POP,
   401C6 SWI,
   R0 PUSH,
   RTS,
END-CODE

FORTH DEFINITIONS DECIMAL
VOCABULARY Debugger IMMEDIATE
Debugger DEFINITIONS HEX

CODE Disassemble
   R0 POP,
   40380 SWI,
   R1 R2 PUSH,
   RTS,
END-CODE

FORTH DEFINITIONS DECIMAL
VOCABULARY Hourglass IMMEDIATE
Hourglass DEFINITIONS HEX

CODE On
   406C0 SWI,
   RTS,
END-CODE

CODE Off
   406C1 SWI,
   RTS,
END-CODE

CODE Smash
   406C2 SWI,
   RTS,
END-CODE

CODE Start
   R0 POP,
   406C3 SWI,
   RTS,
END-CODE

CODE Percentage
   R0 POP,
   406C4 SWI,
   RTS,
END-CODE

CODE LEDs
   POP10,
   406C5 SWI,
   R0 PUSH,
   RTS,
END-CODE

FORTH DEFINITIONS DECIMAL
VOCABULARY IIC IMMEDIATE
IIC DEFINITIONS HEX

CODE Control
   ENTER,
   CALL POP210,
   240 SWI,
   LEAVE,
END-CODE

FORTH DEFINITIONS DECIMAL
VOCABULARY Draw IMMEDIATE
Draw DEFINITIONS HEX

CODE ProcessPath
   ENTER,
   CALL POP76543210,
   40700 SWI,
   LEAVE,
END-CODE

CODE ProcessPathFP
   ENTER,
   CALL POP76543210,
   40701 SWI,
   LEAVE,
END-CODE

CODE Fill
   ENTER,
   CALL POP3210,
   40702 SWI,
   LEAVE,
END-CODE

CODE FillFP
   ENTER,
   CALL POP3210,
   40703 SWI,
   LEAVE,
END-CODE

CODE Stroke
   ENTER,
   CALL POP6543210,
   40704 SWI,
   LEAVE,
END-CODE

CODE StrokeFP
   ENTER,
   CALL POP6543210,
   40705 SWI,
   LEAVE,
END-CODE

CODE StrokePath
   ENTER,
   CALL POP6543210,
   40706 SWI,
   R0 PUSH,
   LEAVE,
END-CODE

CODE StrokePathFP
   ENTER,
   CALL POP6543210,
   40707 SWI,
   R0 PUSH,
   LEAVE,
END-CODE

CODE FlattenPath
   ENTER,
   CALL POP210,
   40708 SWI,
   R0 PUSH,
   LEAVE,
END-CODE

CODE FlattenPathFP
   ENTER,
   CALL POP210,
   40709 SWI,
   R0 PUSH,
   LEAVE,
END-CODE

CODE TransformPath
   ENTER,
   CALL POP3210,
   4070A SWI,
   R0 PUSH,
   LEAVE,
END-CODE

CODE TransformPathFP
   ENTER,
   CALL POP3210,
   4070B SWI,
   R0 PUSH,
   LEAVE,
END-CODE

FORTH DEFINITIONS DECIMAL
