А какой эмулятор используете? Тоже хочу это дело пощупать так сказать…
Любые слои могут накладываться, хоть все сразу.
В Layer 2 можно сразу подгрузить 48кб, и вроде как недавно появился на 96кб при 512 цветах. Существует еще теневой экран Layer 2, как понял типа второго спектрумовского экрана, но опять же зачем не понял, так как мерцания в Layer 2 все равно не возможны (на эмуляторе :), железа я не имею).

Любой слой может быть обрезан до нужных размеров Clip регистрами. Это регистры с #18 по #1B. Регистр #1C отвечает за сброс определенного или всех ранее заданых размеров окон.
Ааа, вон оно что. Забавно. Надо ознакомиться…
В нексте расширенная система команд используется и проц собран в ПЛИС.
dw #ED91
db register, value

А вот тут поподробнее бы (тем более что текст намекает что это планировалось).
Это что за покемон? Какая то недокументированная инструкция или они в Next сделали контроллер отлавливающий появление такой последовательности? Насколько я помню Z80 там оригинальный, не через FPGA, так что ему систему команд поменять не могли по идее…
  • avatar tsl
  • 1
Понеслась…
Люто плюсую и очень надеюсь на продолжение!!!
В общем дошли руки скачать образ который создал Mr.Mouse/Xentax из ссылки выше и загрузить это дело в эмулятор Commodore 64:
И вот он результат:

Погуглив еще обнаружил, что адреса $0314-0315 куда процедура SETUP сохраняет адрес PROC это ничто иное как адрес процедуры обслуживания прерывания IRQ в Commodore Basic и поэтому в видео видно, что бейсик спокойно сосуществует с этой подпрограммой как с TSR.
Осталось только так и непонятым мною почему в листинге из игры используется некий оператор! и как он должен работать, но в реализации от Mr.Mouse он логично заменён на взятие нижней и верхней половины адреса < и >. Так же там все .dword заменены на .byte.
Возможно если бы не эти затуманившие мне мозг вещи я бы и сам смог докопаться до истины ранее. Так или иначе — пасхалка супер!
P.S.
Точно: csdb.dk/release/?id=182055
Это пасхалка в квадрате — тут и отсылка к терминатору и код на Commodore 64 воспроизводящий на двух нотах мелодию из Duke3D.
Вскрывается, что это как минимум фрагмент звукового драйвера на Commodore 64 воспроизводящий небольшой фрагмент по адресу DATA на звуковом чипе SID. Так JMP $EA31 это передача управления в KERNAL для штатной обработки прерывания от видеочипа (т.е. 60 раз в секунду), а $D4xx — это порты SID. Есть вероятность, что это суперскрытая пасхалка, т.к. мне лично гугл на «Ion Maiden hidden music Commodore 64» ничего не выдаёт осмысленного.
  • avatar bfox
  • 1
пока что планируется вставка субтитров с переводом на английский язык. публикация в виде статей не планировалась, но подумаем.
А существуют ли планы перевести это всё в текстовой вид?
Конечно ныне век ютубов и стримов, но техническая информация не в виде текста сильно теряет в эффективной познавательной ценности.
вот это честь по чести!
ежели кому еще надо, теперь есть и полноэкранный режим с разным увеличением (и экстраполяцией бордюра опционально)
  • avatar sq
  • 0
Призываю в тред random !
  • avatar nyuk
  • 1
Для VSCode есть Z80 Debugger by maziac. Суть этой штуки в том, что она умеет договариваться с эмулем ZEsarUX по Хитрому Отладочному Протоколу, в результате в Code появляется отладчик со всеми этими вот брякпоинтами, вотчами и прочим. Сам не пробовал пока, но, наверное, удобно.

Я потратил весь день на него, но так и не смог нормально запустить.

1. Вариант со встроенным симулятором сразу не взлетел. Пока простой код он еще справляется, но как только включил вторые прерывания и начал сыпать в основном потоке на экран — всё развалилось. Никаких настроек для тюнинга/фикса не нашел.

2. ZEsarUX долго мучал. И даже что-то заработало. Но как-то криво и не стабильно. С кучей варнингов, точки останова срабатывают через раз. Плюнул, не стал долечивать. Все равно на одномониторной системе эта связка неюзабельна — неудобно постоянно прыгать из IDE в эмулятор и обратно. На двух мониторах может и норм было бы.

3. Вариант с CSpect не пробовал. Как-то сложновато там с установкой и настройкой.

А вообще, штука очень мощная. С кучей интересных фишек. Жаль, что не взлетело у меня (пока).
  • avatar nyuk
  • 2
Форкнул. Основные отличия:

1. Вся настройка через файл .vscode/tasks.json. Сейчас там можно настроить:
— Имя проекта. Если не указать, будет использовано имя текущего каталога
— Путь к эмулятору для запуска снэпшота
— Путь для копирования снэпшота
— Один из двух вариантов запуска (см. ниже)
Этого вполне достаточно для быстрого старта, в остальных файлах ничего настраивать на начальном этапе не нужно.

2. Все вызовы через make. Добропожаловать в волшебный мир линукс. Под виндой достаточно установить cygwin.

3. Мне не удобен вариант отладки с копированием снэпшота и быстрой загрузкой в эмулятор. Мне удобнее каждый раз перезапускать эмулятор с новым снэпшотом. Поэтому здесь предусмотрены оба варианта:
make run
— собирает снэпшот и запускает его в указанном в `tasks.json` эмуляторе
make copy
— собирает снэпшот и копирует его в указанный в `tasks.json` файл.

4. Немного реструктуризировал под себя: Все исходники в каталоге src. Сборка в каталог build.

Как-то так. github.com/akanyuk/zxboilerplate
  • avatar n1k-o
  • 0
попахивает ВГК!


Не успел босса хлопнуть, так бы еще немного начислило)
  • avatar Quiet
  • 1
Ну что, кто больше?