Используется модульная система. Форматы добавляются просто. Информация о файле берётся из каталога и при совпадении условий присваивается определенный тип. При загрузке файла вызывается соответствующий модуль и некоторые форматы проходят дополнительную проверку уже по содержимому файла.
На счёт сорцов. А будет ли кто учиться, разбираться и делать форк? Есть сайт с zx сорцами. И где новый Чёрный ворон? Планы развивать вьювер есть. И пока они есть, исходники я оставлю при себе. Отдельными моментами/ рутинами я всегда готов поделиться. С планами только следующий вопрос. Память на исходе. Килобайт-полтора свободных осталось. Вариант — сетап при загрузке с выбором нужных пользователю модулей. Но с распространением Zx-Evo и наличием оной у меня, мне интересно было бы развивать вьювер в этом направлении. И превратить уже в коммандер. Да и возможность развития там практически безконечная.
Изначально планов не было. Да и сам релиз два года назад представлялся туманным. Сейчас мы обдумываем вопрос поддержки классики. Вероятность есть. В лучшем случае возможность приступить к реализации появится не раньше, чем через три месяца. И надо понимать, что это повлечёт некоторое урезание функционала.
Присоединюсь. Может ты и про другой пост(я про тему о последовательности действий команды PUSH HL). Ты, Лёш, «пригласил» меня прокомментировать пару моментов из Красок. Я обычно не писака здесь, но тогда решил ответить(в этом году впервые). Потратил минут 30 на ответ(пока пересмотрел дему, обдумал), опоздал на договорённую встречу, так как решил дописать, раз уж начал. А через часов 5-6 темы уже не обнаружил. И чего писал спрашивается.
Поэтому, в зависимости от количества обращений процессора к ОЗУ, в любом такте с одним и тем же номером в разных кадрах может происходить как выборка пикселей, так и атрибутов.
По завершению вывода 8 пикселей растра видеоконтроллер на следующем такте начинает выводить следующие 8 пикселей по значениям пикселей/атрибутов, заблаговременно считанным им ранее.
Значит щёлкать видеоэкраны перед лучом в одних и тех же тактах плохая идея? Даже с настройкой номеров этих тактов для разных машин?
Сам юзаю ядро любезно предоставленное introspec 'ом. Но чуток переделал под свои нужды. Так как у меня (на примере Kpacku demo) весьма много мультиколора, мне нужно очень точно контролировать положение луча. Поэтому я сделал два обработчика скрипта. Один висит на прерываниях (назвал его внутренним) и используется большей частью для распаковки последующих эффектов. Второй (внешнее) — вызывается из эффекта. Ввёл команды переключения из одного в другое(kIN, kOUT). В kOUT меняется обработчик прерываний на один только RET и передаётся управление эффекту. RET — потому, что максимальное число тактов мне нужно, чтобы всё подготовить за время отрисовки верхнего бордера и при этом знать точное положение луча. И работа с мультиколором подразумевает, что эффект фреймовый, потому время для музыки и быстрого обработчика скрипта найти можно.
lll halt
... ; эффект
call mus_n_counter ; играем музыку и крутим счётчик фреймов
call KernelOut ; вызываем внешнее ядро
jp lll
Из внешнего ядра можно вызывать все те же команды, что из внутреннего. Потому, при таком подходе можно так же управлять эффектом из скрипта вызывая kPOKE и т.д.
«Может быть, Ziphead — это взгляд на дискотеку глазами сорокалетнего человека. Может быть, он просто немного из этого всего вырос.» (c) — блин. И вся размытость сразу приобретает смысл… А я думаю, что это мне нравится?.. =)
P.S. По белому завидую как ты сечёшь и пишешь…
Используется модульная система. Форматы добавляются просто. Информация о файле берётся из каталога и при совпадении условий присваивается определенный тип. При загрузке файла вызывается соответствующий модуль и некоторые форматы проходят дополнительную проверку уже по содержимому файла.
На счёт сорцов. А будет ли кто учиться, разбираться и делать форк? Есть сайт с zx сорцами. И где новый Чёрный ворон? Планы развивать вьювер есть. И пока они есть, исходники я оставлю при себе. Отдельными моментами/ рутинами я всегда готов поделиться. С планами только следующий вопрос. Память на исходе. Килобайт-полтора свободных осталось. Вариант — сетап при загрузке с выбором нужных пользователю модулей. Но с распространением Zx-Evo и наличием оной у меня, мне интересно было бы развивать вьювер в этом направлении. И превратить уже в коммандер. Да и возможность развития там практически безконечная.
Из внешнего ядра можно вызывать все те же команды, что из внутреннего. Потому, при таком подходе можно так же управлять эффектом из скрипта вызывая kPOKE и т.д.
P.S. По белому завидую как ты сечёшь и пишешь…