nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 13 Dec 2018 13:55



Reply to topic  [ 83 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6
Robotron EC1834 
Author Message
Doomed

Joined: 16 Dec 2014 12:58
Posts: 359
Location: Киев
Reply with quote
VGrad wrote:
Ждёмс трабл для повторения.

Не знаю, что было, но вчера она отказалась запускаться. Ругалась на какие-то символы где-то. Комп не перезагружал, сегодня все ок. Мистика...

Я собственно, что сказать хотел.
Code:
seg000:0F93 VGAEnable       proc near               ; CODE XREF: Init+32p
seg000:0F93                 pushf
seg000:0F94                 cli
seg000:0F95                 mov     dx, 3C3h
seg000:0F98                 xor     ax, ax
seg000:0F9A                 out     dx, al
seg000:0F9B                 mov     bx, 46E8h
seg000:0F9E                 mov     dx, bx
seg000:0FA0                 mov     ax, 10110b      ; VGAsetup = 1, VGA enable = 0, page = 6
seg000:0FA3                 out     dx, ax
seg000:0FA4                 mov     dx, 102h
seg000:0FA7                 mov     ax, 1           ; VGA enable = 1
seg000:0FAA                 out     dx, ax
seg000:0FAB                 mov     ax, 1110b
seg000:0FAE                 mov     dx, bx
seg000:0FB0                 out     dx, ax          ; VGAsetup = 0, VGA enable = 1, page = 6
seg000:0FB1                 xor     ax, ax
seg000:0FB3                 mov     dx, 4AE8h
seg000:0FB6                 out     dx, ax          ; enhanced = off
seg000:0FB7                 popf
seg000:0FB8                 retn
seg000:0FB8 VGAEnable       endp

Вот эта последовательность, похоже, включает доступ ко всем VGA-регистрам.
Я впихнул ее в мою дампилку перед опросом регистров. Теперь можно пробовать пускать ее на 9000.

Есть эталонный вид запуска 9000, как раз его хотел просить. В PulseView можно как-то собрать D и A в кучу?

ps Кое-чего подправил в файле


Attachments:
vgadump.zip [850 Bytes]
Downloaded 7 times
20 Nov 2018 02:12
Profile
Doomed

Joined: 18 Nov 2013 03:38
Posts: 603
Location: Москва
Reply with quote
Vic3Dexe wrote:
В PulseView можно как-то собрать D и A в кучу?


Можно, нужно добавить декодеры протокола Parallel из иконки Image Это будет декодер для ШД. Для ША тоже все просто - в папке програмсфиле\sigrock\PulseView\share\libsigrockdecode я просто скопировал директорию Parallel в директорию Parallel20 и в самом питоновом скрипте pd.py поменял в начале там
NUM_CHANNELS = 20

class Decoder(srd.Decoder):
api_version = 3
id = 'parallel20'
name = 'Parallel20'

и перезапустил PulseView. Теперь по вышеупомянутой иконке есть новый протокол декодер Parallel20, добавляем его и это будет для ША.


20 Nov 2018 02:56
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 359
Location: Киев
Reply with quote
Так, ну все отлично. Инициализация одинаковая у них, доступ к портам включается (из 3C5 с индексом D успешно читается 0 и там и там).
Дальше не видно, из-за длинной инициализации DAC.

Попробуй поставить триггер на вот это:
Code:
seg000:1009                 mov     dx, 3C2h
seg000:100C                 mov     al, 23h
seg000:100E                 out     dx, al   

и сравнить картинки


20 Nov 2018 03:03
Profile
Doomed

Joined: 18 Nov 2013 03:38
Posts: 603
Location: Москва
Reply with quote
Vic3Dexe wrote:
Так, ну все отлично. Инициализация одинаковая у них,


Да, это я уже посмотрел тоже.

Vic3Dexe wrote:
Попробуй поставить триггер на вот это:
Code:
seg000:1009                 mov     dx, 3C2h
seg000:100C                 mov     al, 23h
seg000:100E                 out     dx, al   

и сравнить картинки


У меня другая идея - записывать просто все обращения к портам => 0x340, например, или какой там самый младший порт VGA?. А потом примерно такую табличку вывести:
-->> Write port 0x46E8 data 0x16
-->> Write port 0x46E9 data 0x00
<-- Read port 0x3c5 data 0x00

и тд.


20 Nov 2018 03:27
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 359
Location: Киев
Reply with quote
Tronix wrote:
У меня другая идея - записывать просто все обращения к портам => 0x340, например, или какой там самый младший порт VGA?. А потом примерно такую табличку вывести:

Так опять же 3C9 все испортит. Нужно пропустить его инит.
А вообще диапазон 3C0..3CF, 3D4, 3D5, 3DA (ну этот сугубо статусный), и нестандартные 46E8, 4AE8, 102, 103.


20 Nov 2018 03:32
Profile
Doomed

Joined: 18 Nov 2013 03:38
Posts: 603
Location: Москва
Reply with quote
Vic3Dexe wrote:
Так опять же 3C9 все испортит. Нужно пропустить его инит.
А вообще диапазон 3C0..3CF, 3D4, 3D5, 3DA (ну этот сугубо статусный), и нестандартные 46E8, 4AE8, 102, 103.


Хм, а сколько раз он пишет то в него? 255? Или 255 x 3 = 768? По идее у меня 32Кб памяти, для записи обращения к портам нужно 3 байта - два байта на номер порта и самый старший разряд в слове - указатель операции запись или чтение и байт на байт данных. Это примерно 32768/3 = 10 922 отслеживаемых операций ввода-вывода. Не хватит?


20 Nov 2018 03:45
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 359
Location: Киев
Reply with quote
256 RGB троек = 768 байт.
А, в смысле хватать только обмены с портами... Может получиться, да.
Еще не забыть 46E9 и 4AE9 (старшие половинки).


20 Nov 2018 04:35
Profile
Doomed

Joined: 18 Nov 2013 03:38
Posts: 603
Location: Москва
Reply with quote
Vic3Dexe wrote:
А, в смысле хватать только обмены с портами... Может получиться, да.
Еще не забыть 46E9 и 4AE9 (старшие половинки).


Ну да, только обмены. Это ж все легко правится в верилоге и заливается по JTAG в девайс. Попробую как время будет.


20 Nov 2018 04:54
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 83 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6

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:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.