Vhex-kernel/src/kernel/util/disasm/syscalls.c

512 lines
22 KiB
C

#include <kernel/util/disasm.h>
#include <stdio.h>
const char *disasm_check_syscalls(uint32_t argument)
{
extern const struct sysname_s sh7305_syscalls[];
static char buffer[64];
const char *sysname;
uint32_t *systab;
// @note:
// Casio doesn't use the TRAPA instruction (software interruption), for switch from
// user mode to privileged mode. They just jump always at 0x80010070 and use the
// table of syscall addresses to redirect the jump. (and the table address is always
// stored at 0x8001007c).
systab = (uint32_t *)(ptrdiff_t)(*(uint32_t *)0x8001007c);
// Try to find the syscall name
sysname = "unknown";
for (uint32_t i = 0 ; i < 0x1000 ; ++i) {
if (systab[i] != argument)
continue;
for (int j = 0 ; sh7305_syscalls[j].name != NULL ; ++j) {
if (sh7305_syscalls[j].syscall == i) {
sysname = sh7305_syscalls[j].name;
break;
}
}
sprintf(buffer, "%%0x%.4x %s", i, sysname);
return (buffer);
}
return (NULL);
}
const struct sysname_s sh7305_syscalls[] = {
//
// Simon Lothar"},
//
{.syscall = 0x001, .name = "vbr_tlb_error"},
{.syscall = 0x002, .name = "vbr_cpu_address"},
{.syscall = 0x003, .name = "vbr_tlb_exception"},
{.syscall = 0x005, .name = "App_RegisterAddins"},
{.syscall = 0x009, .name = "App_FindFreeAddinSlot"},
{.syscall = 0x00a, .name = "App_GetAddinHeaderAddr"},
{.syscall = 0x00e, .name = "App_GetAddindEstrip"},
{.syscall = 0x013, .name = "GlibAddinAplExecutionCheck"},
{.syscall = 0x014, .name = "GlibGetAddinLibInfo"},
{.syscall = 0x015, .name = "GlibGetOSVersionInfo"},
{.syscall = 0x018, .name = "MMU_FlushCache"},
{.syscall = 0x01b, .name = "T6K11_Clear"},
{.syscall = 0x01c, .name = "Bdisp_WriteGraph_VRAM"},
{.syscall = 0x01d, .name = "Bdisp_WriteGraph_DD"},
{.syscall = 0x01e, .name = "Bdisp_WriteGraph_DDVRAM"},
{.syscall = 0x022, .name = "Bdisp_ReadArea_VRAM"},
{.syscall = 0x023, .name = "Bdisp_ReadArea_DD"},
{.syscall = 0x024, .name = "Bdisp_GetDisp_DD"},
{.syscall = 0x025, .name = "T6K11_ReadCurrentPage"},
{.syscall = 0x026, .name = "T6K11_ReadPage"},
{.syscall = 0x027, .name = "T6K11_WritePage"},
{.syscall = 0x028, .name = "Bdisp_PutDisp_DD"},
{.syscall = 0x02a, .name = "Bdisp_DrawShapeToVRAM"},
{.syscall = 0x02f, .name = "Bdisp_DrawShapeToVRAM"},
{.syscall = 0x030, .name = "Bdisp_DrawLineVRAM"},
{.syscall = 0x031, .name = "Bdisp_ClearLineVRAM"},
{.syscall = 0x032, .name = "Bdisp_DrawShapeToDD"},
{.syscall = 0x033, .name = "Bdisp_DrawShapeToVRAM_DD"},
{.syscall = 0x034, .name = "Bdisp_DrawShapeToDD"},
{.syscall = 0x035, .name = "Bdisp_DrawShapeToVRAM_DD"},
{.syscall = 0x039, .name = "RTC_Reset"},
{.syscall = 0x03a, .name = "RTC_GetTime"},
{.syscall = 0x03b, .name = "RTC_GetTicks"},
{.syscall = 0x03c, .name = "RTC_Elapsed_ms"},
{.syscall = 0x05c, .name = "Num_UIntToBCD"},
{.syscall = 0x05d, .name = "Num_BCDToUInt"},
{.syscall = 0x118, .name = "Timer_Install"},
{.syscall = 0x119, .name = "Timer_Deinstall"},
{.syscall = 0x11a, .name = "Timer_Start"},
{.syscall = 0x11b, .name = "Timer_Stop"},
{.syscall = 0x11f, .name = "Bdisp_PutDispArea_DD"},
{.syscall = 0x12d, .name = "DD_Poweroff"},
{.syscall = 0x130, .name = "Wait_ms"},
{.syscall = 0x132, .name = "DD_SetContrast"},
{.syscall = 0x133, .name = "DD_SetFRS"},
{.syscall = 0x134, .name = "DD_SetBias"},
{.syscall = 0x135, .name = "GetVRAMAddress"},
{.syscall = 0x136, .name = "GetCharacterGlyph"},
{.syscall = 0x137, .name = "GetCharacterMiniGlyph"},
{.syscall = 0x138, .name = "Cursor_SetPosition"},
{.syscall = 0x139, .name = "Cursor_SetFlashStyle"},
{.syscall = 0x13a, .name = "Cursor_SetFlashMode"},
{.syscall = 0x13b, .name = "Cursor_GetSettings"},
{.syscall = 0x13c, .name = "Print_OS"},
{.syscall = 0x142, .name = "Bdisp_AllClr_DD"},
{.syscall = 0x143, .name = "Bdisp_AllClr_VRAM"},
{.syscall = 0x144, .name = "Bdisp_AllClr_DDVRAM"},
{.syscall = 0x145, .name = "Bdisp_GetDisp_VRAM"},
{.syscall = 0x146, .name = "Bdisp_SetPoint_VRAM"},
{.syscall = 0x147, .name = "Bdisp_SetPoint_DD"},
{.syscall = 0x148, .name = "Bdisp_SetPoint_DDVRAM"},
{.syscall = 0x149, .name = "Bdisp_GetPoint_VRAM"},
{.syscall = 0x14a, .name = "Bdisp_AreaClr_DD"},
{.syscall = 0x14b, .name = "Bdisp_AreaClr_VRAM"},
{.syscall = 0x14c, .name = "Bdisp_AreaClr_DDVRAM"},
{.syscall = 0x14d, .name = "Bdisp_AreaReverseVRAM"},
{.syscall = 0x150, .name = "PrintXY"},
{.syscall = 0x153, .name = "Disp_Save"},
{.syscall = 0x154, .name = "Disp_Restore"},
{.syscall = 0x155, .name = "Disp_GetPtr"},
{.syscall = 0x156, .name = "PopUpWin"},
{.syscall = 0x158, .name = "Disp_Manage"},
{.syscall = 0x159, .name = "System_UpdateOS"},
{.syscall = 0x15d, .name = "PrintCR"},
{.syscall = 0x15f, .name = "atoi"},
{.syscall = 0x160, .name = "LongToAsc"},
{.syscall = 0x161, .name = "LongToAscHex"},
{.syscall = 0x162, .name = "pc_toupper"},
{.syscall = 0x163, .name = "pc_tolower"},
{.syscall = 0x172, .name = "strcmp"},
{.syscall = 0x173, .name = "strcmp"},
{.syscall = 0x175, .name = "some_datatable"},
{.syscall = 0x176, .name = "DiagnosticMode"},
{.syscall = 0x18a, .name = "InvertMem"},
{.syscall = 0x19f, .name = "SMEM_Optimization"},
{.syscall = 0x1a9, .name = "GUI_ProgressBar"},
{.syscall = 0x1b7, .name = "Get8x8BitmapPointer_1"},
{.syscall = 0x1b8, .name = "Get8x8BitmapPointer_2"},
{.syscall = 0x1b9, .name = "Get8x8BitmapPointer_3"},
{.syscall = 0x1ba, .name = "Get8x8BitmapPointer_4"},
{.syscall = 0x1bb, .name = "Get8x8BitmapPointer_5"},
{.syscall = 0x1bc, .name = "Get8x8BitmapPointer_6"},
{.syscall = 0x1bd, .name = "Get8x8BitmapPointer_7"},
{.syscall = 0x1e8, .name = "SMEM_OpenFile"},
{.syscall = 0x20e, .name = "StorageMemory_GetFilePos"},
{.syscall = 0x236, .name = "RebootOS"},
{.syscall = 0x23d, .name = "RTC_TriggerAlarm"},
{.syscall = 0x23e, .name = "RTC_SetDateTime"},
{.syscall = 0x241, .name = "Keyboard_ClrBuffer"},
{.syscall = 0x242, .name = "Bkey_Set_RepeatTime"},
{.syscall = 0x243, .name = "Bkey_Get_RepeatTime"},
{.syscall = 0x244, .name = "Bkey_Set_RepeatTime_Default"},
{.syscall = 0x245, .name = "Keyboard_EnableAutoRepeat"},
{.syscall = 0x246, .name = "Keyboard_DisableAutoRepeat"},
{.syscall = 0x247, .name = "Keyboard_GetKeyWait"},
{.syscall = 0x248, .name = "Keyboard_PutKeycode"},
{.syscall = 0x249, .name = "Keyboard_GetKeyDownTime"},
{.syscall = 0x24a, .name = "Keyboard_IsAnyKeyDown"},
{.syscall = 0x24b, .name = "Keyboard_IsSpecialKeyDown"},
{.syscall = 0x24c, .name = "Keyboard_IsSpecialKeyDown"},
{.syscall = 0x24d, .name = "Keyboard_KeyDown"},
{.syscall = 0x24e, .name = "Keyboard_SecondaryInterruptHandler"},
{.syscall = 0x24f, .name = "Keyboard_PutKeymatrixCode"},
{.syscall = 0x251, .name = "Keyboard_TimerHandler"},
{.syscall = 0x25e, .name = "Keyboard_PrimaryInterruptHandler"},
{.syscall = 0x268, .name = "GetFKeyIconPointer"},
{.syscall = 0x284, .name = "BCD_GetNaN"},
{.syscall = 0x285, .name = "Serial_Open_57600"},
{.syscall = 0x286, .name = "BCD_AnsToSerial"},
{.syscall = 0x28d, .name = "Comm_Open"},
{.syscall = 0x28e, .name = "Comm_Close"},
{.syscall = 0x28f, .name = "Comm_WaitForAnyBuffer"},
{.syscall = 0x290, .name = "Comm_ReadOneByte"},
{.syscall = 0x291, .name = "Comm_TransmitOneByte"},
{.syscall = 0x292, .name = "Comm_WaitForAndReadNBytes"},
{.syscall = 0x293, .name = "Comm_TransmitNBytes"},
{.syscall = 0x294, .name = "Comm_ClearReceiveBuffer"},
{.syscall = 0x295, .name = "Comm_ClearTransmitBuffer"},
{.syscall = 0x296, .name = "Comm_IsValidPacketAvailable"},
{.syscall = 0x298, .name = "Comm_IsOpen"},
{.syscall = 0x299, .name = "Comm_GetCurrentSelector"},
{.syscall = 0x2a1, .name = "HexToByte"},
{.syscall = 0x2a2, .name = "HexToWord"},
{.syscall = 0x2a3, .name = "ByteToHex"},
{.syscall = 0x2a4, .name = "WordToHex"},
{.syscall = 0x2a5, .name = "Comm_Padding_5C"},
{.syscall = 0x2a6, .name = "Comm_ReversePadding_5C"},
{.syscall = 0x2a7, .name = "AscHexToNibble"},
{.syscall = 0x2a8, .name = "NibbleToAscHex"},
{.syscall = 0x2a9, .name = "strlen"},
{.syscall = 0x2aa, .name = "slow_memcpy"},
{.syscall = 0x2ab, .name = "Serial_Open2"},
{.syscall = 0x2af, .name = "Comm_Spy0thByte"},
{.syscall = 0x2db, .name = "Comm_ProcessInPacket"},
{.syscall = 0x2e1, .name = "Comm_PrepareAckPacket"},
{.syscall = 0x2e2, .name = "Comm_PrepareErrorPacket"},
{.syscall = 0x2e3, .name = "Comm_PrepareTerminatePacket"},
{.syscall = 0x2e4, .name = "Comm_PrepareRoleswapPacket"},
{.syscall = 0x2e5, .name = "Comm_PrepareCheckPacket"},
{.syscall = 0x2e6, .name = "Comm_PrepareCommandPacket"},
{.syscall = 0x2e7, .name = "Comm_PrepareDataPacket"},
{.syscall = 0x2ee, .name = "System_GetOSVersion"},
{.syscall = 0x35e, .name = "memset_range"},
{.syscall = 0x35f, .name = "memset"},
{.syscall = 0x363, .name = "MCS_CreateDirectory"},
{.syscall = 0x364, .name = "MCS_WriteItem"},
{.syscall = 0x366, .name = "MCS_DeleteDirectory"},
{.syscall = 0x367, .name = "MCS_DeleteItem"},
{.syscall = 0x368, .name = "MCS_GetState"},
{.syscall = 0x369, .name = "MCS_GetSystemDirectoryInfo"},
{.syscall = 0x370, .name = "MCS_RenameItem"},
{.syscall = 0x371, .name = "MCS_OverwriteData"},
{.syscall = 0x372, .name = "MCS_GetItemData"},
{.syscall = 0x373, .name = "MCS_RenameDirectory"},
{.syscall = 0x374, .name = "BMCSRenameVariable"},
{.syscall = 0x375, .name = "MCS_SearchDirectory"},
{.syscall = 0x376, .name = "MCS_SearchDirectoryItem"},
{.syscall = 0x37c, .name = "MCS_GetFirstDataPointerByDirno"},
{.syscall = 0x37d, .name = "MCS_GetDirectoryEntryByNumber"},
{.syscall = 0x37e, .name = "MCS_SearchItem"},
{.syscall = 0x37f, .name = "MCS_str8cpy"},
{.syscall = 0x380, .name = "MCS_GetDirectoryEntryAddress"},
{.syscall = 0x381, .name = "MCS_GetCurrentBottomAddress"},
{.syscall = 0x383, .name = "MCS_GetCapa"},
{.syscall = 0x392, .name = "MCS_GetMainMemoryStart"},
{.syscall = 0x3dc, .name = "Setup_GetInfo"},
{.syscall = 0x3ea, .name = "SYSCALL_3ea_DATATABLE"},
{.syscall = 0x3ed, .name = "Interrupt_SetOrClrStatusFlags"},
{.syscall = 0x3ee, .name = "Interrupt_QueryStatusFlags"},
{.syscall = 0x3f4, .name = "PowerOff"},
{.syscall = 0x3f5, .name = "ClearMainMemory"},
{.syscall = 0x3f6, .name = "SH7337_TMU_Stop"},
{.syscall = 0x3f7, .name = "SH7337_TMU_int_handler"},
{.syscall = 0x3fa, .name = "Hmem_SetMMU"},
{.syscall = 0x3fb, .name = "MMU_ConfigureAndFlush"},
{.syscall = 0x3fc, .name = "TLB_SetAddressValue"},
{.syscall = 0x3fe, .name = "GetStackPtr"},
{.syscall = 0x3ff, .name = "MMU_FlushCache"},
{.syscall = 0x400, .name = "MMU_ConfigureAndEnable"},
{.syscall = 0x404, .name = "GetPhysicalROMstart"},
{.syscall = 0x405, .name = "GetPhysicalRAMstart"},
{.syscall = 0x409, .name = "Serial_ResetAndDisable"},
{.syscall = 0x40a, .name = "Serial_GetInterruptHandler"},
{.syscall = 0x40b, .name = "Serial_SetInterruptHandler"},
{.syscall = 0x40c, .name = "Serial_ReadOneByte"},
{.syscall = 0x40d, .name = "Serial_ReadNBytes"},
{.syscall = 0x40e, .name = "Serial_BufferedTransmitOneByte"},
{.syscall = 0x40f, .name = "Serial_BufferedTransmitNBytes"},
{.syscall = 0x410, .name = "Serial_DirectTransmitOneByte"},
{.syscall = 0x411, .name = "Serial_GetReceivedBytesAvailable"},
{.syscall = 0x412, .name = "Serial_GetFreeTransmitSpace"},
{.syscall = 0x413, .name = "Serial_ClearReceiveBuffer"},
{.syscall = 0x414, .name = "Serial_ClearTransmitBuffer"},
{.syscall = 0x418, .name = "Serial_Open"},
{.syscall = 0x419, .name = "Serial_Close"},
{.syscall = 0x41b, .name = "Serial_CallReceiveIntErrorResetHandler"},
{.syscall = 0x41c, .name = "Serial_CallReceiveIntHandler"},
{.syscall = 0x41d, .name = "Serial_CallTransmitIntErrorResetHandler"},
{.syscall = 0x41e, .name = "Serial_CallTransmitIntHandler"},
{.syscall = 0x420, .name = "OS_inner_Sleep"},
{.syscall = 0x422, .name = "Serial_SpyNthByte"},
{.syscall = 0x423, .name = "Serial_GetStatus"},
{.syscall = 0x425, .name = "Serial_IsOpen"},
{.syscall = 0x429, .name = "Bfile_identify_device_OS"},
{.syscall = 0x42c, .name = "Bfile_OpenFile_OS"},
{.syscall = 0x42d, .name = "Bfile_CloseFile_OS"},
{.syscall = 0x42e, .name = "Bfile_GetMediaFree_OS"},
{.syscall = 0x42f, .name = "Bfile_GetFileSize_OS"},
{.syscall = 0x431, .name = "Bfile_SeekFile_OS"},
{.syscall = 0x432, .name = "Bfile_ReadFile_OS"},
{.syscall = 0x434, .name = "Bfile_CreateEntry_OS"},
{.syscall = 0x435, .name = "Bfile_WriteFile_OS"},
{.syscall = 0x438, .name = "Bfile_RenameEntry"},
{.syscall = 0x439, .name = "Bfile_DeleteEntry"},
{.syscall = 0x43b, .name = "Bfile_FindFirst"},
{.syscall = 0x43c, .name = "Bfile_FindNext"},
{.syscall = 0x43d, .name = "Bfile_FindClose"},
{.syscall = 0x44e, .name = "memcpy"},
{.syscall = 0x44f, .name = "memcmp"},
{.syscall = 0x450, .name = "Bfile_GetFilenameLength"},
{.syscall = 0x451, .name = "Bfile_Name_cmp"},
{.syscall = 0x452, .name = "Bfile_Name_cpy"},
{.syscall = 0x453, .name = "Bfile_Name_ncpy"},
{.syscall = 0x456, .name = "Bfile_NameToStr_ncpy"},
{.syscall = 0x457, .name = "Bfile_StrToName_ncpy"},
{.syscall = 0x462, .name = "GetAppName"},
{.syscall = 0x463, .name = "SetAppName"},
{.syscall = 0x464, .name = "CmpAppName"},
{.syscall = 0x465, .name = "GetIntPtrContent"},
{.syscall = 0x467, .name = "LongToAscHex"},
{.syscall = 0x468, .name = "hasSDOption"},
{.syscall = 0x469, .name = "Battery_DisplayLowStatus"},
{.syscall = 0x46b, .name = "App_BuiltInCount"},
{.syscall = 0x476, .name = "Battery_IsLow"},
{.syscall = 0x477, .name = "EnableGetkeyToMainFunctionReturn"},
{.syscall = 0x478, .name = "DisableGetkeyToMainFunctionReturn"},
{.syscall = 0x47f, .name = "SetAutoPowerOffTime"},
{.syscall = 0x480, .name = "GetAutoPowerOffTime"},
{.syscall = 0x486, .name = "GetdatatablePtr"},
{.syscall = 0x48d, .name = "SetAutoPowerOffFlag"},
{.syscall = 0x48e, .name = "GetAutoPowerOffFlag"},
{.syscall = 0x492, .name = "Battery_IsLow"},
{.syscall = 0x494, .name = "CallbackAtQuitMainFunction"},
{.syscall = 0x495, .name = "Battery_DisplayLowStatus"},
{.syscall = 0x499, .name = "Heap_SetTopChunk"},
{.syscall = 0x49a, .name = "App_Start"},
{.syscall = 0x49c, .name = "Battery_GetStatus"},
{.syscall = 0x49e, .name = "RebootOS"},
{.syscall = 0x4a0, .name = "AUX_DisplayErrorMessage"},
{.syscall = 0x4ad, .name = "USB_InterruptHandler"},
{.syscall = 0x4ae, .name = "USB_TimerHandler"},
{.syscall = 0x4b0, .name = "AUX_DisplayFKeyIcons"},
{.syscall = 0x4cb, .name = "Keyboard_RemapFKeyCode"},
{.syscall = 0x4d1, .name = "AUX_DisplayFKeyIcon"},
{.syscall = 0x4dc, .name = "Setup_GetEntry"},
{.syscall = 0x4dd, .name = "Setup_SetEntry"},
{.syscall = 0x4de, .name = "Setup_GetEntryPtr"},
{.syscall = 0x4df, .name = "Alpha_GetData"},
{.syscall = 0x4e0, .name = "Alpha_SetData"},
{.syscall = 0x4e1, .name = "Alpha_ClearAll"},
{.syscall = 0x4e6, .name = "HourGlass"},
{.syscall = 0x4e9, .name = "LocalizeStringID"},
{.syscall = 0x4f5, .name = "BCD_ToStrAsNumber1"},
{.syscall = 0x4f6, .name = "BCD_ToStrAsNumber2"},
{.syscall = 0x500, .name = "BCDToInternal"},
{.syscall = 0x518, .name = "Setup_GetEntry_3E"},
{.syscall = 0x519, .name = "Setup_GetEntry_40"},
{.syscall = 0x51a, .name = "Setup_SetEntry_3E"},
{.syscall = 0x51b, .name = "Setup_SetEntry_40"},
{.syscall = 0x531, .name = "MB_IsLead"},
{.syscall = 0x533, .name = "MB_ElementCount"},
{.syscall = 0x534, .name = "MB_ByteCount"},
{.syscall = 0x536, .name = "MB_strcat"},
{.syscall = 0x537, .name = "MB_strncat"},
{.syscall = 0x538, .name = "MB_strcpy"},
{.syscall = 0x53c, .name = "MB_GetSecondElemPtr"},
{.syscall = 0x53d, .name = "MB_GetElement"},
{.syscall = 0x53e, .name = "MB_CopyToHeap"},
{.syscall = 0x53f, .name = "memcmp"},
{.syscall = 0x541, .name = "itoa"},
{.syscall = 0x542, .name = "to_uppercase"},
{.syscall = 0x543, .name = "to_lowercase"},
{.syscall = 0x544, .name = "BCD_0"},
{.syscall = 0x545, .name = "BCD_1"},
{.syscall = 0x546, .name = "BCD_2"},
{.syscall = 0x547, .name = "BCD_10"},
{.syscall = 0x548, .name = "BCD_1_over_3"},
{.syscall = 0x549, .name = "BCD_0.5"},
{.syscall = 0x54a, .name = "BCD_32767"},
{.syscall = 0x54b, .name = "BCD_m32768"},
{.syscall = 0x54c, .name = "BCD_65536"},
{.syscall = 0x54d, .name = "BCD_0x7fffffff"},
{.syscall = 0x54e, .name = "BCD_m2Gi"},
{.syscall = 0x54f, .name = "BCD_4Gi"},
{.syscall = 0x550, .name = "BCD_pi"},
{.syscall = 0x551, .name = "BCD_2pi"},
{.syscall = 0x552, .name = "BCD_pi_over_2"},
{.syscall = 0x553, .name = "BCD_e"},
{.syscall = 0x554, .name = "BCD_5"},
{.syscall = 0x5a6, .name = "BCD_SetAsInt"},
{.syscall = 0x5af, .name = "BCD_pi_over_4"},
{.syscall = 0x5b0, .name = "BCD_ln10"},
{.syscall = 0x5b1, .name = "BCD_ln2"},
{.syscall = 0x5b2, .name = "BCD_9.99e99"},
{.syscall = 0x5b3, .name = "BCD_m9.99e99"},
{.syscall = 0x5b4, .name = "BCD_9.99999999999999e99"},
{.syscall = 0x5b5, .name = "BCD_227.85"},
{.syscall = 0x5b6, .name = "BCD_sqrt2"},
{.syscall = 0x5b7, .name = "BCD_sqrt2_over_2"},
{.syscall = 0x5b8, .name = "BCD_506.6282746310"},
{.syscall = 0x645, .name = "CalculateExpression"},
{.syscall = 0x64a, .name = "CalculateExpression0"},
{.syscall = 0x652, .name = "PRGM_NextOpcode"},
{.syscall = 0x6a6, .name = "PRGM_IsEndOfLine"},
{.syscall = 0x6c4, .name = "Keyboard_PRGM_GetKey"},
{.syscall = 0x6d4, .name = "Alpha_GetData2"},
{.syscall = 0x713, .name = "Print_ClearLine"},
{.syscall = 0x763, .name = "Bdisp_DrawRectangle"},
{.syscall = 0x7fc, .name = "OpcodeToStr"},
{.syscall = 0x804, .name = "CLIP_Store"},
{.syscall = 0x807, .name = "locate"},
{.syscall = 0x808, .name = "Print"},
{.syscall = 0x809, .name = "PrintRev"},
{.syscall = 0x80a, .name = "PrintC"},
{.syscall = 0x80b, .name = "PrintRevC"},
{.syscall = 0x80c, .name = "PrintLine"},
{.syscall = 0x80d, .name = "PrintRLine"},
{.syscall = 0x80e, .name = "Cursor_GetFlashStyle"},
{.syscall = 0x80f, .name = "Cursor_GetSettings"},
{.syscall = 0x811, .name = "Cursor_SetFlashOn"},
{.syscall = 0x812, .name = "Cursor_SetFlashOff"},
{.syscall = 0x813, .name = "SaveDisp"},
{.syscall = 0x814, .name = "RestoreDisp"},
{.syscall = 0x829, .name = "MCS_CreateDirectory"},
{.syscall = 0x82a, .name = "MCS_PutInternalItem"},
{.syscall = 0x82b, .name = "MCSPutVar2"},
{.syscall = 0x830, .name = "MCSOvwDat2"},
{.syscall = 0x832, .name = "MCS_OverwriteOpenItem"},
{.syscall = 0x833, .name = "MCS_ClearInternalDirectory"},
{.syscall = 0x834, .name = "MCS_ClearDirectory"},
{.syscall = 0x835, .name = "MCS_DeleteInternalItem"},
{.syscall = 0x836, .name = "MCSDelVar2"},
{.syscall = 0x83a, .name = "MCS_GotoInternalItem"},
{.syscall = 0x83b, .name = "MCS_OpenMainMemoryItem"},
{.syscall = 0x83c, .name = "MCS_GotoHandleNeighbour"},
{.syscall = 0x83d, .name = "MCS_CheckOpenedItem"},
{.syscall = 0x83e, .name = "MCS_GetOpenItem"},
{.syscall = 0x83f, .name = "MCS_OpenInternalDirectoryItem"},
{.syscall = 0x840, .name = "MCSGetDlen2"},
{.syscall = 0x841, .name = "MCSGetData1"},
{.syscall = 0x843, .name = "MCS_MapMCS_Result"},
{.syscall = 0x844, .name = "MCSGetCapa"},
{.syscall = 0x84d, .name = "MCS_OpenAlphaMemItem"},
{.syscall = 0x852, .name = "MCS_DirtypeToItemtype"},
{.syscall = 0x853, .name = "MCS_ItemtypeToDirtype"},
{.syscall = 0x863, .name = "MCS_DirtypeToName"},
{.syscall = 0x866, .name = "MCS_MapError"},
{.syscall = 0x869, .name = "Alpha_ClearAllAndAns"},
{.syscall = 0x86f, .name = "MCS_DeleteDirectoryItems"},
{.syscall = 0x8db, .name = "EditExpression"},
{.syscall = 0x8dc, .name = "EditValue"},
{.syscall = 0x8e6, .name = "EditMBStringCtrl"},
{.syscall = 0x8ea, .name = "DisplayMBString"},
{.syscall = 0x8ec, .name = "EditMBStringChar"},
{.syscall = 0x8f7, .name = "DisplayMBString2"},
{.syscall = 0x8fe, .name = "PopupWin"},
{.syscall = 0x901, .name = "DisplayMessageBox"},
{.syscall = 0x905, .name = "DisplayErrorMessage"},
{.syscall = 0x90b, .name = "SetShiftAlphaState"},
{.syscall = 0x90c, .name = "GetInsOverwriteState"},
{.syscall = 0x90d, .name = "SetInsOverwriteState"},
{.syscall = 0x90e, .name = "ClrShiftAlphaState"},
{.syscall = 0x90f, .name = "GetKey"},
{.syscall = 0x910, .name = "PutKey"},
{.syscall = 0x91b, .name = "GetShiftAlphaState"},
{.syscall = 0x924, .name = "TestMode"},
{.syscall = 0x954, .name = "DisplayErrorMessage"},
{.syscall = 0x985, .name = "App_CONICS"},
{.syscall = 0x998, .name = "App_DYNA"},
{.syscall = 0x9ad, .name = "PrintXY"},
{.syscall = 0x9df, .name = "App_EACT"},
{.syscall = 0x9e1, .name = "App_Equation"},
{.syscall = 0x9e2, .name = "App_EQUA"},
{.syscall = 0x9f5, .name = "App_Program"},
{.syscall = 0xa00, .name = "App_FINANCE"},
{.syscall = 0xa1f, .name = "Keyboard_RemapFKeyCode"},
{.syscall = 0xa35, .name = "AUX_DisplayMessage"},
{.syscall = 0xa48, .name = "App_GRAPH_TABLE"},
{.syscall = 0xa4a, .name = "App_LINK"},
{.syscall = 0xa6a, .name = "App_Optimization"},
{.syscall = 0xa6b, .name = "App_Memory"},
{.syscall = 0xa75, .name = "App_RECUR"},
{.syscall = 0xa97, .name = "App_RUN_MAT_EXE"},
{.syscall = 0xaae, .name = "App_RUN_MAT"},
{.syscall = 0xac6, .name = "App_STAT"},
{.syscall = 0xac8, .name = "App_SYSTEM"},
{.syscall = 0xacc, .name = "free"},
{.syscall = 0xacd, .name = "malloc"},
{.syscall = 0xace, .name = "memcmp"},
{.syscall = 0xacf, .name = "smart_memcpy"},
{.syscall = 0xad0, .name = "memset"},
{.syscall = 0xad4, .name = "strcat"},
{.syscall = 0xad5, .name = "smart_strcmp"},
{.syscall = 0xad6, .name = "strlen"},
{.syscall = 0xad7, .name = "strncat"},
{.syscall = 0xad8, .name = "strncmp"},
{.syscall = 0xad9, .name = "strncpy"},
{.syscall = 0xada, .name = "strrchr"},
{.syscall = 0xae8, .name = "CatalogDialog"},
{.syscall = 0xc4f, .name = "PrintMiniSd"},
{.syscall = 0xca7, .name = "OpcodeType"},
{.syscall = 0xcb0, .name = "Basic_Send_Send38k"},
{.syscall = 0xcb1, .name = "Basic_Receive_Receive38k"},
{.syscall = 0xcb2, .name = "Basic_OpenComPort38k_CloseComPort38k"},
{.syscall = 0xcc4, .name = "InputNumber"},
{.syscall = 0xcc5, .name = "InputString"},
{.syscall = 0xccb, .name = "GetRAMSize"},
{.syscall = 0xcd0, .name = "another_diagnostic_dialog"},
{.syscall = 0xd64, .name = "InputDateDialog"},
{.syscall = 0xd65, .name = "InputMonthDialog"},
{.syscall = 0xd66, .name = "InputDayDialog"},
{.syscall = 0xd67, .name = "InputYearDialog"},
{.syscall = 0xdab, .name = "StoreExpressionToGraphFuncMemory"},
{.syscall = 0xe6b, .name = "calloc"},
{.syscall = 0xe6c, .name = "memmove"},
{.syscall = 0xe6d, .name = "realloc"},
{.syscall = 0xe6e, .name = "strchr"},
{.syscall = 0xe6f, .name = "strstr"},
//
// LEPHE"},
//
{.syscall = 0x001, .name = "TLB_exception_handler (protection)"},
{.syscall = 0x001, .name = "TLB_exception_handler (protection)"},
{.syscall = 0x002, .name = "CPU address error handler (instruction/data)"},
{.syscall = 0x000, .name = "sys_init"},
{.syscall = 0x004, .name = "tlb_init"},
{.syscall = 0x3fc, .name = "tlb_map"},
{.syscall = 0xac9, .name = "longjmp"},
{.syscall = 0xaca, .name = "setjmp"},
//
// Stop
//
{.syscall = 0xfff, .name = NULL},
};