- engine_init.cc: loads StenoDictionaryCollection from embedded binary, validates JSC4 magic + timestamp, constructs dict list + full processor pipeline (Repeat → AllUp → JeffModifiers → Engine) - dict_embed.S: embeds compiled dict binary via .incbin directive. Falls back to null placeholder if no dict available - CMakeLists.txt: dict binary discovery (dicts/steno_dict.bin or JAVELIN_DICT_BIN cmake var), assembly embedding - tools/dict_compiler/compile_dict.py: stroke parser + skeleton compiler. Full JSC4 binary format not yet implemented — for now, use Javelin web tool (lim.au) to generate dict binary - dicts/: directory for compiled dictionary binaries Dict compiler is the remaining gap — JSC4 format requires exact XIP pointer layout matching Javelin's C++ struct casting.
17 lines
446 B
ArmAsm
17 lines
446 B
ArmAsm
/* Embed compiled steno dictionary binary into firmware.
|
|
* JAVELIN_DICT_BIN_PATH is set by CMake to the path of the compiled
|
|
* dictionary file. If not set, a 4-byte null placeholder is used.
|
|
*/
|
|
|
|
.section .rodata.steno_dict,"a",%progbits
|
|
.global _javelin_dict_start
|
|
.global _javelin_dict_end
|
|
.balign 4
|
|
|
|
_javelin_dict_start:
|
|
#ifdef JAVELIN_DICT_BIN_PATH
|
|
.incbin JAVELIN_DICT_BIN_PATH
|
|
#else
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
#endif
|
|
_javelin_dict_end:
|