8086+FPGA
Moderator: Shaos
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: 8086+FPGA
Пытаюсь в первом приближении подключить контроллер (пока без BIOS'а), просто убедиться в доступе к памяти, и сразу же налетел на проблему...
assign GC_MEM_RD = ~nMRD & ~MA_DIRECT & ~MA_CHAIN4;
Насколько я понимаю, GC_MEM_RD активно тогда, когда идет обращение к видеопамяти (причем вроде только EGA/VGA) ? Просто по каким-то причинам сигнал активизируется сразу после сброса, когда идет чтение основного BIOS'а, и в результате формируется V_READ, по которому я выдаю данные процессору...
[UPDATE] Похоже, начал разбираться... Наверное, вопрос снят.
assign GC_MEM_RD = ~nMRD & ~MA_DIRECT & ~MA_CHAIN4;
Насколько я понимаю, GC_MEM_RD активно тогда, когда идет обращение к видеопамяти (причем вроде только EGA/VGA) ? Просто по каким-то причинам сигнал активизируется сразу после сброса, когда идет чтение основного BIOS'а, и в результате формируется V_READ, по которому я выдаю данные процессору...
[UPDATE] Похоже, начал разбираться... Наверное, вопрос снят.
-
- Doomed
- Posts: 370
- Joined: 16 Dec 2014 11:58
- Location: Киев
Re: 8086+FPGA
По fasm - на каких конкретно строках ругается? Примеры? Тест ругательства? Хоть не досовским собирали?
Скрин сборки у меня
Вообще этот сигнал (GC_MEM_RD) делает 2 вещи:
- разрешает заполнение латчей
- при выборе чего вернуть процу при чтении, включает в кач-ве источника граф. контроллер, который отвечает за сборку байта (или двух) для CPU в планарных или o/e режимах, т.е. всякие там color compare, чтение только одного плейна и т.п.
Скрин сборки у меня
Сигнал активен при чтении со стороны CPU по адресам видеопамяти (т.е. не MA_DIRECT, который отвечает за обычные обращения) и не в режиме chain4, т.е. где байт из проца падает в плоскость целиком. И да, CGA проходит по статье MA_DIRECT, т.к. ему не требуется работа с плоскостями.newold86 wrote:assign GC_MEM_RD = ~nMRD & ~MA_DIRECT & ~MA_CHAIN4;
Вообще этот сигнал (GC_MEM_RD) делает 2 вещи:
- разрешает заполнение латчей
- при выборе чего вернуть процу при чтении, включает в кач-ве источника граф. контроллер, который отвечает за сборку байта (или двух) для CPU в планарных или o/e режимах, т.е. всякие там color compare, чтение только одного плейна и т.п.
Когда идет чтение основного биоса [из флешки], проц удерживается в состоянии RESET. Таким образом, он ничего читать не может.newold86 wrote:когда идет чтение основного BIOS'а
Last edited by Vic3Dexe on 01 Jun 2017 22:31, edited 2 times in total.
-
- Doomed
- Posts: 370
- Joined: 16 Dec 2014 11:58
- Location: Киев
Re: 8086+FPGA
Какое отсутствие?! Вон же они, на скрине!newold86 wrote:ругается на отсутствие кавычек
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: 8086+FPGA
Даже стыдно такие вещи спрашивать...Vic3Dexe wrote:По fasm - на каких конкретно строках ругается? Примеры? Тест ругательства? Хоть не досовским собирали?
Тем не менее, наглость - второе счастье

Во первых, с кавычками - это у меня уже крыша поехала после двадцатого переключения между masm и fasm...
А вообще я пытаюсь вычленить видеочасть из BIOS'а, поэтому взял int10.asm, дописал сверху include "video.inc" и попробовал откомпилировать. На выходе получил:
Что еще смущает - вроде в документации к fasm struc пишется без struct имя в конце... Естественно, разберусь в конце концов и сам, но от мудрого совета, естественно, не откажусь

Насчет железной части - я прикручиваю Вашу карту в немного другом виде - нужна именно карта, без всего остального (основная память, BIOS и т.д.). Попытался сначала подправить код, чтобы карта не реагировала на адреса за пределами видеопамяти, но там друг за друга несколько вещей цепляются, поэтому сейчас просто обойду это снаружи карты, вообще не трогая Ваш код... Наконец-то за вопросительными знаками и точками Verilog'а я начал видеть железку, что сильно помогает...
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: 8086+FPGA
И правильно смущает, потому что со слова struc объявление структуры начинается, а struct - это макрос, добавляющий к структурам такую штуку как sizeof.newold86 wrote:Что еще смущает - вроде в документации к fasm struc пишется без struct имя в конце...
Позволяет далее написать что-то вроде
Code: Select all
mov eax,sizeof.TMyStruct
Ну так выпилите декодирование CONV_RAM_CS и ROM_CS в синхронизаторе, что сложного-то?newold86 wrote:подправить код, чтобы карта не реагировала на адреса за пределами видеопамяти
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: 8086+FPGA
Именно с этого я и начал... И обнаружил, что после этого GC_MEM_RD все время активный, и V_READ из-за этого активный тожеVic3Dexe wrote:Ну так выпилите декодирование CONV_RAM_CS и ROM_CS в синхронизаторе, что сложного-то?

За объяснение struct отдельное спасибо !
-
- Doomed
- Posts: 370
- Joined: 16 Dec 2014 11:58
- Location: Киев
Re: 8086+FPGA
Ну так вы что-то делаете не так, он не может быть активным все время.newold86 wrote:И обнаружил, что после этого GC_MEM_RD все время активный
Он активен, если:
-nMRD = 0, т.е. есть сигнал чтения от проца
И
-карта не-CGA (а по умолчанию она как раз CGA, т.к. тип карты задает биос, и изначально в регистрах нули)
И
-в VGA-карте не включен chain4
Если вы даже биос не подключили, то тип карты поменяться не мог, значит она CGA, значит GC_MEM_RD не может быть активен.
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: 8086+FPGA
А я сразу свитчи в режим VGA выставил.Vic3Dexe wrote:Если вы даже биос не подключили, то тип карты поменяться не мог, значит она CGA, значит GC_MEM_RD не может быть активен.
-
- Doomed
- Posts: 370
- Joined: 16 Dec 2014 11:58
- Location: Киев
Re: 8086+FPGA
Неважно, chain4 должен быть выключен.
Смотрите сигналтапом, откуда у вас единица в сигнал лезет.
Смотрите сигналтапом, откуда у вас единица в сигнал лезет.
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: 8086+FPGA
Как думаете, если намертво поставить V_OPTIONS = 0, и запустить обычный BIOS от XT, заработать в режиме CGA должно ?
Что-то у меня пока не пошло - вроде и доступ к видеопамяти со стороны процессора есть, а развертка 640х480 присутствует, а вот на экране пусто...
Что-то у меня пока не пошло - вроде и доступ к видеопамяти со стороны процессора есть, а развертка 640х480 присутствует, а вот на экране пусто...
-
- Doomed
- Posts: 370
- Joined: 16 Dec 2014 11:58
- Location: Киев
Re: 8086+FPGA
Нет конечно. Шрифты-то нужно грузить в режиме VGA во 2 плейн, как обычно.newold86 wrote:Как думаете, если намертво поставить V_OPTIONS = 0, и запустить обычный BIOS от XT, заработать в режиме CGA должно ?
Ну потому и пусто, что шрифтов нет.newold86 wrote:а вот на экране пусто
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: 8086+FPGA
А, понятно. Я просто думал, что в режиме CGA карта имитирует CGA и в этом отношении - уже залитые шрифты. И только сейчас сообразил, что не помню места в коде, где они могли бы быть 
Тогда другой вопрос - если установлю V_OPTIONS в VGA режим и запущу какой-нибудь VGA BIOS попроще/постандартнее, должно заработать ?

Тогда другой вопрос - если установлю V_OPTIONS в VGA режим и запущу какой-нибудь VGA BIOS попроще/постандартнее, должно заработать ?
-
- Doomed
- Posts: 370
- Joined: 16 Dec 2014 11:58
- Location: Киев
Re: 8086+FPGA
Откуда они возьмутся в RAM сами по себе?newold86 wrote:имитирует CGA и в этом отношении - уже залитые шрифты
Без понятия. Мой код эмулирует 3 хитросделаных бита o/e (odd/even) именно так, как оно работало на EGA, и как должно быть. Современные карты (и поздние VGA) на один или два из них кладут, потому что функции этих бит почти одинаковые, их несколько т.к. у EGA было несколько чипов. В одночиповых вариантах это избыточно.newold86 wrote:если установлю V_OPTIONS в VGA режим и запущу какой-нибудь VGA BIOS попроще/постандартнее, должно заработать
Поэтому как оно будет работать и работать ли вообще - вопрос.
Собственно, кто вам мешает попробовать?

-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: 8086+FPGA
Да я и собираюсь это сделать, обязательно расскажу !Vic3Dexe wrote:Собственно, кто вам мешает попробовать?Заодно и мне расскажете, подходит ли туда стандартный биос.
Просто хотел убедиться, что там нет чего-то, что гарантированно не даст такому BIOS'у работать (типа какой-то изначальной инициализации, помимо битов в V_OPTIONS)
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: 8086+FPGA
С лету запустить с парой вроде бы стандартных BIOS'ов не получилось (вполне вероятно, что что-то не то пока делаю). Причем явно видно, что что-то происходит - синхронизация то исчезает в процессе отработки BIOS'а, то появляется...