Реальный 8086/88 + FPGA

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

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16703
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

newold86 wrote:В любом случае, непонятно, чего программист добивался именно таким способом определения наличия режима...
Да ничего он не добивался, я думаю, просто поступил простым способом.
В процедуре POST BIOS наличие многих портов именно так и проверяют,
хотя я и сам заблуждался, что POST более интеллектуальна... 8)
iLavr
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Post by newold86 »

Говорят, что с помощью первых версий MS Flight Simulator'а производители PC проверяли свои машины на совместимость с оригинальной IBM PC - типа симулятор использовал разные особенности железа. Проверил и я, летит:

Image
User avatar
Lavr
Supreme God
Posts: 16703
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

newold86 wrote:Говорят, что с помощью первых версий MS Flight Simulator'а производители PC проверяли
свои машины на совместимость с оригинальной IBM PC...
В свое время я очень удивился, что процессоры после разгона проверяли при помощи DOOM-a.
Типа - погоняй DOOM несколько часов, если машина не зависла, то примерно - всё Ок! :wink:
iLavr
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

Q1 на софтовом движке хорошо проц нагружает.
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

"Принц Персии"? Было время, гонял я его на двойке... Увидел сейчас - чуть не прослезился... :D

А Дум - таки да, был детектором качества разгона. Процесс проверки разогнанного компа так втягивал, что утренний будильник внезапно и жестоко намекал на подъём, хотя мы ещё и не ложились. Общага, студенты...
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Post by newold86 »

Второй программой, которой тестировали на совместимость, был Lotus 1-2-3 :

Image
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Post by Vic3Dexe »

Ну собственно, моя конструкция тоже завелась - в порт 00h успешно пишем байтики. Это после того, как я обошел одну битую ногу у циклона, а также нашел глюк с конвертированием биос-файла (конвертор почему-то упорно делает big-endian).

Нахожусь в легком шоке, так как уже не надеялся :)

2newold86
Вопрос по обновлению биос. Вот, допустим, есть проект, есть файл биоса (.mif). Я этот файл изменил (неважно как). Как заставить квартус учесть изменения? Processing -> update memory file успешно выполняется, но на прошивку (.sof) это не влияет - заливаю через jtag - без изменений.
Помогает полная перекомпиляция, но дооолго. Побыстрее никак?
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Post by newold86 »

Vic3Dexe wrote:2newold86
Вопрос по обновлению биос. Вот, допустим, есть проект, есть файл биоса (.mif). Я этот файл изменил (неважно как). Как заставить квартус учесть изменения? Processing -> update memory file успешно выполняется, но на прошивку (.sof) это не влияет - заливаю через jtag - без изменений.
Помогает полная перекомпиляция, но дооолго. Побыстрее никак?
Прикольно - я задавал абсолютно идентичный вопрос на другом форуме !

После update memory нужно еще запустить assembler (например, правой кнопкой мышки в окошке Tasks).

Было бы неплохо еще понять, как сделать нечто типа простейшего скрипта, чтобы по одному нажатию сразу делать update, assembler и programmer, но руки все не доходят...
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Post by newold86 »

Продублировалось почему-то...
Last edited by newold86 on 21 Feb 2015 08:04, edited 1 time in total.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Post by newold86 »

Продублировалось почему-то...
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Post by Vic3Dexe »

И все-таки, если не затруднит - дайте хотя бы значения параметров сихросигналов CGA (в смысле пиксельклок и позиции и ширины импульсов в отсчетах). Потому как я уже не знаю, что моему гнусмасу 732N надо.

Сделал почти 1:1 как здесь http://www.fpga4fun.com/PongGame.html (у меня тоже 25 МГц пиксельклок) - монитор делает вид, что все ок, но даже меню не кажет. При попытке выставить RGBI=1 уходит в дежурку.

Сделал от фонаря 641х513 (т.е. 640 отсчетов, 1 на HS; 512 таких строк и одна на VS) - уверенно подхватил, показав в меню 39 кГц х 76 Гц (правильно), но вместо картинки RGBI=1 сетка из еле видных точек. На RGB поступает 0.7В, если верить тестеру. У меня оно регулируемое - крутил - без толку. Психанул - подал куском провода 3.3В прямо на R - ноль эмоций, только когда убирал провод - полетели красные полосы.

Такое ощущение, что где-то в мониторе разделительная емкость мешает. Но как тогда одноцветное поле выводить (суть постоянный ток)? При попытке же подать на RGB пиксельклок (ну или около того) - ушел в дежурку.

Да, и на полярность синхросмеси он, похоже, ложил с прибором. Что ни подам (по всякому пробовал) - NN (neg/neg). А вот с моего GF 1280x1024 видит как PP. Т.е. все-таки умеет распознавать.

https://eewiki.net/pages/viewpage.actio ... ifications
По данной табличке поднял PLLкой частоту до 135М, вбил параметры - при RGBI=0 - дежурка, при RGBI=1 постоянные безуспешные попытки захвата.
Черт возьми, Холмс, почему?!
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Post by newold86 »

Vic3Dexe wrote:И все-таки, если не затруднит - дайте хотя бы значения параметров сихросигналов CGA (в смысле пиксельклок и позиции и ширины импульсов в отсчетах).
Настоящую CGA-развертку я не пробовал, даже не уверен, что VGA-мониторы ее поддерживают.

Использую 640х400 - в нее нормально ложатся все CGA режимы. В текстовом режиме 80х25 отлично помещаются символы 8х16, в графическом 320х200 просто каждая точка дублируется по горизонтали и вертикали, в 640х200 дублируется только по вертикали.

Параметры следующие:

строки - всего 0..799 точек, 0..639 - видео, 640..655 - back porch, 656..751 - sync, 752..799 - front porch

кадры - всего 0..449 точек, 0..399 - видео, 400..411 - back porch, 412..413 - sync, 414..449 - front porch
Vic3Dexe wrote:Да, и на полярность синхросмеси он, похоже, ложил с прибором. Что ни подам (по всякому пробовал) - NN (neg/neg). А вот с моего GF 1280x1024 видит как PP. Т.е. все-таки умеет распознавать.
Кстати, я тоже об этом здесь писал. Даже пробовал менять полярность прямо на ходу - монитор гаснет на секунду, потом продолжает работать, как ни в чем не бывало...

А вообще у меня также не сразу все взлетело. В частности, пришлось осциллографом смотреть и увидеть, что результаты симуляции в ModelSim и реальность не совпадают (тогда вообще почти ничего не знал о том, как правильно работать с FPGA).

А еще столкнулся, что большое количество примеров в интернете - с грубыми (и сейчас уже мне понятными) ошибками, просто нерабочие.

Кстати, режим 640х200 выглядит довольно красиво:

Image
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

Насчёт CGA не подскажу, надо рыть тырнет.
А вот то, что есть, пусть будет здесь, может кому пригодится:

Image

Это скан разворота инструкции от Samsung SycnMaster 3Ne.
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Post by Vic3Dexe »

Я и не имел ввиду чистый CGA, понятно, что мониторы не прожуют такое.
Параметры следующие:
А это при каком пиксельклоке?
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Post by newold86 »

Vic3Dexe wrote:Я и не имел ввиду чистый CGA, понятно, что мониторы не прожуют такое.
Параметры следующие:
А это при каком пиксельклоке?
25.170068M - столько получилось из-за делителей/умножителей PLL, хотя нужно, по идее, 25.175

Но, насколько помню, от 25 до 26 особо ничего не менялось, слегка размер изображения плавал.