Подскажите где найти информацию по горячим клавишам "Pretty 8080 Assembler" ?
Подскажите где найти информацию по горячим клавишам "Pretty 8080 Assembler" ?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Редактор называется ace, вот вроде его хелп:
https://github.com/ajaxorg/ace/wiki/...oard-Shortcuts
Ничего специального я не добавлял, хотя было бы прикольно сделать перейти по адресу, а не по номеру строки, например.
Больше игр нет
metamorpho(22.06.2020)
Возник вопрос. В разных описаниях графического режима Вектора написано что одновременно на экране могут отображаться только 16 цветов из 256 цветовой палитры.
Но есть программы которые отображают вот этот спектр цветов.
http://sensi.org/scalar/ware/770/
http://sensi.org/scalar/ware/768/
За счёт чего это происходит ?
И можно ли в игре использовать больше 16 цветов одновременно ?
Это мультиколор, или растровые эффекты. Для них процессору приходится выводить код цвета в регистр $0c синхронно с ходом луча. Для наших целей можно считать, что out 0c выводит цвет прямо в ЦАП. Если на экране черный фон и мы делаем mvi a, $ff \ out $0c в момент, когда луч находится посередине 1-й строки, мы увидим переход с черного на белый несмотря на то, что в видеопамяти по прежнему все нули.
В игре это использовать сложно, потому что это делается процессором, а единственная точка синхронизации -- это кадровое прерывание. Оттуда можно только считать такты. Будет либо колоссальная потеря времени в цикле задержки, либо код должен быть написан так, что все его ветвления занимают одно и то же время, либо на собственно работу программы останется время только от непосредственно после последнего мультиколорного out до следующего прерывания. Сложно, но можно. Можно представить себе игру, в которой обработка требуется минимальная, код разбит на маленькие корутины, которые гарантировано успевают исполниться в нижней половине экрана, а большая часть экрана при этом занята каким-то мультиколорным эффектом.
На самом деле есть еще способ синхронизации, примененный в Exolon (но не для мультиколора) — поскольку таймер считает синхронно с процессором, его можно использовать для определения положения луча на экране. Пока я ни разу не видел, чтобы это было применено для растровых эффектов и боюсь, что может быть не получится попасть ровно в нужное место просто потому, что одна только инструкция in - это 12 тактов и точность определения таким образом получается +/- полстроки.
Больше игр нет
electroscat(23.07.2020), metamorpho(25.06.2020), parallelno(01.07.2022)
Вариант, как это можно было бы использовать для растрового эффекта. Читаем (заранее, иначе не получится) значение из таймера, находим разность с нужным моментом. Разбиваем ее (разность) условно на 2 части: грубая подстройка (ее компенсируем циклом) и точная подстройка - как вариант ее можно сделать по таблице задержки (nop nop ... nop) индекс перехода в которую определять по той самой "части точной подстройки". Но это все малопригодная для игр штука, и еще не надо забывать про тонкие светлые полосы, сопровождающие на реале запись в РУ2 в активной части растра.
Имхо при ориентации на многоцветную графику самый простой вариант движка - использовать вывод с дискретностью тайлов 8x8 точек. Как это выглядит в простейшем случае, без масок, можно увидеть на примере HUDSONовских игр портированных с msx (только не надо учитывать jet set в этом списке, там все иначе). В векторовских версиях можно было нарисовать гораздо более цветную (это даже я делал) и красивую (а вот это я не умею) графику. Если скорость не так важна (на экране сравнительно мало движущихся объектов), то можно при выводе "спрайтовых тайлов" использовать маску, как в Chip and Dale.
- - - Добавлено - - -
Robotz уже рекомендовали, но начинать с них знакомство с программированием для вектора наверное все же несколько сложновато, но может я ошибаюсь.
Последний раз редактировалось ivagor; 25.06.2020 в 12:07.
metamorpho(25.06.2020)
svofski, ivagor спасибо!!
Ещё вопрос такой - скорость аппаратного вертикального скролинга будет одинаковый и при режиме 256х256 и при режиме 512х256 точек ?
Последний раз редактировалось metamorpho; 25.06.2020 в 12:53.
Скроллинг будет одинаковый.
А для Вектора уже есть Space Invaders?
Больше игр нет
metamorpho(25.06.2020)
svofski(25.06.2020)
О, а Пиф-паф то — огого!
Больше игр нет
прогресс написания шедевра на сегодняшний день:
- написал программу перевода графики с PC в формат .db 0,1,2,3,.... для вставки в ассемблер
- написал код вывода спрайта на экран (программировать на ассемблере это полный "хардкор",
но в тоже время это оказалось весьма интересно)
Сейчас пишу редактор уровней, чтобы также выдавал текстовый файл в формате .db 0,1,2,3,.... для вставки в ассемблер
Последний раз редактировалось metamorpho; 26.06.2020 в 14:53.
Black Cat / Era CG(27.06.2020), electroscat(23.07.2020), Xrust(27.06.2020)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)