Вы не исправимы:)
Кому нужна новая видео-карта для автомобилей (очень грубо. Хотя и там уже все фулл) или вы решили тягаться с командой инженеров, которые 20 собак съели и 40 VDP проглотили. Не понятненько.
Вид для печати
Вы не исправимы:)
Кому нужна новая видео-карта для автомобилей (очень грубо. Хотя и там уже все фулл) или вы решили тягаться с командой инженеров, которые 20 собак съели и 40 VDP проглотили. Не понятненько.
Хорошо, теперь, возвращаемся к "моему проекту", там ровно тоже самое, только шины VRAM разделенные, CPU, не мешает "никто", синхоронизации не "надо совсем". Смекаешь ? (с)
уже не представляю ,но знаю :v2_dizzy_yes:
кто эти люди?
Дело не в ULAX, совсем нет. :v2_dizzy_biggrin2:
Добавлю к прошлому сообщению.
А ZX и чернобелый нравится с клушей. Это фишка. Ну, это мое. И видимо там вряд ли чего можно улучшить, бо потенциала нет. Но на аппаратный скролл я согласен:)
- - - Добавлено - - -
От ретро платформы улутшайсинг не должен портить то, что сделали в то время. А то поглядишь - это не ZX а прям какай-то 8-ядерный эмулятор.
Да те же подпрограммы вывода графики надо будет переделать. Только у меня новые подпрограммы будут на месте старого экрана около 7 К места. А у вас какой-то параллельный процесс все рисовать будет, который тоже надо настроить на определенные адреса и способы вывода. Уровень трудности примерно одинаков. Только у меня доработанная программа, а у вас дополнительный файл с данными, которые вы загрузите в видеокарту. Тоже новый компьютер получается.
Поэтому лучше сразу сделать новый компьютер и сказать, что это новый компьютер. И выбрать такие номера портов какие хочешь и столько, сколько надо.
Не METEOR-а не ULAX никто не видал. И ли мне ютубом разбавить:)
просто БЛЕСК, то есть надо переделывать вообще ВСЁ, пишущее и читающее экран :v2_clapp:
ты совсем думать о последствиях не пытаешься? (очевидных даже неспектрумисту)
только там, где нужно что-нибудь обесклэшить
ага, как же))) вот что ты будешь делать со своими двумя экранами, если оригинал на спеке рисует в буфер (не на весь экран), а инфопанельки обновляются на экране?
Музыкальная пауза. Горіла Сосна.
https://www.youtube.com/watch?v=9tQC...tQCdYpo7hg&t=7
Ппц. В мой молодости больше было драйва, поищем Оригинал:)
забыл добавить, вот смотри, "Хорошо, теперь, возвращаемся к "моему проекту", там ровно тоже самое, только шины VRAM разделенные, CPU, не мешает "никто", синхоронизации не "надо совсем". Смекаешь ? (с)"
ну и далее, с катриджем, ты уже можешь читать и писать в одну область-СPU0, где у тебя ROM,VRAM или RAM на катридже, или RAM в СPU0 основной плате. А можешь делать все с точностью наооборот -причем порты у тебя могут быть совместимы, как ZX (по дефлоту), CP/M, Uzix и тд.
Чем "Челябинск" круче будет?
- - - Добавлено - - -
А че сразу ULAX? есть он или нет, люди пишут под ZX, как и SPEC256, вообще параллельно, есть или нет. Людей "кодящих" на ZX они никак не отвлекают.
Давайте и я свою лепту внесу :v2_dizzy_botan:
Как это цпу никто не мешает? он же всё своё время будет занят выводом ГРАФИКИ, при 4-21 такта на команду это более чем страшно даже при 28 МГц, мешают ему ВНУТРЕННИЕ ПРОЦЕССЫ, z80 сделан по старому принципу поочередного выполнения микрокода, медленее в принципе уже ничего нет, он ВООБЩЕ НЕ ДОЛЖЕН ЗАНИМАТЬСЯ всем что связанно с графикой, музыкой и дисками, он ЦПУ......он УПРАВЛЯТЬ должен а не камазы гравия детской лопаткой разгружать, любая видеокарта современного компа в тысячи раз мощнее цпу, а дма потоки фигачат на скоростях недостижимых для цпу.
Сколько на zx занимает времени вывод текста того же ассм-редактора? 100% мощности? так какой же это цпу? это текстовый контроллер, давно пора уже было сделать именно текстовый режим для работы с текстом, сделали? нормальный 64x24 с 8x8 символами? ну да ну да, сколько там протреккер тратит времени на анимацию текста? децл на простые звуки с квантованием 50 Гц еле остаётся?
Дальше...
Теневое видео-озу это класс, проц типа не занят, 2 экрана, тоже класс, то есть перерисовку спрайтов 50 раз в секунду делать не надо? и чтение-модификация-запись тоже не надо? спрайт что по горизонтали двигается кратно 8 пикселям? а если часть попала в 1 байт а часть в соседний? факт что надо считать из озу процессора, потом считать байт из видео-озу, потом наложить одно на другое со смещением, а уже потом записать в видео-озу и так сделать 2 раза, или я что-то не так понимаю?
Итог - наш чахленький проц должен заниматься только распределением и работой с синтаксисом и интеллектом в играх, и желательно на частотах до 28 МГц, если видеокарта то только со встроенным специализированным dma и хранением всей графики ВНУТРИ, в том числе и символьной таблицой.
Порой старую игру проще сделать заново чем впихивать в тело костыли с бинтами, тем более если лезть так и делать уже с учетом mouse, hdd/ssd (окно сохранений/загрузок), video....возврат в коммандер без сброса...........а всё это требует какой то доработки dos в плане обслуживания накопителей из игр и программ, не в каждой программе пилить а вызов окна доса короткой командой которая после себя восстановит графику которая была на этом месте (вариант как параметр).
НЕ ПОЛУЧИТСЯ ТАК ПРОСТО, уже нагорбатили кучи портов с жидкой адресацией и программеры наши лентяи по (BC) полностью порт указывать.
По сути любой спек переделывается в 7 МГц на ура, это уже компенсирует мелкие потери, но это из прошлого....никто сейчас не мешает воткнуть в панельку z80 платку с плисиной в которой зашит z80 с 1-4 тактом на команду и LDIR с 2 тактами на байт, работать будет абсолютно в любом спеке и прирост мощности НА ПОРЯДОК даже без увеличения частоты.
По мне так достаточно жёсткого спрайтирования с 1 байтовым цветом на пиксель и плавающим размером спрайта, 256x192 вполне хватает, а список координат спрайтов, их размеров и адресов начал пусть хранятся в видеокарте, пусть сама этот список читает, очищает экран и рисует каждый кадр чередуя с буфером, она всё равно каждый пиксель пересчитывает, итог - картинка будет всегда на экране, а если надо какой то спрайт передвинуть то достаточно изменить два байта в таблице, в следующем кадре спрайт будет в другом месте, то есть цпу тратиться только если надо сдвинут спрайт, даже для таблички 192x64 летающей по экрану достаточно каждый кадр менять всего 2 байта координат, про планы наложения и хочется и колется, такая система уже умерла, сейчас быстрее будет просто затереть поверх того что уже есть, тем более при экране с таким маленьким разрешением там и размещать то особо нечего, количество пулек поверх графики?
Nesser, всё так. По сути, получится прозрачная эмуляция аппаратных спрайтов без жёсткого ограничения их количества и размеров. Но почему-то некоторые люди под крики "Это уже не спектрум!" не хотят ни аппаратного блиттера ни других видеорежимов. :)
- - - Добавлено - - -
Я ещё предлагал создать некий API, чтобы можно было посадить соответствующий драйвер, а программа/игра будет вызывать соответствующие функции. И тут уже внутреннее дело драйвера что там и как работает, где хранятся и как отображаются эти спрайты и каким образом идёт работа с видеокартой на аппаратном уровне. Так получим возможность совершенно без изменений в игре подключать совершенно разные видеокарты. Но над этой идеей только посмеялись "мэтры".
А почему это не спектрум? :v2_dizzy_roll:
Амига с AGA уже не Амига? 80286 с видеокартой уже не PC? :v2_dizzy_botan:
Если в спектрум добавить RS-232, RS-485, текстовый экран, возможность подключения расширенной видеокарты то это уже будет не спектрум? :)
А я вот хочу подключить к плате спектрума прибор по RS-485 протоколу и на ассме сделать программу которая обслуживает например пожарно-охранный прибор в целях проверки стабильности его работы и программирования....а может хочу банально залить прошивку в PIC16F628A по RS-232....а может хочу потестить работу с датчиком температуры или с экраном 16x2......могу?..........нет.....а почему....ну потому что вроде как всё это понавешать на z80 вполне можно....(и нужно)....а на PC и ардуино такой хренью страдать не хочется, для этого вполне достаточно ассемблера z80, и что, спектрум после этого перестанет быть спектрумом, ну вот хочу я на нём аппаратный текстовый режим, 64x24 или побольше и без бордюра.
Да и по сути чем мешает видеокарта воткнутая в слот, надо только продумать что бы она зеркально замещала родной экран, делать на россыпухе уже не прокатит да и не имеет смысла, переделка старых спектрумов тоже выглядит абсурдно, за то время пока напаяешь километр мгтф уже можно заработать на мать спектрума с плисиной.
Сильных наворотов НЕ НАДО, за глаза даже 256 цветов на точку, дальше будет проще приклеить SVGA карточку 90-x, но зачем, уровень сеги, больше НЕ НАДО, да хотя бы денди :v2_dizzy_coder:, у нас даже редактора TSFM нет, ибо на экран хрен что влезет и бардак в программировании.
Спектрум хорош тем, что встроенный бейсик позволяет относительно большие возможности в программировании, но его надо дорабатывать в соответствии с реальностями.
Понятно что на андроиде за тысячу рублей можно играть в 3D стрелялки, но что бы сделать тестовую программу для управления чем либо это полный пи...ц.
По мне так надо саму концепцию спектрума - (бейсик, дос, ассемблер, прямое управление устройствами) перевести в нынешние реалии.
Да и как вариант, о чём я уже говорил, вместо камня z80 вполне можно воткнуть платку с плисиной где прошит z80 с НОРМАЛЬНЫМИ тактировками микрокоманд и что-то сделать с адресацией выше 16 бит, только не надо про z280 и 380 :v2_dizzy_snowball: они не z80.
Переделывать старую игру можно только в новую обёртку, если видеокарта сама будет делать часть гемора, то никаких проблем сделать игру не будет, что там у нас самое мощное? Exolon, Zybex, R-Type.....по сути всё это одно и тоже связанное скроллингом экрана, там спрайтов то кот наплакал, а задний фон сделать не проблема, Dizzy? смешно, статическая графика с ОДНИМ двигающимся спрайтом 16x16, на диске сжатые по количеству цветов спрайты фона, распаковываем в памяти, кидаем в память карты уже с 1 байтом на пиксель........Elite, Driller, Eclipse отдельная тема для разговора, StarCraft...WarCraft....вот это уже пахнет жаренным, такой стиль на обычном спектруме не сделать, ибо ПАМЯТЬ ДЛЯ КАРТЫ УРОВНЯ НУЖНА! и спрайты только АППАРАТНЫЕ! ибо динамика и надо заниматься вычислением траекторий...Heroes of Might and Magic.....мммммммм :v2_yahoo: ....Wolf3D....пипирипипи......думат ь надо...LodeRunner....уууууу......а дендивскую Контру слабо? :)
Да можно и нужно делать видеокарту, но надо так продумать что бы это не стало SDK а было просто для ассемблера, ибо Спектрум это АССЕМБЛЕР со всеми вытекающими, и кстати, с каких пор ядро игры нельзя уместить в 16-48 кб? :) если графика в своей карте а музыка и звуки в своей карте то почему бы и нет, процу в памяти остаётся только прога.....НО. карта уровня.......думать надо :) надо какое то более простое клацанье банками.
И да, надо какой то конкретный список необходимых возможностей, при чём не только видеокарты а системы в целом, но над этим надо работать сообща :)
НУ и не забыть оценить риски..........надо ли это вообще? :v2_dizzy_snowball2:
Что в голову пришло по быстрому :)
к слову об аппаратных спрайтах и консольщине - это отличная штука далеко не только для консолей... А то там были бурленья о спрайтовщине как явлении чисто консольном... Между тем одно другому не мешает: Курсоры мышей, буквочек глифы и т.д. По процессору, который только управляет - так ведь так и было сделано везде где можно еще давным-давно. Потому и ставили 6502 в качестве менеджера, а не вагон совочком разгружать ))) Ну и амига, к примеру, могла повиснуть, а муз трек продолжал играть... Ничо, 68000 тогда управлялся на 7 МГц так, что не верили, уверяли, что 386 ускоренный (40мгц кажется) и с наворотами - не меньше.
В Метеоре надо сделать 3 плоскости спековской графики с масками.
Аппаратные тайлы лучше делать для неспектрума - в компьютере Челябинск.
В Метеоре оставить времянки и цвета Спектрума.
Коммутатор памяти одинаковый по схеме для обоих компьютеров - в Метеоре и Челябинске.
Зачем оставлять спековскую графику?
Если очень хочется, то можно синхронизировать метеор от спека, чтобы экран показывал одновременно и в зависимости от бита в плоскости маски показывается пиксель либо со спека либо с метеора. Для этого со спека берутся TTL сигналы RGBI, а у метеора может быть и 16 или 256 цветов и это будет своеобразный слой для спрайтов, а фон останется спековский. Или маской вообще можно будет выключить спековский экран и работать только с метеором. Тогда и старые игры переделать будет легче, оставив фон на стандартном экране, а спрайты покрасить и перевести на новый слой без клешинга. Будет большая гибкость и свобода для программиста.
Lethargeek, что с тобой? пишешь как будто первый день на этом форуме а не 10лет... или забыл уже сагу BlackCat-a о *****любстве? http://zx.clan.su/forum/7-22-1
- - - Добавлено - - -
планы жЫрные... давай-ка для начала 1 комп, и такой чтоб понравился многим, и чтоб человек 20 хотябы его сделали себе и что-то под него написали\спонсировали
Начнёмс :)
Вот как правильно и сказали - сначала надо сделать нормальный комп, то бишь материнку, а потом уже делать видеокарту в слот, корячить такую "крутую" видюху к ленинграду или пентагону нет никакого смысла, там и так уже небоскребы возведены.
Дублировать стандартный экран, есть ли смысл? он должен быть прошит намертво в плисине материнки, так как частично связан с регенерацией динамической памяти, на видеокарту синхросигналы подавать через отдельный разъём, опять же непонятки с бордюром, в нынешних реалиях он явно не нужен, значит надо делать и режим без бордюра, то есть изменять тактировки, а это пахнет принудительным введением асинхронности процессора и видеовывода.
Ни один из существующих спектрумов, или клонов, называйте как хотите, не доведён до конца, куда там про видеокарту говорить. Все обвесы в кучу собрали? нет. программно это всё поддержали? нет. какая же видеокарта если в нашем сильно любимом компьютере ВСЕГО ОДНО ПРЕРЫВАНИЕ....и то кадровое, а я вот как то лет 25 назад кидал на рынок сделанный на скорую руку коммандер с встроенным копиром (название не помню) который поддерживал дополнительное прерывание от ВГ93 по приёму байта, копировало всё прекрасно параллельно с работой программы, а делов то регистр и проводок в примитивном случае, надо ли это? уже нет, атмегу поставили и грузит она сама и с флешки и с hdd, ниче что она раз в 50 мощнее z80?
В новом компьютере стандартный экран можно не делать. Так как он подходит только для старых игр. Новые игры на нем показывать не будут, так как используют возможности нового графического режима с правильной адресацией. Если делать оба режима, то схема видеокарты может усложниться в 2 раза. Поэтому старый режим можно не делать совсем. Для старых игр поставить рядом любой клон, которых выпущено до этого в времени в огромных количествах.
Надо предусмотреть 2 разрешения 256х192 и 320х240. При выводе через видоеоконвертер VGA 320x240 займет весь экран 640х480 без бордюра. Эта одна из причин такого разрешения. Тем более, если делать фон с автоматическим скроллингом, то нельзя показывать на экране все 256 строк, так как несколько строк должны быть невидимы для подрисовывания нового изображения. Внутри видеокарты оба экрана должны занимать память размером 512х256 точек. Больше 256 точек одним младшим байтом адреса адресовать сложно.Цитата:
опять же непонятки с бордюром, в нынешних реалиях он явно не нужен, значит надо делать и режим без бордюра, то есть изменять тактировки, а это пахнет принудительным введением асинхронности процессора и видеовывода.
Никакого видеоконвертера, только прямое управление монитором через VGA, благо частоты кратны PAL сигналу, в своё время из-за отсутствия монитора PC выводил изображение на обычный телевизор с SVGA карты через 155ТМ2 на вход которой подавался строчный сигнал с SVGA карты и с выхода D-триггера подавался строчный сигнал на телевизор, топорно, через строчку, но работало...посему 320x240 (640x480...мощность нужна в 4 раза больше) должно работать и по тюльпану и по VGA, то есть из VGA прекрасно делается PAL если строчную в 2 раза урезать, всё равно по Y точек как у PAL, про HDMI можно забыть ибо нет смысла, полно квадратных мониторов с низким разрешением, 50 Гц многие из них адекватно воспринимают.
Скроллинг ни как не должен влияет на видимое разрешение, это внутренняя проблема самого видеоконтроллера :) посему должен быть именно аппаратным.
Опять же, если делать разрешения больше 256, то есть 8 битной адресации, то те же самые 320 по X уже вкорячиваются только в 9 бит адреса, значит в памяти под X в любом случае будет выделятся 512 пикселей ибо кратность простота схемотехники, никаких умножителей адреса по Y нам не надо, поэтому X должен быть кратен двоичному числу, так кстати делается во всех современных видеокартах (и не очень современных), выглядит как отображение окна из памяти по координатам.
Короче, ещё куча проблем на пути к цели......и всё к старому - цели слишком расплывчаты, если затея только ради клэшинга то смысла в этом нет, и это..........за чей счёт банкет, сколько человек купят карту у которой полностью отсутствует программная поддержка? да и сколько вообще её купят? я в смысле окупаемости, должен быть спрос, а спроса что-то не видно:v2_dizzy_botan: да и если на рассыпухе то всё как то сомнительно, для тестов проще взять плату марсоход-2 или марсоход-3.
https://marsohod.org/projects
В неё даже ZX вкорячили
https://marsohod.org/projects/marsohod2/286-zx-spectrum
Для тестов
https://marsohod.org/howtostart/marsohod2
Если удвоить частоту вывода точек и строчную развертку, то вывести на VGA можно, но точки будут не квадратные. Возможен режим 640x480 66 Hz, там точки квадратные, но INT на Z80 будет 66 Hz. Если через видеоконвертер, то частота INT 50 Hz как в Спектруме, а на монитор VGA 640x480 66 Hz и точки квадратные
Я так и планирую - внутри видеокарты 512x256 точек, а на экране видно окно 320х240 или 256х192 с аппаратным скроллингом и дорисовыванием нового изображения в невидимые области экрана.Цитата:
Скроллинг ни как не должен влияет на видимое разрешение, это внутренняя проблема самого видеоконтроллера :) посему должен быть именно аппаратным.
Опять же, если делать разрешения больше 256, то есть 8 битной адресации, то те же самые 320 по X уже вкорячиваются только в 9 бит адреса, значит в памяти под X в любом случае будет выделятся 512 пикселей ибо кратность простота схемотехники, никаких умножителей адреса по Y нам не надо, поэтому X должен быть кратен двоичному числу, так кстати делается во всех современных видеокартах (и не очень современных), выглядит как отображение окна из памяти по координатам.
Надо еще раз подумать, нужна ли совместимость со старыми играми, то есть возможность доработки, чтобы устранить клешинг и игра шла с той же частотой и звук на BEEPER-е был такой же. Это затрудняет подключение к VGA. Для упрощения подключения в режиме VGA 640x480 60 Hz with pixelclock 25.175 MHz желательно частоту точек ровно в 2 раза реже, а частотe Z80 кратно 25. Если 25, то подойдет ZS18033. Если 12.5 или 6.25, то подойдет Z80 20 MHz. При этом частота INT 60 Hz и уплывают звуки BEEPERa. Если ориентироваться только на новые игры или старые без совместимости с BEEPER-ом, то можно и такие частоты. При INT 66 Hz игра может не успевать стрить изображение за кадр при частоте Z80 3.5 MHz.Цитата:
Короче, ещё куча проблем на пути к цели......и всё к старому - цели слишком расплывчаты, если затея только ради клэшинга то смысла в этом нет,
То есть, совместимость со старыми играми - возможность доработки для улучшения графики зависит от видеовыода - TV или VGA.
Все новое обычно отвергают. Надо еще несколько лет, чтобы нашлись желающие программировать под новые режимы. Когда делали ATM и TS не спрашивали, будет ли кто писать под них.Цитата:
и это..........за чей счёт банкет, сколько человек купят карту у которой полностью отсутствует программная поддержка? да и сколько вообще её купят? я в смысле окупаемости, должен быть спрос, а спроса что-то не видно
Марсоходы не подходят, так как на них память SDRAM. Надо девборду с SRAM.Цитата:
:v2_dizzy_botan: да и если на рассыпухе то всё как то сомнительно, для тестов проще взять плату марсоход-2
- - - Добавлено - - -
Проще сделать свой компьютер на рассыпухе или девборду с SRAM, чем подстраиваться под ограничения старых компьютеров и девборд. Вопрос в совместимости по времянкам BEEPER-а остается. Если в доработанной старой игре иззменить скорость вывода звука, то это все испортит. Поэтому для совместимости со старыми играми должен быть Z80 3.5 MHz для BEEPER-a и INT 50 Hz для успевания построения графики. Если что-то изменить, то о совместимости можно забыть. Хотя на NEXT запускали ELITE и DRILLER на 14 и 28 MHz. При этом звук конечно был испорчен.
Можно во время проигрывания музыки, так как это ценная часть старых игр, переключать Z80 на частоту 3.5 MHz.
...
Но лучше оставить вывод RGBI с TV разверткой, а вывод на VGA через китайский или мой видеоконвертер. Тогда у компьютера будут старые хорошие игры без клешинга, а затем и новые с динамичной графикой, но похожие на старые игры ZX Spectrum-a. То есть, дух Спектрума - звук на BEEPER-е, цвета и спрайты останутся.
Должно работать БЕЗ видеоконвертера, кому надо тот сам поставит, это не есть главное, тем более их вагон и маленькая тележка из Китая :)
128 Кб SRAM стоят столько же сколько 8 Мб SDRAM, не шаг ли в прошлое? :) чего так бояться регенерации? всё равно адресный селектор и счётчики стоят, пиксели считываются, почти готовая регенерация.
Про проблемы из-за увеличения частоты CPU, единственный выход из положения это вводить асинхронный режим работы, про биппер можно забыть, ты же не будешь оставлять звук на биппере практически полностью переделывая игру? :) а по деффолту пусть 3,5 МГц и стоит, да и это уже вопрос к DOSу, файловую систему надо менять, благо FAT32 уже не проблема, а там и прописывать конфигурацию программы.
Как я и говорил в Спектруме всего ОДНО прерывание и оно принадлежит ЭКРАНУ, то что на него повесили тактировку сэмплов так это от безысходности, нам же лень было напаять КР1533ИР23, подкинуть через триггер 15 кГц с счётчика видеоадресов, включить IM1 и установить вектор прерывания для вывода цифровых звуков, давно бы уже прижилось, а всё потому что лень было.
Для разных задач нужны разные компьютеры.
Для улучшения графики в хороших старых играх делаем METEOR-128 с сохранением всех времянок.
Если звук не важен - делаем для нового компьютера CHELYABINSK. Там можно сделать прямой вывод на VGA, несколько прерываний и более быстрый процессор.
Я вернулся. Принцип работы видеокарты "Метеор" доработан:
Параллельно стандартной памяти 48К добавляется графическая память. В графическую память запись идет сразу по 8 байтов. Каждый байт соответствует биту в основной памяти. При этом в старшие 7 битов записываются нули.
Фон рисуется как обычно в хороших цветных играх в буфер. В разных играх буфер разного размера и по разным адресам. Как только фон нарисован - копию буфера аппаратно сохраняем в дополнительном буфере.
После этого включаем режим рисования цветом PAPER. Подпрограмма вывода спрайта немного дорабатывается. Маска спрайта читается и просто пишется в буфер без команды AND. При этом вместо нулевых битов записывается 4 бита цвета PAPER в соответствующий байт новой памяти. В старшие биты записывается 0001.
После этого включаем режим рисования цветом INK. Подпрограмма вывода спрайта немного дорабатывается. Байт спрайта читается и просто пишется в буфер без команды OR. При этом вместо единичных битов записывается 4 бита цвета INK в соответствующий байт новой памяти. В старшие биты записывается 0001.
Далее готовая картинка копируется аппаратно из буфера на экран.
Затем аппаратно восстанавливается фон в буфере из ранее сохраненной копии.
При выводе на телевизор читается байт из графической памяти. Если старшие биты 0000 - цвет в старом режиме. Значит надо прочитать атрибут и цвет получить из него. Если старшие биты 0001 - цвет в новом режиме. Значит брать его из четырех младших битов графической памяти.
Таким образом можно перекрасить старые игры и устранить клешинг.
Время копирования буфера 256х192 точки составит около 1 мс. Это позволит обойтись без второго экрана. Рисуем в буфере и быстро копируем на экран.
Ого! это уже заявка на победу, правда примитивная и ограниченная.
Надож, можно подумать, что монохоромные (они, на ZX ,все, по большому счету "монохорм") на экран сразу, все рисуют, не зеркалят спрайты, не генерят маски. и тд. не -чудеса да и только :v2_clap2::v2_rolley
Возми наконец эмуль с дебагером и посмотри, как изголяются в 48КБ чтоб получить приемлемый результат.
немного, ты издеваешься чтоль?
Тут, автора нужно отправлять, к ребятам из темы адаптаций под TR-DOS и ускорения игр, путем замены процедур на более эффективные , с вопросом-сколько время, вы потратили на сей модификат?
еще чуть чуть и ты придумаешь windowый GDI 95 года.
поиметь гиморой и получить 1-3 несовместимых ни с чем игры.Поздравляю с премией дарвина ! :v2_dizzy_newspaper: будем читать и далее.
Вообще, лично я рад, что ты вернулся к теме, вот только вопросов есть, в товарных количествах
Зачем?
Скрытый текст
хочешь сделать свое? заведомо хуже, чем SPEC256 и тем более ULAX?
Объясни, зачем раскрашивать полностью игру или менять ее код ? Если хочется, то можно, а можно вообще не раскрашивать и не менять исходник.
http://images.vfl.ru/ii/1548530195/8...25124852_s.jpg
Зачем ? Наверное во многих играх:Цитата:
Ого! это уже заявка на победу, правда примитивная и ограниченная.
Возми наконец эмуль с дебагером и посмотри, как изголяются в 48КБ чтоб получить приемлемый результат.
1. Долго рисуют фон в буфер.
2. Сохраняют готовый фон для восстановления.
3. Поверх фона рисуют движущиеся объекты.
4. Поверх всего рисуют передний план из столбиков, ящиков, кустов и т.п.
5. Медленно копируют готовое изображение из буфера в верхние 2/3 экрана командами LDI.
6. Восстанавливают фон в буфере для следующего кадра игры.
7. Вычисляют новое положение объектов.
8. Переходят к пункту 3.
В нижней трети экрана экрана рисуют напрямую без буфера.
В параллельной памяти можно будет записывать каждую точку из байта независимо от других. Не очень то и сложно убрать лишние команду чтения байта фона из буфера и команду модификации OR / AND.Цитата:
немного, ты издеваешься чтоль?
Тут, автора нужно отправлять, к ребятам из темы адаптаций под TR-DOS и ускорения игр, путем замены процедур на более эффективные , с вопросом-сколько время, вы потратили на сей модификат?
Да, мне интересно сделать по-своему.Цитата:
Поздравляю с премией дарвина ! :v2_dizzy_newspaper: будем читать и далее.
Вообще, лично я рад, что ты вернулся к теме, вот только вопросов есть, в товарных количествах
Зачем?
хочешь сделать свое? заведомо хуже, чем SPEC256 и тем более ULAX?
Раскрашивать полностью не обязательно. Можно только устранить клешинг, рисуя спрайты одним из стандартных ZX цветов. Возможность изменить код - это плюс моего метода устранения клешинга . При желании можно оптимизировать и ускорить игру. Раньше в играх буфер копировали несколькими командами LDI. При замене программного копирования буфера на аппаратное игра станет быстрее и плавнее.Цитата:
Объясни, зачем раскрашивать полностью игру или менять ее код ? Если хочется, то можно, а можно вообще не раскрашивать и не менять исходник.
По факту, ты слабо представляешь себе, тот дикий зоопарк в коде, который реально существует на платформе. Это означает, в твоем решении, потерю универсальности и трудозатраты, сопоставимые с написанием движка целиком
и полную потерю совместимости с существующим железом. Ммм, заманчиво ходить по граблям, на минном поле и весело.
Вон выше примеры, где можно делать и то, и другое и третье, в любых комбинациях. Можем еще накидать, уже готовых штук 15.
В ULAX, тебе никто не запрещает делать модификации, как Saboteur 2, например и еще с 10ок игр, где переписаны процедуры графики.
такая модификация будет работать как на "стандартном" ZX, так и на ZX c ULAX.
Естественно будет, для таких "глобальных" адаптаций будет блиттер,
СерьЁзно чтолЬ? прям все игры? :)
Ты будешь рад, если у меня не получится ? И не подскажешь, как доработать ?
Я ошибался, когда планировал сделать 8 слоев, аппаратный скроллинг, два экрана, 4 слоя спековской графики, три цвета на байт и т.п. методы. Они больше подходят для новых режимов, а не для устранения клешинга в старых играх.
Сейчас я все пересмотрел и выбрал достаточно простой и эффективный метод устранения клешинга. Наверно он подойдет для части игр типа TREE WEEKS IN PARDISE или DIZZY.
Лично мне, скорее всего, уже будет все равно, что ты реализуешь.:v2_dizzy_doctor:
Просто, то ,что пытаешься сделать, это крошечная часть ULAX, на абсолютно примитивном уровне, без учета множества нюансов.
Можно вырезать, почти все, и все одно получить твой "метеор" и в разы проще.
Плохо смотрел и плохо читал
Наверное -не считается, за результат.
ты сам и ограничишь себя, зачем?
Настоятельно рекомендую, вкуривать- wec le mans splitscreen demo, на ночь, раза 3 или 4, просветление должно прийти. :v2_dizzy_yes::v2_laugh: я верю в тебя :v2_wink2: утром принимать Improved demo.
канал на ютубе сам найдешь?
вставлю в очередной раз свои 5 копеек:
zst, был бы совершенно большой зачёт по всем фронтам, если бы ты сделал нормальный и адекватный вга скандаблер, для любой zx или 8 бит машины. тот вга конвертор что есть сейчас просто шляпа какая-то. нужен именно даблер, на выходе на вга 50гц кадровая и 31кгц строчная. было бы прям замечательно. а все эти потуги с метеором уже сколько лет и всё без толку. вот даблер будет очень и очень полезен.
Sayman, никакой скандаблер не заменит вам ЭЛТ монитор того времени, так что советую взять ЭЛТ и не морочить голову ТС, и так он уже 6 долгих лет никак не может сделать этот детский Метеор.
vlad, к элт-монитору нужен VGA конвертер, и желательно 100 гц.
vlad, мне не нужен ЭЛТ монитор, мне нужен lcd монитор. у меня нет лишних глаз и места на столе для гроба ЭЛТ.