
Сообщение от
Ped7g
allocatedPages[_G.lastFreePage] = _c("low $")
С low $ не будет правильно работать!
нужно так
Код:
op_allocated_pages[_G.op_allocator_last_free_page] = (_c("$")-(_G.op_allocator_last_free_page*256))
(я у себя изменил названия всех переменных под стиль своего исходника)

Сообщение от
Ped7g
while allocatedPages[freePage] and opcode < allocatedPages[freePage] do freePage = freePage + 2
это сильно не экономично!
лучше переименовать в lua_build_fast_jp_table.asm
чтоб было очевидно что там не обычный вариант
и все таки нужно как то измерять количество байт в процедуре
между allocateOpMemory и finishOpAllocate
завести массив с минимальным начальным адресом в странице
чтобы можно было предотвратить перезапись кода
и переместить процедуру в следующую свободную страницу

может будет проще
добавить средства генерации таких таблиц в сам sjasm?
например мне нужно будет делать несколько таких таблиц одновременно
при этом остается много места
куда можно было бы поместить другие процедуры
lua здесь уже не поможет
или нужно индексировать каждый байт
и искать свободное место немного по другому