bcall index
The main table below lists the live-confirmed 0x4xxx bcall system calls. Each has an ID (the 2-byte value after rst 28h) and a body at page:addr. Use your browser’s find, or the wiki search box. See The bcall Mechanism for how dispatch works. The 0x8xxx boot bcall names at the end are official SDK equates resolved from the retail boot table on page 3F; USB boot entries point into page 2F.
| bcall | ID | Body (page:addr) |
|---|---|---|
app_5de7 | 5326 | 3D:5DE7 |
arc_5936 | 51AC | 07:5936 |
arc_59f1 | 4A68 | 07:59F1 |
cplx_op_arrange | 4648 | 02:494F |
c_log_prep | 50FE | 02:6F1B |
disp_paged_str | 51CA | 01:7C4D |
draw_zero_op1 | 4873 | 04:620B |
drw_5df1 | 53F5 | 04:5DF1 |
drw_5df4 | 4825 | 04:5DF4 |
drw_638e | 487C | 04:638E |
dsp_6240 | 4C42 | 01:6240 |
dsp_65ea | 4D6B | 01:65EA |
edt_5d6f | 5464 | 03:5D6F |
edt_69f8 | 5461 | 03:69F8 |
edt_6bd1 | 5458 | 03:6BD1 |
fps_push_real | 4A83 | 07:6365 |
fpx_4a7b | 5185 | 02:4A7B |
fpx_5d70 | 4669 | 02:5D70 |
fpx_5dbb | 466C | 02:5DBB |
fpx_7069 | 5101 | 02:7069 |
fpx_7d9d | 533B | 02:7D9D |
fpx_7dfe | 5338 | 02:7DFE |
get_pos_list_elem | 4666 | 02:5BBB |
_GetVarVersion | 510A | 33:5023 |
_GET_INDEX_LST | 47C8 | 33:707A |
_HEAP_SORT | 47CB | 33:7097 |
_PUT_INDEX_LST | 47C5 | 33:7066 |
grc_454b | 5263 | 37:454B |
grc_4556 | 5266 | 37:4556 |
grc_4575 | 5269 | 37:4575 |
_DispAppRestrictions | 52FF | 37:4611 |
grc_51c2 | 517F | 37:51C2 |
grc_5223 | 51A0 | 37:5223 |
grc_5d44 | 51D6 | 37:5D44 |
grc_5f42 | 5200 | 37:5F42 |
grc_60cb | 51FA | 37:60CB |
grf_435f | 5140 | 33:435F |
grf_5e06 | 5476 | 33:5E06 |
lcd_blit_region | 4D26 | 07:5431 |
link_xfer_op | 50FB | 3C:4DD2 |
list_idx_times9 | 53D1 | 35:79E9 |
lnk_62b0 | 5182 | 3C:62B0 |
mde_7da9 | 49DB | 36:7DA9 |
mnu_6ddb | 5467 | 39:6DDB |
op1_int_part_neg | 489A | 04:74E8 |
push_zero_op1 | 4651 | 02:49C0 |
rcl_c_list_elem | 464B | 02:49A7 |
rcl_c_list_elem_b | 464E | 02:49B5 |
rcl_list_elem_b | 463C | 02:47FE |
rcl_list_elem_to_op1 | 4639 | 02:47FB |
rcl_var_push | 4B9A | 3A:5D07 |
screen_split | 5227 | 05:7712 |
scr_4056 | 51F1 | 05:4056 |
scr_4619 | 51E5 | 05:4619 |
sta_5d3c | 5203 | 35:5D3C |
sta_5eef | 4B9D | 3A:5EEF |
sta_760f | 4BA9 | 3A:760F |
vert_split_draw | 48DC | 05:5D88 |
_AbsO1O2Cp | 410E | 00:1987 |
_AbsO1PAbsO2 | 405A | 00:225B |
_ACos | 40DE | 02:76DF |
_ACosH | 40F0 | 02:7964 |
_ACosRad | 40D2 | 02:76C9 |
_AdrLEle | 462D | 02:47C5 |
_AdrMEle | 4609 | 02:4002 |
_AdrMRow | 4606 | 02:4000 |
_AHEADEQUAL | 4B49 | 34:5A99 |
_AllEq | 4876 | 04:6218 |
_AllocFPS | 43A5 | 00:1534 |
_AllocFPS1 | 43A8 | 00:1537 |
_Angle | 4102 | 02:6A38 |
_AnsName | 4B52 | 38:74B7 |
_ApdSetup | 4C93 | 00:03AE |
_AppGetCalc | 4C78 | 3B:54EC |
_AppGetCbl | 4C75 | 3B:54C3 |
_AppInit | 404B | 00:0936 |
_Arc_Unarc | 4FD8 | 07:6248 |
_ArcChk | 5014 | 3D:61AF |
_ASin | 40E4 | 02:76F1 |
_ASinH | 40ED | 02:7956 |
_ASinRad | 40DB | 02:76DA |
_ATan | 40E1 | 02:76E9 |
_ATan2 | 40E7 | 02:7749 |
_ATan2Rad | 40D8 | 02:76D4 |
_ATanH | 40EA | 02:7909 |
_ATanRad | 40D5 | 02:76CF |
_BinOPExec | 4663 | 02:53DD |
_Bit_VertSplit | 4FA8 | 00:215D |
_BufClear | 4936 | 00:222E |
_BufClr | 5074 | 04:6074 |
_BufCpy | 5071 | 04:60A6 |
_bufInsert | 4909 | 06:42E5 |
_CAbs | 4E97 | 02:6C47 |
_CAdd | 4E88 | 02:6BA5 |
_CanAlphIns | 4C69 | 00:04C6 |
_CDiv | 4E94 | 02:6BF3 |
_CDivByReal | 4EBB | 02:6DAC |
_CEtoX | 4EA9 | 02:6D1D |
_CFrac | 4EC1 | 02:6DCF |
_CheckSplitFlag | 49F0 | 00:2060 |
_CheckTimer | 527E | 33:5F16 |
_CheckTimerRestart | 5281 | 33:5F27 |
_ChkFindSym | 42F1 | 00:0E60 |
_chkTimer0 | 5176 | 37:557E |
_chkTmr | 5143 | 37:54C1 |
_Chk_Batt_Level | 5221 | 33:4E9B |
_Chk_Batt_Low | 50B3 | 00:0D07 |
_CIntgr | 4EC4 | 02:6DDD |
_CircCmd | 47D4 | 33:74CE |
_CkInt | 4234 | 00:1E06 |
_CkOdd | 4237 | 00:1E0A |
_CkOP1C0 | 4225 | 00:1DE4 |
_CkOP1Cplx | 40FC | 00:193A |
_CkOP1FP0 | 4228 | 00:1DE9 |
_CkOP1Pos | 4258 | 00:1E5D |
_CkOP1Real | 40FF | 00:1942 |
_CkOP2FP0 | 422B | 00:1DEE |
_CkOP2Pos | 4255 | 00:1E58 |
_CkOP2Real | 42DF | 00:214E |
_CkPosInt | 4231 | 00:1DFD |
_CkValidNum | 4270 | 00:1E9B |
_CleanAll | 4A50 | 07:52CF |
_ClearParserHook | 5029 | 3B:7C3B |
_ClearRect | 4D5C | 3B:6935 |
_ClearRow | 4CED | 01:6934 |
_CLine | 4798 | 33:6028 |
_CLineS | 479B | 33:6034 |
_CLN | 4EA0 | 02:6CCA |
_CLog | 4EA3 | 02:6CE7 |
_CloseEditBuf | 48D3 | 05:5675 |
_CloseEditBufNoR | 476E | 03:4743 |
_CloseEditEqu | 496C | 06:4771 |
_CloseProg | 4A35 | 07:4FB4 |
_ClrCursorHook | 4F69 | 3B:7AEA |
_ClrGraphRef | 4A38 | 07:4FD8 |
_ClrLCD | 4543 | 01:60F5 |
_ClrLCDFull | 4540 | 01:60E4 |
_ClrLp | 41D1 | 00:1BC4 |
_ClrOP1S | 425E | 00:1E68 |
_ClrOP2S | 425B | 00:1E63 |
_ClrRawKeyHook | 4F6F | 3B:7B88 |
_ClrScrn | 4549 | 01:6167 |
_ClrScrnFull | 4546 | 01:6162 |
_ClrTxtShd | 454C | 01:616F |
_CMltByReal | 4EB8 | 02:6D94 |
_CmpSyms | 4A4A | 07:519E |
_CMult | 4E8E | 02:6BB7 |
_Conj | 4EB5 | 02:6D8F |
_ConvDim | 4B43 | 38:741F |
_ConvDim00 | 4B46 | 38:7422 |
_ConvKeyToTok | 4A02 | 07:44DE |
_ConvLcToLr | 4A23 | 07:4CFF |
_ConvLrToLc | 4A56 | 07:5368 |
_ConvOP1 | 4AEF | 38:7433 |
_COP1Set0 | 4105 | 00:195F |
_Cos | 40C0 | 02:7346 |
_CosH | 40CC | 02:762E |
_CpHLDE | 400C | 00:21BB |
_CPoint | 4DC8 | 04:43D8 |
_CPointS | 47F5 | 04:43DD |
_CpOP1OP2 | 4111 | 00:198D |
_CpOP4OP3 | 4108 | 00:197A |
_CpyO1ToFPS1 | 445C | 00:16D4 |
_CpyO1ToFPS2 | 446B | 00:16ED |
_CpyO1ToFPS3 | 4477 | 00:1701 |
_CpyO1ToFPS4 | 4489 | 00:172B |
_CpyO1ToFPS5 | 4483 | 00:171C |
_CpyO1ToFPS6 | 447D | 00:170B |
_CpyO1ToFPS7 | 4480 | 00:1712 |
_CpyO1ToFPST | 444A | 00:16B5 |
_CpyO2ToFPS1 | 4459 | 00:16CF |
_CpyO2ToFPS2 | 4462 | 00:16DE |
_CpyO2ToFPS3 | 4474 | 00:16FC |
_CpyO2ToFPS4 | 4486 | 00:1726 |
_CpyO2ToFPST | 4444 | 00:16AB |
_CpyO3ToFPS1 | 4453 | 00:16C5 |
_CpyO3ToFPS2 | 4465 | 00:16E3 |
_CpyO3ToFPST | 4441 | 00:16A6 |
_CpyO5ToFPS1 | 4456 | 00:16CA |
_CpyO5ToFPS3 | 4471 | 00:16F7 |
_CpyO6ToFPS2 | 4468 | 00:16E8 |
_CpyO6ToFPST | 4447 | 00:16B0 |
_CpyStack | 4429 | 00:167C |
_CpyTo1FPS1 | 4432 | 00:168D |
_CpyTo1FPS10 | 43F3 | 00:1617 |
_CpyTo1FPS11 | 43D8 | 00:15CF |
_CpyTo1FPS2 | 443B | 00:169C |
_CpyTo1FPS3 | 4408 | 00:1647 |
_CpyTo1FPS4 | 440E | 00:1651 |
_CpyTo1FPS5 | 43DE | 00:15DF |
_CpyTo1FPS6 | 43E4 | 00:15EF |
_CpyTo1FPS7 | 43EA | 00:15FE |
_CpyTo1FPS8 | 43ED | 00:1608 |
_CpyTo1FPS9 | 43F6 | 00:1621 |
_CpyTo1FPST | 4423 | 00:1674 |
_CpyTo2FPS1 | 442F | 00:1688 |
_CpyTo2FPS2 | 4438 | 00:1697 |
_CpyTo2FPS3 | 4402 | 00:163F |
_CpyTo2FPS4 | 43F9 | 00:162B |
_CpyTo2FPS5 | 43DB | 00:15DA |
_CpyTo2FPS6 | 43E1 | 00:15EA |
_CpyTo2FPS7 | 43E7 | 00:15F9 |
_CpyTo2FPS8 | 43F0 | 00:160D |
_CpyTo2FPST | 4420 | 00:166F |
_CpyTo3FPS1 | 442C | 00:1683 |
_CpyTo3FPS2 | 4411 | 00:1656 |
_CpyTo3FPST | 441D | 00:166A |
_CpyTo4FPST | 441A | 00:1665 |
_CpyTo5FPST | 4414 | 00:165B |
_CpyTo6FPS2 | 43FF | 00:163A |
_CpyTo6FPS3 | 43FC | 00:1635 |
_CpyTo6FPST | 4417 | 00:1660 |
_CpyToFPS1 | 445F | 00:16D7 |
_CpyToFPS2 | 446E | 00:16F0 |
_CpyToFPS3 | 447A | 00:1704 |
_CpyToFPST | 444D | 00:16B8 |
_CpyToStack | 4450 | 00:16BD |
_Create0Equ | 432A | 00:1131 |
_CreateAppVar | 4E6A | 00:114B |
_CreateCList | 431B | 00:1109 |
_CreateCplx | 430C | 00:10B0 |
_CreateEqu | 4330 | 00:113C |
_CreatePair | 4B0D | 38:6785 |
_CreatePict | 4333 | 00:1140 |
_CreateProg | 4339 | 00:1153 |
_CreateProtProg | 4E6D | 00:114F |
_CreateReal | 430F | 00:10B8 |
_CreateRList | 4315 | 00:10C4 |
_CreateRMat | 4321 | 00:1115 |
_CreateStrng | 4327 | 00:1123 |
_CRecip | 4E91 | 02:6BE6 |
_CSqRoot | 4E9D | 02:6C84 |
_CSquare | 4E8B | 02:6BB4 |
_CSub | 4E85 | 02:6BA2 |
_CTenX | 4EA6 | 02:6D08 |
_CTrunc | 4EBE | 02:6DBD |
_Cube | 407B | 00:237D |
_CursorOff | 45BE | 06:7C5F |
_CursorOn | 45C4 | 06:7D34 |
_CXrootY | 4EAC | 02:6D3B |
_CYtoX | 4EB2 | 02:6D5C |
_DarkLine | 47DD | 04:4025 |
_DarkPnt | 47F2 | 04:43D6 |
_DataSize | 436C | 00:1485 |
_DataSizeA | 4369 | 00:1466 |
_DeallocFPS | 439F | 00:1526 |
_DeallocFPS1 | 43A2 | 00:152A |
_DecO1Exp | 4267 | 00:1E6F |
_DelListEl | 4A2F | 07:4F43 |
_DelMem | 4357 | 00:1368 |
_DelRes | 4A20 | 07:72F5 |
_DelVar | 4351 | 00:1308 |
_DelVarArc | 4FC6 | 00:12D9 |
_DelVarNoArc | 4FC9 | 00:130E |
_DisableApd | 4C84 | 3B:7AA8 |
_Disp | 4F45 | 37:51D3 |
_DispDone | 45B5 | 01:69B0 |
_DispEOL | 45A6 | 01:689F |
_DispHL | 4507 | 01:5BF6 |
_DisplayImage | 4D9B | 3B:6A72 |
_DispMenuTitle | 5065 | 39:4D21 |
_DispOP1A | 4BF7 | 04:7844 |
_DivHLBy10 | 400F | 00:0269 |
_DivHLByA | 4012 | 00:026B |
_DrawCirc2 | 4C66 | 3B:7171 |
_DrawCmd | 48C1 | 04:7B8B |
_DrawRectBorder | 4D7D | 3B:68F5 |
_DrawRectBorderClear | 4D8C | 3B:692A |
_DToR | 4075 | 00:236B |
_EditProg | 4A32 | 07:4F6B |
_EnableApd | 4C87 | 3B:7AAD |
_EnoughMem | 42FD | 00:0FA6 |
_EOP1NotReal | 4279 | 00:1F06 |
_Equ_or_NewEqu | 42C4 | 00:20FD |
_EraseEOL | 4552 | 01:61C5 |
_EraseRectBorder | 4D86 | 3B:68F1 |
_ErrArgument | 44AD | 00:2711 |
_ErrBadGuess | 44CB | 00:2751 |
_ErrBreak | 44BF | 00:273D |
_ErrCustom1 | 4D41 | 00:2771 |
_ErrDataType | 44AA | 00:2708 |
_ErrDimension | 44B3 | 00:2719 |
_ErrDimMismatch | 44B0 | 00:2715 |
_ErrDivBy0 | 4498 | 00:26EC |
_ErrDomain | 449E | 00:26F4 |
_ErrD_OP1NotPos | 42C7 | 00:2119 |
_ErrD_OP1NotPosInt | 42CD | 00:2125 |
_ErrD_OP1Not_R | 42CA | 00:2120 |
_ErrD_OP1_0 | 42D3 | 00:212D |
_ErrD_OP1_LE_0 | 42D0 | 00:212A |
_ErrIncrement | 44A1 | 00:26F8 |
_ErrInvalid | 44BC | 00:2729 |
_ErrIterations | 44C8 | 00:274D |
_ErrLinkXmit | 44D4 | 00:278D |
_ErrMemory | 44B9 | 00:2721 |
_ErrNonReal | 4A8C | 38:42E1 |
_ErrNon_Real | 44A4 | 00:26FC |
_ErrNotEnoughMem | 448C | 00:1735 |
_ErrOverflow | 4495 | 00:26E8 |
_ErrSignChange | 44C5 | 00:2749 |
_ErrSingularMat | 449B | 00:26F0 |
_ErrStat | 44C2 | 00:2741 |
_ErrStatPlot | 44D1 | 00:2759 |
_ErrSyntax | 44A7 | 00:2700 |
_ErrTolTooSmall | 44CE | 00:2755 |
_ErrUndefined | 44B6 | 00:271D |
_EToX | 40B4 | 02:705C |
_Exch9 | 43D5 | 00:15CA |
_ExLp | 4222 | 00:1DDA |
_ExpToHex | 424F | 00:1E4E |
_Factorial | 4B85 | 35:7995 |
_FillBasePageTable | 5011 | 00:2692 |
_FillRect | 4D62 | 3B:6939 |
_FillRectPattern | 4D89 | 3B:6814 |
_FindAlphaDn | 4A47 | 07:50B8 |
_FindAlphaUp | 4A44 | 07:50B5 |
_FindApp | 4C4E | 3D:5EE3 |
_FindAppDn | 4C4B | 3D:5DE6 |
_FindAppNumPages | 509B | 3D:4AA3 |
_FindAppUp | 4C48 | 3D:5DDA |
_FindSym | 42F4 | 00:0E65 |
_Find_Parse_Formula | 4AF2 | 38:758A |
_FiveExec | 467E | 02:69BC |
_FixTempCnt | 4A3B | 07:4FEC |
_FlashToRam | 5017 | 3D:6745 |
_FlashWriteDisable | 4F3C | 3C:66D5 |
_ForceFullScreen | 508F | 39:66D2 |
_FormBase | 50AA | 06:57C0 |
_FormDCplx | 4996 | 06:59D3 |
_FormEReal | 4990 | 06:5799 |
_FormReal | 4999 | 06:5ACF |
_FourExec | 467B | 02:6889 |
_FPAdd | 4072 | 00:229E |
_FPDiv | 4099 | 00:2541 |
_FPMult | 4084 | 00:238B |
_FPRecip | 4096 | 00:253D |
_FPSquare | 4081 | 00:238A |
_FPSub | 406F | 00:2297 |
_Frac | 4093 | 00:24E3 |
_GetBaseVer | 4C6F | 00:0284 |
_GetCSC | 4018 | 00:04B2 |
_getDate | 514F | 37:550B |
_GetDateString | 5152 | 37:55E8 |
_getDtFmt | 5155 | 37:5581 |
_getDtStr | 5158 | 37:55A9 |
_GetK | 4744 | 37:746D |
_GetKey | 4972 | 06:491E |
_GetKeyRetOff | 500B | 06:491A |
_GetLToOP1 | 4636 | 02:47EA |
_GetMToOP1 | 4615 | 02:4044 |
_GetStringInput2 | 4E61 | 37:5194 |
_GetSysInfo | 50DD | 07:7345 |
_getTime | 515B | 37:5551 |
_GetTimeString | 515E | 37:567E |
_getTmFmt | 5161 | 37:5593 |
_getTmStr | 5164 | 37:55CF |
_GetTokLen | 4591 | 01:66E5 |
_Get_Tok_Strng | 4594 | 01:66EA |
_GrBufClr | 4BD0 | 04:6071 |
_GrBufCpy | 486A | 04:60A3 |
_GrphCirc | 47D7 | 33:758D |
_HLTimes9 | 40F9 | 00:1930 |
_homeup | 4558 | 01:6216 |
_HorizCmd | 48A6 | 04:793E |
_HTimesL | 4276 | 00:1EF6 |
_IBounds | 4C60 | 04:42EC |
_IBoundsFull | 4D98 | 04:4306 |
_ILine | 47E0 | 04:4029 |
_IncLstSize | 4A29 | 07:4EF4 |
_InitTimer | 526C | 33:5E38 |
_InsertList | 4A2C | 07:4F07 |
_InsertMem | 42F7 | 00:0F81 |
_Int | 40A5 | 00:2621 |
_Intgr | 405D | 00:2263 |
_InvCmd | 48C7 | 04:7D6A |
_InvertRect | 4D5F | 3B:693D |
_InvOP1S | 408D | 00:24BD |
_InvOP1SC | 408A | 00:24BA |
_InvOP2S | 4090 | 00:24CD |
_InvSub | 4063 | 00:227D |
_IOffset | 4C63 | 04:42B5 |
_IPoint | 47E3 | 04:4157 |
_IsA2ByteTok | 42A3 | 00:1FE8 |
_IsEditEmpty | 492D | 00:21A7 |
_IsOneTwoThree | 516D | 37:5438 |
_IsOP112or24 | 5173 | 37:5413 |
_JError | 44D7 | 00:2793 |
_JErrorNo | 4000 | 00:2799 |
_JForceCmd | 402A | 00:0747 |
_JForceCmdNoChar | 4027 | 00:0746 |
_JForceGraphKey | 5005 | 01:6BFD |
_JForceGraphNoKey | 5002 | 01:6BFB |
_KeyToString | 45CA | 01:6D10 |
_KillTimer | 526F | 33:5E4E |
_LCD_DRIVERON | 4978 | 06:4D02 |
_LdHLind | 4009 | 00:0033 |
_LineCmd | 48AC | 04:796A |
_LnX | 40AB | 02:6EFD |
_LoadCIndPaged | 501D | 00:029F |
_LoadDEIndPaged | 501A | 3C:6B36 |
_LoadPattern | 4CB1 | 01:6267 |
_Load_SFont | 4783 | 03:4A8F |
_LogX | 40AE | 02:6F16 |
_Max | 4057 | 00:224D |
_MemChk | 42E5 | 00:0E20 |
_MemClear | 4C30 | 3B:7138 |
_MemSet | 4C33 | 3B:7139 |
_Min | 4054 | 00:2244 |
_Minus1 | 406C | 00:2294 |
_Mov10B | 415C | 00:1A90 |
_Mov18B | 47DA | 00:192B |
_Mov7B | 4168 | 00:1A96 |
_Mov8B | 4165 | 00:1A94 |
_Mov9B | 415F | 00:1A92 |
_Mov9OP1OP2 | 417D | 00:1B06 |
_Mov9OP2Cp | 410B | 00:1982 |
_Mov9ToOP1 | 417A | 00:1B01 |
_Mov9ToOP2 | 4180 | 00:1B07 |
_MovFrOP1 | 4183 | 00:1B0C |
_NewLine | 452E | 01:5F4A |
_NZIf83Plus | 50E0 | 00:1837 |
_newContext | 4030 | 00:077E |
_OneVar | 4BA3 | 3A:6420 |
_OP1ExOP2 | 421F | 00:1DD2 |
_OP1ExOP3 | 4219 | 00:1DB7 |
_OP1ExOP4 | 421C | 00:1DBC |
_OP1ExOP5 | 420D | 00:1DA0 |
_OP1ExOP6 | 4210 | 00:1DA5 |
_OP1ExpToDec | 4252 | 00:1E77 |
_OP1Set0 | 41BF | 00:1BA4 |
_OP1Set1 | 419B | 00:1B38 |
_OP1Set2 | 41A7 | 00:1B50 |
_OP1Set3 | 41A1 | 00:1B44 |
_OP1Set4 | 419E | 00:1B3D |
_OP1ToOP2 | 412F | 00:1A2F |
_OP1ToOP3 | 4123 | 00:1A0F |
_OP1ToOP4 | 4117 | 00:19EC |
_OP1ToOP5 | 4153 | 00:1A80 |
_OP1ToOP6 | 4150 | 00:1A78 |
_OP2ExOP4 | 4213 | 00:1DAA |
_OP2ExOP5 | 4216 | 00:1DAF |
_OP2ExOP6 | 4207 | 00:1D93 |
_OP2Set0 | 41BC | 00:1B96 |
_OP2Set1 | 41AD | 00:1B60 |
_OP2Set2 | 41AA | 00:1B55 |
_OP2Set3 | 4198 | 00:1B30 |
_OP2Set4 | 4195 | 00:1B29 |
_OP2Set5 | 418F | 00:1B22 |
_OP2Set60 | 4AB0 | 38:5DDC |
_OP2Set8 | 418C | 00:1B1B |
_OP2SetA | 4192 | 00:1B24 |
_OP2ToOP1 | 4156 | 00:1A88 |
_OP2ToOP3 | 416E | 00:1AE7 |
_OP2ToOP4 | 411A | 00:19F5 |
_OP2ToOP5 | 414A | 00:1A68 |
_OP2ToOP6 | 414D | 00:1A70 |
_OP3Set0 | 41B9 | 00:1B8A |
_OP3Set1 | 4189 | 00:1B16 |
_OP3Set2 | 41A4 | 00:1B4B |
_OP3ToOP1 | 413E | 00:1A4E |
_OP3ToOP2 | 4120 | 00:1A07 |
_OP3ToOP4 | 4114 | 00:19E3 |
_OP3ToOP5 | 4147 | 00:1A60 |
_OP4Set0 | 41B6 | 00:1B85 |
_OP4Set1 | 4186 | 00:1B11 |
_OP4ToOP1 | 4138 | 00:1A44 |
_OP4ToOP2 | 411D | 00:19FE |
_OP4ToOP3 | 4171 | 00:1AEF |
_OP4ToOP5 | 4144 | 00:1A58 |
_OP4ToOP6 | 4177 | 00:1AF9 |
_OP5ExOP6 | 420A | 00:1D98 |
_OP5Set0 | 41B3 | 00:1B80 |
_OP5ToOP1 | 413B | 00:1A49 |
_OP5ToOP2 | 4126 | 00:1A17 |
_OP5ToOP3 | 4174 | 00:1AF4 |
_OP5ToOP4 | 412C | 00:1A27 |
_OP5ToOP6 | 4129 | 00:1A1F |
_OP6ToOP1 | 4135 | 00:1A3F |
_OP6ToOP2 | 4132 | 00:1A37 |
_OP6ToOP5 | 4141 | 00:1A53 |
_OutputExpr | 4BB2 | 03:4AF2 |
_PagedGet | 5023 | 00:17BB |
_PARSAHEAD | 4B4F | 34:5AA1 |
_PARSAHEADS | 4B4C | 34:5A9D |
_ParseInp | 4A9B | 38:5987 |
_PDspGrph | 48A3 | 04:7904 |
_PixelTest | 48B5 | 04:79E7 |
_Plus1 | 4069 | 00:2285 |
_PointCmd | 48B2 | 04:79B2 |
_PointOn | 4C39 | 04:4155 |
_PopMCplxO1 | 436F | 00:14BC |
_PopOP1 | 437E | 00:14EA |
_PopOP3 | 437B | 00:14DA |
_PopOP5 | 4378 | 00:14CA |
_PopReal | 4393 | 00:1512 |
_PopRealO1 | 4390 | 00:150F |
_PopRealO2 | 438D | 00:150A |
_PopRealO3 | 438A | 00:1505 |
_PopRealO4 | 4387 | 00:1500 |
_PopRealO5 | 4384 | 00:14FB |
_PopRealO6 | 4381 | 00:14F6 |
_PosNo0Int | 422E | 00:1DF7 |
_PowerOff | 5008 | 00:09E6 |
_PToR | 40F3 | 02:50BD |
_PushMCplxO1 | 43CF | 00:15A6 |
_PushMCplxO3 | 43C6 | 00:1594 |
_PushOP1 | 43C9 | 00:1599 |
_PushOP3 | 43C3 | 00:1581 |
_PushOP5 | 43C0 | 00:1573 |
_PushReal | 43BD | 00:155F |
_PushRealO1 | 43BA | 00:155C |
_PushRealO2 | 43B7 | 00:1554 |
_PushRealO3 | 43B4 | 00:154F |
_PushRealO4 | 43B1 | 00:154A |
_PushRealO5 | 43AE | 00:1545 |
_PushRealO6 | 43AB | 00:1540 |
_PutAway | 4039 | 00:08AF |
_PutC | 4504 | 01:5B4C |
_PutMap | 4501 | 01:5A98 |
_PutPS | 4510 | 01:5C73 |
_PutPSB | 450D | 01:5C52 |
_PutS | 450A | 01:5C39 |
_PutTokString | 4960 | 06:46FD |
_PutToL | 4645 | 02:4829 |
_PutToMat | 461E | 02:406C |
_RandInit | 4B7F | 36:7E8A |
_Random | 4B79 | 36:7DC9 |
_RclAns | 4AD7 | 38:679F |
_RclGDB2 | 47D1 | 33:72D9 |
_RclN | 4ADD | 38:67A9 |
_RclSysTok | 4AE6 | 38:683E |
_RclVarSym | 4AE3 | 38:67B1 |
_RclX | 4AE0 | 38:67AE |
_RclY | 4ADA | 38:67A4 |
_Rcl_StatVar | 42DC | 00:2149 |
_Rec1stByte | 4EFA | 3C:439C |
_Rec1stByteNC | 4EFD | 3C:43A3 |
_RecAByteIO | 4F03 | 3C:443F |
_RedimMat | 4A26 | 07:4D3B |
_Regraph | 488E | 04:6764 |
_ReleaseBuffer | 4771 | 03:47AC |
_ReloadAppEntryVecs | 4C36 | 3B:73E4 |
_RestartTimer | 5275 | 33:5E9D |
_RestoreDisp | 4870 | 04:6176 |
_RName | 427F | 00:1F4C |
_RndGuard | 409F | 02:6A57 |
_RnFx | 40A2 | 02:6A71 |
_Round | 40A8 | 00:2623 |
_RToD | 4078 | 00:2374 |
_RToP | 40F6 | 02:50DB |
_RunIndicOff | 4570 | 01:6531 |
_RunIndicOn | 456D | 01:6518 |
_SaveDisp | 4C7B | 39:5DD8 |
_SendAByte | 4EE5 | 3C:420D |
_SendPacket | 4ED6 | 3C:4139 |
_SendVarCmd | 4A14 | 3C:4EDD |
_SetAllPlots | 4FCC | 38:49C7 |
_setDate | 516A | 37:536E |
_SetExSpeed | 50BF | 00:0DCA |
_SetFuncM | 4840 | 36:7D11 |
_SetGetKeyHook | 4F66 | 3B:7D00 |
_SetNorm_Vals | 49FC | 00:220F |
_SetParM | 4849 | 36:7D39 |
_SetParserHook | 5026 | 3B:7D6E |
_SetPolM | 4846 | 36:7D2C |
_SetSeqM | 4843 | 36:7D1F |
_SetSilentLinkHook | 50CE | 3B:7DBB |
_SetTblGraphDraw | 4C00 | 00:00F5 |
_SetTokenHook | 4F99 | 3B:7D0B |
_setTime | 5170 | 37:540D |
_SetupPagedPtr | 5020 | 00:17AC |
_SetXXOP1 | 478C | 33:5F7E |
_SetXXOP2 | 478F | 33:5F83 |
_SetXXXXOP2 | 4792 | 33:5F9E |
_SetZeroOne | 5167 | 37:5359 |
_SFont_Len | 4786 | 03:4ABD |
_ShRAcc | 41D4 | 00:1BCB |
_Sin | 40BD | 02:7342 |
_SinCosRad | 40BA | 02:733E |
_SinH | 40CF | 02:7632 |
_SinHCosH | 40C6 | 02:7626 |
_SqRoot | 409C | 02:6E38 |
_SrchVLstDn | 4F12 | 07:71D7 |
_SrchVLstUp | 4F0F | 07:707F |
_SStringLength | 4CB4 | 3B:61A6 |
_StartTimer | 5272 | 33:5E58 |
_StMatEl | 4AE9 | 38:6C8F |
_StoAns | 4ABF | 38:6251 |
_StoGDB2 | 47CE | 33:71AC |
_StoN | 4ACB | 38:6274 |
_StoOther | 4AD4 | 38:62A9 |
_StopTimer | 5278 | 33:5F42 |
_StoR | 4AC5 | 38:6264 |
_StoRand | 4B7C | 36:7E06 |
_StoSysTok | 4ABC | 38:623B |
_StoT | 4ACE | 38:629B |
_StoTheta | 4AC2 | 38:625C |
_StoX | 4AD1 | 38:62A3 |
_StoY | 4AC8 | 38:626C |
_StrCopy | 44E3 | 00:2810 |
_StrLength | 4C3F | 36:7F91 |
_Tan | 40C3 | 02:734A |
_TanH | 40C9 | 02:762A |
_TanLnF | 48BB | 04:7A43 |
_TenX | 40B7 | 02:7066 |
_ThetaName | 427C | 00:1F48 |
_ThreeExec | 4675 | 02:64ED |
_timeCnv | 5179 | 37:56C4 |
_Times2 | 4066 | 00:2282 |
_TimesPt5 | 407E | 00:2382 |
_TName | 428E | 00:1F69 |
_ToFrac | 4657 | 02:4BBE |
_Trunc | 4060 | 00:2279 |
_UCLineS | 4795 | 33:6010 |
_UngroupVar | 50C8 | 39:764A |
_UnLineCmd | 48AF | 04:797C |
_UnOPExec | 4672 | 02:5E14 |
_VertCmd | 48A9 | 04:7955 |
_VPutMap | 455E | 01:6293 |
_VPutS | 4561 | 01:646D |
_VPutSN | 4564 | 01:644D |
_VtoWHLDE | 47FB | 04:4410 |
_WaitTimer | 527B | 33:5EA4 |
_XftoI | 4804 | 37:41EB |
_Xitof | 47FE | 04:441E |
_XName | 4288 | 00:1F61 |
_XRootY | 479E | 33:632E |
_YftoI | 4801 | 37:41DF |
_YName | 428B | 00:1F65 |
_YToX | 47A1 | 33:6340 |
_Zero16D | 41B0 | 00:1B6F |
_ZeroOP | 41CE | 00:1BBC |
_ZeroOP1 | 41C5 | 00:1BAF |
_ZeroOP2 | 41C8 | 00:1BB4 |
_ZeroOP3 | 41CB | 00:1BB9 |
_ZmDecml | 484F | 36:7BA4 |
_ZmFit | 485B | 36:7A57 |
_ZmInt | 484C | 04:5F85 |
_ZmPrev | 4852 | 04:5FFE |
_ZmSquare | 485E | 36:7ABE |
_ZmStats | 47A4 | 33:65DC |
_ZmTrig | 4861 | 36:7B36 |
_ZmUsr | 4855 | 04:601D |
_ZooDefault | 4867 | 36:7BF9 |
_lcd_busy | 4051 | 00:0CC3 |
Corpus coverage and map provenance
tools/ti84re/community/audit_bcalls.py scans the extracted community corpus for
numeric bcall macros, raw rst 28h plus word sequences, and complete
EF low high instruction bytes. The pinned snapshot contains 112 such uses of
56 IDs. Three uses encode _CursorOn, _KeyToString, and _CursorOff as raw
bytes; the other 109 use macro or rst 28h forms. Exact archive and source
hashes are in tools/data/community-bcall-uses.csv. [confirmed] for the
checked scan output.
The scan exposed 24 aligned main-table IDs that the old generated map omitted.
All 24 were already literal entries in the OS 2.55MP table on page 0x3B, and
all 24 names were already present in the bundled TI include. Adding them changed
the main map from 621 to 645 rows and the include-backed subset from 599 to 623;
the 22 project-inferred names did not change. They are therefore new to this
repository’s resolver input, not new ROM routines or newly invented names.
[confirmed]
The main table above is the single address catalog. ABI and side-effect notes
live with their subsystems: contexts and errors, display, floating point,
keypad, tokenizer, link transfer, execution protection, resident hooks,
archive/group handling, and ASIC status. Reduced trace results are kept in the
tools/data/community-*.csv files. This separation matters because an aligned
table entry proves only an ID-to-body mapping; neither an include name nor a
community comment proves the body’s complete behavior.
Malformed active call
The scan also finds one active malformed call. graphics/cool.zip:cool.asm
defines _copygbuf = 4B9Ch and emits EF 9C 4B; the packaged cool.8xp
contains the same bytes. 4B9Ch is not aligned to a three-byte main-table
entry. Page 0x3B supplies overlapping bytes 7A EF 5E, which requests
logical address 0xEF7A instead of a valid body. The TI-83 Plus _GrBufCpy
ID is 486Ah, with body 04:60A3.
A complete trace of the packaged cool.8xp enters at ram:9D95, executes the
malformed call at ram:9DAF, and reaches logical 0xEF7A once. It never
reaches _GrBufCpy at 04:60A3, _ExecutePrgm cleanup at 07:57D1, or
E_Invalid at ram:2729; it later reaches the OS handoff vector at
ram:0053. The final display is blank. This confirms a nonreturning malformed
dispatch under TilEm, not the physical-calculator failure mode. The trace and
artifact identities are in tools/data/community-invalid-bcall-traces.csv.
[confirmed] under TilEm; physical behavior remains [hypothesis].
The Cool archive SHA-256 is
1593afbeb85b831e910793d293963a9af52377bdf8af481300b13d1fa3b346f6.
Member cool.asm has SHA-256
6d05c43420f4514357803fc09221a49252d0147e172a12ebdd12b74aef001998;
member cool.8xp has SHA-256
ef2304ef5a731c1e4eee9f3602c1bd7c9ddb7c85427a037fbc7cecd18af0cd1c.
Preprocessor triage excludes four target-platform artifacts from the TI-84
Plus map. Math Pack’s 4166h _cpop1op2 equate is inside the non-TI83P
branch; its TI-83 Plus build obtains _CpOP1OP2 = 4111h. Eliza’s 4004h,
477Dh, and 4014h values come from source/ti83asm.INC, which only its
TI83I branch includes. Lock’s 5371h _getcsc is a direct call address in
the TI86 branch. None is an active TI-84 Plus bcall. [confirmed] for source
preprocessor structure.
tools/data/community-symbolic-bcall-triage.csv preserves every active row and
excluded platform case with archive/member hashes, line numbers, and the TI-84
Plus replacement ID where applicable.
Retail boot (0x8xxx) bcalls
The retail table has 87 populated entries across IDs 0x8018–0x80D2 and
0x80E4–0x8129. The full 2007 ti83plus.inc defines 83 of them; the four
snake-case rows below are project-inferred names for otherwise unnamed slots.
tools/ti84re/rom/resolve_bcalls.py emits the public-name target file only when page 3F
has the retail boot prefix, not when it sees BootFree. See
Retail boot page for the intervening dispatch
stub and evidence behind the inferred rows. [confirmed]
| bcall | ID | Body (page:addr) |
|---|---|---|
_MD5Final | 8018 | 3F:6964 |
_RSAValidate | 801B | 3F:6CB4 |
_cmpStr | 801E | 3F:7195 |
_WriteAByte | 8021 | 3F:4C9F |
_EraseFlash | 8024 | 3F:4C2A |
_FindFirstCertField | 8027 | 3F:4D62 |
_ZeroToCertificate | 802A | 3F:4DAF |
_GetCertificateEnd | 802D | 3F:4D53 |
_FindGroupedField | 8030 | 3F:4E8C |
_ret_1 | 8033 | 3F:4867 |
_ret_2 | 8036 | 3F:4867 |
_ret_3 | 8039 | 3F:4867 |
_ret_4 | 803C | 3F:4867 |
_ret_5 | 803F | 3F:4867 |
_Mult8By8 | 8042 | 3F:7059 |
_Mult16By8 | 8045 | 3F:705B |
_Div16By8 | 8048 | 3F:7146 |
_Div16By16 | 804B | 3F:7148 |
certificate_reconcile_id_fields | 804E | 3F:4924 |
_LoadAIndPaged | 8051 | 3F:486E |
_FlashToRam2 | 8054 | 3F:4888 |
_GetCertificateStart | 8057 | 3F:4D46 |
_GetFieldSize | 805A | 3F:4DB8 |
_FindSubField | 805D | 3F:4DFB |
_EraseCertificateSector | 8060 | 3F:4E3F |
_CheckHeaderKey | 8063 | 3F:4B4A |
certificate_find_matching_field_data | 8066 | 3F:4F91 |
certificate_count_matching_fields | 8069 | 3F:4EFF |
_Load_LFontV2 | 806C | 3F:7C8A |
_Load_LFontV | 806F | 3F:7C8A |
_ReceiveOS | 8072 | 3F:5DCE |
_FindOSHeaderSubField | 8075 | 3F:5018 |
_FindNextCertField | 8078 | 3F:4D5C |
_GetByteOrBoot | 807B | 3F:5C64 |
_getSerial | 807E | 3F:442F |
_ReceiveCalcID | 8081 | 3F:5EDC |
_EraseFlashPage | 8084 | 3F:4C1E |
_WriteFlashUnsafe | 8087 | 3F:4CA6 |
_dispBootVer | 808A | 3F:44F1 |
_MD5Init | 808D | 3F:68ED |
_MD5Update | 8090 | 3F:6907 |
_MarkOSInvalid | 8093 | 3F:5209 |
_FindProgramLicense | 8096 | 3F:4B1A |
_MarkOSValid | 8099 | 3F:51F5 |
_CheckOSValidated | 809C | 3F:52C6 |
_SetupAppPubKey | 809F | 3F:53CA |
_SigModR | 80A2 | 3F:7225 |
_TransformHash | 80A5 | 3F:723F |
_IsAppFreeware | 80A8 | 3F:52E1 |
_FindAppHeaderSubField | 80AB | 3F:500A |
_WriteValidationNumber | 80AE | 3F:540B |
_Div32By16 | 80B1 | 3F:706E |
_FindGroup | 80B4 | 3F:4E61 |
_getBootVer | 80B7 | 3F:477C |
_getHardwareVersion | 80BA | 3F:4781 |
_xorA | 80BD | 3F:5C6D |
_bignumpowermod17 | 80C0 | 3F:6CBD |
_ProdNrPart1 | 80C3 | 3F:6209 |
_WriteAByteSafe | 80C6 | 3F:4C9A |
_WriteFlash | 80C9 | 3F:4C8F |
_SetupDateStampPubKey | 80CC | 3F:548C |
_SetFlashLowerBound | 80CF | 3F:4784 |
_LowBatteryBoot | 80D2 | 3F:5834 |
_AttemptUSBOSReceive | 80E4 | 2F:4145 |
_DisplayBootMessage | 80E7 | 3F:6127 |
_NewLine2 | 80EA | 3F:73DD |
_DisplayBootError10 | 80ED | 3F:5789 |
_Chk_Batt_Low_B | 80F0 | 3F:6171 |
_Chk_Batt_Low_B2 | 80F3 | 3F:6163 |
_ReceiveOS_USB | 80F6 | 2F:48CA |
_DisplayOSProgress | 80F9 | 3F:62D0 |
_ResetCalc | 80FC | 3F:5ED3 |
_SetupOSPubKey | 80FF | 3F:5387 |
_CheckHeaderKeyHL | 8102 | 3F:4B4D |
_USBErrorCleanup | 8105 | 2F:5958 |
_InitUSB | 8108 | 2F:52A4 |
usb_set_port81_bit0_delay | 810B | 2F:62C5 |
_KillUSB | 810E | 2F:5961 |
_DisplayBootError1 | 8111 | 3F:63DB |
_DisplayBootError2 | 8114 | 3F:5789 |
_DisplayBootError3 | 8117 | 3F:5789 |
_DisplayBootError4 | 811A | 3F:5789 |
_DisplayBootError5 | 811D | 3F:5789 |
_DisplayBootError6 | 8120 | 3F:5789 |
_DisplayBootError7 | 8123 | 3F:5789 |
_DisplayBootError8 | 8126 | 3F:5789 |
_DisplayBootError9 | 8129 | 3F:5789 |