VOGONS

Common searches


First post, by SoftCat

User metadata
Rank Newbie
Rank
Newbie

Incorrect waiting for vertical retrace on hercules machine. Look code:
-------------------------------------------------
mov dx,3BAh
wait_0:
in al,dx
test al,8
jnz wait_0
wait_1:
in al,dx
test al,8
jz wait_1
-------------------------------------------------
Look hgc.zip
Test program: hs_h.com
Results:
hs_h.gif -- MS-DOS video
hs_h_dosbox.gif -- DOSBox video

Attachments

  • Filename
    hgc.zip
    File size
    40.12 KiB
    Downloads
    235 downloads
    File license
    Fair use/fair dealing exception

Reply 1 of 3, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author
03BA  R-  CRT status register (see #P0656)

Bitfields for mono video adapter CRT status register:
Bit(s) Description (Table P0656)
7 HGC: vertical sync pulse in progress
6-4 adapter identification
(MSD says) if bit 7 changes within 8000h reads then
=000 adapter is Hercules or compatible
=001 adapter is Hercules+
=101 adapter is Hercules InColor
else: adapter is unknown
6-4 =111 on MDA and some HGC clones
5-4 (mono EGA, mono ET4000) diagnose video display feedback
select from color plane enable
3 (MDA,HGC) pixel stream (0=currently black, 1=currently white)
(mono EGA, mono VGA) vertical retrace in progress
2-1 (MDA) reserved
2 (HGC, mono EGA) lightpen flipflop set
(mono ET4000) reserved (0)
1 (HGC) lightpen input stream (if set, current value to get from
PORT 03B5h registers 10h-11h)
(mono ET4000) reserved (0)
0 horizontal drive enabled

Don't know if vsync is working for the hercules machine type; but from the docs I have, it appears bit 7 should be tested (i.e. "test al,80h")