Просмотр полной версии : Видеокарта "METEOR-2020" для устранения клешинга
Разработка предыдущей видеокарты затянулась и зашла в тупик. Материалы были пересмотрены и доработаны.
Новая видеокарта будет подключаться к компьютерам "ZX SPECTRUM 48K" и "LENINGRAD" через кросс-плату "SPACE MISSION 2020".
Основное назначение:
1. Устранение клешинга.
2. Ускорение игр за счёт аппаратного копирования буфера на экран.
Концепция при переделке игр - оставляем основной код и спрайты, переделываем вывод на экран.
Рисовать в новом режиме будем сразу по 8 точек текущими цветами.
Режим рисования маски цветом COLOR0 будет включаться командой LD L,L.
Режим рисования спрайта цветом COLOR1 будет включаться командой LD H,H.
Режим рисования обоими цветами сразу будет включаться командой LD B,B.
Строение видеопамяти:
В видеопамяти на каждую точку будет приходиться по 6 битов. 1 бит - BITMAP, 4 бита - цвет точки NEW_COLOR, 1 бит - откуда брать цвет точки при выводе на TV (0 - из BITMAP и атрибута старого экрана, 1 - из NEW_COLOR). Для записи и чтения процессором Z80 доступен только байт BITMAP на 8 точек, соответствующий старому экрану.
Вместо ПЗУ будут подключаться две новые области графики по 8 К адресов: видеобуфер VBUF1 с адреса 0000 и новый экран SCR2000 с адреса 2000H. Ещё будет видеобуфер VBUF2 для временного хранения.
Копирование между видеобуферами и новым экраном будет аппаратным за 1 мс.
Формат хранения изображения в буфере:
Линейный буфер с простым переходом к байту рядом в любом направлении. Экзотические форматы буфера при доработке игр преобразовывать линейному формату.
В линейном буфере максимум 256 байтов по вертикали. Для стандартного экрана 256*192 точек достаточно буфер высотой 192 байта.
Можно в этой же области памяти разместить линейные атрибуты. По вертикали 24 атрибута. 256-24=232.
Если с запасом 32 атрибута, то буфер точек может быть высотой 256-32=224.
Небольшой запас может пригодиться.
Чтобы определить адрес атрибута в линейном буфере с адреса 0000 надо к координате Y (в знакоместах) прибавить E0 и записать в младший байт адреса. Координату X (в знакоместах) записать в старший байт адреса.
Для копирования на экран нужно задать координаты левого верхнего угла и размеры окна в байтах.
После записи последнего параметра можно запускать процесс копирования с остановкой Z80.
Если использовать ПЛИС, генератор 56 MHz и SRAM 256K * 16 10 ns.
Если шина 16 бит, то нужен доступ за 1 такт 56 MHz. Если шина 64 бита, то за 1 такт 14 MHz.
Время копирования буфера на экран во время бордера будет равно 32 * 192 * 2 * 4 / 56 MHz = 878 мкс.
Буфер, где готовится следующий кадр игры, начинается с адреса 0000. Размер буфера 8 кбайт адресного пространства Z80.
Координата Y записывается в младший байт адресного регистра, а координата X (в байтах) - в старший байт.
Команды типа
ld a,(hl)
and d ; вырезаем по маске
ld (hl),a
Заменяем на
ld l,l ; записываем маску
ld (hl),d
Однобайтовая неиспользуемая команда Z80 ld l,l используется для быстрого включения режима рисования нулевыми битами в видеопамяти.
Адрес байта справа:
inc h
Кадры будут синхронизироваться сигналом INT. При этом может быть несинхронность последней строки с ZX Spectrum. Для устранения несинхронности подключение его к монитору будет через видеоконвертер VGA SPUTNIK с тремя видеобуферами для развёртки FULL HD.
Проще игру заново переписать, с спрайтами с 1 байтом на точку и нормальным аппаратным спрайтDMA, диззи на 100 кб с 256 цветами на точку угрозы не представляет, карты области обычно занимают места гораздо больше чем 8 битная графика.
Флешка 128 Мб с 8 битной шиной поможет DOSу
https://aliexpress.ru/item/33005863970.html?dp=42q4u4uepq4f5s9ayuz0o770sah8qn 13&af=359030&cv=37462425&cn=42q4u4uepq4f5s9ayuz0o770sah8qn13&aff_request_id=d1700e197c6c4d2a9543320e03989fa9-1580244999061-01550-mun2n2V&aff_platform=default&cpt=1580244999061&sk=mun2n2V&aff_trace_key=d1700e197c6c4d2a9543320e03989fa9-1580244999061-01550-mun2n2V&terminal_id=56157729e0ee4c588ef3e0239de99f5e
Проще игру заново переписать, с спрайтами с 1 байтом на точку и нормальным аппаратным спрайтDMA
проще, только делать это некому
Дык года то не те уже, это надо было делать лет 20-25 назад, сейчас в микросхеме за 200 рублей весь спектрум умещается :)
Для ускорения игр нужно аппаратное копирование из буфера на экран за 1 мс.
Для ускорения игр нужно аппаратное копирование из буфера на экран за 1 мс.
зачем для столь низкого разрешения такие бешенные скорости? современные видеокарты, вроде GeForce 10x0 при 60фпс выстраивают картинку за 4мс - 6мс. и это в разрешении FHD, с кучей шейдеров и прочей ботвы. а для чего в низком разрешении производить копирование за 1мс? 4 - 6 мс более чем достаточно. при этом 4 - 6 мс это примерно 80 - 90 тактов процессора. это просто фантастика какая-то копировать с такой скоростью. это просто сотни мегабит производительности. мы точно про Спектрум тут говорим?
Восстановить фон в буфере ещё 1 мс. На рисование спрайтов в буфере останется всего 18 мс.
Мы говорим про разрешение 256x192? для Z80 предел мечтаний это 1 байт на пиксель, на крайняк этот байт транслировать через озу палитры 256->32768.
Для того что бы переделать допустим Dizzy и зачем то вкорячивать в игру видеодрайвер который будет из 1 битных спрайтов делать такой же 1 битный но с подсветкой придётся перелопатить ВСЮ игру и мудохатся с перекрытием 16к банков ибо там всё сделано под упор, всё это изучение и переделка займёт недели, при этом найти и вытащить ВСЕ спрайты в игре занимает 5-10 минут, в Dizzy какой то сложный интеллектуальный движок? во всех частях одинаковый и написать надо всего 1 раз, там от силы на пару Кб, +новый видеодрайвер, смысл хранить и преобразовывать в реальном времени спрайты из 1 бита в 1 байт нет никакого смысла, загрузил в редактор 1 битные с подкраской, подкорректировал их в 1 байт на точку с маской, нажал СЖАТЬ и СОХРАНИТЬ, вставил полученный файл в ассемблер и игра готова 256 спрайтов размером 8 на 8 с 1 байтом на точку занимают всего 16 Кб, после сжатия будет 3-5 Кб которые после загрузки уже и распакуются в памяти, на Dizzy не хватит 256 полноценных спрайтов для создания фона и всех персонажей? тем более там по сути только руки двигаются, ну не хватит пусть будет на 32 Кб, само тело игры вместе с меню не думаю что будет больше 4-8 Кб.
Практически во всех спектрумовских играх бОльшую часть данных занимает не графика а сам КОД, при чём он большой именно из-за корявости самой системы и самый большой кусок кода это и есть вывод на экран.
Что мешает сделать ПЗУ для видеовывода? BASIC есть, DOS есть, проблема ещё 16 Кб отдать?
Не нужны никакие многоплановости, век денди и сеги уже прошёл, все планы и спрайты накидывает всего 1 канал переброса, в случае с 256x192 это 49152*50 = 2,5 Мб в сек на 1 фон, 5 Мб/сек достаточно что бы кинуть фон в динамике (он же сотрёт и всё что было на экране) и накидать полный экран спрайтов, делать естественно чередуя 2 экрана, НО! Z80 с 900 тыс. операций рег-рег никогда не сможет подготовить необходимые расчёты, в случае с аппаратным двойным фоном этого так же не хватит для подготовки данных, то есть готовить данные должно что-то другое чем 44 летний процессор.
И да, видеопамять НЕ ДОЛЖНА быть в адресном пространстве процессора, в этом нет никакого смысла, всё убрать в банки.
Если всё это городить то и должен быть попиксельный вывод, можно подцепить на адреса пзу регистры записи, допустим:
LD L,32 ; координата X
LD H,64 ; координата Y
LD A,117 ;цвет
LD (256),HL ;по адресу 256 рег-защёлка X, 257 - Y
LD (258),A ; записывает цвет в видеопамять, регистр X увеличивается на 1 (наверное, по настройке)
LD A,(258) ;считать цвет из видеопамяти
Дык года то не те уже, это надо было делать лет 20-25 назад, сейчас в микросхеме за 200 рублей весь спектрум умещается :)да ну! это если ASIC тиражом 10 млн. штук. А так калькуляцию и спецификацию в студию пожалуйста!
Black Cat / Era CG
29.01.2020, 22:34
во всех частях одинаковый
Вроде бы их штуки 4, В первой свой, в 7 - свой, еще пара посередине.
http://meandr.org/archives/21451
Частота 2.33 МГц, взять микроконтроллер помощнее влезет и всё остальное на большей частоте
А в AT91SAM7S256 влезет целиком только с ограничением по количеству озу но можно и прикрутить к ней внешнюю память, цена 150 руб а STM32F030F4P6 с spi памятью вообще 30 рублей стоит.
Суть не в этом а в том что при 3.5 МГц не сделать ничего что связанно с комфортной работой, по крайней мере сейчас в этом уже мало смысла.
Кто мешал 20 лет назад кинуть регистр на прерывание IM2 и подкинуть проводок с конденсатором от счётчиков на плате 8 или 16 кГц, это полноценная цифровая музыка с жёсткой тактировкой, а кто мешал кинуть к этому же регистру прерывание от ВГ93 и не надо было бы опрашивать бесконечно в ожидании байта, прерывание пришло байт сохранили...
Что так поздно опомнились? :)
- - - Добавлено - - -
Вроде бы их штуки 4, В первой свой, в 7 - свой, еще пара посередине.
если заново нарисовать там градаций/цветов всего то штук 12-16 хватит, сжать для хранения можно очень даже не плохо, тем более есть пустые места, плавающий бит ещё сожмёт
даже если и будет графики на 16 Кб то это будут всё таки не 7 цветов а 256 :)
Идея была в устранении клешинга для оригинального ZX Spectrum, Ленинграда и модульного компьютера без переделки спрайтов и логики игры. При переделке всех игр стандартизировать расположение буфера с адреса 0000 и перенести экран в адрес 2000 для возможности аппаратного копирования из буфера на экран.
Копирование восьми точек за 2 такта 14 МГц. Это позволит просто и быстро выводить на экран без ldi, push, pop и других ухищрений.
https://cxem.net/mc/mc87.php
Вот кстати вообще на дохлячем Atmega168 без разгона, не спектрум правда и с графикой 192x144 но с 16 цветами на точку и каким то звуком, так это ещё и на С+ нафигачено и в 16 Кб уложилось, цена мк всего то 60 руб, а если бы в Atmega328 и на ассме да ещё и с PAL частотой не парится а тупо навалить частоту 24 МГц и на D-SUB вывести то спектрум нервно бамбук в сторонке курить будет, и это всего в ОДНОЙ 20 ногой довольно древней микросхеме.
Не сможет он копировать восемь точек за 2 такта.
Идея была в устранении клешинга для оригинального ZX Spectrum, Ленинграда и модульного компьютера без переделки спрайтов и логики игры. При переделке всех игр стандартизировать расположение буфера с адреса 0000 и перенести экран в адрес 2000 для возможности аппаратного копирования из буфера на экран.
Копирование восьми точек за 2 такта 14 МГц. Это позволит просто и быстро выводить на экран без ldi, push, pop и других ухищрений.
Что бы 8 точек записать в видепамять без клешинга надо уже 8 тактов сделать, ибо это 8 раздельных точек, или частота записи 8*14 МГц?
Объём прелопачивания игры не стоит полученного результата, никогда не обращал внимания на клешинг а вот каждую точку своим цветом всегда хотелось, особенно при работе с векторной графикой.
Восемь точек записываются одновременно за два такта в режиме чтение-модификация-запись в графической памяти. Но так как этим управляет Z80, то скорость зависит от него. Перелопачиваются только подпрограммы вывода на экран. При этом вывод во всех играх получится почти одинаковый, что упрощает переделку.
[URL="http://meandr.org/archives/21451"] а STM32F030F4P6 с spi памятью вообще 30 рублей стоит.
стоит 50 центов в Америке при закупке от 2500 шт., макетка с ней из Китая 80 руб. на ebay. Но из нее не так просто сделать даже простейший комп даже за 500 руб. Дайте в студию хотя бы одну законченную схему со спецификацией и калькуляцией по российским ценам. Даже самопаянного дома на коленке. Не получится дешевле 1000 руб. по любому. А если фирма начнет делать уплачивающая налоги, то и в 3000 едва уложиться бы.
Я до сих пор не понял принцип реализации, сколько бит на точку в видеопамяти? или это какой то временный буфер для спрайта целиком? и потом тупо считать когда его надо выводить?
- - - Добавлено - - -
стоит 50 центов в Америке при закупке от 2500 шт., макетка с ней из Китая 80 руб. на ebay. Но из нее не так просто сделать даже простейший комп даже за 500 руб.
Из atmega168 делают так она слабее раз в 100 :) на СИИИИИИИ!!! даже не на ассме :)
- - - Добавлено - - -
Вот вообще из хлама :D
http://adapto.rs/arc/site/artcls/avrcomputers/
Интересная реализация на ATmega128 с ram, микра 50 рупей стоит.
А на ATMega644 вообще с 256 цветами, цена так же 50 рупей.
-----------------------
Не надо записывать графику при помощи Z80, он мееедлееенныыыыый, это цпу а не графический процессор, его дело раскидывать задачи на простом доступном НАМ языке программирования.
Вот что тут сложного?
https://www.youtube.com/watch?v=-6lvAXSGBpI
Это не может сделать DMA на 14/28 МГц? если даже задний фон сделать анимационный то DMA накидает не 50 кадров а 500, и игру проще сделать ЗАНОВО с нормальным загрузчиком.
Зачем тратить года ради убирания клешинга? что изменится? 6 цветов в кубе поменять на 6 цветов в квадрате?
https://www.youtube.com/watch?v=ciY0-rYXXKA
Спектрум по сути спасла AY музыка и демки, а если бы вовремя среагировали когда появились pic16f628 и attiny2313 то можно было всю логику формирователя адресов запихать в мк и плата урезалась бы больше чем на половину, у меня кстати на pentagon`e стояли кешевые sram на 512 кб а два ay-3-8910 я начал мучать наверное один из первых :) и да, у меня обмен файлами между домами по витой паре был ещё в 1993.
В видеопамяти 6 бит на точку. Один бит указывает режим цветности. Другой - стандартный BITMAP и четыре бита для независимого цвета для каждой точки
Хорошо, возьмите любой из предложенных вами вариантов и доведите до законченного устройства в корпусе и сосчитайте сколько это стоит в России пусть даже самопаянное. И пусть даже с питанием от usb-зарядника. Я вот например знаю, что мои клиенты резонаторы и генераторы от 90 руб. с НДС покупают миниатюрные, а если бы они производили в Штатах или Китае, ну было бы в 1.7 раза дешевле( не забываем что у нас ндс 20%) И заметьте что китайцы ни на алике, ни на ebay законченных устройств подобных не предлагают для поставки в Россию. Ну разве что смартфоны и игровые приставки. Не задумывались почему?
Скорость рисования спрайтов почти не меняется. Резко ускоряется копирование нарисованного на экран, что позволит делать даже полноэкранные игры.
Хорошо, возьмите любой из предложенных вами вариантов и доведите до законченного устройства в корпусе и сосчитайте сколько это стоит в России пусть даже самопаянное. И пусть даже с питанием от usb-зарядника. Я вот например знаю, что мои клиенты резонаторы и генераторы от 90 руб. с НДС покупают миниатюрные, а если бы они производили в Штатах или Китае, ну было бы в 1.7 раза дешевле( не забываем что у нас ндс 20%) И заметьте что китайцы ни на алике, ни на ebay законченных устройств подобных не предлагают для поставки в Россию. Ну разве что смартфоны и игровые приставки. Не задумывались почему?
Так я про это и говорю что должен быть чёткий смысл, нам на пенсию уже скоро :)
Lethargeek
30.01.2020, 00:50
Для устранения клешинга и ускорения графики игры надо будет дорабатывать. Все доработанные игры должны использовать видеобуфер с адреса 0000 и экран с адреса 2000. Также надо доработать подпрограммы рисования в буфере и на экране для нового режима графики.
эта музыка будет вечной
https://www.youtube.com/watch?v=1RsEEMcFC3U
казалось бы, ну всё равно эта видеокарта получится сложнее самого спектрума
почему не доработать её саму, чтобы софт приходилось "дорабатывать" не так сложно?
- - - Добавлено - - -
Скорость рисования спрайтов почти не меняется. Резко ускоряется копирование нарисованного на экран, что позволит делать даже полноэкранные игры.
их и так делают для спека с двумя экранами, "резко ускоряя" переброску в тысячи раз :)
- - - Добавлено - - -
Объём прелопачивания игры не стоит полученного результата, никогда не обращал внимания на клешинг а вот каждую точку своим цветом всегда хотелось, особенно при работе с векторной графикой.
типа такого?
https://i.postimg.cc/tRphYk6Q/107739421-126305.jpg
заняла четыре вечера "доработка" (в основном на тестовые прогоны)
Скорость рисования спрайтов почти не меняется. Резко ускоряется копирование нарисованного на экран, что позволит делать даже полноэкранные игры.
Если это делается на ПЛИС то зачем тогда все эти переносы из 1 бита в 6-10? там скорости достаточно что бы накидать тысячи экранов тупо выбрасывая данные, кто будет ковырять игру ради той же 1 битной графики? что изменится на экране? там где клешинга не было его и не будет, а какие игры у нас с диким клешингом? я особо не припомню.
- - - Добавлено - - -
эта музыка будет вечной
https://www.youtube.com/watch?v=1RsEEMcFC3U
казалось бы, ну всё равно эта видеокарта получится сложнее самого спектрума
почему не доработать её саму, чтобы софт приходилось "дорабатывать" не так сложно?
- - - Добавлено - - -
их и так делают для спека с двумя экранами, "резко ускоряя" переброску в тысячи раз :)
- - - Добавлено - - -
типа такого?
https://i.postimg.cc/tRphYk6Q/107739421-126305.jpg
заняла четыре вечера "доработка" (в основном на тестовые прогоны)
А если бы каждая плоскость своим цветом и яркостью? да ещё и с 256 цветами...мммммммммммм
И иконки бы поменьше :) и рамку убрать...и что бы 50 кадров :D
Lethargeek
30.01.2020, 01:04
А если бы каждая плоскость своим цветом и яркостью? да ещё и с 256 цветами...мммммммммммм
да хоть с over 9000 цветов - вопрос в том, откуда взять эту информацию
в оригинальной игре её нет, только вид текстуры и атрибут (один на всю комнату)
потому я сделал для каждой комнаты просто градиент от пэйпера к инку с небольшими вариациями
И иконки бы поменьше и рамку убрать...и что бы 50 кадров
это к автору вопросы, а не ко мне :)
А из PentEvo это нельзя выжать?
Lethargeek
30.01.2020, 01:52
А из PentEvo это нельзя выжать?
при 14мгц и 16 цветах, вероятно, можно чисто технически, но сроки точно будут совсем другими
Объём прелопачивания игры не стоит полученного результата,
Так я про это и говорю что должен быть чёткий смысл, нам на пенсию уже скоро :)ну и что? Спектрумист он до гробовой доски спектрумист. К тому же на российскую пенсию не проживешь, так что все равно надо чем-то заниматься.
- - - Добавлено - - -
заняла четыре вечера "доработка" (в основном на тестовые прогоны)
если процесс преобразования кода формализуем и алгоритмизируем, то почему не поручить его программе?
Для устранения клешинга и ускорения графики игры надо будет дорабатывать.
как только в проекте появляется такая фраза, то вспоминается спринтер и рассказ Николая Носкова о том, что "как только выпустим, народ бросится писать и адаптировать"
Без доработки игры все останется как было с клешингом. Само ничего не исправится.
Lethargeek
30.01.2020, 12:32
если процесс преобразования кода формализуем и алгоритмизируем, то почему не поручить его программе?
в коде ничего не преобразуется (то есть, проще этого не делать, особенно без исходников)
на основе дизассемблера кода пишется "драйвер" наподобие современных пиксельных шейдеров
автоматизируется плохо, ведь разных графдвижков на спеке не особо меньше, чем разных игор :D
формализовать можно разве что подход к адаптации (что и пытаюсь делать в туториалах)
ну, и совершенствовать инструменты (хотя и с нынешними времени уходит немного)
- - - Добавлено - - -
Без доработки игры все останется как было с клешингом. Само ничего не исправится.
вопрос в том, сколько времени приходится потратить на "не само"
ZX_NOVOSIB
30.01.2020, 14:25
никогда не обращал внимания на клешинг а вот каждую точку своим цветом всегда хотелось
Это пять! :D
polikarpov76
30.01.2020, 16:11
Абрама дома встречает жена Сара.
— Абрам, ты был у врача?
— Был.
— Ну и что он тебе сказал?
— Лучше бы Сара и не спрашивала. Представляешь, мы с тобой живем уже 20 лет и вот то, что мы принимали за оргазм, на самом деле оказалась астма!
Частота 14 МГц с Ленинграда будет поступать на видеокарту через шину. Для ZX Spectrum будет генератор на плате сопряжения SPACE PORTAL.
Какая развертка лучше - TV 50 Hz или VGA 50 Hz ?
Опираться на VGA, переключателем переводить развёртку в 15 кГц для работы с телевизором, а частоту надо и 50 и 60 гц ибо не все VGA тянут 50, если кто-то работает с монитором VGA то ему телевизор никогда и не понадобиться, я когда то PC через VGA выход подключал к телеку, частоту резал в 2 раза.
Опять же, а какие способности требуются от "новой" системы с древним процом? просто положить его в системник или он чем то заниматься будет?
60 Гц просто не сделать. Нужен VGA SPUTNIK. У многих SPECCY2010 на 50 Гц показывает на VGA.
Процессор должен запускать старые игры, управлять видеокартой, звуком, загружать с древних носителей.
Теоретический максимум для видеокарты - устранение клешинга, аппаратное копирование буфера на экран, скроллинг в окне экрана, палитра 16->4096, символьный экран при подключении через VGA SPUTNIK. На большее замахиваться не надо.
Всё упирается в отсутствие концепции для самой системы, если игру "переделывать" то надо переделывать кардинально, если человек себе приобретает видеокарту то наверное он хочет что бы в игре не только не было клешинга но и игра грузилась с винта или ssd в прямом режиме а не эмуляции tr-dos образа, представляю ящик метр на метр на метр в котором собран zx-spectrum с обвесами и все эти километры мгтф банально отодвигают paper от ink, графика лучше не становится, просто нет клешинга, всё та же пустая графика с 6 цветами и чёрным фоном, игра изначально заточена под такое слабое оформление именно из-за отсутствия пиксельного цвета, устранение клешинга не устраняет слабость графики, колобок как был чёрно-белый так и остаётся, независимо от того каким цветом из 6 этот колобок подкрашен.
Если бы я надумал садится переделывать игру то мне было бы проще сделать её заново под новые реалии.
Лучше кроме клешинга ничего в игре не менять. А загружать проще и быстрее из образа SNA.
Остальное для новых игр.
Концепция при переделке игр - оставляем основной код и спрайты, переделываем вывод на экран.
Я про другое, переделанная игра будет работать ТОЛЬКО на компьютере с Метеором, в таком случае почему бы и не переделать загрузчик который будет грузить файлы через системный dos (не tr-dos) где загрузка не различается для rom/hdd/ssd/sd и иже с ними, не эмуляция а непосредственно загрузка файлов, это даст возможность запускать в фоновом режиме к примеру mp3 музыку во время игры.
Сколько можно корячится в пределах fdd? is-dos не выжил из-за слабой аппаратной части спектрума (точнее её полное отсутствие) и такого же слабого текстового режима (точнее его ... ...), задумка была в правильном направлении, на руинах маяк возвели, НО! пользователи решили руины не трогать, сверху только воткнули покошенную табличку "ZX-Spectrum original".
- - - Добавлено - - -
Была у мня идея сделать загрузку через USB-HOST VNC2. После сброса программа в ПЗУ LOADER - сам Z80 - загружал бы образ SNA, который выбирается в меню или проще по номеру. В папке с этим номером SNA и другие файлы. Потом программа могла бы из этой папки загружать сама другие файлы.
Это эмуляция эмуляции.........tr-dos уже умеет загружать файлы, какая разница программе от куда она грузится, с fdd или из папки размером 300 мбайт, она себе хочет файл "dizzy3_music_1.mid" и это уже дело dos`а откуда он этот файл будет брать, с sd карты или из ssd-sata воткнутым через ide-sata переходник.
- - - Добавлено - - -
При этом никто не мешает хранить так же и образ tr-dos диска в той же папке, это же просто слепок памяти.... до тех пор пока внутри загрузчик не поменяют :) вообще не проблема определить какой dos стоит, если обычный то и запросить файл по стандарту тырдоса.
- - - Добавлено - - -
Кстати тырдос позволяет делать 1 мегабайтные диски ибо 256 дорожек.
Про систему лучше писать в теме про модульный компьютер
В новый экран запись возможна по двум адресам. Для совместимости и упрощения доработки игры при записи в экран 1 (с адреса 4000H) надо автоматически записывать и в экран 2 (с адреса 2000H).
Ну как там прогресс?
На Next`е уже фигачат без клешинга
https://www.youtube.com/watch?v=vHhG9llP9OY
https://www.youtube.com/watch?v=68KLaj8qjps
Форматы хранения изображения в буфере:
1. Несколько байтов для одной строки, несколько для следующей строки, которая будет ниже и т.д.
2. Линейный буфер с простым переходом к байту рядом в любом направлении.
Экзотические форматы буфера при доработке игры преобразовывать к первым двум вариантам.
Для копирования на экран нужно задать координаты левого верхнего угла и размеры окна в байтах.
После записи последнего параметра можно запускать процесс копирования с остановкой Z80.
А зачем z80 останавливать? :o
А зачем z80 останавливать? :o
Для упрощения - чтобы не ждал окончания копирования.
Для упрощения схемы и стандартизации игр все игры будем переделывать для линейного буфера с адреса 0000.
Буфер лучше увеличить до 256 строк по 64 байт. А экран 192 строки по 32 байта с возможностью переключения в линейный режим и увеличения до 224 строки по 40 байтов. Но это пока на перспективу.
Lethargeek
27.03.2020, 22:06
все игры будем переделывать
"будем" - это с кем (и когда уже наконец)?
Я вот если честно и без обид то немного не пойму, если вся эта затея только ради "устранения клешинга" который сам по себе является пародией текстового режима 32x24 в графическом исполнении то давным давно уже было проще это сделать на эмуляторе в каком нибудь линуксоиде Orange Pi H3 Cortex A7-Quadro-core 1.6GHz 1Gb за 1,2-1,5к рублей. Если это делать в железе за 5к и только ради 5-20 игр в год 30 летней давности то закономерно всплывает вопрос о времязатратах и смысле переделки игр, тратить уйму времени бесплатно только ради того что-бы в игре 1986 года чёрно-белый спрайт с красным ink`ом не подкрашивался зелёным ink`ом элемента фона? бррррррр
Сейчас любая копеечная железяка размером с пачку сигарет в тысячи раз мощнее спектрума и на своём борту имеют 3D видеопроцессоры способные выводить на экран сотни тысяч полигонов в секунду, плата мобилки за 500 рублей подключенная к монитору творит чудеса по отношению к спектруму, любой каприз за ваши гигагерцы...
Так вот я к чему, может ну его нафиг этот клешинг и надо просто дойти до какого нибудь общего знаменателя в работе современного (очень сильно утрирую) zx-spectrum СОВМЕСТИМОГО на базе ПЛИС (в нашем случае) и немного доразвить ветку ПЛИС мутантов?
Ради чего к примеру устранять клешинг в Soldier of Fortune? ради того что на ЧЁРНОМ ФОНЕ иногда попадаешь на площадку лифта или корни телепорта? иииии? что изменится? это графика 1982 года! где предел мечтаний была память в 48 Кб и ЦВЕТНАЯ графика использовалась для работы в ТЕКСТОВОМ режиме, ибо адресацию памяти забубенили именно для удобства вывода СИМВОЛОВ а не спрайтов с пиксельной точностью, я вырос именно на спектруме, самый первый мой спектрум-совместимый я спаял на картонке из микросхем выпаянных с списанных плат на местном АТС, подпаялся к ламповому ЦВЕТНОМУ телевизору, больше пол схемы выдумывал сам под имеющиеся микрухи, было мне тогда 8 лет и я прекрасно понимал принцип работы транзисторов и микросхем.
НО! zx-spectrum изначально задумывался как текстовый цветной терминал, его нутро не предназначено для КОМФОРТНОЙ работы даже с чёрно-белой графикой (хотя она у него и не цветная), тратить по 40-100 тактов не очень быстрого процессора просто что бы вывести ОДИН пиксель на экран? какая графика вы о чём? если бы его надо было делать под графику то работа с экраном была-бы совершенно по другому.
Вот это самый большой и риторический вопрос современности - кто будет переделывать игры, а главное - зачем?
Все эти игры давно играны-переиграны, дяди выросли и заняты делами, молодежи это вряд ли интересно вообще; если так уж сильно хочется поиграть в те же тайтлы без атрибутов - да легко, берём эмуль и находим подходящую версию для msx/atari/c64/amstrad/amiga (если доступна конечно).
Я вот сейчас вспомнил, в те далёёёёкие времена я мусолил сигнал M1 ибо никаких талмудов по z80 ещё не было, и тогда я пришёл к выводу что это указывает на действия процессора, читает ли он просто данные или команду, и хотел я поставить по 0 адресу запись байта цвета пикселя в отдельную видеопамять, а по адресу 1 и 2 регистры-счётчики ИЕ7 координат, при записи по 0 адресу счётчики увеличивали адрес, писался пиксель примерно так:
LD L,x
LD H,y
LD A,цвет 0-255
LD (1),HL
LD (0),A вывели цвет, адрес сам увеличился на 1
ноооо, я был мал и я долго воевал с регенерацией ру5, удобоваримой инфы по динамике мне не попадалось и я не смог удерживать регенерацию памяти :) сейчас уже понимаю в чём была проблема :D была бы у меня кстати тупо статика на 16Кб возможно впоследствии zx-spectrum имел бы ЦВЕТНОЙ экран 256x192 с 256 цветами на точку и видеоэкрана тупо не было бы в памяти вообще :)
Lethargeek
01.04.2020, 14:55
Я вот если честно и без обид то немного не пойму, если вся эта затея только ради "устранения клешинга" который сам по себе является пародией текстового режима 32x24 в графическом исполнении то давным давно уже было проще это сделать на эмуляторе в каком нибудь линуксоиде Orange Pi H3 Cortex A7-Quadro-core 1.6GHz 1Gb за 1,2-1,5к рублей. Если это делать в железе за 5к
во-1, как минимум, уже смысл есть в прошивках для готовых zx-девайсов, которые потянут такое видео
во-2, ты неверно понимаешь суть вопроса, который разбивается на две части: (а) нужен ли вообще клону спектрума новый игровой видеорежим ("профессиональных" было уже достаточно) и (б) если нужен, то как его организовать, чтобы проще было поддерживать софтом - что включает и "борьбу с клэшингом", то есть адаптацию игр стандартного режима (необязательно старых, новые один хрен пишут под всё тот же 6912)
и только ради 5-20 игр в год 30 летней давности то закономерно всплывает вопрос о времязатратах и смысле переделки игр, тратить уйму времени бесплатно только ради того что-бы в игре 1986 года чёрно-белый спрайт с красным ink`ом не подкрашивался зелёным ink`ом элемента фона? бррррррр
Например, у меня выходит около 30 игр в год - прошу отметить, одновременно с переделками эмулятора, самой концепции, прошлых файлов, а иногда и с багофиксингом самих игр; в принципе, по одной в неделю клепать реально. Причём именно уровень наподобие "что-бы в игре 1986 года чёрно-белый спрайт с красным ink`ом не подкрашивался зелёным ink`ом элемента фона" достижим за минимальное время (в некоторых случаях меньше часа). Куда больше отнимает собственно добавочная раскраска - свой цвет на спрайт (если нет оригинального атрибута), а тем более "цвет на точку".
Сказать, сколько будет длиться переделка игр методами топикстартера, затрудняюсь (он же постоянно передумывает и не доводит рассмотрения до конца), но подозреваю - намного дольше.
Так вот я к чему, может ну его нафиг этот клешинг и надо просто дойти до какого нибудь общего знаменателя в работе современного (очень сильно утрирую) zx-spectrum СОВМЕСТИМОГО на базе ПЛИС (в нашем случае) и немного доразвить ветку ПЛИС мутантов?
см. выше по вопросу новых видеорежимов таких мутантов
Ради чего к примеру устранять клешинг в Soldier of Fortune? ради того что на ЧЁРНОМ ФОНЕ иногда попадаешь на площадку лифта или корни телепорта? иииии? что изменится? это графика 1982 года!
Смотря где. Конкретно в SoF, может быть, особо и незачем (хотя местами "плавающий" цвет раздражает), но тот же Jungle Warrior и похожие - уже совершенно другое дело (сам смог пройти только после переделки, раньше тошнило); или случаи, когда в монохроме месиво, как в Redshift. Графика должна быть комфортной, год особой роли здесь не играет.
где предел мечтаний была память в 48 Кб и ЦВЕТНАЯ графика использовалась для работы в ТЕКСТОВОМ режиме, ибо адресацию памяти забубенили именно для удобства вывода СИМВОЛОВ а не спрайтов с пиксельной точностью,
как давно уже известно всем неленивым, адресацию такую там забубенили по причине скупости дяди Клайва ради экономии на микрухах, а вовсе не каких-то (ха-ха!) удобств
НО! zx-spectrum изначально задумывался как текстовый цветной терминал, его нутро не предназначено для КОМФОРТНОЙ работы даже с чёрно-белой графикой (хотя она у него и не цветная), тратить по 40-100 тактов не очень быстрого процессора просто что бы вывести ОДИН пиксель на экран? какая графика вы о чём? если бы его надо было делать под графику то работа с экраном была-бы совершенно по другому.
как раз НАДО было, потому что школьные контракты очень хотелось, а там были требования по графике; но не фартануло, не допилили, школы предпочли нормальную от акорна
- - - Добавлено - - -
Все эти игры давно играны-переиграны, дяди выросли и заняты делами, молодежи это вряд ли интересно вообще; если так уж сильно хочется поиграть в те же тайтлы без атрибутов - да легко, берём эмуль и находим подходящую версию для msx/atari/c64/amstrad/amiga (если доступна конечно).
ну уж, далеко не все переиграны (а в какие-то играть тогда не хотелось именно из-за уродливости раскраски); "подходящую" тоже не особо легко найти - одних просто нет, многие выглядят и/или ощущаются по-другому, и не факт, что лучше даже обычных спековских; а иногда и вовсе под одним названием игры разные и даже разножанровые
- - - Добавлено - - -
Я вот сейчас вспомнил, в те далёёёёкие времена я мусолил сигнал M1 ибо никаких талмудов по z80 ещё не было, и тогда я пришёл к выводу что это указывает на действия процессора, читает ли он просто данные или команду, и хотел я поставить по 0 адресу запись байта цвета пикселя в отдельную видеопамять, а по адресу 1 и 2 регистры-счётчики ИЕ7 координат, при записи по 0 адресу счётчики увеличивали адрес, писался пиксель примерно так:
LD L,x
LD H,y
LD A,цвет 0-255
LD (1),HL
LD (0),A вывели цвет, адрес сам увеличился на 1
ноооо, я был мал и я долго воевал с регенерацией ру5, удобоваримой инфы по динамике мне не попадалось и я не смог удерживать регенерацию памяти :) сейчас уже понимаю в чём была проблема :D была бы у меня кстати тупо статика на 16Кб возможно впоследствии zx-spectrum имел бы ЦВЕТНОЙ экран 256x192 с 256 цветами на точку и видеоэкрана тупо не было бы в памяти вообще :)
...и тормозило бы всё это хуже быкашки :p
...и тормозило бы всё это хуже быкашки :p
нуууу всё же 2 команды быстрее чем самая быстрая процедура расчёта адреса ОДНОГО пикселя в 50-100 тактов :) я думаю DRAW работала бы в несколько раз быстрее и не был бы гемора с клешингом
По мне так вообще достаточно просто видео ДМА, нуууу и мечта дурака MUL и DIV для 8 и 16 бит.
Lethargeek
01.04.2020, 18:48
Nesser, бейсиковые процедуры, включая draw, смысла нет рассматривать вообще, они медленные из-за универсальности и оптимизации по размеру
в быстром эффективном машинном коде расчёт адреса - для отрезка однократная операция, дальше будет изменяться уже сам адрес
Я про ассемблер, а как для окружности да ещё и с плавающим шагом заполнения вычислять только 1 адрес?
Lethargeek
01.04.2020, 19:35
Я про ассемблер,
для отрезков/линий выгода пренебрежимо мала, спрайты/буквы будут намного медленней
а как для окружности да ещё и с плавающим шагом заполнения вычислять только 1 адрес?
адрес вычисляется точно так же по координатам исходной точки
не распарсил, что такое "плавающий шаг заполнения"
Это когда независимо от радиуса окружности на саму окружность выделяется к примеру 30 точек.
Lethargeek
01.04.2020, 20:38
тогда это нифига не окружность, а набор отдельных точек и есть; и всё равно может оказаться выгоднее работать с адресом, смотря по раскладке экрана/буфера
Я пришел к выводу, что просто новый режим графики никому не нужен. Для этого есть смартфоны и PC. Новый режим должен позволять улучшать старые и новые игры для экрана ZX Spectrum.
Клешинг - очевидный недостаток и его нельзя не увидеть в каждой игре. Просто привыкли и способа улучшить не было.
А сейчас предлагается уже два способа улучшения.
После клешинга можно подумать, как добавить плавности и скорости скроллинга.
Ценность имеют именно игры для Спектрума. Для других игр другие компьютеры.
Есть ещё одно направление улучшения игр, но оно спорное. У Спектрума всего 15 цветов. Поэтому деревья красные, лица жёлтые, небо черное. А если перекрасить в естественные цвета, то уже будет немного не то.
- - - Добавлено - - -
Для скроллига надо закольцевать экранную область как на Денди и ограничить видимую область.
Я пришел к выводу, ...
все еще раз подтверждается, это будет неменуемый fail 101%
и это при том что видно что с деньгами у тебя давно наблюдаются проблемы
жаль но от дурной идеи ты получишь еще больше страданий
(тут вспоминаются пачки горе коммерсантов в 90-х льющих ведра гамна на zx изза того что он им не принес ожидавшегося бабла)
Lethargeek
01.04.2020, 22:49
Для скроллига надо закольцевать экранную область как на Денди и ограничить видимую область.
Денди не имеет ценности. Ценность имеют именно игры для спектрума. В играх спектрума нету аппаратного скроллинга в стиле денди. Значит, аппаратный скроллинг как на денди не нужен.
Денди не имеет ценности. Ценность имеют именно игры для спектрума. В играх спектрума нету аппаратного скроллинга в стиле денди. Значит, аппаратный скроллинг как на денди не нужен.
А если в R-TYPE сделать плавный скроллинг ,?
Lethargeek
02.04.2020, 01:25
А если в R-TYPE сделать плавный скроллинг ,?
он и так достаточно плавный там; и при чём тут денди?
он и так достаточно плавный там; и при чём тут денди?
В Денди во всех играх скроллинг не достаточно плавный, а просто плавный и экран при сдвиге за край появляется с другой стороны, так как экранная область закольцована. Вот бы во всех играх для Спектрума переделать скроллинг на плавный вместе с атрибутами.
Вот бы во всех играх для Спектрума переделать скроллинг на плавный вместе с атрибутами.
Это не получится. Объём работы по переделке в 1000 раз больше.
Одно дело запустить игру на эмуляторе, поиграть чуток, поставить точку останова на изменение экранной области, найти процедуры вывода спрайта, подобрать подходящий корректирующий скрипт и скомпилировать предзагрузчик-настройщик.
И совсем другое дело, почти полная декомпиляция игры, творческая переделка, рекомпоновка, отладка, создание релиза. А в результате этой эпичной работы,соизмеримой с созданием ремэйка, мы получим нечто, которое уже не запустится на оригинальном железе, и будет по виду далека от оригинала. Она будет вызывать реакцию: "Это не ZX", аналогично эвам и некстам. А всё потому что нужно реальнее мечтать, не слишком далеко улетая. Сделать в мечтах шаг, потом реализовать его, а потом оглядеться и смотреть уже надо ли шагнуть ещё.
А создавать ремэйки ZX игр, с плавным скроллом, и многоцветной графикой проще для PC делать.
ZX_NOVOSIB
02.04.2020, 07:41
Одно дело запустить игру на эмуляторе, поиграть чуток, поставить точку останова на изменение экранной области, найти процедуры вывода спрайта, подобрать подходящий корректирующий скрипт и скомпилировать предзагрузчик-настройщик.
Намекаешь на ULAX? :)
Lethargeek
02.04.2020, 13:16
В Денди во всех играх скроллинг не достаточно плавный, а просто плавный...
...и не имеет ценности! :v2_mad: :v2_dizzy_fire: потому что только спектрум имеет ценность!! :v2_dizzy_king:
а на спектруме прокрутка программная (по кусочкам или тупо перерисовкой буфера) - вот что ускорять надо
Вот бы во всех играх для Спектрума переделать скроллинг на плавный вместе с атрибутами.
да оставь ты атрибуты уже в покое, они только ради совместимости и нужны
...и не имеет ценности! :v2_mad: :v2_dizzy_fire: потому что только спектрум имеет ценность!! :v2_dizzy_king:
а на спектруме прокрутка программная (по кусочкам или тупо перерисовкой буфера) - вот что ускорять надо
да оставь ты атрибуты уже в покое, они только ради совместимости и нужны
Ценность имеют только игры для Спектрума. Они одинаково идут на любом клоне, оригинале и эмуляторе. И они для нас ценны, так как мы их запускали в молодости или могли бы запустить и поиграть. А если игры доработать для устранения мелких недостатков, то доработанные игры для нас будут ещё ценнее, чем не доработанные.
Lethargeek
02.04.2020, 17:46
Ценность имеют игры для Спектрума.
софт для спектрума и есть сам спектрум на 99,9%
что бы там ни говорили пятивольтовые
А если игры доработать для устранения мелких недостатков, то доработанные игры для нас будут ещё ценнее, чем не доработанные.
а "дорабатывать" под ненужный аппаратный скроллинг это как портировать на неспектрум, от оригинала мало останется
а "дорабатывать" под ненужный аппаратный скроллинг это как портировать на неспектрум, от оригинала мало останется
Как это ненужный! Программисты хотели бы сделать плавно, но аппаратные возможности не позволяли. Поэтому делали условно плавно.
Lethargeek
02.04.2020, 18:54
Как это ненужный!
а вот так:
Денди не имеет ценности. Ценность имеют именно игры для спектрума. В играх спектрума нету аппаратного скроллинга в стиле денди. Значит, аппаратный скроллинг как на денди не нужен.
- - - Добавлено - - -
Программисты хотели бы сделать плавно, но аппаратные возможности не позволяли.
но сейчас-то позволяют без денди-скроллингов
Поэтому делали условно плавно.
И ты предлагаешь всё переделать? Это не так просто, как кажется. И даже очень непросто. Для начала, хорошо-бы просто поубирать клешинг, в завершённом виде. Это должно включать описание принципов работы устройства, схемы, руководства для пользователя, для хакера-модернизатора, эмулятор и реальное устройство.
А потом уже можно мечтать о версии 2.0. Причём на 2.0, должны работать доработки игр для версии 1.0.
Да, сначала надо минимальный вариант.
Мне надо полет фантазии иногда тормозить.
Для начала клешинг надо устранить для оригинального ZX Spectrum. Как-нибудь без 128-килобайтных игр обойдёмся.
Хорошее в 48 K модели то, что в компьютере занят только порт FE. Поэтому можно использовать любые порты для выбор режимов.
Блиттер для копирования буфера на экран для упрощения схемы можно сделать для копирования одного столбика. Загрузка новых параметров для следующего столбика для начала пойдет программная.
Для простоты чтение точки для вывода на телевизор делать каждый второй такт частоты 14 MHz.
Lethargeek
05.04.2020, 17:26
Хорошее в 48 K модели то, что в компьютере занят только порт FE. Поэтому можно использовать любые порты для выбор режимов.
минимально нужно 192 режима и 102 порта :v2_dizzy_dance:
Блиттер для копирования буфера на экран для упрощения схемы можно сделать для копирования одного столбика.
ага, чтоб лучом картинка заметней резалась :v2_clap2:
минимально нужно 192 режима и 102 порта :v2_dizzy_dance:
ага, чтоб лучом картинка заметней резалась :v2_clap2:
Это откуда такие числа и предположение, что будет резаться лучом?
Копирование одного столбика ожидается за время (192*2)/(14 MHz)=27.5 мкс. Столбиков 32.
Lethargeek
05.04.2020, 19:41
Копирование одного столбика ожидается за время (192*2)/(14 MHz)=27.5 мкс. Столбиков 32.
это в клэшном спековом режиме 32 БАЙТОВЫХ столбика, а в режиме "цвет на точку" - 256 ПИКСЕЛЬНЫХ столбиков
будем делать как
https://www.youtube.com/watch?v=5j1gQLX375A
или такое только без клеша
https://www.youtube.com/watch?v=oZ2lRLr03Nc
Предполагается только устранение клешинга между движущимися цветными спрайтами и фоном с сохранением оригинальных 15-ти цветов.
Теоретически, если в черно-белой игре спрайты и тайлы имеют маску возможна будет раскраска каждого объекта любым из 15-ти цветов. Перед рисованием этого объекта надо будет указать цвет.
Для сохранения, восстановления фона и копирования построенного изображения на экран будет использоваться аппаратное копирование столбика шириной 8 точек.
Требования к игре:
48К.
Спрайты с маской.
Рисование фона и спрайтов в буфере с сохранением всего фона, восстановлением и копированием на экран.
Процесс переделки:
Буфер переставить в адрес 0000.
После рисования фона в буфере его сохранить.
Для рисования спрайта указать цвет.
Рисовать маску и спрайт в буфере новыми подпрограммами в новом режиме графики.
Полученное изображение скопировать на экран.
Перед рисованием спрайтов в новом месте фон восстановить.
То есть надо полностью переделать видеочасть с увеличением размера драйвера? на спектруме инфа под спрайтом не сохраняется, банально производится обнуление 6144 байт экрана и сверху накидываются спрайты или затирается элементами фона, все эти битово-плановые навороты бессмысленны при 8 точечном перемещении фона или вообще при статическом фоне, цветов кстати на спектруме не 15 а 7, хотел бы я лопатить Dizzy ради ОДНОГО спрайта колобка, абсолютно одноцветного но имеющего некий цвет из 6 на выбор? - НЕТ! хотел бы я лопатить Dizzy ради переделки фона и колобка на 64 цвета на пиксель? - ВОЗМОЖНО! хотел бы я это сделать с уже готовым видеодрайвером с выбором 64/256 цвета на ПИКСЕЛЬ, впилку универсального драйвера загрузки с любого накопителя? - ОЧЕНЬ ВОЗМОЖНО!
- - - Добавлено - - -
По факту любая переделка игры данного рода больше никогда не запустит её на оригинальном ZX, в чём смысл такой нежной экономии? эта игра уже никогда не заработает на оригинале, если переделывать то полностью, и под СТАНДАРТ! которого до сих пор НЕТ, от слова вообще никакого.
Неужели сейчас есть какая то проблема с ОБЪЁМОМ памяти? что оперативной что накопительной, к чему эти мусолы с 1 битным спрайтом который всё равно копируется в 1 байтовый экран? экономим 20 Кб на спрайтах с разрядностью 1 байт на пиксель?
- - - Добавлено - - -
Я до сих пор не понял принципа работы с таким экраном...если это тупо копирование в куда то 1 битного спрайта с маской и плис будет на это накладывать цвет и копировать готовый спрайт в экран с 1 байтовым цветом то к чему такие извращения? если на плате уже стоит плис-комбайн то почему все эти извращения ложатся на плечи чахлого z80? почему нельзя загрузить в плис все эти спрайты объёмом аж 20 КБ при чём нарисованные в НОВОМ редакторе с точностью 1 байт на пиксель+маска и выводить на экран тупо подачей координат вывода N-ного спрайта, зачем всё то что может сделать плис делать программно на z80? в чём тогда смысл переделки игры? чисто показать что так МОЖНО делать? КПД данной переделки даже не НОЛЬ, он ОТРИЦАТЕЛЬНЫЙ.
https://www.youtube.com/watch?v=DoktghhM9Mk
Мне кажется как то так только с цветами на пиксель, ну и сам редактор на железном zx.
Какой смысл переделывать то что можно сделать заново за 30 минут и уже с поддержкой новых реальностей, пусть и скромных.
http://romhacking.ru/news/v_razrabotke_snowed_under_na_zx_spectrum/2018-12-17-5431
Lethargeek
06.04.2020, 13:47
Предполагается только устранение клешинга между движущимися цветными спрайтами и фоном с сохранением оригинальных 15-ти цветов.
Теоретически, если в черно-белой игре спрайты и тайлы имеют маску возможна будет раскраска каждого объекта любым из 15-ти цветов. Перед рисованием этого объекта надо будет указать цвет.
Для сохранения, восстановления фона и копирования построенного изображения на экран будет использоваться аппаратное копирование столбика шириной 8 точек.
Требования к игре:
48К.
Спрайты с маской.
Рисование фона и спрайтов в буфере с сохранением всего фона, восстановлением и копированием на экран.
Процесс переделки:
Буфер переставить в адрес 0000.
После рисования фона в буфере его сохранить.
Для рисования спрайта указать цвет.
Рисовать маску и спрайт в буфере новыми подпрограммами в новом режиме графики.
Полученное изображение скопировать на экран.
Перед рисованием спрайтов в новом месте фон восстановить.
почти все пункты здесь необязательны/не нужны, вот же мастер усложнять процессы на ровном месте ради ухудшения результата :v2_dizzy_facepalm:
почти все пункты здесь необязательны/не нужны, вот же мастер усложнять процессы на ровном месте ради ухудшения результата :v2_dizzy_facepalm:
Чтобы упростить надо сделать эмуляцию Z80, как в ULAX?
Lethargeek
06.04.2020, 20:56
Чтобы упростить надо сделать эмуляцию Z80, как в ULAX?
в ulax нет эмуляции z80
в ulax нет эмуляции z80
А как же тогда патчите программу без изменения оригинала?
Lethargeek
06.04.2020, 22:11
патчите программу без изменения оригинала?
раз без изменений, значит, никак - "патчем" это нельзя назвать
Любые изменения в игре относительно оригинала уже приводят её к неработоспособности на оригинале, совместимость она или есть или её нету, если убирать клешинг то игра больше никогда не будет работать на стандартном zx, в таком случае к чему весь этот гемор? если она уже не будет работать на оригинале то и делать уже надо тогда нормально под НЕ ОРИГИНАЛ.
Black Cat / Era CG
06.04.2020, 23:28
Хачу железную УЛАХу в Эволюцию с РыГыБы выходом!
Любые изменения в игре относительно оригинала уже приводят её к неработоспособности на оригинале
Вот беда то! Возьми неизмененную версию и загрузи.
Хачу железную УЛАХу в Эволюцию с РыГыБы выходом!
Зачем?
Перестанет работать TS-CONF и IDE-VGA. Есть ведь эмулятор ULAX!
Прошу пожелания, одобрение, хвастовство и т.п. про ULAX продолжить в соответствующей теме.
У меня проект, не доделанный, не идеальный. Вам будет не интересно.
Если надо без изменения кода игры, но с новыми возможностями, эмулятором, скриптами и лёгкостью доработки - это в тему ULAX. Там эмулятор уже сделан, уже можно адаптировать игры и писать новые.
А Метеор не идеальный. Может его и не будет. И эмулятора не будет.
Black Cat / Era CG
07.04.2020, 09:22
Зачем?
Перестанет работать TS-CONF и IDE-VGA. Есть ведь эмулятор ULAX!
Прошу пожелания, одобрение, хвастовство и т.п. про ULAX продолжить в соответствующей теме.
Да это я Летаргику писал :) Мне все интересно, если под него игры будут. И Base, и TS, и ULAX, и NEXT, и Профи и ваще все, если под это все будут игры.
- - - Добавлено - - -
Ну и Метеор, если под него напишут, тоже само собой.
Да это я Летаргику писал :) Мне все интересно, если под него игры будут. И Base, и TS, и ULAX, и NEXT, и Профи и ваще все, если под это все будут игры.
Я не знаю как на ZX-EVO совместить все графические режимы и видеокарты. Наверно это невозможно.
Black Cat / Era CG
07.04.2020, 09:30
Я не знаю как на ZX-EVO совместить все графические режимы и видеокарты. Наверно это невозможно.
Да не. Я про то, что мне интересно все. А совмещать не надо. У эвы свой видеовыход, у карточки - свой. Зачем их совмещать?
Да не. Я про то, что мне интересно все. А совмещать не надо. У эвы свой видеовыход, у карточки - свой. Зачем их совмещать?
А как - два монитора что-ли подключать?
Вообще идея интересная! Может в Метеоре не надо стандартный режим на этот же монитор выводить ? Тогда устройство можно сделать проще.
Black Cat / Era CG
07.04.2020, 17:03
А почему б не пропускать готовый просто насквозь, когда карта неактивна и заменять, когда активна?
Lethargeek
07.04.2020, 22:42
Прошу пожелания, одобрение, хвастовство и т.п. про ULAX продолжить в соответствующей теме.
У меня проект, не доделанный, не идеальный. Вам будет не интересно.
тогда я прошу не писать здесь ложную инфу про ULAX, чтоб не приходилось опровергать
- - - Добавлено - - -
Да это я Летаргику писал
это ты такое не мне пиши, а сам знаешь кому
я всего лишь канцептар и программист
Надо со схем на микросхемах логики переходить на ПЛИС/FPGA. Но читать/писать одновременно по восемь точек из RAM надо много выводов.
s_kosorev
08.04.2020, 10:31
Или много частоты, 7*8 = 56мгц, не так уж много для sdram
Или много частоты, 7*8 = 56мгц, не так уж много для sdram
Надо 14*8. Ведь половину времени идёт вывод на TV. Если использовать одну микросхему статики шириной 16 бит и частоту 56 МГц, то наверно получится такая же скорость как у 8 микросхем статики по 8 бит на логике при частоте14 МГц.
s_kosorev
08.04.2020, 12:21
SDRAM не SRAM нельзя через такт сделать, для нее идеальный вариант работать пачками, для SDRAM к примеру это по 4 слова в пакете
SDRAM не SRAM нельзя через такт сделать, для нее идеальный вариант работать пачками, для SDRAM к примеру это по 4 слова в пакете
SDRAM не подходит. Надо доступ за такт к произвольной ячейке.
Зачем за такт? и что это за статика на 56МГц? это только кешевые на 128Кб.
https://aliexpress.ru/af/IS61C1024%25252d10N.html?d=y&origin=n&SearchText=IS61C1024-10N&catId=0&initiative_id=SB_20200409003553
Статика на 512Кб еле-еле 20МГц переваривает.
https://aliexpress.ru/af/AS6C4008%25252d55.html?d=y&origin=n&SearchText=AS6C4008-55&catId=0&initiative_id=SB_20200409003714
Но по мне всё таки динамика на 16 Мбx16 бит является идеальным вариантом.
https://aliexpress.ru/item/32857431258.html?cv=37462425&af=359030&aff_platform=default&sk=mun2n2V&aff_trace_key=06b685fdb5c14d6abb4bda20930f35a8-1586421332058-04228-mun2n2V&cn=43q8iij7su90ka2kyxjia35vuotls49n&dp=43q8iij7su90ka2kyxjia35vuotls49n&terminal_id=56157729e0ee4c588ef3e0239de99f5e&aff_request_id=06b685fdb5c14d6abb4bda20930f35a8-1586421332058-04228-mun2n2V
Дёшево и сердито, тактирование 135МГц.
- - - Добавлено - - -
И что вы к этому однобитному экрану привязались? конечный экран всё равно 1-2 байта на ТОЧКУ!
А так как все фигачат всё равно на плис то к чему медленная статика которая стоит ДОРОЖЕ самой плис если динамика стоит копейки и нет никакой запарки с конечным объёмом.
Опять же, если конечная цель - цвет кубиками 8x8 пикселей то я не пойму смысла затеи...
- - - Добавлено - - -
Костыли, одни костыли, вот какой клешинг, люди вы о чём? :) устранять клешинг текстового экрана при помощи полноценного пиксельного экрана сделанного на ПЛИС мощностью в 500 спектрумов...нууууу я не знаю как ещё аккуратнее выразить смысл данной затеи :v2_dizzy_priest:
- - - Добавлено - - -
Если переходить на новые реалии то уже переходить, кадровая частота не должна быть привязана к тактированию музыки, никаких мультиколоров ибо в 49152 байта умещается полноценный экран 256x192x256 цветов, железный Z80 на 24МГц быстрее 3,5МГц в 6 раз, даже самая дешевая плис которая занимается регенерацией всего одной микросхемы динамики может при помощи примитивного DMA делать переброску в 300 раз быстрее чем Z80 не отвлекая его вообще.
НУ не пойму я затею с клешингом.
- - - Добавлено - - -
CPU не должен заниматься графикой, его дело распределять задачи, а в итоге получается что на борту есть ПЛИС комбайн а при этом всю работу продолжает делать чахлый z80, по факту это велосипедист пытающийся на буксире поднять из карьера 150 тонный грузовик, не надо даже проверять что бы заранее понять что результат этой затеи заранее ПРОВАЛЬНЫЙ.
- - - Добавлено - - -
Лучше бы замутили мультиконтроллер на плис который умеет fdd, ide, msd, rs-232, rs-485, centronics, usb, ps/2, i2c и т.д. и при этом работал как одноканальный пункт обмена с эмуляцией ВГ93.
Подключаешь к старому спектруму платку с шиной данных и несколько адресов и помимо эмуляции дисковода получаешь обмен данными с любым типом устройства, костыль конечно, но для обучения работы с периферией самое то.
Ты предлагаешь режим графики, никак не связанный с играми для Спектрума. Это никому не надо.
Статика имеет максимальную частоту 100 MHz. Но такая скорость возможна только при чтении.
SDRAM только на бумаге быстрая. Каждая команда длится несколько тактов. Это медленнее, чем статика, где только один такт.
Я знаю чем статика от динамики отличается :) это не я предлагаю режим графики никак не связанный с играми для Спектрума, даже с учётом того что ОРИГИНАЛЬНОГО Спектрума давно уже ни у кого нет, это всё КЛОНЫ.
Игра переделанная под Метеор уже никогда не будет работать на Спектруме БЕЗ Метеора, в таком случае надо более детально считать КПД от переделки программы, я, с моей точки зрения, вижу КПД меньше 10%, а это означает что Коэффициент Бесполезного Действия соответственно равен 90%
- - - Добавлено - - -
Если кто-то так глобально и возмётся за вскапывание игр то ему это быстро надоест ибо выхлопа в красоте графики никакого нет, она как была чёрно-белая так и остаётся, а от того что сверху ляпнули атрибут 8x8 с точностью в пиксель погоду не изменяет, в графике НЕТ ЦВЕТА!
Lethargeek
09.04.2020, 12:42
НУ не пойму я затею с клешингом.
на колу мочало, начинай сначала... что конкретно непонятно в затее минимизации усилий на адаптацию уже существующего софта?
CPU не должен заниматься графикой,
в существующем софте уже занимается
его дело распределять задачи,
а чьё дело написать замену всему софту? лично ты принимаешь обязательства написать?
кстати, чем борьба с клэшингом тебе не "распределение задач"? просто очень мелкие задачи в таком сценарии
а в итоге получается что на борту есть ПЛИС комбайн а при этом всю работу продолжает делать чахлый z80, по факту это велосипедист пытающийся на буксире поднять из карьера 150 тонный грузовик,
скорей велосипедист, крутящий лебёдку
не надо даже проверять что бы заранее понять что результат этой затеи заранее ПРОВАЛЬНЫЙ.
результат провальный, когда софта нет
А софта и нет..
Зачем 2 раза разрезать человека что бы удалить аппендицит и опухоль на кишечнике если это можно сделать за 1 раз? Я достаточно насмотрелся на графику Спектрума что бы понять что костыли в виде плавающих одноцветных кубиков ему не помогут, тем более что круг пользователей данной платформы ОЧЕНЬ СИЛЬНО ограничен и заработать на этом не получится, время тратится исключительно что бы БЫЛО самоутверждение. Да и мне кажется что больше половины "пользователей" сидят на эмуляторах, рассуждают про клешинг а сзади эмулятора на экране FarCry5 в 1920x1080 с 32 битами на точку.
Lethargeek
09.04.2020, 14:01
А софта и нет..
есть, но с клэшингом))
- - - Добавлено - - -
костыли в виде плавающих одноцветных кубиков
вроде здесь в последний крайний раз предлагался цвет на точку объект, без "кубиков"
А разве чёрно-белый спрайт 8x8 точек "раскрашенный" в ОДИН цвет из 6 не является кубиком на экране? пусть он хоть с клешингом хоть без клешинга, колобок в Dizzy будет тупо белый, никаких яркостей белого по краям или хотя бы тапочки ему на ноги одеть.
А разве чёрно-белый спрайт 8x8 точек "раскрашенный" в ОДИН цвет из 6 не является кубиком на экране? пусть он хоть с клешингом хоть без клешинга, колобок в Dizzy будет тупо белый, никаких яркостей белого по краям или хотя бы тапочки ему на ноги одеть.
Цветов 2 из 15 на спрайт/тайл, а форма и размеры произвольные.
Ты пойми, в оригинальной игре не было тапочек. Значит они не обязательны. Это уже сложно. КПД переделки низкий.
А ноги перекрешивались во все цвета радуги при ходьбе. Вот это можно исправить. КПД переделки высокий. Все. Дальше можно не улучшать.
ZX_NOVOSIB
09.04.2020, 16:09
пусть он хоть с клешингом хоть без клешинга, колобок в Dizzy будет тупо белый, никаких яркостей белого по краям или хотя бы тапочки ему на ноги одеть.
В диззи нет какого колобка, есть сам диззи -> :)
И ему и без тапочек хорошо:
https://i.imgur.com/f3hD4tl.gif
Lethargeek
09.04.2020, 19:15
А разве чёрно-белый спрайт 8x8 точек "раскрашенный" в ОДИН цвет из 6 не является кубиком на экране? пусть он хоть с клешингом хоть без клешинга, колобок в Dizzy будет тупо белый, никаких яркостей белого по краям или хотя бы тапочки ему на ноги одеть.
"в ОДИН цвет" тупо проще и быстрее красить, но и заморачиваться попиксельно кроме лени, вроде, ничего не препятствует
- - - Добавлено - - -
особенно когда
ему и без тапочек хорошо
Один из вариантов спаять макет Метеора на базе кроссплаты с разъёмами SL-98. Шину данных RAM 8*8=64 и шину адреса RAM вывести на шину кроссплаты. Каждый блок видеокарты паять на отдельной плате.
а в 1 микросхему плис оно не влезет?
- - - Добавлено - - -
"в ОДИН цвет" тупо проще и быстрее красить, но и заморачиваться попиксельно кроме лени, вроде, ничего не препятствует
- - - Добавлено - - -
особенно когда
Даёшь нормальный экран 256x192 256 цветов на точку! и что бы в барсике работало! и что бы графический редактор нормальный! попиксельный! и что бы кнопочку "импортировать из игры" нажимаешь и ищешь где в игре спрайты, грузишь в редактор и дорисовываешь до с точностью на пиксель + анимацию, потом нажимаешь "сохранить в виде файла спрайтов" и в файл сохраняются все спрайты любого размера от 8x8 до 256x256 с шагом 8, и в начале файла таблица с расположением и размером спрайта.
Потом грузишь это безобразие в память у плиса и выводишь красиво и быстро на экран при помощи плис.
ВСЁ! борьба с клешингом выиграна!
И да, так же можно сохранить в другой файл и спрайты в формате атрибута от обычного спектрума и при его определении просто выводить на обычный экран программно, я думаю дополнительная подгружаемая процедура размером 2Кб сильно не нагрузить диск в 500Мб.
Lethargeek
10.04.2020, 14:56
Даёшь нормальный экран 256x192 256 цветов на точку! и что бы в барсике работало!
нутыпонел где такое можно найти ;)
и что бы графический редактор нормальный! попиксельный!
на пц выбирай любой, пока на спектрум не написали
и что бы кнопочку "импортировать из игры" нажимаешь и ищешь где в игре спрайты, грузишь в редактор и дорисовываешь до с точностью на пиксель + анимацию, потом нажимаешь "сохранить в виде файла спрайтов" и в файл сохраняются все спрайты любого размера от 8x8 до 256x256 с шагом 8, и в начале файла таблица с расположением и размером спрайта.
а вот это не так просто, как думаешь - и форматов спрайтов много различных, и часто непонятно без трассировки, где один спрайт кончился, другой начался
В чём проблема сделать цвета на точку?
Я на пц не хочу, на спектрум не написали потому что не под что писать, я под 6144+768 не хочу писать ибо не вижу смысла.
Я про ручную импортацию, я делал прогу которая показывает на экран отражение памяти с изменяемым шагом, не помню сколько десятков игр я перелопатил но графику всегда удавалось находить, и в основном спрайты шли друг за другом.
Lethargeek
10.04.2020, 17:59
В чём проблема сделать цвета на точку?
в чём твоя проблема, что ты в упор этого не видишь, где оно есть? :v2_dizzy_facepalm:
Я на пц не хочу, на спектрум не написали потому что не под что писать, я под 6144+768 не хочу писать ибо не вижу смысла.
тебе шашечки или ехать?
Я про ручную импортацию, я делал прогу которая показывает на экран отражение памяти с изменяемым шагом, не помню сколько десятков игр я перелопатил но графику всегда удавалось находить, и в основном спрайты шли друг за другом.
ну вот видишь, как ты мало знаешь про добрых фей поиск графики
LeoN65816
10.04.2020, 18:35
zx-kit, обрати внимание на конфетки (https://zx-pk.ru/threads/28423-dvukhportovaya-pamyat.html?p=1051772&viewfull=1#post1051772).
Двухпортовка в данном случае не нужна. Если использовать ПЛИС, генератор 56 MHz и SRAM 256K * 16 10 ns.
Время копирования буфера на экран во время бордера будет равно 32 * 192 * 2 * 4 / 56 MHz = 878 мкс.
в чём твоя проблема, что ты в упор этого не видишь, где оно есть? :v2_dizzy_facepalm:
тебе шашечки или ехать?
ну вот видишь, как ты мало знаешь про добрых фей поиск графики
Где оно в Метеор-2020? в упор не вижу, ткните носом.
Мне ехать и с шашечками и желательно комфортно.
Поиск графики я делал в 90-х, не знаю что можно не знать про 6144+768.
Lethargeek
11.04.2020, 13:35
Где оно в Метеор-2020? в упор не вижу, ткните носом.
вот здесь, вдумчиво помедитируй над КАЖДЫМ словом:
Цветов 2 из 15 на спрайт/тайл, а форма и размеры произвольные.
Мне ехать и с шашечками и желательно комфортно.
ну тогда прикручивай/рисуй шашечки (ведь если не ты, то кот))
Поиск графики я делал в 90-х, не знаю что можно не знать про 6144+768.
:v2_dizzy_facepalm: а при чём тут 6144+768? графика в любом формате может лежать
вот найди сходу графику предметов в dizzy 7 remake одним только просмотром памяти или опознай надёжно все спрайты в ulises :v2_devil:
ZX_NOVOSIB
11.04.2020, 14:29
dizzy 7 remake
или найди там диалоги )) или хотя бы чит на энергию/жизни ))
Цветов 2 из 15 на спрайт/тайл, а форма и размеры произвольные - где тут про цвета на каждую точку?
ну тогда прикручивай/рисуй шашечки (ведь если не ты, то кот)) - мы здесь не меня а Метеор 2020 обсуждаем
вот найди сходу графику предметов в dizzy 7 remake одним только просмотром памяти или опознай надёжно все спрайты в ulises- тогда как "МЫ" собираемся ЛЕГКО устранять клешинг?
Адреса спрайтов программа сама будет определять как и раньше. Главное найти подпрограмму вывода спрайта в буфер и перенаправить вывод в новый буфер в новом режиме графики.
Буфер с адреса 0 будет линейный и содержать только черно-белой изображение. Атрибуты не влезут. Они останутся на старом месте. Новый экран будет и линейный и нелинейный. Но для линейного без атрибутов.
Lethargeek
11.04.2020, 16:30
Цветов 2 из 15 на спрайт/тайл, а форма и размеры произвольные - где тут про цвета на каждую точку?
еще раз:
вдумчиво помедитируй над КАЖДЫМ словом:
Да можно при желании нарисовать свой цвет на каждую точку. Только рисовать придется за несколько проходов. Каждый раз рисуется одним цветом. Одним из 15. Но свой цвет для каждой точки - это не совсем графика Спектрума.
Для доработки игр Спектрума спрайты надо рисовать за два прохода. Сначала цветом маски. Обычно черным. Потом цветом спрайта. Обычно белым.
Цитата Сообщение от Nesser Посмотреть сообщение
Цветов 2 из 15 на спрайт/тайл, а форма и размеры произвольные - где тут про цвета на каждую точку?
еще раз:
Цитата Сообщение от Lethargeek Посмотреть сообщение
вдумчиво помедитируй над КАЖДЫМ словом:
2 цвета на тайл 8x8 - ink+paper, не 2 цвета на пиксель в тайле а 2 цвета на ТАЙЛ, о чём мне надо вдуматься?
Lethargeek
11.04.2020, 17:37
2 цвета на тайл 8x8 - ink+paper, не 2 цвета на пиксель в тайле а 2 цвета на ТАЙЛ, о чём мне надо вдуматься?
еще раз:
над КАЖДЫМ словом
Ааааа я понял, это же 2 цвета на тайл, теперь буду всем говорить что тайл это пиксель а не знакоместо.
Lethargeek
11.04.2020, 20:29
Ааааа я понял, это же 2 цвета на тайл, теперь буду всем говорить что тайл это пиксель а не знакоместо.
ну да, чукча не читатель, а говоритель :v2_dizzy_facepalm:
- - - Добавлено - - -
последний раз, специально для особо тугих:
Цветов 2 из 15 на спрайт/тайл, а форма и размеры произвольные
- - - Добавлено - - -
один пиксель (или же полоска пикселей в знакоместе) это тоже "спрайт", если до сих пор не допёр
То есть, если я хочу сделать спрайт 8x8 РАЗНОЦВЕТНЫЙ то мне нужно 64 тайтла 1x1.......уже предвкушаю мощность такой системы!
Lethargeek
12.04.2020, 00:13
То есть, если я хочу сделать спрайт 8x8 РАЗНОЦВЕТНЫЙ то мне нужно 64 тайтла 1x1
в метеоре нету столько цветов же, а в типичном спрайте и того меньше
как на спеке, разом пишется/читается 8 пикселей
уже предвкушаю мощность такой системы!
для монохромных спрайтов или текста аналогично спеку или быстрее (смотря как сдвиг и прозрачность реализованы)
для типичных многоцветных спрайтов - быстрее прошлых "расширенных" режимов спектрумоклонов
как и должно для аналога EGA (настоящего, а не того, что обозвали "EGA-режимом" на АТМ)
Режим рисования маски цветом COLOR0 будет включаться командой AND A.
Режим рисования спрайта цветом COLOR1 будет включаться командой OR A.
Режим рисования обоими цветами сразу будет включаться командой CP A.
Lethargeek
12.04.2020, 12:47
а ничего, что anda/ora сплошь и рядом применяются в обычном коде для сброса carry? :rolleyes:
в том числе иногда и в обработчиках прерывания
Тогда надо другие команды типа LD L,L и LD H,H и LD B,B
При прерываниях надо, наверно, отключать видеокарту и подключать ПЗУ?
Lethargeek
12.04.2020, 19:07
весь контекст надо сохранять (а по возвращении - восстанавливать)
да и вообще, наверно, по любому переходу на пзу
весь контекст надо сохранять (а по возвращении - восстанавливать)
да и вообще, наверно, по любому переходу на пзу
Типа как в TR-DOS?
Lethargeek
12.04.2020, 21:32
там не так, там вроде только теневые порты включаются
кстати "по любому переходу на пзу" в том числе включает пзу тырдоса
Надо при чтении кода команды из ПЗУ отключать видеокарту с сохранением текущих настроек и включать ПЗУ и основной экран. При чтении команды из ОЗУ отключать ПЗУ и восстанавливать состояние видеокарты.
В линейном буфере максимум 256 байтов по вертикали. Для стандартного экрана 256*192 точек достаточно буфер высотой 192 байта.
Можно в этой же области памяти разместить линейные атрибуты. По вертикали 24 атрибута. 256-24=232.
Если с запасом 32 атрибута, то буфер точек может быть высотой 256-32=224.
Небольшой запас может пригодиться.
С какого адреса начнутся атрибуты и легко ли будет программировать с такими линейными атрибутами?
Чтобы определить адрес атрибута в линейном буфере с адреса 0000 надо к координате Y прибавить E0 и записать в младший байт адреса. Координату X записать в старший байт адреса.
s_kosorev
14.04.2020, 12:47
SDRAM не подходит. Надо доступ за такт к произвольной ячейке.
вот прям за такт 112мгц к примеру? Или за такт z80 на 3.5мгц?
вот прям за такт 112мгц к примеру? Или за такт z80 на 3.5мгц?
Если шина 16 бит, то нужен доступ за 1 такт 56 MHz. Если шина 64 бита, то за 1 такт 14 MHz.
Если будут буфер и экран в области ПЗУ - в основном ОЗУ освободится около 7+4=11килобайт. Их можно использовать для чего-нибудь.
sdram 66/100/133 подходит даже для Pentium 300, почему не должно подойти для Zilog 3.5?
Процессор с видеокартой должны работать асинхронно, буфера данных и адреса должны задерживать данные как минимум на 1 отсчёт, вывод должен быть не только TV RGB но и VGA 800x600.
sdram 66/100/133 подходит даже для Pentium 300, почему не должно подойти для Zilog 3.5?
Процессор с видеокартой должны работать асинхронно, буфера данных и адреса должны задерживать данные как минимум на 1 отсчёт, вывод должен быть не только TV RGB но и VGA 800x600.
Пентиум может подождать и у него есть кэш, а у Спектрума вывод на экран с частотой 7MHz на кажду точку.
Цитата Сообщение от s_kosorev Посмотреть сообщение
вот прям за такт 112мгц к примеру? Или за такт z80 на 3.5мгц?
Если шина 16 бит, то нужен доступ за 1 такт 56 MHz. Если шина 64 бита, то за 1 такт 14 MHz.
Из 140 тысяч тактов в кадре активных всего 49152(6144)+768, так что 65%(95%) времени пиксельный буфер в простое, это при 7 МГц тактирования.
И у спектрума на пикселях тоже есть кеш в виде регистров-защёлок.
- - - Добавлено - - -
У меня вот назрел такой вопрос - с концепцией устранения клешинга всё понятно что ничего не понятно.....а вот на базе чего всё это будет делаться? я так понимаю раз это плис то в простейшем случае на плате будет стоять - Z80, ПЗУ, ОЗУ, AY, разъёмы и само ПЛИС....то есть эту концепцию можно прошить в уже готовый ZX-Evo? или в перспективный ZX-Evo 2 с более ёмкой и большеногой плис? да и T80 вшитый в плис умеет 100 МГц в 1-2 тактовом режиме с кешем.
https://www.youtube.com/watch?v=OmY5T1OxF-M
Мне кажется хватит выдумывать велосипеды а взяться за развитие конкретного клона, хоть у меня и нет пока zx-evo :v2_dizzy_priest: но по схеме сделан вполне нормально и его есть куда улучшать. Есть правда ZX-Next имеющий более завершённый вид.
https://yandex.ru/images/search?pos=119&p=2&img_url=https%3A%2F%2Fpbs.twimg.com%2Fmedia%2FEQH4 deiWAAE6g1D.jpg&text=zx-spectrum%20next%20%D1%84%D0%BE%D1%82%D0%BE&lr=35&rpt=simage&source=wiz
А тут вообще нет никакого клешинга.
https://www.youtube.com/watch?v=cn0YRSGeRQw
[URL="https://www.youtube.com/watch?v=V3HaNsl3jQY[/URL]
https://www.youtube.com/watch?v=vHhG9llP9OY&t=32s
https://www.youtube.com/watch?v=dZ19cgWa6No
https://www.youtube.com/watch?v=El_Ub5FRXgM
https://www.youtube.com/watch?v=YpqkUYnwfvs
https://www.youtube.com/watch?v=-PrvKFxnUiM
Ну не будет никто клешингом заниматься если можно с нуля сделать такое
https://www.youtube.com/watch?v=rKgQY7Xpc3A
https://www.youtube.com/watch?v=iISngkmnujU
https://www.youtube.com/watch?v=wFCdR4JpXM0
Lethargeek
15.04.2020, 17:14
Ну не будет никто клешингом заниматься если можно с нуля сделать такое
1) на неспектрумах такое можно делать очень давно
2) "с нуля" намного больше риск не доделать
3) времени уходит намного больше
Так я не пойму, если к оригиналу "спектрум-48" добавить плис с обвесом которая будет убирать клешинг это будет всё ещё спектрум или уже НЕспектрум?
Lethargeek
15.04.2020, 18:08
спектрум, если "плис с обвесом" - это внешнее (как минимум, логически) устройство, подключение которых к спектруму предусмотрено
и софт - спектрумовский, если не рассчитывает на обязательное наличие такого устройства, не теряет основной функционал без него
omercury
15.04.2020, 18:50
Если шина 16 бит, то нужен доступ за 1 такт 56 MHz. Если шина 64 бита, то за 1 такт 14 MHz.
На 1 такт 14МГЦ у Влада 8/16 бит SDRAM уже много лет работает.
Для Z80@14МГц + видеовыхлоп VGA@60Hz с цветом 15-16 бит на шине 16 бит потоком 8*16 у меня SDRAM уже полгода+ работает.
Не все правда понимают необходимость буферов данных/адресов/команд для арбитража, но это уже, как говорится, "проблемы индейцев шерифа не и...нтересуют.)))
Если переделанная игра не будет работать на оригинальном спектруме то это уже переделка не имеющая отношения к оригинальному спектруму, можете уже признать что всё что касается переделки программ под нестандартный режим никакого отношения к оригиналу не имеет.
Не пойму за что вы боретесь :)
Lethargeek
15.04.2020, 18:56
Если переделанная игра не будет работать на оригинальном спектруме то это уже переделка не имеющая отношения к оригинальному спектруму,
если
На 1 такт 14МГЦ у Влада 8/16 бит SDRAM уже много лет работает.
Для Z80@14МГц + видеовыхлоп VGA@60Hz с цветом 15-16 бит на шине 16 бит потоком 8*16 у меня SDRAM уже полгода+ работает.
Не все правда понимают необходимость буферов данных/адресов/команд для арбитража, но это уже, как говорится, "проблемы индейцев шерифа не и...нтересуют.)))
У тебя плис 5в или 3.3 ?
- - - Добавлено - - -
если
Она НЕ БУДЕТ работать :)
Lethargeek
15.04.2020, 19:00
Она НЕ БУДЕТ работать
fat binary
omercury
15.04.2020, 19:02
Если переделанная игра не будет работать на оригинальном спектруме то это уже переделка не имеющая отношения к оригинальному спектруму, можете уже признать что всё что касается переделки программ под нестандартный режим никакого отношения к оригиналу не имеет.
Не пойму за что вы боретесь :)
Дык именно за то, что у zx-kit концепт смертельно болен уже на стадии концепта.
В концепте же Lethargeekа спектрум остаётся спектрумом без всяких хирургических вмешательств паяльником, все подавления клешинга/раскраски происходят на внешнем для спектрума устройстве и сам спектрум о существовании этого устройства, в общем-то, даже не подозревает.
- - - Добавлено - - -
У тебя плис 5в или 3.3 ?
А согласования уровней не бывает?
3,3 разумеется.
Lethargeek
15.04.2020, 19:05
Дык именно за то, что у zx-kit концепт смертельно болен уже на стадии концепта.
ну, не то чтобы совсем безнадёжно мёртв, но по трудоёмкости неоправдан, по-моему
fat binary
«Sinclair» предоставляла для «ZX Spectrum» следующие модули расширения:
ZX Printer — уже был доступен к моменту выхода «ZX Spectrum» на рынок, поскольку порт расширения сохранял обратную совместимость с портом ZX81.
ZX Interface 1 — модуль, включающий 8 КБ ПЗУ, последовательный порт RS-232, контроллер локальной сети (ZX Net), а также интерфейс для подсоединения до восьми ZX Microdrive.
ZX Interface 2 — модуль с двумя портами для джойстиков и одним портом для картриджа ПЗУ.
ZX Microdrive — не особенно надёжное, но быстрое устройство хранения на картриджах с закольцованной плёнкой, выпущено в июле 1983 года[44].
Keypad — дополнительная цифровая клавиатура для модели 128K.
Помимо этого, предлагался ряд расширений от сторонних производителей, в частности:
Kempston joystick — интерфейс для подключения джойстика.
Morex Peripherals Centronics/RS-232 — параллельный и последовательный порт.
Currah Microspeech — модуль синтеза речи.
Videoface Digitiser — дигитайзер.
RAM pack — модуль расширения оперативной памяти.
Cheetah Marketing SpecDrum — ударная установка.
Multiface — отладочный инструмент от компании Romantic Robot.
Также пользовались популярностью клавиатуры различных производителей[45].
Существовало несколько интерфейсов для подключения дисковода, в частности:
SPDOS (Abbeydale Designers/Watford Electronics, 1985)
KDOS (Abbeydale Designers/Kempston, 1985) — обновлённая версия SPDOS со своей операционной системой KDOS
Opus Discovery (Opus Supplies Ltd, 1985)
DISCiPLE (Miles Gordon Technology, 1987) — контроллер дисковода, содержащий также два порта джойстика, параллельный порт, интерфейс локальной сети и «волшебную кнопку».
Beta Disk Interface (Technology Research Ltd, 1984) и Beta 128 Disk Interface (1987)
Нет здесь Метеора
Lethargeek
15.04.2020, 19:09
В концепте же Lethargeekа спектрум остаётся спектрумом без всяких хирургических вмешательств паяльником, все подавления клешинга/раскраски происходят на внешнем для спектрума устройстве и сам спектрум о существовании этого устройства, в общем-то, даже не подозревает.
точнее, старый код самой игры не подозревает, всё-таки настройку внешнего перед этим тоже код на спектруме выполняет
Дык именно за то, что у zx-kit концепт смертельно болен уже на стадии концепта.
В концепте же Lethargeekа спектрум остаётся спектрумом без всяких хирургических вмешательств паяльником, все подавления клешинга/раскраски происходят на внешнем для спектрума устройстве и сам спектрум о существовании этого устройства, в общем-то, даже не подозревает.
- - - Добавлено - - -
А согласования уровней не бывает?
3,3 разумеется.
Я про буфера/согласователи
Lethargeek
15.04.2020, 19:11
Нет здесь Метеора
а чем он хуже
расширений от сторонних производителей
?
omercury
15.04.2020, 19:14
ну, не то чтобы совсем безнадёжно мёртв, но по трудоёмкости неоправдан, по-моему
Ну, со стороны zx-kit, в принципе, всё понятно - ему интересно продавать железо (не знаю уж на сколько до сих пор интересно, но это вопрос второй).
Для софтописателей же концепт однозначно мёртв. Не думаю, что кому-либо будет интересно неизвестно что неизвестно для чего.
Для писателей софтов намного интересней, ИМХО, писать под то, что есть у максимально широкой аудитории, а это однозначно ПЦ...
- - - Добавлено - - -
Я про буфера/согласователи
Буфера внутри ПЛИС, согласование уровней (если оно необходимо) только для внешних для ПЛИС сигналов.
Я про извечный спор что переделка программы это уже не оригинал и тут же Метеор попадает почему то под оригинал, игру надо переделывать в НЕСТАНДАРТНЫЙ режим, всё - досвидос оригинал...
По факту я у себя в голове НЕ МОГУ сопоставить уровень работы для устранения клешинга и та же игра только с новыми дорисованными спрайтами в цветами на КАЖДУЮ точку и без всякого гемора с наложением кучи однобитовых масок.
- - - Добавлено - - -
Ну, со стороны zx-kit, в принципе, всё понятно - ему интересно продавать железо (не знаю уж на сколько до сих пор интересно, но это вопрос второй).
Для софтописателей же концепт однозначно мёртв. Не думаю, что кому-либо будет интересно неизвестно что неизвестно для чего.
Для писателей софтов намного интересней, ИМХО, писать под то, что есть у максимально широкой аудитории, а это однозначно ПЦ...
Вот про что я и говорю, если делать то делать нормально что бы был интерес поработать.
Lethargeek
15.04.2020, 19:18
Для писателей софтов намного интересней, ИМХО, писать под то, что есть у максимально широкой аудитории, а это однозначно ПЦ...
это верно для коммерческого софта, а для хобби, думаю, важнее другие факторы - времени, привычки, заделов...
omercury
15.04.2020, 19:21
точнее, старый код самой игры не подозревает, всё-таки настройку внешнего перед этим тоже код на спектруме выполняет
Тут тоже возможны варианты, но это неважно.
На выполнение программы на ZX это никак не влияет.
Я про извечный спор что переделка программы это уже не оригинал и тут же Метеор попадает почему то под оригинал, игру надо переделывать в НЕСТАНДАРТНЫЙ режим, всё - досвидос оригинал...
А о чём спорить? То, что не работает на спектруме, к спектруму отношения не имеет.
(хотя и может быть "спектрумоподобным")
По факту я у себя в голове НЕ МОГУ сопоставить уровень работы для устранения клешинга и та же игра только с новыми дорисованными спрайтами в цветами на КАЖДУЮ точку и без всякого гемора с наложением кучи однобитовых масок.
Ну... есть варианты.
...
Помимо этого, предлагался ряд расширений от сторонних производителей, в частности:
Kempston...
...
Beta Disk Interface (Technology Research Ltd, 1984) и Beta 128 Disk Interface (1987)
Нет здесь Метеора
...
Я про извечный спор что переделка программы это уже не оригинал и тут же Метеор попадает почему то под оригинал, игру надо переделывать в НЕСТАНДАРТНЫЙ режим, всё - досвидос оригинал...
Будет ли игра с подзагрузками для оригинала 48К, переделанная под TR-DOS, также быстро загружаться с магнитофона без переделки?
Продолжит ли работать игра, переделанная под контроллер KEMPSTON MOUSE, и на базовой модели ZX Spectrum?
Речь о другом - до сих пор непонятно как это должно выглядеть на уровне ассемблера с примерами, я же должен понять уровень разрушений в программе после вмешательства, а моя мысль была вообще в другом - если переделывать то переделывать комплексно, не только графику но и бардак с портами, мультизагрузчик а не ОБРАЗ ДИСКА.
Изменения небольшие:
Команды типа
ld a,(hl)
and d ; вырезаем по маске
ld (hl),a
Заменяем на
ld l,l ; записываем маску
ld (hl),d
Да как бе по большей части всегда затрагивается 2 горизонтальных байта при движении по пикселю, как изменять адрес дополнительной видеопамяти?
inc h
inc l?
Что происходит при отлове ld l,l ? каким образом (программно-аппаратно) она записывает (что-то) (куда-то) это какая-то теневая память?
При линейном буфере с адреса 0000 координата Y записывается в младший байт адресного регистра, а координата X (в байтах) - в старший байт.
Однобайтовая неиспользуемая команда Z80 ld l,l используется для быстрого включения режима рисования нулевыми битами в видеопамяти.
Не очень понятно...
Экран отражён с адреса 0 или надо в адрес 0 поочередно пихать координаты?
Буфер, где готовится следующий кадр игры, начинается с адреса 0000. Размер буфера 8 кбайт адресного пространства Z80.
Координата Y записывается в младший байт адресного регистра, а координата X (в байтах) - в старший байт.
Однобайтовая неиспользуемая команда Z80 ld l,l используется для быстрого включения режима рисования нулевыми битами в видеопамяти.
Команды типа
ld a,(hl)
and d ; вырезаем по маске
ld (hl),a
Заменяем на
ld l,l ; записываем маску
ld (hl),d
Адрес байта справа:
inc h
В видеопамяти для независимой записи точек в байте - восемь микросхем ОЗУ.
Если
LD L,y
LD H,x
LD (HL),n
То адресное пространство не 8.192 кб а 49.152 кб
Или y=(0-255) x=(0-31) ???
- - - Добавлено - - -
Заменяем на
ld l,l ; записываем маску
ld (hl),d
По команде ld (hl),d VPU должен считать 2 байта из памяти, очистить по маске в этих 2 байтах и записать обратно 2 байта с наложенной маской?
Потом то же самое сделать уже для цветов?
- - - Добавлено - - -
Зачем 8 микросхем памяти? :confused:
Ты хочешь память с 64 битами данных?
- - - Добавлено - - -
При 25 МГц можно 5 раз наложить экран сам на себя при разрешении 256x192x256 цветов на каждую точку с SRAM 64 кб x 8 бит.
То есть сделать задний фон и после этого вывести на экран 3 тысячи спрайтов 8x8 с 1 байтным цветом на пиксель.
Когда цвета кратны байту то по маске не надо считывать ничего из памяти, там где в маске 0 цвет просто не пишется в память, когда цвета кратны 1 биту то считывать придётся по любому или брать память 8 штук с 1 битным входом/выходом иииии ....где то мы уже это видели.... и изменять данные через мультиплексор без пересчитывания, писать только те биты где маска 1.
То есть, брать 8 штук РУ7 и с плис 8 раздельных выходов W/R под каждый бит...........но это по моему уже какое то извращение.....
Буфер 256*32=8192.
8 микросхем чтобы выборочно записывать точки. Одновременно. На частоте 14 MHz.
Половину времени ОЗУ требуется для вывода на TV.
А какую ПЛИС ты собираешься использовать для таких странностей? это же какой то бубльгум, специально занижать частоту что бы увеличить шину данных при том что ПЛИСы работают с памятью на 100-150МГц при 16 битной шине.
На логике??? делать маску на логике? я понял, боюсь ничего не выйдет.
Разрабатывать надо так, чтобы можно было даже на логике сделать.
Вдруг ПЛИСЫ исчезнут...
Lethargeek
17.04.2020, 22:48
Разрабатывать надо так, чтобы можно было даже на логике сделать.
Вдруг ПЛИСЫ исчезнут...
если так разрабатывать, то исчезнуть успеют не только плисы...
Разрабатывать надо так, чтобы можно было даже на логике сделать.
Вдруг ПЛИСЫ исчезнут...
Дык Verilog HDL и Block Diagram, делай пожалуйста на логике...только в ПЛИС сразу, в одной, вместо 200 корпусов логики и регистров, ПЛИС никуда не исчезнут, на них даже Эльбрус сделан, и видеокарты для ПЦ.
если так разрабатывать, то исчезнуть успеют не только плисы...
Я так контроллер генератора "разрабатывал" :) 3 года мусолил по лени а теперь завод уже месяц заготовку делает :D
если так разрабатывать, то исчезнуть успеют не только плисы...
Мне нравится сам процесс разработки. Без спешки обдумать несколько вариантов, оптимизировать схему, выбрать эффективное...
Какой то опытный образец за 7 лет есть?
и я не увидел программного ускорения вывода, экран рисуется за 2-5 кадра, нет помощи в вычислении координат.....
У Спектрума проблема скорости не подготовить изображение в буфере, а быстро скопировать изображение из буфера на экран.
NO CLASH игры можно и не ускорять.
Lethargeek
19.04.2020, 21:51
у спектрума проблема скорости с любым способом (хоть и меньше чем, к примеру, у амстрада)
Смысл быстро копировать буфер на экран если сам буфер готовится 10 кадров, при 14 МГц его технически можно скопировать за 2.5-5% времени кадра, но какой в этом смысл?
Чтобы мерцаний и волн на изображении не было.
Это типовая буферизация, всего лишь 1% от общей функциональности любой видеокарты, при чём делается в памяти самой видеокарты практически автоматически, рисование останавливается после очередного элемента и буфер скидывается в экранный буфер.....а рисовать то кто будет?
И да, это делает обычный DMA, банально два 16 битных счётчика.
Вот только это копирование из буфера на экран и надо сделать. С остальным Z80 как-нибудь справится.
А зачем вообще писать в пзу? ставишь DMA который будет тупо копировать 0-ой экран в 1-ый, включаешь отображения с 1 экрана, пишешь в 0 экран, когда начинается вертикальный бордюр включаешь dma на копирование из 0 в 1 экран, при 7 мгц в одной строке 448 тактов, R/W 224 такта, 6144 байта копируются за 28 строк, в вертикальном бордюре 112 строк+16 строк синхро, то есть можно тупо перебросить даже после INT`а, 64 строки за глаза хватит.
Это и весь проект помимо наложения по AND?
- - - Добавлено - - -
Вообще даже в моей TestBoard на Altera EP4CE10 внутри 52 Кб двухпортовой озу, для твоей идеи нужно 4 банка по 6144, R+G+B+I, итого 24 Кб, эта память лопатит 200 мб/сек при любой разрядности, маску наложит и двойной буфер и вывод на экран за такое время что z80 даже пёрднуть не успеет.
И её можно организовать в 256 бит ширины, за 1 такт сразу 32 байта, то есть за 2 такта перенесётся ВСЯ ГОРИЗОНТАЛЬНАЯ СТРОКА, и это при 100МГц.
А вообще всё это извращение прекрасно будет работать и с динамической sdram на 16 мегабайт за 50 рублей.
- - - Добавлено - - -
А кстати, в развёртку пентагона прекрасно лезет экран 320x240, наверное все согласятся что бордюр давным давно уже не нужен, в далёких 90-x я свой монитор электроника полностью перепаял и у меня в развёртке бордюра вообще не было, вот это было красота, когда у других видел мааааленький такой экранчик с просто ГИГАНТСКИМ бордюром меня шок брал, в спектруме ТРЕТЬ экрана это тупо бордюр, любой современный телевизор с scart прекрасно жуёт любую развёртку, прошли те времена где кинескоповый телек весь бордюр перезаряжал ёмкости во время обратного хода луча, он вот зачем? тем более что матрицы, даже кинескопа никаким образом не совпадают пиксельно с развёрткой пентагона, всё равно пиксели частично перезасвечиваются.
- - - Добавлено - - -
Вот смотрю всяких "современных" zx-мутантов и улыбка сама на морде лица появляется, стоит cortex-m0 на 45 MIPS 32 битных операндов с dma 25 мб/сек в качестве флеш дисковода и Z80 8 бит на 0,6 MIPS с dma (ldir) на 0,16 мб/сек в качестве основного :D
- - - Добавлено - - -
Как будем бороться с клешингом? :v2_dizzy_vodka2:
72300
Только для одного буфера надо 64 килобайта памяти. А их надо минимум три.
В этой игре клешинга нет. Клешинг - когда фон и спрайты разного цвета.
Lethargeek
20.04.2020, 23:41
Nesser, откуда скрин? знал же, но из головы вылетело
Nesser, откуда скрин? знал же, но из головы вылетело
Desolator
https://viva-games.ru/game/desolator
там и поиграй
- - - Добавлено - - -
Только для одного буфера надо 64 килобайта памяти. А их надо минимум три.
В этой игре клешинга нет. Клешинг - когда фон и спрайты разного цвета.
Вот таких одноцветных игр сотни, они типа внимания не заслуживают?
Тпппрррррр каких ещё 64кб по 3??? тру колор в хд?
Ты меня пугаешь......из 6 912 в 196 689 ?
320x240 с 256 цветами занимает 76800, с буфером 153 600
Буфер, буфер и экран. 8к адресов по 8 точек по 6 бит.
Зачем 3 буфера? экран тоже буфер....
Если экран не успевает сформироваться то сканер пикселей тупо отображает ещё раз тот же самый экран который в буфере.
А вообще я сути не понимаю, у тебя рабочая область получается с раздельным цветом на КАЖДЫЙ ПИКСЕЛЬ, какую ещё маску ты собираешься накладывать? если в маске 0 то ты пиксель не записываешь да и цвет paper ты куда будешь записывать? его в спрайте не должно быть ибо это задний фон.
- - - Добавлено - - -
Рисуешь новые спрайты в 64 цветах R+R+G+G+B+B, подклеиваешь к игре, в части вывода на экран удаляешь всё что после вычисления координат СПРАЙТА, вставляешь кусок вывода спрайта при помощи плис.....игра готова, никакого клешинга, все цвета с точностью до пикселя, в R-TYPE фон двигается попиксельно и в 64 цветах, всё красиво, все радуются, аплодисменты, занавес.
Ах да, вывод на экран ускорится раз в 20, z80 успеет и за треть кадра нарисовать вместе с фоном.
256 спрайтов 8x8 с 64-256 цветов на точку занимает всего 16 кб, я думаю даже в R-TYPE их там значительно меньше, по крайней мере на уровень за глаза хватит, а может и на все.
А в Exolon их явно меньше, как тебя Exolon в 256 цветах НА ПИКСЕЛЬ и минимум переделки? а маска спрайта в самом пикселе и указывается ибо градаций черного не бывает.
Биты:
0-1 -- 4 яркости Blue
2-3 -- 4 яркости Red
4-5 -- 4 яркости Green
6-7 -- 4 яркости общие
нууу по факту 3 а не 4 :)
То есть - b00 000000 это чёрный цвет а b11 000000 это маска, прозрачный, пиксель не записывается в память.
Тогда можно сделать ещё и если b00 а первые 6 бит не ноль тогда это номер регистра палитры, 63 штуки, ставишь b00 000001 и меняешь только регистр №1, всё что им окрашено на экране будет меняться, как в Contra на денди, там на фоне всякие переливающиеся страшилки.
В R-TYPE на большом корабле легко сделать огонь из двигателей.
Не понимаю что ты к битам прицепился, байтами надо работать, байтами :v2_dizzy_coder:
Во втором буфере копия фона для ускорения стирания спрайтов.
У оригинальных спрайтов два цвета. Поэтому сначала вырезаем в фоне силуэт спрайта нулевыми битами цветом маски (черным). Потом рисуем спрайт единичными битами цветом спрайта (жёлтым или белым).
Раскрашивание спрайтов - это лишняя работа. Кто это будет делать? При рисовании спрайтов без клешинга все будет хорошо и достаточно красиво.
То есть уже появилось 2 части драйвера? для вывода фона и вывода спрайтов РАЗДЕЛЬНО? что бы сходить за хлебом нужно сдать экзамен спецназа, при чём каждый раз как идёшь за хлебом
Фон рисуется по-старому.
Но добавляется аппаратное сохранение и восстановление фона для ускорения стирания спрайтов и построения следующего кадра.
Это ещё один способ ускорения.
В скроллерах сам фон двигается по пикселям а цвета по знакоместам, то есть сам фон уже имеет клеш, и самое ржачное - часто и густо фон сверху и снизу экрана вообще не имеет координат, эти полосы тупо сдвигаются последовательностью команд ротации бит через перенос и (HL), каждые 8 тактов делается LDDR в атрибутах, этот клеш убрать не представляется возможным, это не спрайты и это не координаты, твой метод подходит далеко не для всех игр, да и пока вообще не понятен твой метод.
- - - Добавлено - - -
Люди у кого есть Altera MAX+Plus II 10.0 (10.2) для старых 5 вольтовых ПЛИС? и как их прошивать?
Придётся тоже голову себе заморочить с твоими клешами :)
Для совместимости с расширением RAM оригинального Спектрума до 128К в окне ROM добавляется второй экран для доработки игр 128К версий.
С адреса 0000 теперь будут располагаться основной буфер BUF1, буфер для хранения фона BUF2, основной экран 48К - SCR1 и экран для игр 128 K - SCR2.
Расширение 128K для ZX SPECTRUM тесно связано с экраном, поэтому функции расширения 128 К в окне 0000 для ZX SPECTRUM будет выполнять METEOR-2020
Ну как там результат?
Вообще, флеш игра на пц пишется за 20 минут, мы тут мечтаем как будем переделывать игры 30 летней давности с неизвестной целью...может сделать уже редактор игр?
Платка переходник DIP40 с впаянной плис, sdram и выходом RGB воткнутая вместо Z80 в любой спектрум решает все проблемы совместимости, любой новый режим будет работать даже на спектрум48, понятно что плата спектрума будет всего лишь аппендицитом но так решаются все проблемы. Только вот зачем?
Времени на отдых и все проекты пока не хватает. Продолжал работать на основной работе во время самоизоляции, одновременно надо готовиться к экзамену по английскому, завершение старых заказов и проектов. И первый проект VGA SPUTNIK. Сначала надо его доделать.
Сколько можно объяснять нужность и возможности видеокарты. Она для улучшения старых игр. Новую игру написать сложнее, чем переделать готовую и популярную. Было бы просто - на ZX-EVO переписали бы все игры уже давно.
Закончится английский и VGA SPUTNIK, тогда продолжу. До конца года надо сделать.
nimdasys_inbox_ru
11.05.2020, 15:32
Видеокарта "METEOR-2020" - реализация уже имеется ?!
Видеокарта "METEOR-2020" - реализация уже имеется ?!
Пока я занимаюсь другими проектами.
Пришёл сюда с темы 2013 и так и не понял.
Какието прототипы есть или за 20 лет так это теорией и осталось без единой картинки ?
NEO SPECTRUMAN
06.08.2020, 04:53
Только вот зачем?
и осталось без единой картинки ?
так главное же победить клешинг :)
а все остальное никому не надо
- - - Добавлено - - -
ну а когда карта будет запилена
клешинг будет автоматически побежден
и аффтару больше будет нечем заняться :)
Пришёл сюда с темы 2013 и так и не понял.
Какието прототипы есть или за 20 лет так это теорией и осталось без единой картинки ?
Видеокарта будет как модуль для модульного компьютера. Шина разработана. Базовая плата заказана.
а по моему всё просто
- разъём с адресом и данными
- плис с обвесом на 5в или 3.3 с преобразователями до 5
- разъём VGA и композит
всё....
остальное уже программная часть
- - - Добавлено - - -
так главное же победить клешинг :)
а все остальное никому не надо
- - - Добавлено - - -
ну а когда карта будет запилена
клешинг будет автоматически побежден
и аффтару больше будет нечем заняться :)
клешинг не победить пока не будет вывод по пикселям :v2_dizzy_rastoman::v2_dizzy_indy:
shurik-ua
05.11.2020, 21:10
клешинг нашё фсё !
клешинг не победить пока не будет вывод по пикселям
Интересно получается, посмотрел несколько тем подобных, как будь-то конфликт атрибутов -- это самое страшное. Везде речь только о количестве точек и цветов, а видеокарта нужна лишь чтоб эту задачу решить, между делом устранив конфликт атрибутов...
Можно посмотреть на это дело с двух сторон. Есть множество старых игр, которые хотелось бы "приукрасить". С другой стороны на этом стоит ли останавливаться? А если продолжение любимых игр придумать, но на какой базе их делать? Первую задачу единственный, кто предложил решить кардинально, это автор ULAX (он силён в программировании), но он категорически против каких-то новшеств, как я понял, свою разработку представляет как дополнение к ULA, ни о какой "видеокарте" слышать не хочет... Автор данной темы вообще не заморачивается с программной частью, считает что достаточно сделать ещё одну железку, а всё остальное само приложится)
Да что-то zx-kit совсем потерялся, уже почти полгода как на форуме не появляется. Главное, чтоб был жив здоров.
Да что-то @zx-kit совсем потерялся, уже почти полгода как на форуме не появляется. Главное, чтоб был жив здоров.
Год уже получается
сколько - 7 лет копья ломали, 8 ?
Да что-то @zx-kit (https://zx-pk.ru/member.php?u=4746) совсем потерялся, уже почти полгода как на форуме не появляется. Главное, чтоб был жив здоров.
Я живой.
ZX_NOVOSIB
07.01.2022, 12:35
Я живой.
Пора делать Meteor-2022! А то клэшинг по-прежнему лютует :(
Пора делать Meteor-2022! А то клэшинг по-прежнему лютует :(
Хорошее название. А что еще не устранили клешинг?
- - - Добавлено - - -
Разрабатывать надо так, чтобы можно было даже на логике сделать.
Вдруг ПЛИСЫ исчезнут...
Я был прав. Конец разработкам.
ZX_NOVOSIB
07.01.2022, 13:53
А что еще не устранили клешинг?
Нет. Ведём с ним бой, но силы на исходе.
Я был прав. Конец разработкам.
правильнее сказать конец плис-ориентированным разработкам если поставки прекратятся
Нет. Ведём с ним бой, но силы на исходе.
OK
Переходите на китайские GOWIN. Поставки Alter-a, Xilinx не прекратились. Просто с нормальными ценами срок ожидания полгода-полтора, а быстро только от спекулянтов в 30 раз дороже.
Переходите на китайские GOWIN. Поставки Alter-a, Xilinx не прекратились. Просто с нормальными ценами срок ожидания полгода-полтора, а быстро только от спекулянтов в 30 раз дороже.
Спасибо. GOWIN где-нибудь продают?
Сами чипы на Mouser (https://ru.mouser.com/c/?q=GW1N)-е продают, да возможно и любые поставщики, работающие с китайцами. А демо-платы на e-bay и Aliexpress поиском "GW1N".
Еще LATTICE есть.
- - - Добавлено - - -
если поставки прекратятся
это исключено. Конечно только если российская таможня сама задавит суперсборами, а музыкантам гигасмычковых не введут пожизненку с конфискацией в УК РФ.
Переходите на китайские GOWIN. Поставки Alter-a, Xilinx не прекратились.
Оффтоп: А чего случилось с производством плисов?
Последствия китайско-американской торговой войны и какие-то еще причины( приплели даже пандемию коронавируса) сломали всю сложившуюся систему поставок программируемой логики и целого спектра микросхем, использующихся в автомобильной электронике.
Ситуацией воспользовались спекулянты всех мастей. Теперь я вынужден предлагать клиенту микросхему TPS62826DMQR (https://ru.mouser.com/c/?q=TPS62826DMQR), которая стоила год назад $1.5 за $60! А куда мне деться? Государству НДС платить надо 20% + свои 10-15%. Вот и калькуляция: поставщик-китаец или европеец хочет $40 вместо $1.5. Государству надо отдать $8 НДС вместо $0.3, ну и себе не $0.1 как прежде, а $12. Если последнее убрать - все-равно будет $48.12 Но тогда компанию достанет налоговая, почему при такой закупке, нулевая прибыль( они ведь и с прибыли налог хотят брать!) Если же пройдете по ссылке на Mouser, то увидите на нее предполагаемый срок поставки !май 2023год! Даже в СССР на любые микросхемы максимальный срок поставки был 1 год!
А с производством ничего не случилось, если не считать, что чистых пластин на которые плисы трафаретят стало не хватать, так как вследствие пандемии и массового перехода в онлайн все производители МЭ скачком производство нарастили.
Про GOWIN и LATTICE просто не все разработчики разом вспомнили. В этом году все сюда ломануться и их постигнет та же участь.
Производство пластин вроде тоже собираются на порядок поднять. Просто это новые заводы нужно строить. Могли бы и в России!
У andrews как обычно - Смешались в кучу кони, люди...
спекулянты всех мастей. Теперь я вынужден предлагать клиенту микросхему TPS62826DMQR, которая стоила год назад $1.5 за $60!
а клиент не спрашивает почему там по прайсам 1.5 а ты хочешь в 40 раз больше? в РФ этих микрух нет вообще чтоль и не скататься ему на автобусе в какуюнить республику рядом закупить?
Ты по ссылке не сходил. По нормальной цене поставка в мае 2023 года. В Эстонии их тоже не купить, если ты об этом. Это дефицит мировой. И европейцы с американцами спекулируют точно так же, как китайцы.
Ты по ссылке не сходил. По нормальной цене поставка в мае 2023 года. В Эстонии их тоже не купить, если ты об этом. Это дефицит мировой. И европейцы с американцами спекулируют точно так же, как китайцы.
да, прикольно, при таком не удивлюсь если китайцы подделок нафигачат
ZX_NOVOSIB
08.01.2022, 07:58
Raydac, уже небось нафигачили
По мне так если копируют один в один, даже нарушая лицензии, то и фиг бы то с ним! Если у тебя лицензия, а ты продавать не даешь, чтобы людям доступно было, то фуле с тобой чикаться?!
По мне так если копируют один в один, даже нарушая лицензии, то и фиг бы то с ним! Если у тебя лицензия, а ты продавать не даешь, чтобы людям доступно было, то фуле с тобой чикаться?!
тогда они скатятся в ссср и будут как совки копировать вместо своих разработок, только копировать будет не с кого
Не забывай, что сейчас мировая микроэлектроника вышла уже на "технологии финальной стадии"!( из-за физических ограничений дальнейшей миниатюризации). Так что то, что ты творчески скомуниздил сейчас - это уже навсегда! И через 25 лет будет ядро STM32 актуально и RISC V тоже. И скоро не только Китай, но и Индия, и Россия ( если забьют на авторские права) все будут делать одно и то же, как автомат Калашникова.
Что же до программируемой логики, тут еще возможен определенный технологический прогресс. Это и программируемые аналоговые схемы и искусственные нейронные сети.
Что же до квантовой оптоэлектроники в функционале микроэлектроники ( полный детерминизм и контроль, универсальные цифровые устройства), пожалуй как раз ближайшие 40 лет особого прогресса не предвидится. Здесь никто не доказал пока, что хотя бы теоретически это возможно!
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot