таблицы для быстрого обращения выравнивают по адресам кратным 256
при этом часто таблицы меньше 256 байт и место внизу таблицы простаивает
так же часто
есть необходимость загружать какието данные
и чтоб они ложились с адреса $8000 до неизвестно какого ($8000,$8001...)
а код должен быть максимально далеко от данных и в быстрой памяти
для этого нужно выравнивание по правому краю ($FDFF, $FDFE...)
которого нет ни в одном компиляторе
ну и при этом так же часто нужно
чтоб определенный код занимал конкретные адреса
и не какие либо иначе
а если при этом подключается условная компиляция
процедуры переменной длины
таблицы которые вставляются только при определенном условии
то появляется очень много головной боли
с размещением всего в памяти и чтоб оно друг на друга не залазило
и чтоб не появлялись ничем не занятые дырки
а у меня все это в каждой программе...
почему другим это никогда не было нужно мне непонятно...
а теперь не нужно морочить голову
писать вычислитель адресов
(у Simon-a Owen-a для выравнивания используются пустота переменной длины(и по моему это не рационально))
теперь просто вокруг каждой процедуры указываем утрамбовывать код по правому\левому краю\выравнивать\ложить по конкретному адресу
и процедура автоматически запихивается в свободное место
ну и при использовании быстрых таблиц
в коде образовывается много дырок
которые не рационально не заполнять
тк адресуемой памяти у спектрума таки мало
ну и 7 процедур оказалось мало
еще нужно выравнивание по адресам кратным 256 по левому\правому краю со смещением
выравнивание по кратным 256 по правому\левому нижнему краю
и плохо что это не средствами самого компилятора...
появляется много дополнительных проблем и ограничений...
другие ветки sjasm-а вообще не компилят
а кричат что lua код занимает больше чем 32к
которых хватит всем
дык там эмулятор 6502...
тк .sid это код плеера
а сид пока только железный (пока)
16
256 байтных "страниц"
придумаешь лучшее название буду использовать
и тактов пентагона как раз хватает
а вот тормознутых скорпионовских нет
- - - Добавлено - - -
до очепятка
но смысл процедуры и так ясен
- - - Добавлено - - -
на счет переходов вопрос не понел
- - - Добавлено - - -
послушать разницу можно в эксклюзивном унриале со встроенным SID-ом
https://dropmefiles.com/F4Dzv
который у меня, кстате, очень не стабильно работает
в оригинале как только кончается буфер (через несколько секунд)
начинается проседание скорости