Окей. Давайте 3 часа сделаем. это для всех действительно или только на графику? Сами рилтаймы понятно будут последовательно проходить, чтобы не пересекаться друг с другом и основной программой.
Не верится что будет много работ, посему не уверен что нужно плодить конкурсы. Сейчас вобще тенденция просматривается к объединению конкурсов. Будет скажем 4 гифта и 2 интры, разные конкурсы или объединить?
Зря вы этот блог скрывали. Прочитал и все статьи и комментарии. Немного переосмыслил свое отношение к рисованию. Но возник один ворос. Дайвер, если не против, задам его тебе на мыло. Не хочу выносить на всеобщее обозрение, а то скажут что-то случайно и вообще на все забью =)
Интересно рассказываешь! Видимо, я просто пока ещё недостаточно насчитался :)
Вообще, вот такие клёвые детали показывают одну вещь. Я думаю, было бы очень полезно, не только мне, послушать про твою работу над OSCOSS, послушать о принципах сборки, о подходе к эффектам, о подходе к дизайну кода и дизайну вообще. Не факт что люди сделают так же (я всё ещё не хочу писать свой ассемблер!), но вот такие рассказы о способах решения проблем — они очень полезны. Просто мозги прочищаются, волей-неволей начинаешь думать по-другому.
Бесспорно взялся бы писать свой асм. sjasmplus не даёт главной вещи, это симулятора внутри асма, на котором у меня построены все проекты. Для того что бы мне перевести под классический асм хотя бы несколько эффектов, я уже молчу про проекты, нужно написать вспомогательных тулзов около сотни. И в итоге исходный код превратится в мега-монстра. А на данный момент все эти тулзы в львиной своей доле написаны на этом же компиляторе, и для того что бы откомпилировать любой пакер, конвертер, кранчер, мне нужен только один компилятор. И в итоге у меня получается вот так:
Include «FONT\crunch.az8»
LD HL,TEXT
CALL PRINT
DI:HALT
TEXT DB "Hello Speccy",0
Что видишь ты? Для тебя это текст «Hello Speccy», но в реальности кодировка символов стала максимально приближенная к нарисованному шрифту, где автор шрифта не рисовал знака вопроса, и поэтому он был автоматически выкинут. Всё это оптимизировалось в ветке предкомпиляции «FONT\crunch.az8», где анализировалась графика из картинки BMP, которая там же превратилась в бинарные данные, на них создалась табличка(виртуальная для компилятора) неиспользуемых символов, оптимизировались повторения в графике русской буквы «Р» и латинской «P», всё это превратилось в максимально ужатый бинарный кусок который лёг в память. И после исполнения «crunch.az8» любая информация заключённая в кавычки кодируется по таблице. И LD A,«P» в итоге в аккумулятор запишет некий символ после перекодировки. Это я привёл тебе простой пример, самый элементарный. Я молчу о том, что ты можешь откомпилировать свой код и тут же его в эмуляторе подсчитать по тактам, или часть своего кода подсчитать. Или сделать высвечивание пакованных данных, например в OSCOSS есть лица которые высвечиваются. Все они состоят из каких-то простых залитых полигонов, которые у меня высвечиваются какой-то процедурой, которая на каждую часть высвечивания лица стратит некое количество тактов. И тут мне приходит идея, хочу к лицам сделать снизу зеркальное отображение, и продлить границу разделение на бордюре. Вот всё это пропускается через одну команду компилятора, которая при компиляции эффекта подсчитывает сколько тактов занимает высвечивание каждой части лица, делает мне таблицу с конкретными числами в тактах, под каждую картинку-лицо, и я только из фиксированного числа отнимаю сумму тактов из таблички и жду оставшееся время до места продолжения линии на экране и бордюре. Всё, это конец моего кодинга в данном эффекте, график меняет себе пикселы в картинке, музыкант меняет нотки, а у меня жёсткий эффект сделанный из набора простых команд моего асма. И я не знаю как это сделать на sjasmplus? Я честно, клянусь, много раз пытался использовать разные компиляторы. но как правило компиляторы почему-то заботятся о том, что бы LDAB превращалось в LD A,B, но мне это не надо, это не проблема исправить опечатку, а вот когда я не могу дать волю своей фантазии, это для меня очень критично. Так что, Лёша, да, мне пришлось бы заново писать «asam», без него у меня весь пар уходит на гудок. Для меня возможности моего асма это как в 90-ые года писать на TASM 4.0, и потом кропотливо считать-считать-считать-считать-считать-считать…
Прочитал и осознал с некоторым недоумением что я как раз в процессе подготовки написания некоего автономного нарезателя графики :)
Похоже так в итоге и напишу я своего «Масона»! (бьюсь лбом об стену)
Но вот если бы ты начал, как я, всерьёз пару лет назад и у тебя был бы sjasmplus — ты бы всё равно взялся писать свой ассемблер? Потому что я понимаю про сборку на реале, «как раньше», и, конечно, в этом смысле, совершенно с тобой согласен что это несерьёзно. Но сейчас есть альтернативы, в чём-то не такие мощные как у тебя сейчас, но всё же и не настолько неадекватные как раньше. Это всё же меняет приоритеты, понимаешь?
Иссуе иссуем, но pdf нужен ОБЯЗАТЕЛЬНО!
но все прошло гладко, поэтому и решили открыть.
Темы наверное логично тоже сделать разными?
Сейчас тогда с TmK подумаем над графиком.
Небольшое дополнение (последние три строчки). Позволяет «перепрыгивать» из XnView в ZX Paintbrush по клавише F4.
Вообще, вот такие клёвые детали показывают одну вещь. Я думаю, было бы очень полезно, не только мне, послушать про твою работу над OSCOSS, послушать о принципах сборки, о подходе к эффектам, о подходе к дизайну кода и дизайну вообще. Не факт что люди сделают так же (я всё ещё не хочу писать свой ассемблер!), но вот такие рассказы о способах решения проблем — они очень полезны. Просто мозги прочищаются, волей-неволей начинаешь думать по-другому.
Include «FONT\crunch.az8»
Что видишь ты? Для тебя это текст «Hello Speccy», но в реальности кодировка символов стала максимально приближенная к нарисованному шрифту, где автор шрифта не рисовал знака вопроса, и поэтому он был автоматически выкинут. Всё это оптимизировалось в ветке предкомпиляции «FONT\crunch.az8», где анализировалась графика из картинки BMP, которая там же превратилась в бинарные данные, на них создалась табличка(виртуальная для компилятора) неиспользуемых символов, оптимизировались повторения в графике русской буквы «Р» и латинской «P», всё это превратилось в максимально ужатый бинарный кусок который лёг в память. И после исполнения «crunch.az8» любая информация заключённая в кавычки кодируется по таблице. И LD A,«P» в итоге в аккумулятор запишет некий символ после перекодировки. Это я привёл тебе простой пример, самый элементарный. Я молчу о том, что ты можешь откомпилировать свой код и тут же его в эмуляторе подсчитать по тактам, или часть своего кода подсчитать. Или сделать высвечивание пакованных данных, например в OSCOSS есть лица которые высвечиваются. Все они состоят из каких-то простых залитых полигонов, которые у меня высвечиваются какой-то процедурой, которая на каждую часть высвечивания лица стратит некое количество тактов. И тут мне приходит идея, хочу к лицам сделать снизу зеркальное отображение, и продлить границу разделение на бордюре. Вот всё это пропускается через одну команду компилятора, которая при компиляции эффекта подсчитывает сколько тактов занимает высвечивание каждой части лица, делает мне таблицу с конкретными числами в тактах, под каждую картинку-лицо, и я только из фиксированного числа отнимаю сумму тактов из таблички и жду оставшееся время до места продолжения линии на экране и бордюре. Всё, это конец моего кодинга в данном эффекте, график меняет себе пикселы в картинке, музыкант меняет нотки, а у меня жёсткий эффект сделанный из набора простых команд моего асма. И я не знаю как это сделать на sjasmplus? Я честно, клянусь, много раз пытался использовать разные компиляторы. но как правило компиляторы почему-то заботятся о том, что бы LDAB превращалось в LD A,B, но мне это не надо, это не проблема исправить опечатку, а вот когда я не могу дать волю своей фантазии, это для меня очень критично. Так что, Лёша, да, мне пришлось бы заново писать «asam», без него у меня весь пар уходит на гудок. Для меня возможности моего асма это как в 90-ые года писать на TASM 4.0, и потом кропотливо считать-считать-считать-считать-считать-считать…
Похоже так в итоге и напишу я своего «Масона»! (бьюсь лбом об стену)