Я имею в виду, что в оригинальном Octode, который шёл с конвертером из XM, были паттерны, а в версии для 1tracker их нет. И если делать как проще, надо убрать паттерны и в XL. Либо сделать как (существенно) сложнее, но эффективнее — компилятор с оптимальной разбивкой на паттерны. Я пока планирую сделать по первому варианту, без паттернов, в скором времени.
Вариант с halt правильный, вряд ли есть другой. Проблема в том, что все компоненты проекта, как и сам 1tracker, не отличаются изящным дизайном и оптимальностью. В результате постоянно получается, что минутный фикс превращается в многочасовую пляску с бубном. И это, конечно, сильно напрягает.
Есть много решений этой проблемы, но все они неудобные и некрасивые.
Можно добавлять в AY-файл полное ПЗУ (в последнее время так и делаю) и попытаться заставить работать обычный обработчик прерывания. Можно нагородить пустой IM2 где-нибудь в экранной области. И то и другое приведёт к двум веткам генерации кода — одна для трекера, вторая для экспорта, а этого очень хочется избежать. Сейчас всё просто (затрачены значительные усилия, чтобы осуществить эту схему): один ассемблерный исходник движка плюс ассемблерный вывод компилятора музыки — ассемблер — бинарник — AY-файл — опционально TAP/SCL; на всех этапах может делаться экспорт; тот же самый AY-файл играется редактором.
Можно было бы сделать условную компиляцию этого halt'а. Но её в моём ассемблере нет, и добавить — перекопать 1500 строк на AngelScript, написанных два года назад. Конечно, по-хорошему этот ассемблер требует переписывания с нуля, но это тяжёлая задача. Можно сделать хак, собирать исходник движка из двух кусков текста, вставляя между ними строку с halt при сборке не для AY-файла — опять же см. выше, и само по себе очень некрасиво.
Можно отдать определение Kempston'а на усмотрение программиста, брать на входе ещё один регистр, помимо указателя на данные музыки. Тоже сомнительное решение.
Поэтому пока мысли либо убрать опрос вообще, чтобы избавиться от головной боли, либо закомментировать определение в исходнике, и кому нужна поддержка, пусть экспортирует исходник и раскомментирует. Но тогда проблема глючного опроса в экспортированных TAP/SCL останется.
Спасибо. Посмотрел, с наскока добавить не получится, нужно много переделывать (убирать паттерны, условную компиляцию, переформатировать многострочный код), так что добавлю позже.
Вариант с halt не будет работать в 1tracker, так как в AY-файлах не гарантируется ни работающий обработчик прерываний, ни наличие ПЗУ вообще, и движок сразу же виснет. Думаю, лучше просто убрать опрос Kempston, так как желания тратить время на поиск обходных путей нет никакого.
Для тех, кто заинтересован разобраться во внутреннем устройстве биперных движков, utz недавно написал весьма подробный гайд на английском языке: randomflux.info/1bit/viewtopic.php?id=21
За минусы. Полноценная обратная связь, пряник и кнут, а не пряник и пряник. Если некто делает нечто неприемлемое для окружающих (примеров тут хватало), но никто ему на это не укажет — он не задумается и не перестанет. Да и уместность постов про забавные картинки на главной сомнительна, вроде же тематический ресурс, а не какие-нибудь фишки.нет.
Почему не написал позавчера, вчера, сегодня, и вряд ли напишу завтра: подготовка стоящего материала требует больших усилий и продолжительного времени, но определённо не является приоритетной задачей. When it's done, тогда и.
Раз старые треки, скорее всё же не альбом, а сборник или компиляция? Когда говорят 'замахнусь на альбом', как-то подсознательно ожидается, что речь идёт о новом, ранее недоступном творчестве ('запишу альбом' — есть новые песни, но ещё нет записей).
На первый взгляд, по картинкам, описанию и вообще до запуска — 'просто офигеть как круто'. Но попробовал поиграть, и многое сходу не понравилось: шрифты, оформление меню, музыка, не создающая должной атмосферы (было ключевой фишкой игр серии), почти одинаковые экраны один за другим, вагоны текста с медленной печатью. В целом претензии можно свести к такой: нет единого стиля, чувствуется, что это 'fan made'. Но в любом случае этот релиз, конечно, огромное событие и достижение. Автор молодец.
Сколько не пробовал графические редакторы для рисования пиксель-арта на мобильных устройствах, от Pocket PC до разных Android-планшетов и телефонов — нигде это не работало достаточно чётко, чтобы можно было реально что-то рисовать. Номинально работало, а практически была та ещё пытка — сенсорные экраны послушно реагировали на каждое прикосновение, постоянно ставя пиксели куда попало, а не куда нужно. Не знаю, может просто мне так везло с софтом, устройствами и пальцами.
Есть много решений этой проблемы, но все они неудобные и некрасивые.
Можно добавлять в AY-файл полное ПЗУ (в последнее время так и делаю) и попытаться заставить работать обычный обработчик прерывания. Можно нагородить пустой IM2 где-нибудь в экранной области. И то и другое приведёт к двум веткам генерации кода — одна для трекера, вторая для экспорта, а этого очень хочется избежать. Сейчас всё просто (затрачены значительные усилия, чтобы осуществить эту схему): один ассемблерный исходник движка плюс ассемблерный вывод компилятора музыки — ассемблер — бинарник — AY-файл — опционально TAP/SCL; на всех этапах может делаться экспорт; тот же самый AY-файл играется редактором.
Можно было бы сделать условную компиляцию этого halt'а. Но её в моём ассемблере нет, и добавить — перекопать 1500 строк на AngelScript, написанных два года назад. Конечно, по-хорошему этот ассемблер требует переписывания с нуля, но это тяжёлая задача. Можно сделать хак, собирать исходник движка из двух кусков текста, вставляя между ними строку с halt при сборке не для AY-файла — опять же см. выше, и само по себе очень некрасиво.
Можно отдать определение Kempston'а на усмотрение программиста, брать на входе ещё один регистр, помимо указателя на данные музыки. Тоже сомнительное решение.
Поэтому пока мысли либо убрать опрос вообще, чтобы избавиться от головной боли, либо закомментировать определение в исходнике, и кому нужна поддержка, пусть экспортирует исходник и раскомментирует. Но тогда проблема глючного опроса в экспортированных TAP/SCL останется.
К слову, может быть заодно добавить и Octode XL?
Почему не написал позавчера, вчера, сегодня, и вряд ли напишу завтра: подготовка стоящего материала требует больших усилий и продолжительного времени, но определённо не является приоритетной задачей. When it's done, тогда и.