nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 24 Oct 2020 20:28



Reply to topic  [ 153 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 11  Next
8086+FPGA 
Author Message
Devil

Joined: 30 Nov 2013 12:08
Posts: 678
Location: WWW
Reply with quote
Vic3Dexe wrote:
В данный момент дописываю видео-биос (int 10h).


А почему, если адаптеры совместимые, не взять родные BIOS'ы ???


19 Dec 2015 18:04
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 370
Location: Киев
Reply with quote
newold86 wrote:
А почему, если адаптеры совместимые, не взять родные BIOS'ы ???


И держать их 3 штуки почти одинаковых в памяти? Тем более в ега-биосе МОРЕ багов. Обнаруживаются простым сравнением с VGA-биосом. Тем более, что они рассчитаны на возможную установку вторым номером CGA/MDA. Да плюс ненужные тесты памяти и отдельных чипов ега. Зачем это все себе тащить?


Last edited by Vic3Dexe on 16 Feb 2016 17:48, edited 1 time in total.



19 Dec 2015 18:13
Profile
Devil

Joined: 30 Nov 2013 12:08
Posts: 678
Location: WWW
Reply with quote
Насколько я понял, при создании адаптеров пошли по пути не моделирования функциональности (как у меня в CGA), а по пути (практически) полного воссоздания внутренней структуры адаптеров ? Если так, откуда брали подробную информацию по всему этому ?


19 Dec 2015 23:04
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 370
Location: Киев
Reply with quote
Нет, я как раз повторял функционал, но кое-где для этого понадобилось понять структуру карты.
В сети полно инфы по организации EGA/VGA (оттуда и брал), но стоит копнуть чуть глубже - начинаются нестыковки. Поэтому месяца два ушло просто на понимание как оно работает до регистров включительно. Единственный регистр, который я не знаю как оформить - byte panning в CRT-контроллере у VGA. Ну и фиг с ним.


Last edited by Vic3Dexe on 16 Feb 2016 17:48, edited 1 time in total.



20 Dec 2015 09:11
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 370
Location: Киев
Reply with quote
Подумал, что будет нелишним список литературы. Не упоминаю тут всякие взаимокопипасты разных Фроловых и пр. википедий. Неинтересно и очевидно. Только хардкор :)

Во-1 первоисточники:
- IBM EGA tech ref
Несмотря на приличное кол-во ошибок и иногда просто бессмысленные фразы, содержит сокровище, а именно схему электрическую принципиальную оригинального EGA. Оттуда я почерпнул бОльшую часть инфы. На той же страничке можно стащить аналогичные доки (со схемами!) на CGA и MDA.
- IBM VGA/XGA tech ref
Увы, без схемы, да она и не помогла бы по причине изначальной однокристалльности VGA. Описания регистров похожи на таковые из егашного мануала - расплывчато, но если подумать...

Во-2 по мотивам:
- VGA Programmers Master Reference Manual by Andrew Scott
Документ на 90% состоит из воды, причем первая половина - на 100% (ее можно не читать вообще). Зато вторая половина дает представление о некоторых неочевидных моментах (сдвиговые регистры в GC как пример). Впрочем, тоже не без бредятины.
- INTRODUCTION TO MODE X by Robert Schmidt
Несмотря на всю попсовость (а также наличие ОЧЕНЬ серьезной ошибки) сей опус, точнее его картинки, помогли мне повернуть мозги в правильное русло. За что и отмечен.
- О том, почему в CGA-режимах EGA-монитор не покажет 64 цвета.
Многое объясняет, несмотря на непритязательный вид - маст хэв.


Буду дописывать по мере борьбы со склерозом.


Last edited by Vic3Dexe on 16 Feb 2016 17:48, edited 1 time in total.



21 Dec 2015 05:21
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote

Вот тут несколько сомнительные сведения... За давностью времени проверять уже смысла нет,
хотя всё железо у меня в полной сохранности в кладовке. :lol:

На своем 286-м компьютере с EGA-картой наблюдал очень интересные режимы! :o
Поскольку монитор у меня был в то время - "Электроника 32 ВТЦ 202", то характерные для EGA
режимы разверток он не понимал, а я не стал вмешиваться в его электронику.

На типичных EGA режимах синхронизация срывалась просто, но вот на игре "Поле Чудес"
синхронизация была устойчивой, только часть картинки уходила за экран вниз. :wink:

И такой-же режим я наблюдал еще в одном интересном эксперименте. Когда уже я сам
работал на приличной машине под Win 98, я на этой 286-й делал эксперименты по различной
установке Win 3.1, поскольку оказался у меня оригинальный дистрибутив на дискетах.
Так самый интересный эксперимент заключался в том, что на 286-ю машину с EGA-картой
можно поставить Win 95! :o , хотя все утверждают об невозможности такого.
Win 95 должна ставиться не из дистрибутива, а как апгрейд Win 3.1 - был такой вариант.
При этом синхронизация на "Электронике 32 ВТЦ 202" устойчивая, но весь низ рабочего стола -
также внизу за экраном вместе с кнопкой "Start". :D
Если помнить горячие клавиши Win 95, то он даже пытался шевелиться! :o Хотя вызов
того же Проводника приводил к краху системы. А вот Блокнот и Пейнт - тужились поработать,
как, впрочем, и Пасьянс. :roll:


P.S. Черт возьми.. когда даешь ссылку на древние игры, вечно начитаешься чего-то, чего сам не знал! :lol:
Краткий курс истории фирмы SIERRA ON-LINE

_________________
iLavr


21 Dec 2015 07:12
Profile
God

Joined: 02 Jan 2006 03:28
Posts: 1390
Location: Abakan
Reply with quote
[offtop]
Lavr wrote:
Так самый интересный эксперимент заключался в том, что на 286-ю машину с EGA-картой
можно поставить Win 95! :o
Хм. Первый раз о таком слышу, ибо вроде бы как Win95 позиционировалась аки 32bit only.
А вот 16bit версию тогда ещё Windows Commander, в последнее время известного как Total Commander, я запускал в Win 3.1.
[/offtop]


21 Dec 2015 07:51
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 370
Location: Киев
Reply with quote
Lavr wrote:
На своем 286-м компьютере с EGA-картой наблюдал очень интересные режимы! :o
Поскольку монитор у меня был в то время - "Электроника 32 ВТЦ 202", то характерные для EGA
режимы разверток он не понимал, а я не стал вмешиваться в его электронику.

На типичных EGA режимах синхронизация срывалась просто, но вот на игре "Поле Чудес"
синхронизация была устойчивой, только часть картинки уходила за экран вниз. :wink:

Не совсем понял, что именно сомнительно по ссылке.
Если предположить (я просто не в курсе), что Электроника была CGA-подобной, то вполне логично, что EGA-режимы она не умела (частоты повыше) или умела не до конца.
И в статье речь немного о другом - что если подключен EGA монитор к EGA-карте, но заказан 200-строчный режим (полярности синхры NN), то монитор забивал на R'B' линии, а G' воспринимал как интенсивность, т.е. вел себя как CGA с 4 линиями цвета, итого имея 16 цветов, хотя карта способна отдать 64. Что объясняет разницу в значениях регистров ATC для нативных EGA-режимов и CGA-эмуляции.

Или я чего-то не так понял?

А у Вас оригинальная IBM EGA или клон? Потому что с регистрами курсора у меня беда. Оно-то работает, но 100% не так, как надо бы. А проверить мне не на чем, самое старое железо - целерон 2 ГГц :(


Last edited by Vic3Dexe on 16 Feb 2016 17:49, edited 1 time in total.



21 Dec 2015 08:20
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
jdigreze wrote:
вроде бы как Win95 позиционировалась аки 32bit only.

А вот это я с удивлением слышу! :o Win95, Win98 и вроде даже WinМе - это смесь
32-битного и 16-битного кодов у них даже основные библиотеки в 2-х экземплярах,
это уже я сам проверил на своей Win98.

Собственно, поэтому эту линию Win и бросили развивать - нельзя обеспечить устойчивость
системы при таком "винигрете".

_________________
iLavr


21 Dec 2015 08:45
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Vic3Dexe wrote:
Не совсем понял, что именно сомнительно по ссылке.
...
Или я чего-то не так понял?

Я предполагаю, что программированием EGA, вероятно, можно достичь и желаемой глубины цвета,
раз уж можно сделать EGA режимы с CGA разверткой.
Сейчас просто это всё неактуально получается - на современном нелучевом мониторе изыски настройки не увидишь.
Мне почему интересно было - из документации вроде как получалось, что можно программированием EGA
загнать её в режим сходный с разверткой "Специалиста" - хотел в эмуляторе такой режим сделать...

Vic3Dexe wrote:
А у Вас оригинальная IBM EGA или клон? Потому что с регистрами курсора у меня беда.

Полагаю, что клон... ибо кто бы мне припас оригинальную IBM EGA на Горбухе за приемлемую цену в то время...

Вот типа такой EGA-карта у меня была:

Image

Оригинал сейчас глянуть не смогу - далеко это все уже сложено, разбирать шкаф неохота...

_________________
iLavr


21 Dec 2015 08:52
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 370
Location: Киев
Reply with quote
Lavr wrote:
Я предполагаю, что программированием EGA, вероятно, можно достичь и желаемой глубины цвета,
раз уж можно сделать EGA режимы с CGA разверткой.

Можно вполне. Карта будет отдавать полный 6-битный цвет. Затык ведь в мониторе, который думает, что он подключен к CGA-адаптеру при 200 строках.
Меня другое смущает - в EGA-биосе нет защиты от включения EGA-режимов (т.е. 350 строк) при CGA-мониторе. Я понимаю что баги, но не до такой же степени...
Lavr wrote:
Сейчас просто это всё неактуально получается - на современном нелучевом мониторе изыски настройки не увидишь.
Мне почему интересно было - из документации вроде как получалось, что можно программированием EGA
загнать её в режим сходный с разверткой "Специалиста" - хотел в эмуляторе такой режим сделать...

EGA будет выдавать любую развертку - и CGA, и спектрум, и что угодно, что влезет в регистры. Там есть ограничения на минимальные значения (напр. для VGA длина строки мин. 25 символов), но они не сильно мешают. Вопрос в том, на каком мониторе это смотреть. У меня старых мониторов нет, поэтому я и сделал 2 фиксированных растра - 640х480 и 720х400 для 8- и 9-битных символов соотв.
Что касается изысков настройки... Ну да, многое не увидишь. Но кое-что можно сделать - оверскан (он же бордер), "полосатые" CGA-символы, имитация MDA-монитора с любым VGA-доступным цветом люминофора и т.п. Да и вышеупомянутый эффект (EGA-монитор на CGA-карте) - все это уже есть.
Lavr wrote:
Вот типа такой EGA-карта у меня была:

Клон, на оригинале поболее микрух было.


Last edited by Vic3Dexe on 16 Feb 2016 17:49, edited 1 time in total.



21 Dec 2015 19:14
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Vic3Dexe wrote:
У меня старых мониторов нет...

A у меня они, наверное уже к сожалению, все сохранились... :osad: Трудное наследие прошлого, блин... :-?
Начиная с этой самой CGA-"Электроники", настоящими EGA, VGA и заканчивая SVGA.
Все в рабочем состоянии, и рука выкинуть не поднимается - я же их "с трудом доставал"! :o
Чертовы "чемоданы без ручки"! :lol:

_________________
iLavr


21 Dec 2015 19:37
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 370
Location: Киев
Reply with quote
Да, проблема известная. Место занимают, а выкинуть жалко/невозможно.
У самого когда-то было то ли 8 то ли 9 ч/б ламповых телеков. Служили донорами друг для друга, т.к. купить нормальный в 90х мы не могли.


21 Dec 2015 19:47
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 370
Location: Киев
Reply with quote
Видеокарта более-менее готова, по крайней мере, в ближайшее время я ее трогать не буду.

Работают все режимы, вроде даже безглючно, горизонтальный паннинг, подчеркивание. Не проверял line compare, я не знаю точно как оно должно быть.

Биос толком не тестил, не падает - и ладно, детально буду смотреть, когда будет с чего загрузить тестилки.

Код карты выкладываю, рассчитана на работу совместно с процом на одну микруху SRAM 1Mx16 <20 ns, причем на 16-битную шину. 8-битные обращения надо соотв. пускать по младшей или старшей половине в зав. от адреса.

В принципе, там все или почти все комментировано, если что - спрашивайте.

Распаял все оставшееся, общий вид ниже. Плата не отмыта, не заморачивался. В панельки пока не ставил тиньку, RTC и контроллер флопа.


Attachments:
1.JPG
1.JPG [ 644.04 KiB | Viewed 3853 times ]
video_card.rar [23.94 KiB]
Downloaded 127 times


Last edited by Vic3Dexe on 16 Feb 2016 17:49, edited 1 time in total.

20 Jan 2016 08:38
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 370
Location: Киев
Reply with quote
Закончил 8042 и Int09/Int16, модуль прикручиваю, прерывания не так интересны, т.к. слизаны с оригинального биоса с некоторым причесыванием и допиливанием управления светодиодами.
Есть все необходимое, нет управления резетом (не суть важно), команд теста интерфейсов клавомыши и остальных откровенно бесполезных команд.
Не тестил одновременную работу клавы и мыши, пока не до того.

Я всех обманул. Память у меня работает на 25 МГц, а не на 50. Запутался в собственных частотах.
А обнаружил я сие, когда решил-таки победить глюк, терзавший меня довольно давно - при копировании BIOS из сериальной флешки циклона в основную память (перед стартом машины), данные рандомно бились. Особенно хорошо это было заметно на искажениях шрифтов.
Грешил на signaltap (встроенный анализатор в циклоне), т.к. небольшие изменения его конфига то устраняли проблему, то возвращали.
И только когда я озаботился подсчетом и проверкой CRC того, что, копировалось, я осознал масштабы проблемы - данные портились ВСЕГДА!

Причина банальна - данные я читал на 14 МГц, а писал в память на 12.5 (задействован только один из двух "DDR"-контроллеров). Соотв., контроллер тупо не успевал складировать то, что сыпалось из флешки. Решение также банально - снижение частоты чтения до 10 МГц.

Запустил контроллер флопа (i82077A-1). Процессорный интерфейс успешно взлетел, команды выполняет. Приводы пока не цеплял, надо раскурить int13, там IBM наворотила (не иначе как с целью запутать вероятного меня). Здорово помогло вот это. Несмотря на то, что я и бинарник неплохо читаю, комментарии были нелишними.

И вопрос:
Code:
   MOV   DX,3F1H       ; I.D. PORT
   IN   AL,DX
   NOP
   MOV   BX,0FFFFH      ; BUS PRECHARGE
   AND   AL,0F8H       ; KEEP I.D. BITS
   AND   @HF_CNTRL,11111110B   ; RESET DUAL BIT
   CMP   AL,CARD_ID       ;это 50h
   JNE   NO_ID
   OR   @HF_CNTRL,1      ; SET DUAL BIT


откуда в 3F1h (это "FDC status B", существующий сугубо у ps/2) некие ID биты? Я так понимаю, это какой-то особенный контроллер, но гугл также в растерянности.


Attachments:
kbd_ppi.rar [6.02 KiB]
Downloaded 117 times


Last edited by Vic3Dexe on 16 Feb 2016 17:50, edited 1 time in total.

15 Feb 2016 02:07
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 153 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 11  Next

Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.