Результаты на реальном компе пока такие.
На 60 герцах - http://radikal.ru/video/HpMbb3nnEhI
На 50 герцах (исходник прилагаю) - http://radikal.ru/video/2iZhyg7rFFZ
Цветные игры (в т.ч. болдер) на этом тв-тюнере тоже слетают, а вот демка от DDp функционирует корректно.
Какие у неё параметры?
Скрытый текст
;Compile with "Macro Assembler AS" http://john.ccac.rwth-aachen.de:8000/as/
HIGH FUNCTION X,((X>>8)&0ffh)
LOW FUNCTION X,(X&0ffh)
;
include "config.asm"
SCREEN: equ 746ch ;0x8000-78*38
IF RADIO86RK
CTRL_CRT: equ 0c000h
CTRL_DMA: equ 0e000h
ELSEIF MIKROSHA
CTRL_CRT: equ 0d000h
CTRL_DMA: equ 0f800h
ELSEIF APOGEE
CTRL_CRT: equ 0ef00h
CTRL_DMA: equ 0f000h
ENDIF
org 0000h
lxi sp,SCREEN-1
lxi h,SCREEN
xra a
mov c,a
clrscr1:mov m,c
inx h
ora h
jp clrscr1
lxi h,CTRL_CRT+1
mvi m,80h
dcx h
mov m,c
mov m,c
inx h
mov m,c
dcx h
mvi m,4dh
mvi m,25h
mvi m,07h
mvi m,73h
inx h
mvi m,27h
mov a,m
wait0: mov a,m
ani 20h
jz wait0
lxi h,CTRL_DMA+8
mvi m,80h
mvi l,04h
mvi m,LOW(SCREEN)
mvi m,HIGH(SCREEN)
inr l
mvi m,93h
mvi m,4bh
mvi l,08h
mvi m,0a4h[свернуть]
Из того, что я понял,
0x4D - символов в строке = 78
0x25 - строк в кадровом импульсе - ?, строк в кадре = 38 (?) или нет?
собственно, больше я ничего и не понял.
1) Как расшифровать 07h и 73h(3 и 4 параметры ВГшки)?
2) Неясны значения функций, а точнее, непонятно как соотносятся
screen_addr & 0x00FF из примера с LOW FUNCTION X,(X&0ffh) из исходника DDp (но здесь хотя бы логика аналогична), а вот тут
screen_addr >> 8 из примера с HIGH FUNCTION X,((X>>8)&0ffh) из исходника.
3) Как расшифровать 93h и 4bh (3 и 4 параметры ВТшки)?
Чувствую, я уже близко)
- - - Добавлено - - -
Такое ощущение, что с частотой и настройками ВГшки всё ок, а вот адресация видеопамяти идёт не пойми куда...





Ответить с цитированием