CGA и CF IDE адаптер на Altera MAX10

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

Moderator: Shaos

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

CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

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

Основной целью проекта является знакомство с относительно свежим семейством MAX10, а также тестирование домашней "производственной линии" (установщик, трафаретный принтер, новая печка и т.д.). Побочным продуктом процесса, надеюсь, будет являться плата ISA 8, на которой установлены разъем для CF карты и колокольчик для видеосигнала, что позволяет сделать контроллер IDE для работы с CF картой, как с диском, а также выводить разные сигналы (хочу попробовать получить композитный цветной CGA сигнал, если желание еще останется).

Image

Пока даже в компьютер плату не вставлял, просто убедился, что программатор ее видит - светодиодами помигал. Сейчас пытаюсь понять, как запрограммировать этот долбанный MAX10 так, чтобы программа осталась во внутренней flash- памяти и не исчезала по выключению питания. Попытка просто загрузить файл pof успехом не увенчалась - после 2% - 10% выдается ошибка загрузки. Очень надеюсь, что просто делаю что-то не так, а не "железная" ошибка на плате...
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: CGA и CF IDE адаптер на Altera MAX10

Post by Vic3Dexe »

newold86 wrote:чтобы программа осталась во внутренней flash- памяти
А она там есть? Флешка в смысле. Мануалы не читал, но MAX как бы намекает...
newold86 wrote:Очень надеюсь, что просто делаю что-то не так, а не "железная" ошибка на плате...
Питания приходят куда следует? 1.2В там вообще используется? Если да, то проверьте, что там реально 1.2, т.к. такие стабилизаторы не умеют выдавать столь малое напряжение без нагрузки. 100 Ом параллельно решают. У меня без этого "довеска" 2 с копейками выдавал.
Блокировочные кондеры где? Снизу? Сколько?

Схемку бы... Хотя бы в части разъема программинга. Тогда можно будет не гадать.

Такое впечатление, что плату разводили двумя разными софтинами. Сначала как обычно, потом топором. Скругления характерные.
Сопля к резюку в углу платы умилила :)

Вообще плата очень симпатичная, ручной пайкой такое не сделаешь.
Только не понял, зачем вообще композит/CGA? Куда его того - изображать?
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

Для начала - за время, пока форум лежал, удалось разобраться с проблемой записи во flash. Злой до некуда - все дело в долбанном USB Blaster'е от фирмы Terasic ! Всегда считал, что Terasic делает приличные железки, но вот с Blaster'ами от других производителей вообще никаких проблем нет...
Vic3Dexe wrote:
newold86 wrote:чтобы программа осталась во внутренней flash- памяти
А она там есть? Флешка в смысле. Мануалы не читал, но MAX как бы намекает...
Как раз захотел поиграться с MAX 10 по причине того, что там внутри уже есть конфигурационная flash'ка, не нужно снаружи цеплять.
Vic3Dexe wrote:Питания приходят куда следует? 1.2В там вообще используется? Если да, то проверьте, что там реально 1.2, т.к. такие стабилизаторы не умеют выдавать столь малое напряжение без нагрузки. 100 Ом параллельно решают. У меня без этого "довеска" 2 с копейками выдавал.
Ради интереса даже попробовал - конкретно мои стабилизаторы вообще без нагрузки (вернее, с нагрузкой в виде вольтметра) показывают идеальное напряжение
Vic3Dexe wrote:Блокировочные кондеры где? Снизу? Сколько?
У всего есть оборотная сторона :)
CGACF-b.jpg
Vic3Dexe wrote:Такое впечатление, что плату разводили двумя разными софтинами. Сначала как обычно, потом топором. Скругления характерные.
Наверное, да. Наверное - потому что из-за отсутствия времени (а если честно, больше из-за лени) решил отдать разводку на outsourcing. Процесс прошел не очень гладко, но пока вроде по разводке замечаний нет...
Vic3Dexe wrote:Сопля к резюку в углу платы умилила :)
Это о чем речь ?
Vic3Dexe wrote:Вообще плата очень симпатичная, ручной пайкой такое не сделаешь.
А скорость изготовления какая ! Даже при том, что по такому процессу (с трафаретами) проходил первый раз в жизни, плюс по ходу все оборудование приходилось настраивать (да еще предварительно разбираясь, как работает).
Единственное, похоже, нужно повозиться еще с термопрофилем для печки - пайка не очень блестит, неаккуратненько получается :)
Vic3Dexe wrote:Только не понял, зачем вообще композит/CGA? Куда его того - изображать?
Ну как - подключать к видеовходу NTSC телевизора, чтобы увидеть 88MPH :)
You do not have the required permissions to view the files attached to this post.
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: CGA и CF IDE адаптер на Altera MAX10

Post by angry_troll »

Зочод за бга! Сколько слоев?
И почему-то кажется, что очень много пустого места )
Ну и было бы здорово почитать что-то вроде "паяем бга дома" :)
привет засранцу лавру :)
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

angry_troll wrote:Зочод за бга! Сколько слоев?
Слои не экономил, поэтому 6
angry_troll wrote:И почему-то кажется, что очень много пустого места )
Как уже говорил, это просто ознакомление с новой элементной и инструментальной базой, поэтому сама плата - побочный продукт основного процесса :)
angry_troll wrote:Ну и было бы здорово почитать что-то вроде "паяем бга дома" :)
Боюсь, что в данном случае бессмысленно - мое оборудование не подпадает под понятие типичного домашнего...
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: CGA и CF IDE адаптер на Altera MAX10

Post by Vic3Dexe »

newold86 wrote:
Vic3Dexe wrote:Сопля к резюку в углу платы умилила :)
Это о чем речь ?
Это речь о резисторе (ну вроде это резистор) на первой фотке в правом верхнем углу платы. И о длиннннющей дороге к нему. Хотя места на плате немеряно.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

Vic3Dexe wrote:
newold86 wrote:
Vic3Dexe wrote:Сопля к резюку в углу платы умилила :)
Это о чем речь ?
Это речь о резисторе (ну вроде это резистор) на первой фотке в правом верхнем углу платы. И о длиннннющей дороге к нему. Хотя места на плате немеряно.
Это светодиод, показывающий активность CF карты, поэтому там и расположен.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

Блин, какая-то странная засада... Внутри FPGA создал ROM, который 100% надежно читается при тестировании. Но вот при выполнении программы из него (когда POST обнаруживает модуль расширения и передает на него управление) происходят регулярные сбои - простая программа из десятка команд выполняется один-два раза из пары десятков попыток...
Просто не пойму, чем может чтение области памяти отличаться от выполнения программы из этой-же области ???
IgorR76
Senior
Posts: 102
Joined: 27 Jul 2015 15:20

Re: CGA и CF IDE адаптер на Altera MAX10

Post by IgorR76 »

Не совсем понятно условие задачи.
Чем тестируется ROM? Биосом?
Это настоящий IBM PC или реплика на ПЛИС?
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: CGA и CF IDE адаптер на Altera MAX10

Post by angry_troll »

Драйвер видеокарты очевидно.

На код можно взглянуть? :)
привет засранцу лавру :)
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: CGA и CF IDE адаптер на Altera MAX10

Post by Vic3Dexe »

newold86 wrote:который 100% надежно читается при тестировании
100% чего-то у меня всегда вызывют сомнения :)
Как проверяли? Контрольная сумма совпадает хотя бы?
newold86 wrote:происходят регулярные сбои
Как выглядят?
newold86 wrote:простая программа из десятка команд
angry_troll wrote:На код можно взглянуть?
Поддерживаю.
newold86 wrote:чем может чтение области памяти отличаться от выполнения программы из этой-же области
Ну, если говорить о защищенном режиме + пейджинг... :roll:
А на физическом уровне - ничем.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

Чуть подробнее - внутри MAX 10 запущено устройство, имитирующее 8К ROM BIOS по адресу D800 (пробовал разные адреса - ничего не меняется). Плата вставлена в материнскую плату либо настоящей XT, либо моей XTC3 - тоже ничего не меняется (по крайней мере, достаточно, чтобы я понял закономерность).

Программа в ROM BIOS - просто вывод символа в центр экрана (через прямой доступ к буферу экрана) и hlt после этого.

Если в POST основного BIOS'а добавляю чтение содержимого моего BIOS'а в область RAM, а потом в цикле постоянное чтение опять и сравнение с имеющейся копией, то ошибок не возникает даже после часа такой работы.

Если разрешаю POST'у идти своим путем, то мой BIOS обнаруживается, контрольная сумма совпадает (вроде бы всегда), но при передаче управления POST'ом на мой BIOS в подавляющем большинстве случаев происходит либо зависание, либо вылет в непонятное месте и т.д. Только изредка все проходит нормально - на экране появляется требуемый символ...
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

Кстати, давно хотел разобраться в следующем вопросе... В оригинальном BIOS от PC(/XT) есть такой кусок (где проверяется наличие BIOS'ов расширения):

Code: Select all

ROM_SCAN_1:
			MOV		DS,DX
			SUB		BX,BX				; SET BX=0000
			MOV		AX,[BX] 				; GET 1ST WORD FROM MODULE
			CLD
			CLD							; BUS SETTLING
			CMP		AX,0AA55H			; = TO ID WORD?
			JNZ		NEXT_ROM			; PROCEED TO NEXT ROM IF NOT
			CALL		ROM_CHECK			; GO CHECK OUT MODULE
			JMP		SHORT ARE_WE_DONE	; CHECK FOR END OF ROM SPACE
NEXT_ROM:
			ADD		DX,0080H				; POINT TO NEXT 2K ADDRESS
ARE_WE_DONE:
			CMP		DX,0F000H			; AT F0000 YET?
			JL		ROM_SCAN_1			; GO CHECK ANOTHER ADD. IF NOT
Так вот - нафига там этот самый BUS SETTLING ???
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: CGA и CF IDE адаптер на Altera MAX10

Post by Vic3Dexe »

newold86 wrote:Программа в ROM BIOS - просто вывод символа в центр экрана (через прямой доступ к буферу экрана) и hlt после этого.
На это десяток строк ушел? Зачем в центр, лишние вычисления - лишние баги.
CLI перед HLT есть?

Code: Select all

mov bx,0B800h
mov ES,bx
mov word [ES:0],0741h
cli
hlt
jmp $
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

Vic3Dexe wrote:На это десяток строк ушел?
Насчет десятка команд - это фигурально выражаясь, у меня код идентичен, за исключением заранее просчитанного смещения (просто в средине экрана виднее)...

Но вообще проблему победил, только пока не до конца понимаю суть (каким образом одна вещь мешала, да еще и не всегда), поэтому объяснять пока нет смысла :(

А так:
_Boot.jpg
Сейчас пытаюсь понять, как мне на CF карту правильно образ диска с загрузочной системой записать...
You do not have the required permissions to view the files attached to this post.