я же сказал, что утрировал. так-то мой первый пост был как раз в защиту фичи x-mode :) я больше имел в виду не столько 386\486, сколько svga+vbe. ну и мне кажется это все-таки разные эпохи, и wolf и doom независимо от процессора оптимизировали под оригинальный vga, поэтому планарный режим - единственный вариант. В том же Heretic через год после Doom - решили сделать уже по-другому. Лучший подход был в Duke Nukem 3D - там можно было выбрать и 13H и modeX и VBE даже для 320х200, что иногда позволяло добиться хорошего прироста. P.S. Ты так пишешь, как будто у нас тобой какой-то серьезный спор. Я просто хотел дополнить, что запись 4 байтов за раз - тоже важная фича x-mode. все что я писал - не спора ради, а для более полной информации.
А почему речь вообще про Doom пошла? Был ведь wolfenstein3D, тоже в mode Y. Причины - в 13H игра была бы заметно медленнее, двойная\тройная буферизация были бы невозможны. В Doom - причины те же. mode Y выбран вместо mode X также из-за скорости - меньше пикселей. Также в Doom это позволило сделать режим низкой детализации - ускорение не только из-за того, что движку нужно считать 160 лучей вместо 320, но и в том, что пиксели двойной ширины записываются одним обращением в видеопамять... А еще в пользу mode Y против mode X - пишут, что художники работали в Deluxe Paint в режиме 13H и было бы неудобно, если бы в самой игре пропорции пикселя были бы другие.
я конечно утрировал. но все же его использовали в первую очередь из-за совместимости. аппаратный скролл вполне себе возможен и в svga режимах, но там проблемы с совместимостью, особенно в поддержке низких разрешений. Doom использовал mode Y :) по вполне очевидным причинам:)
задай этот вопрос компании IBM:) vga появился как встроенный на материнскую плату адаптер для компьютеров ps/2 (в том числе на процессоре 386), позже вышел как внешний адаптер под isa и mca. на 386\486 вообще мало смысла использовать x-mode, есть же vbe и другие плюшки. фишка x-mode что он работает на оригинальном vga и его древних клонах.
По поводу защелок - я дописал в конце, если заливать одним цветом - то работает, если разными - все зальется самым старшим байтом из 4ех. А насчет шины - не совсем так - неважно какая шина, важно что оригинальный vga - 8битный даже для 32битных ps/2, не важно какая шина, если сам адаптер - 8битный.
оригинальный vga - 8 битное решение от ibm. пользоваться 16 битными или 32битными операциями в планарном режиме нельзя на любой видеоплате... ок, понял что ты имел в виду сплошной цвет, так работает.
Фраза слышна волне отчетливо - "Can you help Robin in his quest for the silver arrow?"
Дмитрий талантливый программист, но у него искаженное восприятие реальности
я же сказал, что утрировал. так-то мой первый пост был как раз в защиту фичи x-mode :) я больше имел в виду не столько 386\486, сколько svga+vbe. ну и мне кажется это все-таки разные эпохи, и wolf и doom независимо от процессора оптимизировали под оригинальный vga, поэтому планарный режим - единственный вариант. В том же Heretic через год после Doom - решили сделать уже по-другому. Лучший подход был в Duke Nukem 3D - там можно было выбрать и 13H и modeX и VBE даже для 320х200, что иногда позволяло добиться хорошего прироста.
P.S. Ты так пишешь, как будто у нас тобой какой-то серьезный спор. Я просто хотел дополнить, что запись 4 байтов за раз - тоже важная фича x-mode. все что я писал - не спора ради, а для более полной информации.
А почему речь вообще про Doom пошла? Был ведь wolfenstein3D, тоже в mode Y. Причины - в 13H игра была бы заметно медленнее, двойная\тройная буферизация были бы невозможны. В Doom - причины те же. mode Y выбран вместо mode X также из-за скорости - меньше пикселей. Также в Doom это позволило сделать режим низкой детализации - ускорение не только из-за того, что движку нужно считать 160 лучей вместо 320, но и в том, что пиксели двойной ширины записываются одним обращением в видеопамять... А еще в пользу mode Y против mode X - пишут, что художники работали в Deluxe Paint в режиме 13H и было бы неудобно, если бы в самой игре пропорции пикселя были бы другие.
я конечно утрировал. но все же его использовали в первую очередь из-за совместимости. аппаратный скролл вполне себе возможен и в svga режимах, но там проблемы с совместимостью, особенно в поддержке низких разрешений. Doom использовал mode Y :) по вполне очевидным причинам:)
Я имел в виду копирование внутри видеопамяти, тогда из-за перезаписи защелок в них остается только старший байт
задай этот вопрос компании IBM:) vga появился как встроенный на материнскую плату адаптер для компьютеров ps/2 (в том числе на процессоре 386), позже вышел как внешний адаптер под isa и mca. на 386\486 вообще мало смысла использовать x-mode, есть же vbe и другие плюшки. фишка x-mode что он работает на оригинальном vga и его древних клонах.
По поводу защелок - я дописал в конце, если заливать одним цветом - то работает, если разными - все зальется самым старшим байтом из 4ех. А насчет шины - не совсем так - неважно какая шина, важно что оригинальный vga - 8битный даже для 32битных ps/2, не важно какая шина, если сам адаптер - 8битный.
оригинальный vga - 8 битное решение от ibm. пользоваться 16 битными или 32битными операциями в планарном режиме нельзя на любой видеоплате... ок, понял что ты имел в виду сплошной цвет, так работает.
на оригинальном vga 32-битная запись в режиме 13h будет значительно медленнее
Еще одним важным преимуществом Mode X/Y является возможность быстрого копирования или заполнения видеопамяти - 4 пиксела за одну байтовую операцию.
Adlib + сэмплы - это уже sound blaster или adlib gold.
https://www.youtube.com/watch?v=ATb8zhdINpg
Имхо одни из лучших Adlib саундтреков - от Stephane Picq - в играх Dune, KGB и Megarace. Использовался софт HERAD.
https://www.vgmpf.com/Wiki/index.php?title=HERAD
Silpheed
https://youtu.be/377CmYT42Dg?t=790
Могу ошибаться, но вроде в Zeliard на pc-88 использовался CSM режим для "речи"
https://www.youtube.com/watch?v=xdl1D8CR67s
Транслятор - общий термин, он может быть с чего угодно во что угодно. Ассемблер - это конкретный транслятор с языка ассемблера в машинный код.
Такую программу обычно называют ассемблером:)
А зачем ассемблер называть компилятором?
Зачем использовать медленные sra вместо быстрых rrca? Зачем делать 7 сдвигов вправо вместо 1 влево?
Приведенная реализация Z26 для z80 - просто кричаще неэффективная.