User Tag List

Показано с 1 по 10 из 547

Тема: Что максимум можно выжать из КР580ВГ75 Intel 8275? Обсуждение

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #10

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от freddy Посмотреть сообщение
    пробуйте так :

    Скрытый текст

    set_cur_pos:
    mov dx,VT57_cmd
    mov al,80h ; Temporary stop DMA service
    out dx,al

    mov dx,vg75_cmd
    mov al,10000000b ; CRTC set curs CMD
    cli
    out dx,al
    dec dx
    mov al,cl ; set column
    out dx,al
    mov al,ch ; set row
    out dx,al
    sti

    mov dx,VT57_cmd
    mov al,84h ; Start DMA service
    out dx,al

    ret
    [свернуть]
    Да, так начало работать. Без остановки ДМА - не работало ни в какую.

    Цитата Сообщение от freddy Посмотреть сообщение
    тут ее bios на всякий случай, а то я забыл выкладывал или нет.
    https://disk.yandex.ru/d/DBdvi38S39Q7KQ
    Это не окончательная версия.
    Выкладывали для первой версии ISA карты. Тут я вижу, что вставили вышеприведенный пример в обработчик установки позиции курсора в int 10h, это хорошо. Но, в таком виде у меня на моей 486 биос не заработал - наотрез четверка отказывается грузить видео биос размером в 1024 байта - пищит спикером на отсутствие видюхи (три коротких вроде).

    Поэтому проделал то же, что и со старым BIOS - поменял размер в параграфах на 16 и расширил до 8192 байт. Так начинает грузить. Но, почему-то делает это 4 раза подряд, то есть выводит заставку, ждет, очистка экрана - заставка - ждет, очистка экрана - заставка - ждет и так же еще раз и только потом загрузка. Видимо огрехи неполной дешифрации адреса, когда C0000 + 8192 = C0000, а системный биос от четверки перебирает именно такими кусками по 8к. Ну да и фиг с ним, поправил просто дополнительной строчкой cmp es:[di],ax где-то здесь:
    Код:
    		xor	di,di		;Set int10h vector
    		mov	es,di
    		mov	di,10h*4
    		cld
    		mov	ax,offset int_10
    		
    		cmp 	es:[di],ax	;Check if already vectors installed
    		je nothing_to_do
    
    		stosw			;Store int10h entry point
    		mov	ax,0c000h
    		stosw			;Store Vbios segment
    После чего стало все нормально, один раз заставка выводится и дальше запуск DOS. VC ожидаемо без 3dah не запустился, поэтому взял в руки HIEW и занопил в самом VC.COM все места, где там ждет он retrace. После этого VC запустился, но почему то сразу пишет Press ENTER to return to Volcov Commander. По памяти вспомнил, что такое поведение характерно когда выход в волков происходит не из текстового режима. Загрузил debug.com, накидал прогу mov ah,f; int 10 - получил билеберду в AX=0300, BX=0050, то есть кол-во символов в строке 3, текущий видеорежим 0. Сразу посмотрел сюда:
    Код:
    int_10_fn0F:
    	mov	al,byte ptr ds:[video_columns]
    	mov	byte [bp+int_10_ah],al
    	mov	al,byte ptr ds:[video_mode]
    	mov	byte [bp+int_10_al],al
    	mov	al,byte ptr ds:[video_page]
    	mov	byte [bp+int_10_bh],al
    	ret
    Фиг его знает, но как-то видимо у меня мой TASM не правильно среагировал на mov byte [bp+int_10_ah], выдавая в листинге mov [bp][2], вместо mov [bp][1]. Так же и с остальными адресами регистров в стеке. Поправилось просто удалением ключевого слова byte

    Код:
    	mov	al,byte ptr ds:[video_columns]
    	mov	[bp+int_10_ah],al
    	mov	al,byte ptr ds:[video_mode]
    	mov	[bp+int_10_al],al
    	mov	al,byte ptr ds:[video_page]
    	mov	[bp+int_10_bh],al
    	ret
    После этого VC.COM перестал просить нажать Enter каждый раз перед запуском.
    Турбо паскаль (TURBO.EXE) запустился с ключиком /N- (запрещает ожидание retrace).
    ASCII редактор The Draw - запустился.

    Norton Commander какой-то версии, вроде четвертой, не запустился почему-то. Пятой тоже не запустился, в том числе и инсталятор. UPD: Глянул NCMAIN.EXE - в нем тоже полно mov dx,3dah; in al,dx; test al,xxx; jnz wait_retrace. Странно, что у вас NC вроде бы пускался без порта 3dah ...
    PCDoctor - запустился.
    Microsoft Diag - запустился.
    CheckIt - не запустился. UPD: Так же в теле присутствуют чтение 3dah порта, если занопить их везде, запускается и работает.
    Norton System Info - Так же в теле присутствуют чтение 3dah порта, если занопить их везде, запускается и работает.

    Но в целом, круто! Очень жду новую платку, с регистром 3dah, буду собирать в каникулы.

    Кстати, хотел спросить, а на текущей конфигурации не возможно реализовать текстовый режим 80x43 (переключить шрифт на 8x8, с помощью управления высшими адресами в ПЗУ со знакогенератором, и каким-либо образом настроив ВГ75)? Многие текст-модные демки используют такой режим....

    А насчет BIOS наверное еще нужно сделать авто-определение этого самого base_io при старте, чтоб не перекомпилировать каждый раз сам BIOS когда джамперы меняешь...
    Последний раз редактировалось Tronix; 19.12.2021 в 12:24.

    Этот пользователь поблагодарил Tronix за это полезное сообщение:

    freddy(19.12.2021)

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 21
    Последнее: 21.05.2016, 18:13
  2. Обменяю 5 микросхем КР580ВГ75 на 2 КР580ВВ55
    от Ivan-771 в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 21.03.2012, 08:23
  3. MmcM в эфире Радио Самара Максимум
    от unbeliever в разделе Люди
    Ответов: 15
    Последнее: 09.09.2009, 13:27

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •