- Code: Select all
_cliApi:
push hl
push bc
push de
; in: A = subroutine number.
LD HL,sbr_ID
LD D,H
LD E,L
LD BC,sbr_vec - sbr_ID
CPIR
JR NZ,absent; subroutine not found
LD BC,sbr_vec
OR A,A
SBC HL,DE
DEC HL
ADD HL,HL
ADD HL,BC
LD E,(HL)
INC HL
LD D,(HL)
EX DE,HL
pop de
pop bc
ex (sp),hl ; put function vector on stack and restore function argument in HL.
ret
absent: pop de
pop bc
pop hl
ret
sbr_ID:
db #00, #01, #02, #03, #04, #05, #06, #07, #08, #09, #0A, #0B, #0C, #0D, #0E, #0F,
db #10, #11, #12, #13, #14, #15, #16, #17, #18, #19, #1A, #1B, #1C, #1D, #1E, #1F,
db #20, #21, #22, #23, #24, #25, #26, #27, #28, #29, #2A, #2B, #2C, #2D, #2E, #2F,
db #30, #31, #32, #33, #34, #35, #36, #37, #38, #39, #3A, #3B, #3C, #3D, #3E, #3F,
db #40, #41, #42, #43, #44, #45, #46, #47, #48, #49, #4A, #4B, #4C, #4D, #4E, #4F,
db #50, #51, #52, #53, #54, #55, #56, #57, #58, #59, #5A, #5B, #5C, #5D, #5E, #5F,
db #60, #61, #62, #63, #64, #65, #66
sbr_vec:
dw _initSystem
dw _reInitSystem
dw _getCliVersion
dw _reserved
dw _clearTxtMemory
dw _clearGfxMemory
dw _switchTxtMode
dw _switchGfxMode
dw _setGfxColorMode
dw _setGfxResolution
dw _setScreenOffsetX
dw _setScreenOffsetY
dw _printInit
dw _editInit
dw _printString
dw _printInputString
dw _printOkString
dw _printErrorString
dw _printAppNameString
dw _printCopyrightString
dw _printInfoString
dw _printStatusString
dw _printStatusOk
dw _printStatusError
dw _printErrParams
dw _printFileNotFound
dw _printFileTooBig
dw _printRestore
dw _printContinue
dw _printInputYN
dw _printInputRIA
dw _printCodeDisable
dw _printWithScroll
dw _clearIBuffer
dw _checkCallKeys
dw _loadFile
dw _loadFileLimit
dw _loadFileParts
dw _loadNextPart
dw _saveFile
dw _saveFileParts
dw _saveNextPart
dw _createFile
dw _createDir
dw _deleteFileDir
dw _renameFileDir
dw _checkFileExist
dw _checkDirExist
dw _getTxtPalette
dw _getGfxPalette
dw _setTxtPalette
dw _setGfxPalette
dw _setFont
dw _str2int
dw _int2str
dw _char2str
dw _char2hex-1
dw _fourbit2str
dw _mult16x8-1
dw _divide16_16
dw _parseLine
dw _printSymbolRepeat
dw _eatSpaces
dw _setAppCallBack
dw _setRamPage0Ext
dw _getRamAlloc
dw _moveScreenInit
dw _moveScreenUp
dw _moveScreenDown
dw _moveScreenLeft
dw _moveScreenRight
dw _getNumberFromParams
dw _getHexFromParams
dw _getHexPairFromParams
dw _nvRamOpen
dw _nvRamClose
dw _nvRamGetData
dw _nvRamSetData
dw _ps2Init
dw _ps2ResetKeyboard
dw _ps2GetScanCode
dw _getKeyWithShift
dw _waitAnyKey
dw _reserved
dw _reserved
dw _enableNvram
dw _disableNvram
dw _getLocale
dw _setMouseCursor
dw _enableAyPlay
dw _disableAyPlay
dw _uploadAyModule
dw _setPalNow
dw _showHideCursor
dw _setCurrentInk
dw _getCurrentInk
dw _setCurrentPaper
dw _getCurrentPaper
dw _long2str
dw _getCurrentDate
dw _getCurrentTime
dw _getMonthNameByNumber-1
dw _getDayNameByNumber-1