БАГФИКС GS - ДУБЛЬ 4

Postby KOE » 25 Feb 2008, 17:29

Ситуация начала уже принимать комический характер, но не думайте, что я пытаюсь изобразить из себя клоуна... Предлагаю 4-й вариант багфикса ГС.

----

Предыстория.

Обнаружились в очередной раз глюки с ГС... На этот раз с контроллером IDE по схеме Nemo. При записи на HDD c дискеты [при вставленной ГС в 1-й слот] пишется чушь, и очень долго, с повисаниями на 20-30 с. При чтении назад читается, но при запуске программ - улет. Если вынуть ГС - все о.к. Что использовать -контроллер Nemo или Z-Controller - без разницы, симптомы везде одинаковые.

----

Багфикс.

1. Собрать багфикс по дублю 3 (можно даже 2 - не имеет особого значения)
2. Уменьшить номинал R3 (в гс!!!) до 1к.

----

В чем был глюк: разработчики ГСа пожидились поставить лишнюю логику, сделали дешифратор портов частично на диодах. И повесили их много. Как следствие, емкости кучи p-n переходов (барьерные, когда они находится в запертом состоянии и диффузионные, когда они открыты) вкупе с корпусными емкостями и вместе с подтягивающим резистором сделали RC-цепочку, постоянная времени которой оказалась настолько большой, что ГС неправильно формировала сигнал IORQCE. Похоже, ГС не успевала снять сигнал IORQCE и порты IDE то были, то блокировались. Этим объяснются и повисания при записи, видимо, прога долго не дожидалась ответа.
Уменьшив номинал резистора, удалось снизить постоянную времени паразитной RC-цепи и работоспособность IDE восстановилась.
Last edited by KOE on 25 Feb 2008, 17:38, edited 1 time in total.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4682
Joined: 15 Apr 2007, 13:06
Group: Registered users

Postby lvd » 25 Feb 2008, 17:46

Вообще странно как-то. Когда порт дешифрован, все диоды закрыты (на всех сигналах единички) и резюк как раз ёмкости эти заряжает и тянет сигнал в единичку. А вот когда уже адреса другие, то один из сигналов через диод тянет к нулю, и резюк роли в перезарядке ёмкостей тут не играет никакой. А его уменьшение только повышает уровень "лог 0", который и так больше, чем требуемые 0.4в. К тому же, адреса выставляются задолго (за 3 полутакта) до стробов, и всё должно успеть перезарядиться.

PS: могу точно сказать, что будет ненулевое время выпадения VT2 из состояния насыщения. Сам такое как-то наглядно видел на осциллогляде. Но как это влюёт на - хз.
Last edited by lvd on 25 Feb 2008, 17:48, edited 1 time in total.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby KOE » 25 Feb 2008, 17:57

Да, возможно, здесь другое, но общий смысл тот же. Если лог.0 на 6 ногу DD6 придет с большой задержкой (по дефолту там 1 притянуто резистором), то дешифратор сможет хз что дешифровать и нагадить в порты IDE. Уменьшение R3 уменьшит эту самую задержку.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4682
Joined: 15 Apr 2007, 13:06
Group: Registered users

Postby lvd » 25 Feb 2008, 18:20

Вот я и говорю - как уменьшение р3 помогает сократить задержку опускания в ноль? Он же пуллап, а речь про опускание в ноль.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby fk0 » 25 Feb 2008, 18:40

Возможно не опускания задержка, а задержка поднятия из нуля
* Origin: зип файл! (2:5030/1559)
User avatar
fk0
 
Posts: 1535
Joined: 07 Apr 2007, 01:08
Group: Registered users

Postby KOE » 25 Feb 2008, 18:49

lvd wrote:Вот я и говорю - как уменьшение р3 помогает сократить задержку опускания в ноль? Он же пуллап, а речь про опускание в ноль.

fk0 wrote:Возможно не опускания задержка, а задержка поднятия из нуля


Не вижу принципиальной разницы. Задержка зависит от постоянной времени, а это R*C. А куда задержка из 0 в 1 или наоборот - не пофиг ли? Понимаю, конечно, что для разных переключений у ТТЛ пороговые уровни разные, но если С - большое, то все равно ждать придется, пока не перезарядится.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4682
Joined: 15 Apr 2007, 13:06
Group: Registered users

Postby lvd » 25 Feb 2008, 20:15

А я вижу. Сопротивление ног, тянущих в ноль, ом 30, а если их несколько, то и меньше. Тут уже 7к или 2к пулапа рояля не играют никакого.
А вот при пулапе вверх резистором - рояль есть, и на осциллогляде его видно.

Может, в этом и дело?
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby KOE » 25 Feb 2008, 20:52

lvd wrote:А я вижу.


Да, действительно, чёто стормозил.
Last edited by KOE on 25 Feb 2008, 20:53, edited 1 time in total.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4682
Joined: 15 Apr 2007, 13:06
Group: Registered users

Postby lvd » 25 Feb 2008, 20:58

А кто у тебя в цепочке иоркогеев первый при этом - гс или немоиде/зконтролёр?
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby KOE » 25 Feb 2008, 21:43

ГС, в том-то и дело. Если их местами поменять, то c IDE проблем не наблюдалось (чего не скажешь о гс). Это явный признак того, что гс либо гадит в порты, либо их блокирует, либо и то и другое.

Вообще, поведение гс я в последнее время не понимаю совсем. И по здравому смыслу его объяснить не удается. Вот, например, работает только в 1-м слоте (во 2м и 3м не работает, даже если кроме гс в в сотах ничего нет). Объем распознаваемой памяти загадочным образом коррелирован с погодой на Марсе. Не понимаю я всего этого. Это так только в моём экземпляре, или у всех?

Вот грамотно сделанная периферия (та, что сделана Немой и мной) работает из любого слота при любой погоде на Марсе. Почему у всего остального, что было сделано под ZX-BUS, не так - надо только догадываться.

В общем, сейчас, когда гс у меня вроде как живет своей жизнью и иногда даже что-то попискивает и даже время от времени нормально дружит с другой периферией, я думаю лучше в нее больше паяльнегом не лазить, иначе сдохнет, собака, не своей смертью...
Last edited by KOE on 25 Feb 2008, 21:47, edited 1 time in total.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4682
Joined: 15 Apr 2007, 13:06
Group: Registered users

Next

Return to Hardware

Who is online

Users browsing this forum: No registered users and 15 guests