nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 16 Apr 2024 02:53



Reply to topic  [ 21 posts ]  Go to page Previous  1, 2
[ATM] Turbo2+ v8.10 aka ATM3 
Author Message
Senior
User avatar

Joined: 08 Jun 2002 19:00
Posts: 126
Location: Москва
Reply with quote
Shaos wrote:
Народ пишет неработают мои прошивки :(

Вот сконвертил их в прошивки для ХЛ8 (там же в архиве конвертирующая программка)


Я уже писал тогда, в 2019 году, что не заработала прошивка, и скрины кидал - в высоком разрешении идет, а при переходе на ZX-экран меняется адресация при сохранении формы экрана под высокую графику (зауженный бордюр и проч) - т.е. где-то на плате счетчики перестраиваются, а вот приходящий на ХЛ8 сигнал RG0 просто куда-то пропадает и ничего не переключает, а конкретнее - не переключает расширенный экран в ZX, "по дефолту" всегда оставаясь расширенным.
И в любом случае, я удивляюсь, как планировалось сделать пентагоновскую развертку без введения (например, на ту же ножку 13) дополнительного адреса - т.е. надо "раскассировать" сигнал vv одратно на два сигнала v6 и v7(этот можно вместо Z1 реализовать - это если возможно иметь ОДНОВРЕМЕННО ДВА переориентированных на вход выхода - т.е. и RG0, и Z1(v7)).
Иначе банально нехватит адресов, чтобы вместо 0-63 строк бордюра перед экранной областью сделать 0-79 строк...

Поэтому, в любом случае, скинь, пожалуйста, сюда исходники той "не взлетевшей" прошивки. Посмотрю, как там все задумывалось...

_________________
Максагор


Last edited by Максагор on 09 Mar 2023 03:55, edited 2 times in total.



28 Feb 2023 15:19
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22517
Location: Silicon Valley
Reply with quote
Там любой из выходов может замыкаться обратно на матрицу как входной сигнал (при этом эта нога остаётся болтаться и снаружи микросхемы никуда не подцепляется), но можно и чисто как вход использовать некоторые выходы - там надо отключать эти выходные вентили от этих входов тогда (см. картинку ниже). Кулич вроде отписывался, что он сумел галку запустить с оригинальной полной прошивкой, адаптированной под WinCUPL - он там в зхпк писал про это и потом вспоминиал в дискорде у Алоне. Моя упрощённая прошивка на ХЛ8 не пошла видимо потому что там какой-то трюк с иголками наверное использовался и с галкой оно видимо повторилось т.к. прошивка была полная как в оригинальной ХЛ8...


Attachments:
pal16l8.gif
pal16l8.gif [ 20.83 KiB | Viewed 2621 times ]

_________________
:dj: https://mastodon.social/@Shaos
28 Feb 2023 20:28
Profile WWW
Senior
User avatar

Joined: 08 Jun 2002 19:00
Posts: 126
Location: Москва
Reply with quote
Shaos wrote:
Там любой из выходов может замыкаться обратно на матрицу как входной сигнал (при этом эта нога остаётся болтаться и снаружи микросхемы никуда не подцепляется), но можно и чисто как вход использовать некоторые выходы - там надо отключать эти выходные вентили от этих входов тогда (см. картинку ниже). Кулич вроде отписывался, что он сумел галку запустить с оригинальной полной прошивкой, адаптированной под WinCUPL - он там в зхпк писал про это и потом вспоминиал в дискорде у Алоне. Моя упрощённая прошивка на ХЛ8 не пошла видимо потому что там какой-то трюк с иголками наверное использовался и с галкой оно видимо повторилось т.к. прошивка была полная как в оригинальной ХЛ8...


В итоге проб и ошибок УДАЛОСЬ ЧАСТИЧНО сделать прошивку ХЛ8 под тайминги пентагона. А именно - 320 строк вместо 312 и 80 строк (вместо 64) бордюра до экрана (все при RG0=1 - все параметры, относящиеся к расширенным режимам я не тронул. Точнее трогал, но тогда "съезжала" адресация расположения букв в символьном режиме - она жёстко привязана к адресам счетчика ВНЕ прошивки ХЛки, и если там "съезжает" количество строк бордюра, съезжает и адрес вывода первой строки символов и далее, что выяснено опытным путём).

Далее получилось так, что той адренсации, что была подведена к ПЛМ, не хватало для пентагоновской развертки. Изначально сигналы V7 и V6 через элемент ИЛИ смешиваются и идут к ПЛМ уже в виде сигнала VV. А для адресации не 84, а 80 строк бордюра нужны РАЗДЕЛЬНЫЕ адреса V7 и V6.

В итоге я решил отогнуть две ноги у ПЛМ - одна нога (и так не идущая вовне) - ликвидировать "внутренний" сигнал Z1 (неиспользуемая нога 16(13) - здесь и далее нумерация ног дана для "широкой" микуросхемы DIP24, а рядом в скобках - для "узкой" DIP20) и использовать его для дополнительного сигнала V7, а вместо VV, который тоже надо отогнуть (нога 18(15)) - взять сигнал V6. Сигналы V6 и V7 берутся, соответственно, с платы - с D63.10 и D63.9 соответственно.
Плюс я убрал формирование сигнала Z (Z2 в исходниках), так как он в современных модификациях АТМ2+ просто ненужный рудимент. Таким образом, ногу с ним 14(11) тоже можно отогнуть.

Таким образом, планировалось, что всего с напайкой двух проводков можно будет получить пентагоновскую развертку. Правда, действительность оказалась чуть сложней -
Для формирования сигнала бордюра HE в новом варианте и для расширенной графики (RG0=0) и для ZX-графики (RG0=1) элементарно не хватило строчек в исходниках (т.е. вариантов комбинаций). Как было выяснено опытным путем при попытках компиляции, их может быть не более ВОСЬМИ, а по факту, не более СЕМИ, так как первая строчка ообычно предзадане -
HE CS - true

В итоге я снова перелопатил исходники - вернул сингал Z2, но сделал его внутренним (формируется внутри, но используется другими элементами как входящий), каким был ранее Z1.
Но так как Z2 висел ранее на выходе D7 (который вместе с D0 в отличие от сигналов D1-D6 не могут быть переориентированы на вход), я переместил его вместо сигнала бордюра HE (D5 - нога 17(14)), а HE поменял на прежнее место Z2 - ногу 14(11).

В этой конфигурации места хватило и новая прошивка скомпилировалась. И заставить ее работать можно при помощи ЧЕТЫРЁХ отогнутых ножек ПЛМ и ТРЁХ навесных проводов.
Два из них - ранее упомянутые синалы V6 и V7 (ноги 18(15) и 16(13)) идущие на D63.10 и D63.9 соответственно.
Далее отгибаем ногу 17(14) - ранее с нее шел сигнал бордюра HE, а теперь - ставший внутренним (и значит ненужный вовне) сигнал Z2.
И отгибаем ногу 14(11) - ранее это был сигнал Z2, а теперь - новый сигнал бордюра HE. Его мы ТРЕТЬИМ проводком припаивает туда, куда он должен идти от ПЛМки - к D14.14.

И получаем работающую ГОРИЗОНТАЛЬНУЮ (это важно для дальнейшего описания) развертку Пентагона в режиме ZX-экрана и кучу дёмок, просмотром мультиколоров которых можно наслаждаться. Например OSCOSS, которая раньше вообще ругалась, что "у вас не Пентагон" и отказывалась запускаться. Перелопаченные исходники теперь выглядят так:

====================================
#include "cp7_1.dsc"

RG0 CS = false
V6 CS = false
V7 CS = false


VS CS = true
VS = v8 ~v7 v6
VS = ~v2 ~v3 ~v7 ~v6 ~v4 ~v5 ~v8

BL CS = true
BL = ~h4 ~h5 h6 rg0
BL = ~b3 ~b2 h4 ~h5 h6 rg0

BL = b3 ~h4 ~h5 h6 ~rg0
BL = ~b3 h4 ~h5 h6 ~rg0
BL = b3 ~b2 h4 ~h5 h6 ~rg0

BL = ~v6 ~v7 v4 v5 v8
BL = ~v6 ~v7 ~v4 ~v5 ~v8

HS CS = true
HS = ~h6
HS = ~b3 ~h4 ~h5 h6 ~rg0
HS = b3 ~h4 ~h5 h6 rg0
HS = h4 ~h5 h6
HS = h5 h6


Z2 CS = true
Z2 = ~rg0 ~v8 ~v7 ~v6 ~v5
Z2 = ~rg0 ~v8 ~v7 ~v6 v5 ~v4
Z2 = ~rg0 ~v8 ~v7 ~v6 v5 v4 ~v3
Z2 = ~rg0 v8 ~v7 ~v6

HE CS = true
HE = h4 h5 ~h6 rg0
HE = ~h5 h6

HE = rg0 ~v8 ~v7 ~v6
HE = rg0 ~v8 ~v7 v6 ~v5 ~v4
HE = rg0 v8 ~v7 ~v6 ~v5 v4
HE = rg0 v8 ~v7 ~v6 v5
HE = ~z2

//HE = ~v8 ~v7 ~v6 ~v5 ~v4 ~v3 v2 h6 ~h5 ~h4 b3 b2 rg0
====================================


И прилагаемый по "инклюду" файл "cp7_1.dsc" с описанием ножек (там тоже есть изменения, так как мы поменяли местами Z2 и HE и заменили VV на V6 и Z1 на V7 -

====================================
// inputs
#define h6 1>
#define b2 2> // 2 input or 1 output
#define h5 3>
#define bl 4>2
#define h4 5>
#define hs 6>3
#define b3 7>
#define rg0 8>4
#define v4 9>
#define v6 10>5
#define v3 11>
#define z2 12>6
#define v2 13>
#define v7 14>7
#define v5 15>
#define v8 16>

// outputs
#define VS >1
#define BL >2
#define HS >3
#define RG0 >4
#define V6 >5
#define Z2 >6
#define V7 >7
#define HE >8
====================================


Жирным и подчеркнутым я выделил те места, которые нам понадобятся ниже.

Но вот позже, при тестировании на разных демках, оказалось, что совместимость, увы неполная, и неполная она в плане горизонтальной синхронизации.

Вот что показывает, например, демка RAGE:

Image

И тут для меня все оказалось гораздо сложней и запутанней и требуется помощь уважаемой аудитории.

Для начала прошу (кто не в курсе), ознакомиться с разбором оригинальной прошивки ПЛМ 1556ХЛ8 для АТМ2+от камрада KALDYH вот тут:

https://zx-pk.ru/threads/8208-vopros-po ... page3.html

Конкретнее всего меня напрягла вот эта его фраза:

Quote:
Для дальнейших расчётов надо учесть, что сигнал формирования бордюра дальнейшими регистрами задерживается на одно знакоместо (4 такта) плюс один пиксель.


Исходя из его рассчетов (еще раз параллельно смотрим его разбор по ссылке) и в Пентагоне, и в АТМ строка имеет одинаковую длину 224 такта, но немного отличается:

Пенгагон:
32 такта (каждый такт - 2 пикселя) - гашение, 36 тактов бордюр, 128 тактов ZX-экран, 28 тактов бордюр - а далее - сигнал строчной синхронизации.

АТМ:
40 тактов - гашение 24(+4=28) - бордюр, 128 тактов - ZX-экран, 32(-4=28) бордюр, а затем - строчная синхронизация (тоже до конца не понял, как она формируется в конце и понимает, что 224 такта прошли - а это важно для понимания всего процесса в целом).

В целом по сумме гашение+первый бордюр и в пентагоне и в АТМ = 68 тактов, но есть различие в длительности самих этих двух компонентов.

При этом измерения (буквально линейкой) показали, что бордюр перед ZX-экраном имеет размер в 7 знакомест (28 тактов!), а на скриншоте в демки RAGE видно, что горизонтальная рассинхронизация между Пентагоном и АТМ составляет ТРИ знакоместа, (т.е. разница в 12 тактов - как если бы у пентагона было бы 36 тактов бордюра, а у АТМ - уже не 24, а 28 тактов.

Т.е. формула "24+4" и в конце "32-4" играет новыми красками.

Сам KALDYH по ссылке на ZX-PK.RU пишет:

Quote:
Референсные параметры экрана Пентагона (не помню откуда мной взято): 32 такта - импульс гашения по строкам, 36 тактов - бордюр от гашения до экрана, 128 тактов - экран, 28 тактов - бордюр до строчного синхроимпульса, в сумме 224 такта. У ATM, получается, так: 40 тактов - гашение, 28 (24+4 задержки) - бордюр до экрана, 128 - экран, 28 (32-4 задержки) - бордюр до импульса синхронизации. Отличия, как видим, минимальны, и касаются они только длительности гасящего импульса - у ATM он чуть длиннее.


При этом, если я правильно прочитал исходники, бордюр там все-таки выставлен на "24":

h6 - 32 такта, h5 - 16 тактов, h4 - 8 тактов, b3 - 4 такта, b2 - 2 такта

HE = h4 h5 ~h6 rg0 - xx011xxx = 24 (и до 39)
HE = ~h5 h6 - видимо, второй бордюр перед синхрой - xx10xxxx = 32 (и до 47)


Возникают сразу несколько вопросов по поводу того, как переделывать все "под пентагон":

1) сделать гашение 32 из 40, а бордюр синхронно увеличить с 24 до 32.
Тогда слева и в АТМ и в Пентагоне бордюр будет по 8 знакомест. Но вот в RAGE останется разница в одно знакоместо.

2) Сделать гашение в АТМ 28, а бордюр 36 (а гашение уже не 32, а 28 соответствено). Тогда в АТМ слева от экрана бордюр будет иметь ширину 9 знакомест (против 8 у Пентагона), а вот в демке RAGE вертикальные черты будут совпадать (возможно расхождение в один пиксель, как писал KALDYH - но об этом далее).

Это приемлемо - теоретически, только в очень-очень редких случаях в отдельных мультиколорах (не бордюрных) по краям будут небольшие "мерцания" (как сейчас есть при текущих расхождениях в горихонтальной синхре). Но это, повторюсь, приемлемо.

Тут возникает куча других вопросов:

Вот берем коды сигнала гашения:

BL = ~h4 ~h5 h6 rg0 - xx100xxx = 32 (до 39)
BL = ~b3 ~b2 h4 ~h5 h6 rg0 - xx10100x = 40 (до 41)


Получается гашение, которое должно идти первые 40 тактов, идет только с 32 по 40 такт? Или я не прав? А что находится с 0 до 31 такт? Эти такты отданы на откуп сигналу строчной синхронизации, или я просто что-то не так понимаю? А если понимаю так, то получается, что если мы будем править гашение, значит надо вносить измененим и в исходники формирования сигнала строчной синхры, меняя ее длительность? Или я опять что-то не так понимаю? Например, если таким образом нашение станет короче синхры (28 против 32) - что будет?

Также, если мы будм делать не 24, а 28 тактов бордюра, то надо задействовать сигнал B2.

А тут уже совсем пока что для меня начинаются джунгли. Вроде бы бордюр должен останавливать отсчет адресов. Значит сингал B2 нельзя использовать? А значит строчная синхронизация в АТМ невозможна? Как будет "обрезаться" второй бордюр справа?

В общем, вопросы, вопросы...

Ну и опять возвращаемся к пресловутой задержке бордюра в "одно знакоместа (4 такта) и один пиксель). Я пока не вкурил по схеме АТМ - где это и как (и какие именно счетчики останавливаются).

Большая просьба помочь со всем этим разобраться. Сейчас мы стоим В ОДНОМ ШАГЕ от того, чтобы АТМ получил полную (или почти полную) Пентагоновскую развертку. Надо дорасколоть этот орешек.

В приведенных мной исходниках жирным выделены те строчки, которые относятся к горизонтальной синхре, а подчеркнуты те, которые относятся к ZX-экрану и планируются к изменению.


P.S. И да. Просьба разъяснить это строчку в исходниках:

//HE = ~v8 ~v7 ~v6 ~v5 ~v4 ~v3 v2 h6 ~h5 ~h4 b3 b2 rg0

Это просто "закомментированный чертами // сингал HE, или наоборот - это инвертированный HE?


Attachments:
photo_2023-04-16_15-38-35.jpg
photo_2023-04-16_15-38-35.jpg [ 145.25 KiB | Viewed 2421 times ]
18 Apr 2023 15:46
Profile WWW
Senior
User avatar

Joined: 08 Jun 2002 19:00
Posts: 126
Location: Москва
Reply with quote
Shaos wrote:
На ХЛ8 видать ресурсов не хватило, чтобы закончить бордюр для ZX-видеорежима (RG0=1):

Attachment:
cp7scr1_.gif




Если так, то каков механизм "визуального" формирования правого бордюра?

_________________
Максагор


19 Apr 2023 05:17
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22517
Location: Silicon Valley
Reply with quote
Я схему АТМ так и не вкурил если честно :)

А для пентагона мне вроде виделось, что ещё одну микруху мелкой логики надо поставить - я даже вроде дочка-плату начал городить в 2019 году, но внезапно переехал в Калифорнию в начале 2020...

_________________
:dj: https://mastodon.social/@Shaos


20 Apr 2023 21:40
Profile WWW
Senior
User avatar

Joined: 08 Jun 2002 19:00
Posts: 126
Location: Москва
Reply with quote
Shaos wrote:
Я схему АТМ так и не вкурил если честно :)

А для пентагона мне вроде виделось, что ещё одну микруху мелкой логики надо поставить - я даже вроде дочка-плату начал городить в 2019 году, но внезапно переехал в Калифорнию в начале 2020...


Я так или иначе буду пытаться "вкуривать". Мне отступать некуда. Но я - "любитель-самоучка" - как раз на схемах "первой АТМки" в 90-х, без никакой доп.литературы, просто смотря на "нагромождение линий и циферок", учившийся эти схемы читать и понимать.
Так что если будет какая-то помощь от людей, для которых схемотехника - это профессия, буду только благодарен...

_________________
Максагор


21 Apr 2023 07:13
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 21 posts ]  Go to page Previous  1, 2

Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.