From 50a74cc0a64352a50dd1023d48d0f94a4eca9627 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Sat, 18 Jul 2026 20:44:10 +0400 Subject: feat(script): classify VM dispatch selectors --- docs/tomes/06-behavior.md | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'docs/tomes/06-behavior.md') diff --git a/docs/tomes/06-behavior.md b/docs/tomes/06-behavior.md index 5e0299e..ad1832c 100644 --- a/docs/tomes/06-behavior.md +++ b/docs/tomes/06-behavior.md @@ -143,6 +143,14 @@ references каждого record, жёстко ограничивает counts/a файла, но не таблица семантик: названия opcode/words появятся только после handler contracts и runtime traces. +Связь первого header word с dispatch теперь доказана статически: `ai.dll` +создаёт 73 handler pointers в известном порядке и копирует table без +перестановки. По всем 58 GOG packages первый word — индекс `0..72` либо +`0xffff_ffff` sentinel; `fparkan-script` отражает это как typed +`ScriptDispatchSelector`, сохраняя неожиданные значения `Unknown`. Первый +handler лишь инициирует execution context (`+0x50 = 1`); его gameplay meaning +пока не назван. + Безопасная runtime-модель: ```text -- cgit v1.2.3