ну, может, для демок и эффективнее НЕнамного, но мой опыт ковыряния игрушек говорит об обратном
Это очень хороший анекдот. Непонимание раскладки ULA — натурально, бич начинающих кодеров. Она действительно не всегда удобна, но думаю многие со мной согласятся, что с опытом приходит понимание, что она намного эффективнее линейной раскладки.
Нет. У меня сейчас на самом деле денди с маппером MMC3 голова забита если про хобби говорить. Про Next получилось просто что одна предыдущая статья была написана уже давно, а система команд ну очень уж немного и интересно, перевести так и просилось.
Бегло взглянул на zxnDMA сейчас — оно как я понял является даже усечением Z80 DMA и насколько я понял из упрощений только то что раньше количество итераций вбивалось как X+1 (и в режиме совместимости это сохранено), а сейчас можно как X передавать в новом режиме. А в остальном вроде всё такое же, но там уже куча битовых флагов и адресов и перевод уже дело нудненькое.
aa-dav, а планируется ли такая же обзорно-поучительная статья по преимуществам zxnDMA в отличии от Z80DMA? Но на великом и могучем, а не как у них в dev.
xD
Тут явно надо родить анекдот класса «стадии смирения»…
Наподобие такого:
Есть три стадии развития программиста на спектруме:
1. ты не понимаешь как раскладку видеопамяти ULA
2. ты понимаешь раскладку видеопамяти ULA
3. ты не понимаешь раскладки видеопамяти не как в ULA
Было бы точнее сказать, что в этих инструкциях отражены профессиональная боль непрограммистов на спектруме.
В Z80N на самом деле в разное время присутствовали еще некоторые команды, о назначении (и полезности?) которых можно лишь догадываЦЦа.
LD_ACC32_DEHL, EXXACC32, LD_DEHL_ACC32, INC_DEHL, DEC_DEHL, ADD_DEHL_A, SUB_DEHL_A, ADD_DEHL_BC, SUB_DEHL_BC, MIRROR_DE, PIXELTOATTR, ATTRTOPIXEL и т.д.
За статью — спасибо. Полезно.
Каждый раз ор и рукалицо с этих костылей. А вы думали, вот что надо сделать, чтоб исправить неудобство адресации оригинальной юлы? Ага, точно — надо «исправлять» другой и самый сложный компонент — процессор, вместо простого. С результатом всё равно неудобнее, чем у старых самопальных компов советских. Вот казалось бы, всё равно со спеком несовместимо, ну запилите вы прозрачную трансляцию адреса. Но нет, эти люди лёгких путей не ищут.
  • avatar VBI
  • 0
Лайфхак автору: Прочти ещё хотя-бы раз статью, после размещения.
Ну и вот это вот всё тоже пригодится :)
CSpect
Тут небольшие дополнения что бы OS эмулировать.
А какой эмулятор используете? Тоже хочу это дело пощупать так сказать…
Любые слои могут накладываться, хоть все сразу.
В 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.
Возможно если бы не эти затуманившие мне мозг вещи я бы и сам смог докопаться до истины ранее. Так или иначе — пасхалка супер!