XTC3 - (почти) XT на Altera Cyclone III

16-битные ПЦ-совместимые компьютеры с процессорами 8086/8088/80286 работающие под управлением ДОС

Moderator: Shaos

newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by newold86 »

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

Налицо конфликты с шинами и устройствами на них, но я наваял такой кошмар, что уже сейчас перестал в нем что-либо понимать :(

Наверное, возьму небольшую паузу - осмыслить все сделанное...
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by newold86 »

В какой уже раз убеждаюсь, что "утро вечера мудренее"... В первом приближении вроде разобрался с шинами, так что в рамках прежней функциональности (DOS с SD карты, клавиатура PS/2 и встроенный CGA) все заработало с новой архитектурой.

Кроме того, начал, наконец, делать то, ради чего все затевалось:
_IMG_0796.JPG
_IMG_0797.JPG
Нормально слот еще не заработал (добавляю в BIOS нужные куски), но вроде, как минимум, память из карты расширения (в данном случае VGA адаптер) вроде читается нормально.
You do not have the required permissions to view the files attached to this post.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by newold86 »

Как ни странно, VGA адаптер взлетел без особых напрягов... До какой-то степени...

DOS грузится почти всегда. Другие программы - от вообще никогда (типа NC), до "всегда" - типа:
_IMG_0798.JPG
Либо что-то с чем-то конфликтует, либо вообще есть проблемы на физическом уровне (типа упомянутых ранее мною отсутствующих подтягивающих резисторов и т.д.). На это еще накладывается неуверенность в полной работоспособности самого VGA адаптера, а проверить не на чем...

Пока думаю, с какой стороны ко всему этому подступиться...
You do not have the required permissions to view the files attached to this post.
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by Vic3Dexe »

По поводу загрузок - была аналогичная проблема, и хотя в моем случае виноват был DMA, расскажу как ловил данный глюк.
Собсна, глюк заключался в абсолютно рандомных подвисаниях при загрузке чего угодно. Зависимости найти не удалось. Путем неимоверных усилий (включая дизасм доса) пришел к выводу что сектора иногда читаются криво. При этом ни DMA, ни контроллер флопа (внешний) не возмущались.

Дальше суть: пишем к биосу простенькую загружалку одного сектора (любого, я взял бут), а также кладем в биос эталонный образ того же сектора. И запускаем загружалку в вечном цикле, пока прочитанное совпадает с образом. Если они отличаются - эталон и прочитанное выводятся на экран, при этом в прочитанном все места, где оно не совпадает с эталоном выделяются другим цветом.

А вообще - поздравляю с положительными сдвигами :)
User avatar
Lavr
Supreme God
Posts: 16682
Joined: 21 Oct 2009 08:08
Location: Россия

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by Lavr »

Vic3Dexe wrote:пришел к выводу что сектора иногда читаются криво. При этом ни DMA, ни контроллер флопа (внешний) не возмущались.
Странное дело... а как же их любимый CRC причем аппаратный! :o
Если сектора читаются криво, то уж CRC обмануть весьма-таки трудно... :-?
iLavr
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by Vic3Dexe »

Так сектор-то читался исправно. Он в память ложился криво, DMA ловил ложное срабатывание, и байты в памяти съезжали вперед на 1.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by newold86 »

Блин, не могу найти никакой закономерности в том, что работает и как...

Например, основная масса CGA-шных игр работает, но простейший Digger вдруг выводится странным образом - какое-то месиво на верхней половине экрана, да еще и в 4-х экземплярах - как будто с адресацией видеобуфера что-то напутано. При этом видно, что все нормально двигается, да и звуки правильные идут...

Вытащил VGA карту и подключил свой "встроенный" в FPGA адаптер - все нормально работает, и DOS не виснет...

Попробую пока найти еще одну 8-битную видеокарту...
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by Vic3Dexe »

Возможно, BIOS этого paradise VGA использует 80186+ инструкции. Никакой защиты от этого произвола у 8088 нет, проверял. Или игнорит, или уходит в себя.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by newold86 »

Vic3Dexe wrote:Возможно, BIOS этого paradise VGA использует 80186+ инструкции. Никакой защиты от этого произвола у 8088 нет, проверял. Или игнорит, или уходит в себя.
Сомневаюсь - поведение было бы более стабильным.

Кроме того, карта приблизительно 1989 года, 8-битная - вряд ли они могли сунуть туда BIOS, требующий 186+

А вот насчет микросхемы BIOS'а у меня некоторые подозрения есть - она с УФ стиранием (окошко вроде надежно заклеено), за такое время могла начать потихоньку сыпаться и читаться не очень стабильно... Интересно, можно ли в принципе найти для этого адаптера прошивку ?
bigmax
Fanat
Posts: 79
Joined: 10 Feb 2014 03:37

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by bigmax »

Я всегда считал, что ПЗУ плат расширения обязано иметь контрольную сумму и она должна проверяться BIOSом компьютера (кроме маркеров АА55) перед запуском. Я не прав? В BIOSе компьютера нет сообщений вроде "ROM checksum error"?

Вот, нашел статейку:
В традиционном заголовке присутствовали только первые 3 поля, указатели на структуры PCI и ISA PnP ввели позже. Корректным считается модуль, начинающийся с признака AA55h (значения слова с учетом порядка байтов) и нулевой суммой (по модулю 256) всех байтов в объявленной области (реальная длина модуля может превышать объявленную, но байт контрольной суммы, естественно, должен входить в объявленную область).
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by newold86 »

"BIOS компьютера" - мой, что хочу, то туда и напишу :)

Вообще я об этом думал - контрольная сумма у меня проверяется при инициализации, и ВРОДЕ всегда правильна. Но это не гарантирует, что при многократном обращении какой-нибудь битик все-таки неправильно не выдастся... Поэтому завтра попробую просто погонять просчет контрольной суммы в цикле.
User avatar
Lavr
Supreme God
Posts: 16682
Joined: 21 Oct 2009 08:08
Location: Россия

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by Lavr »

А что бы CheckIt разочек не прогнать? Возможно, по характеру тестов видео стало бы понятно в какой момент происходит сбой...
iLavr
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by Tronix »

Да ну не, какой видео-биос при графике в диггере? Имхо напрямую в видео-память пишут, ну разве что с помощью int 10h в 320x200x4 цвета переключаются в начале и обратно в 80x25 в конце.
Я бы какую-нить 74LS245 на шину данных повесил, между ISA картой и плисиной. Буферок, так сказать.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by newold86 »

Фигня какая-то - увеличил количество wait states для IO операций с устройствами в слоте с 1 до 2 - перестало работать вообще. Убрал с 1 до 0 - заработало, как и раньше, но на экране появились лишние/пустые точки.

Как мои действия могут влиять на вывод на экран (ведь VGA карта - устройство самодостаточное) мои действия - пока не понимаю...

Но радует, что хоть что-то стало меняться :)
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: XTC3 - (почти) XT на Altera Cyclone III

Post by newold86 »

Lavr wrote:А что бы CheckIt разочек не прогнать? Возможно, по характеру тестов видео стало бы понятно в какой момент происходит сбой...
Пытался с самого начала - к сожалению, Checkit относится к программам, которые не запускаются...