Доработки Дельты-С на 75 микросхемах

Старый спектрумистский форум

Moderator: Shaos

User avatar
Black_Cat
Doomed
Posts: 479
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Re: Доработки Дельты-С на 75 микросхемах

Post by Black_Cat »

SKV wrote: 18 Jun 2025 00:33 Ещё такой вопрос. Я экспериментировал с переделкой арбитра медленного поля с целью высвобождения /IORQ. Как оказалось, это фирменная фича Спектрум-128 – в медленной половине RAM замораживаются порты xxFD, а значит, страницы памяти не могут быть переключены до конца строки. Правильно ли я думаю, что разблокировать xxFD не следует, т.к. нарушится синхронизация фирменных игр?
Я уже пробовал освободить IORQ, одновременно для упрощения заменив в арбитре остановку Clock на Wait, т.е. появились холостые такты – в результате в Venom рассыпался мультиколор и сместилась бордюрная полоса. Подозреваю, что разморозка порта 7FFD без введения холостых тактов всё равно даст вредные последствия.
С архитектурой с приостановкой тактовой никогда не имел дела, но как понимаю, это проявляется просто как доп вейт, а вовсе не остановка проца до конца строки. Не вникал в Дельту, но в стандартном Спектруме никаких остановок проца аж до конца строки быть не должно, может что-то наколхозили разрабы Дельты, но маловероятно, не может такого быть, скорее ты чото недопонял.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
SKV
Novelist
Posts: 30
Joined: 06 May 2022 08:39

Re: Доработки Дельты-С на 75 микросхемах

Post by SKV »

Black_Cat wrote: 18 Jun 2025 01:58 не может такого быть, скорее ты чото недопонял.
А, то есть внутри каждой строки процессор 32 раза имеет доступ на один цикл ввода-вывода.
Так имеет ли смысл разморозить 7FFD от остановок?
User avatar
Black_Cat
Doomed
Posts: 479
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Re: Доработки Дельты-С на 75 микросхемах

Post by Black_Cat »

SKV wrote: 18 Jun 2025 03:20
Black_Cat wrote: 18 Jun 2025 01:58 не может такого быть, скорее ты чото недопонял.
А, то есть внутри каждой строки процессор 32 раза имеет доступ на один цикл ввода-вывода.
Так имеет ли смысл разморозить 7FFD от остановок?
Проц тормозится токо при обращении к видео ОЗУ (чуть-чуть удлинняются циклы обращения к памяти), при чём тут вааще порты? При обращении к ним никаких тормозов нет.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
SKV
Novelist
Posts: 30
Joined: 06 May 2022 08:39

Re: Доработки Дельты-С на 75 микросхемах

Post by SKV »

Black_Cat wrote: 18 Jun 2025 03:51 Проц тормозится токо при обращении к видео ОЗУ (чуть-чуть удлинняются циклы обращения к памяти), при чём тут вааще порты? При обращении к ним никаких тормозов нет.
Проц тормозится сразу по маске А14=1, А15=0, и размораживается при наступлении ближайшей из 32 дырок в строке. Выдаст ли дальше проц /MREQ или /IORQ, никак не учитывается. Поэтому я и задался вопросом высвободить отсюда циклы /IORQ.
В оригинальных Спектрумах, кроме указанной маски (видеоадрес), проц тормозится ещё и по второй маске A0=0 (порт FE).
https://en.m.wikipedia.org/wiki/Contended_memory
https://worldofspectrum.org/faq/referen ... Contention
User avatar
Black_Cat
Doomed
Posts: 479
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Re: Доработки Дельты-С на 75 микросхемах

Post by Black_Cat »

SKV wrote: 18 Jun 2025 10:19
Black_Cat wrote: 18 Jun 2025 03:51 Проц тормозится токо при обращении к видео ОЗУ (чуть-чуть удлинняются циклы обращения к памяти), при чём тут вааще порты? При обращении к ним никаких тормозов нет.
Проц тормозится сразу по маске А14=1, А15=0, и размораживается при наступлении ближайшей из 32 дырок в строке. Выдаст ли дальше проц /MREQ или /IORQ, никак не учитывается. Поэтому я и задался вопросом высвободить отсюда циклы /IORQ.
В оригинальных Спектрумах, кроме указанной маски (видеоадрес), проц тормозится ещё и по второй маске A0=0 (порт FE).
https://en.m.wikipedia.org/wiki/Contended_memory
https://worldofspectrum.org/faq/referen ... Contention
В Дельте не существует никакой необходимости торможения по обращению к любым портам. В оригинальном Спеке это торможение происходит из-за того, что ULA через одну и ту же шину и из видеопамяти читает и из #FE. В Дельте ULA нет - там всё на рассыпухе, и объединять шины нет никакого смысла, и если есть желание, то переделай эту глупость. На экране проц конкурирует с видеосканером за обращение к видео ОЗУ, при том у сканера приоритет. Каждое знакоместо и у проца и у сканера есть два окна обращения к видео ОЗУ, т.е. по 64 у того и другого за экран. Проц немного не укладывается в свои окна, и поэтому на время обращения видеосканера его клок останавливается, а как обращение закончится, - продолжается дальше.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
Black_Cat
Doomed
Posts: 479
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Re: Доработки Дельты-С на 75 микросхемах

Post by Black_Cat »

Вот устранение задержек на RD#FE : https://zx.clan.su/forum/8-174-1
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
Black_Cat
Doomed
Posts: 479
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Re: Доработки Дельты-С на 75 микросхемах

Post by Black_Cat »

Сигнал DOS/ - это дополнительный адресный разряд исключительно для ПЗУ, но не для портов! Он не открывает доп адресное пространство портов, а токо заменяет порты #1F,#3F,#5F,#7F,#FF на такие же теневые порты BDI. В режиме DOS/ нет никакого запрета на обращение ко всем остальным портам, например #FE,#7FFD и т.д.. Поэтому низзя сигнал DOS использовать как заменитель IORQGE в твоём буфере данных, тут у тебя ошибка.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
SKV
Novelist
Posts: 30
Joined: 06 May 2022 08:39

Re: Доработки Дельты-С на 75 микросхемах

Post by SKV »

Black_Cat wrote: 19 Jun 2025 01:45 В режиме DOS/ нет никакого запрета на обращение ко всем остальным портам, например #FE,#7FFD и т.д.. Поэтому низзя сигнал DOS использовать как заменитель IORQGE
Действительно, ты прав, я же отсёк в DOS все порты. Тогда не понимаю, почему у меня сейчас клавиатура работает в DOS.
User avatar
Black_Cat
Doomed
Posts: 479
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Re: Доработки Дельты-С на 75 микросхемах

Post by Black_Cat »

SKV wrote: 19 Jun 2025 06:54
Black_Cat wrote: 19 Jun 2025 01:45 В режиме DOS/ нет никакого запрета на обращение ко всем остальным портам, например #FE,#7FFD и т.д.. Поэтому низзя сигнал DOS использовать как заменитель IORQGE
Действительно, ты прав, я же отсёк в DOS все порты. Тогда не понимаю, почему у меня сейчас клавиатура работает в DOS.
Потому, что если верить твоей схеме на Лист1, то ты в качестве IORQGE использовал сигнал блокировки ПЗУ на мамке, а там замешан A14+A15=0, а при чтении клавы этого никогда не будет. Если бы использовал правильный сигнал на разъёме А2, то клава бы не работала :)
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
SKV
Novelist
Posts: 30
Joined: 06 May 2022 08:39

Re: Доработки Дельты-С на 75 микросхемах

Post by SKV »

Black_Cat wrote: 19 Jun 2025 09:19 Потому, что если верить твоей схеме на Лист1, то ты в качестве IORQGE использовал сигнал блокировки ПЗУ на мамке, а там замешан A14+A15=0, а при чтении клавы этого никогда не будет. Если бы использовал правильный сигнал на разъёме А2, то клава бы не работала :)
С замесом ROM это ты говоришь про сигнал /CRGE на клемме А9, он отключает ROM на мамке.
А сигнал /IOGE у меня именно DOS на клемме А2.
User avatar
Black_Cat
Doomed
Posts: 479
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Re: Доработки Дельты-С на 75 микросхемах

Post by Black_Cat »

SKV wrote: 19 Jun 2025 11:39
Black_Cat wrote: 19 Jun 2025 09:19 Потому, что если верить твоей схеме на Лист1, то ты в качестве IORQGE использовал сигнал блокировки ПЗУ на мамке, а там замешан A14+A15=0, а при чтении клавы этого никогда не будет. Если бы использовал правильный сигнал на разъёме А2, то клава бы не работала :)
С замесом ROM это ты говоришь про сигнал /CRGE на клемме А9, он отключает ROM на мамке.
А сигнал /IOGE у меня именно DOS на клемме А2.
Да, не досмотрел. А ты смотрел напряжение на выходе А2? Там на выходе эмиттерный повторитель с последовательным резистором, который образует делитель с резистором подтяжки 680 Ом. А с учётом, что в параллель резистору 680 Ом включены ещё три входных сопротивления логических элементов, то вполне может быть что сигнал не дотягивает до единицы, чтобы включить блокировку.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
SKV
Novelist
Posts: 30
Joined: 06 May 2022 08:39

Re: Доработки Дельты-С на 75 микросхемах

Post by SKV »

Black_Cat wrote: 19 Jun 2025 15:56 А ты смотрел напряжение на выходе А2? Там на выходе эмиттерный повторитель с последовательным резистором, который образует делитель с резистором подтяжки 680 Ом.
На самом деле схема BDI не соответствует и транзистор с резистором для /Out IORQ исключены уже на этапе фотошаблона, вместо них дорожка.
Надо посмотреть осциллографом разгадку этого вопроса. В остальном я с тобой согласен, что надо убрать /IOGE из BDI, добавив /DOS на блокировку Кемпстона и порта FF.
User avatar
Black_Cat
Doomed
Posts: 479
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Re: Доработки Дельты-С на 75 микросхемах

Post by Black_Cat »

SKV wrote: 19 Jun 2025 19:27
Black_Cat wrote: 19 Jun 2025 15:56 А ты смотрел напряжение на выходе А2? Там на выходе эмиттерный повторитель с последовательным резистором, который образует делитель с резистором подтяжки 680 Ом.
На самом деле схема BDI не соответствует и транзистор с резистором для /Out IORQ исключены уже на этапе фотошаблона, вместо них дорожка.
Надо посмотреть осциллографом разгадку этого вопроса. В остальном я с тобой согласен, что надо убрать /IOGE из BDI, добавив /DOS на блокировку Кемпстона и порта FF.
Но это не решает вопроса переключения буфера данных, и либо для BDI надо делать полноценный IORQGE, либо как вариант отказываться от такой буферизации.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.