CGA и CF IDE адаптер на Altera MAX10
Moderator: Shaos
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: CGA и CF IDE адаптер на Altera MAX10
Похоже, одна загадка плавно перетекла в другую... Нашел на другом компьютере файлы от проекта предыдущей платы - работу с ROM я просто скопировал один к одному. При этом там все работало вообще без малейших затыков. Придется стряхивать пыль с той платы и смотреть уже ее анализатором...
-
- Doomed
- Posts: 370
- Joined: 16 Dec 2014 11:58
- Location: Киев
Re: CGA и CF IDE адаптер на Altera MAX10
Да, мой косяк, не дочитал.newold86 wrote:либо Вы невнимательно прочитали
Если ALE не выставляется, это значит, что его там нет, а значит это не цикл CPU.
Как вы определяете начало шинного цикла? Или, другими словами, как определяете конец цикла регена?
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: CGA и CF IDE адаптер на Altera MAX10
ГлазамиVic3Dexe wrote:Как вы определяете начало шинного цикла? Или, другими словами, как определяете конец цикла регена?

Вот картинка - здесь я уже не использую ALE для фиксации адреса, поэтому все работает, но отсутствие ALE видно:
Это выполнение "jmp $", крутится между адресами D000A - D000C. В районе временной метки 1216 виден адрес 0CB97 - думаю, что это и есть цикл регенерации (через некоторое время дальше будет 0CB98 и т.д., на этой картинке не видно).
После него снова выставляется следующий адрес вечного цикла - D000A, и вот почему-то для этого адреса ALE отсутствует...
You do not have the required permissions to view the files attached to this post.
-
- Doomed
- Posts: 370
- Joined: 16 Dec 2014 11:58
- Location: Киев
Re: CGA и CF IDE адаптер на Altera MAX10
Да вон же он! Маркер времени примерно 1200 (перед 1216).newold86 wrote:и вот почему-то для этого адреса ALE отсутствует
Смотрите, от предыдущего ALE его отделяет приличный кусок времени - это проц выполнял jmp $.
Логика рефреша видит, что шину никто не занял, и втыкает рефреш (ну или по времени, не суть важно).
Проц ничего не знает о том, что пошел цикл рефреша, и продолжает выставлять на шину адрес, генерить ALE и т.п., но на шине DMA, проц тормозится логикой wait state, но начало процессорного цикла никто не отменял! Его адрес уже в латчах, и как только DMA отпустит шину - он, адрес, там и появится. Ессно, без всякого ALE.
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: CGA и CF IDE адаптер на Altera MAX10
Блин, мог бы и сам додуматься, совсем голова не работает... В любом случае, спасибо !
А зачем вообще тогда ALE на шине нужен, если бывают моменты, когда ALE выставляется, а на шине адреса - адрес вовсе не от процессора, а от DMA ???
Ну, и это не убирает вопрос - как у меня предыдущая плата работала, используя ALE для защелкивания адреса в ROM ??? Жду не дождусь, когда доберусь до нее, чтобы анализатор запустить
А зачем вообще тогда ALE на шине нужен, если бывают моменты, когда ALE выставляется, а на шине адреса - адрес вовсе не от процессора, а от DMA ???
Ну, и это не убирает вопрос - как у меня предыдущая плата работала, используя ALE для защелкивания адреса в ROM ??? Жду не дождусь, когда доберусь до нее, чтобы анализатор запустить

-
- Doomed
- Posts: 370
- Joined: 16 Dec 2014 11:58
- Location: Киев
Re: CGA и CF IDE адаптер на Altera MAX10
Этот вопрос я задавал в первом посте на этом форумеnewold86 wrote:А зачем вообще тогда ALE на шине нужен

viewtopic.php?f=91&t=10735&p=116930#p116930
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: CGA и CF IDE адаптер на Altera MAX10
Учитывая, что два разных человека совершенно независимо пришли к одному и тому же вопросу, ответ, похоже - нафиг не нужен !Vic3Dexe wrote:Этот вопрос я задавал в первом посте на этом форумеnewold86 wrote:А зачем вообще тогда ALE на шине нужен
viewtopic.php?f=91&t=10735&p=116930#p116930

-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: CGA и CF IDE адаптер на Altera MAX10
А вот не напрасно я подробно описываю на форуме свои разбирательства со странными ошибками. Если бы еще не забывал потом перечитывать написанное ! 
Даже анализатор не нужно смотреть...

Это я писал как раз по поводу своей предыдущей платы - только тогда я так и не понял корень проблемы, но устранил сбои заменой сигнала ALE на другой и на этом успокоился. А сейчас скопировал кусок кода не из того места (из старой копии, где еще ALE был). Наверное, к лучшему - зато причина окончательно ясна стала, да и о работе шины ISA очередной нюанс узнал...newold86 wrote:...при выполнении программы из него (когда POST обнаруживает модуль расширения и передает на него управление) происходят регулярные сбои - простая программа из десятка команд выполняется один-два раза из пары десятков попыток...
Просто не пойму, чем может чтение области памяти отличаться от выполнения программы из этой-же области ???
Даже анализатор не нужно смотреть...
-
- Doomed
- Posts: 480
- Joined: 25 Aug 2009 07:02
- Location: Москва
Re: CGA и CF IDE адаптер на Altera MAX10
И там же ниже через один пост (самоцитата) : "А хрен его знает. Вытаскивать локальный сигнал на общую шину - моветон."Vic3Dexe wrote:Этот вопрос я задавал в первом посте на этом форумеnewold86 wrote:А зачем вообще тогда ALE на шине нужен
viewtopic.php?f=91&t=10735&p=116930#p116930
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: CGA и CF IDE адаптер на Altera MAX10
Интересно! А как думаете, это только в XT так, или и в 286/386 тоже?
Просто сотни умов будоражит загадка последних нескольких лет - почему видюха Trident 9000 в восьмибитном слоте на XT не работает, а в том же восьмибитном слоте на 286 и дальше - работает. Не здесь ли лежит разгадка...
Просто сотни умов будоражит загадка последних нескольких лет - почему видюха Trident 9000 в восьмибитном слоте на XT не работает, а в том же восьмибитном слоте на 286 и дальше - работает. Не здесь ли лежит разгадка...
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: CGA и CF IDE адаптер на Altera MAX10
Хм, посмотрел на остальных своих видюхах, включая 16-битную Realtek RTG3105E - сигнал ALE у всех не разведен. Никто не пользует, кроме реалтека. Завтра ради прикола попробую у риалтека его тупо на землю положить, посмотрим реакцию поциента.
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: CGA и CF IDE адаптер на Altera MAX10
Плохая идея. А как "правильно" генерировать ALE ? Просто наверное не получится....Tronix wrote:у риалтека его тупо на землю положить
-
- Doomed
- Posts: 370
- Joined: 16 Dec 2014 11:58
- Location: Киев
Re: CGA и CF IDE адаптер на Altera MAX10
Правильно - наверно никак. В правильности самого наличия ALE на шине есть сомненияTronix wrote:А как "правильно" генерировать ALE ?

Как вариант - затягивать спад BALE (т.е. шинного экземпляра) до факта появления /MRD, причем именно от проца.
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: CGA и CF IDE адаптер на Altera MAX10
А если будет /MWR ? Жалко на картинке у newold86 не видно остальных основных сигналов.Vic3Dexe wrote: Правильно - наверно никак. В правильности самого наличия ALE на шине есть сомнения
Как вариант - затягивать спад BALE (т.е. шинного экземпляра) до факта появления /MRD, причем именно от проца.
А вот если так: Если спад ALE и MEMRn в нуле, то ждем фронта MEMRn и генерим ALE ?
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: CGA и CF IDE адаптер на Altera MAX10
Очередная проблемка - не думаю, что кто-то будет сильно думать над этим, так, скорее для себя пишу 
С моей платы отлично загружается ДОС при условии, что плата вставлена в мою же XTC3. XTC3 работает практически полностью под BIOS'ом оригинальной PC XT. Несколько небольших отличий в BIOS'е вроде не должны вызывать того эффекта, о котором чуть позже.
Если же вставляю плату в материнскую плату Siemens (которая ну очень похожа на PC XT), то загрузка затыкается на довольно раннем этапе.
Я не стал париться, и довольно грубо целиком перехватываю Int 13 и Int 19. Int 13 даже не пытается сосуществовать с оригинальным обработчиком, вообще не передает на него управление. Вообще загрузка начинается вроде вполне нормально - я вывожу параметры Int 13 и результат его работы (что было прочитано в указанный в параметрах участок памяти) и сравниваю (визуально) с тем, что происходит на XTC3.
До самого последнего момента вроде все идентично, и только после того, когда происходит последнее перед выводом "MS DOS loading" чтение с использованием Int 13, Siemens наглухо зависает...

С моей платы отлично загружается ДОС при условии, что плата вставлена в мою же XTC3. XTC3 работает практически полностью под BIOS'ом оригинальной PC XT. Несколько небольших отличий в BIOS'е вроде не должны вызывать того эффекта, о котором чуть позже.
Если же вставляю плату в материнскую плату Siemens (которая ну очень похожа на PC XT), то загрузка затыкается на довольно раннем этапе.
Я не стал париться, и довольно грубо целиком перехватываю Int 13 и Int 19. Int 13 даже не пытается сосуществовать с оригинальным обработчиком, вообще не передает на него управление. Вообще загрузка начинается вроде вполне нормально - я вывожу параметры Int 13 и результат его работы (что было прочитано в указанный в параметрах участок памяти) и сравниваю (визуально) с тем, что происходит на XTC3.
До самого последнего момента вроде все идентично, и только после того, когда происходит последнее перед выводом "MS DOS loading" чтение с использованием Int 13, Siemens наглухо зависает...