Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Flash page map

What lives on each of the 64 physical flash pages (16 KiB each). OS code occupies pages 00–07 and 33–3D; pages 08–32 are blank in this image; page 3E is the certificate sector and 3F the boot page. On a retail unit the upper pages can also carry Flash Apps, but this dump is OS-only — the page scan below reports zero Flash-App headers. The page roles below are characterized by the named bcall routines that resolve to each page (tools/bcall_targets.txt) plus function counts; the 0x8xxx cert/boot/USB bcalls come instead from ti83plus.inc and the retail segment files (bcall_targets.txt does not carry the 0x8xxx targets).

OS pages (carry bcall entry points)

PageFuncsRoleRepresentative routines
00928Kernel — mapped at 0000; RST vectors, bcall dispatcher, FP core, VAT, memory, integer math_JErrorNo, _LdHLind, _DivHLBy10, _FindSym, _FPAdd, _InsertMem
0184Text display / homescreen_PutMap, _PutC, _PutS, _DispHL, _NewLine, _ClrLCDFull
02271Float transcendentals & advanced math_SqRoot, _LnX, _RnFx, _RndGuard
0323Edit-buffer / small font_CloseEditBufNoR, _Load_SFont, _SFont_Len
0466Graph drawing (pixel/line)_DarkLine, _ILine, _IPoint, _DarkPnt
05118TABLE editor + Graph-Table split-screentable_editor_main, table_recompute, table_paint_grid
0649Key input & edit/cursor_GetKey, _CursorOn, _CursorOff, _PutTokString (note _GetCSC’s body is on page 00)
0744Archive / list & matrix ops; error messages; large-font glyph table @ 07:45FF (7-byte stride) read by put_glyph_large (07:4588)_Arc_Unarc, _CleanAll, _RedimMat, _IncLstSize, put_glyph_large
3370Graph coordinate math_SetXXOP1, _UCLineS (window↔pixel transforms)
3624Mode setters (Func/Param/Polar/Seq)_SetFuncM, _SetParM, _SetPolM, _SetSeqM
3723Graph coord convert_XftoI, _YftoI
38277TI-BASIC parser / evaluator_ParseInp, _Find_Parse_Formula, parse_init
39153Equation pretty-printer (2D MathPrint layout) + menuseqdisp_render_entry, eqdisp_emit_glyph, _DispMenuTitle
3A85Statistics (1/2-var, regressions) + TVM finance_OneVar, reg_gauss_solve, tvm_solve_iterate
3416Crystal timers / clock, token scan_CrystalTimerA, timer_scan_tbl
356Memory-reset engine, factorialmem_reset_dispatch, ram_reset_wipe, op1_factorial
3B39bcall jump table + mem utils(table data) _MemClear, _MemSet, _DrawCirc2
3C72Link / variable transfer_SendAByte, _RecAByteIO, _SendVarCmd, _Rec1stByte
3D61App management & Flash_FindApp, _FindAppUp, _FindAppDn, _FlashToRam

Page byte-scan notes (empty range, boot & system pages)

No Flash-App headers (80 0F) appear at any page boundary; the image is OS-only [hypothesis]. Byte-level notes on the empty page range and the boot/system pages (some of which, e.g. 34–39/3B/3C, also carry the bcalls listed above):

PageVerified contents
08–32Blank/unused in this OS image — 100% 0xFF in tools/rom.bin. Page 2F is the retail USB boot support page, but its code lives in the separate D84PBE2.8Xv segment (not in rom.bin); the retail page-3F boot table maps the 0x8xxx USB bcalls (_AttemptUSBOSReceive, _ReceiveOS_USB, _USBErrorCleanup, _InitUSB, _KillUSB) into page 2F. No app headers.
34–39More OS code (graph/mode/menu/timers); fill 0.2–17% 0xFF.
3Bbcall jump table — starts 99 27 00 = entry 0 (_JErrorNoram:2799).
3CLink code + the OS version string — page starts with ASCII 32 2E 35 35 4D 50 = "2.55MP".
3ECertification page — the per-calculator certificate sector (84+ cert page is 3E, not 3F). Blank (99% 0xFF) in this OS-only image, since the cert is written per-device. The OS reads this sector through the ti83plus.inc cert bcalls: _GetCertificateStart (bcall 0x8057) and _GetCertificateEnd (bcall 0x802D) bound the sector, and _FindFirstCertField (bcall 0x8027) / _FindNextCertField (bcall 0x8078) walk its TLV fields.
3FRetail boot page — supplied by local D84PBE1.8Xv; starts 3E 07 D3 04 3E 7F D3 06 3E 03 D3 0E C3 2C 81, carries boot version 1.03, and hosts the 0x8xxx boot bcall table. Boot/hardware-version bcalls now resolve to _getBootVer 3F:477C (0x80B7) and _getHardwareVersion 3F:4781 (0x80BA).

The large-font glyph table is on page 0x07 (see Display / LCD). Alternate large fonts live on pages 1 and 0x36 (selected by (IY+0x35) bits 5/1). Page 7 is the busiest data page (archive code, list/matrix, error messages, and the large font). [confirmed]

Takeaway

The OS is page-specialized: kernel + math on page 0, one subsystem per low page. A bcall is really “run subsystem X’s routine on its page” — the page map is the subsystem decomposition, physically.