VOGONS


DOSBox bugs

Topic actions

Reply 40 of 56, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It showed on S3, ET4000, TVGA8900. I don't think I need to try more 😉.

On the VGA card the display address is applied to the display address comparator only once in a frame, at the start of the vertical retrace pulse. For CGA I didn't tinker to find out when exactly it happens yet.

1+1=10

Reply 41 of 56, by SoftCat

User metadata
Rank Member
Rank
Member

On real hardware CGA precisely there is no left column of asterisks. But in DOSBox at CGA emulation this column is.

Reply 42 of 56, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Is there any game affected by this?

Reply 43 of 56, by SoftCat

User metadata
Rank Member
Rank
Member

I will write such game 😉

Reply 44 of 56, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Then leave out such stuff.

Reply 45 of 56, by SoftCat

User metadata
Rank Member
Rank
Member

I have joked. Very much it is pleasant to me DOSBox and I wish to make it better.

Reply 46 of 56, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

😀

Reply 47 of 56, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I'm afraid Super Zaxxon needs this and more.

1+1=10

Reply 49 of 56, by SoftCat

User metadata
Rank Member
Rank
Member

The test program hs3_h.com is a program with the asterisks, intended for Hercules which has only display page 0 (allocated about B000h:0000h). Here negative values of the register (video memory start address) are used.
I also do not have possibility to check up hs3.com on real hardware EGA.

Reply 50 of 56, by HunterZ

User metadata
Rank l33t++
Rank
l33t++
robertmo wrote:

some problems with dosbox's scrolling are visible with cga_comp
http://www.oldskool.org/pc/cgacomp

why why why did they not turn off the ceiling lights in the background of that video 🙁

Reply 51 of 56, by SoftCat

User metadata
Rank Member
Rank
Member

The real hardware EGA card in a text mode can generate 720 columns? That is each character will be 9x14.

Reply 52 of 56, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

A real EGA card used 640 column in text mode by default (8x14), but could actually use the 720x350 text mode of the MDA (9x14).

Personally, I thought the 8x14 looked better when I had an EGA, especially in the background of old programs that used the halftone characters (176, 177, 178).

My site: Ramblings on mostly tech stuff.

Reply 53 of 56, by SoftCat

User metadata
Rank Member
Rank
Member
Kippesoep wrote:

A real EGA card used 640 column in text mode by default (8x14), but could actually use the 720x350 text mode of the MDA (9x14).

Personally, I thought the 8x14 looked better when I had an EGA, especially in the background of old programs that used the halftone characters (176, 177, 178).

What will be if to try to set a graphic mode (colour or monochrome) 720x350 on EGA?
And what will be if to try to set graphic modes (colour or monochrome) 720x350, 720x400 or 720x480 on VGA (not SVGA)?

Reply 54 of 56, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

hs3_h: The column does not show, as expected (Hercules, as CGA, uses the MC6845 which seems to add the display address to the row counter directly)
[Side hint: Hercules 3bah, check for bit7=0 for vertical retrace instead of bit3=1]

hs3 EGA: One EGA card shows that column, the other doesn't. Unfortunately I don't have an original IBM EGA card.

1+1=10

Reply 55 of 56, by robertmo

User metadata
Rank l33t++
Rank
l33t++
h-a-l-9000 wrote:

Patch for text mode memory wrapping, also partially fixes the game 'ICON' with machine=CGA.

Also partially fixes The Seven Spirits of Ra with machine=CGA

Reply 56 of 56, by SoftCat

User metadata
Rank Member
Rank
Member
h-a-l-9000 wrote:

hs3 EGA: One EGA card shows that column, the other doesn't. Unfortunately I don't have an original IBM EGA card.

Michael Abrash in the book The ZEN Of Graphics Programming wrote:
------------------------------------------------------------------
On the VGA, reading AC registers is a bit different from writing to them. The AC Data register can be read from 3C0H, and the AC register currently addressed by the AC Index register can be read from 3C1H; reading does not affect the state of the AC index/data toggle. Listing 8.2 illustrates reading from and writing to the AC registers. Finally, setting the start address registers (CRTC registers 0CH and 0DH) has its complications. As with the split screen registers, the start address registers must be set together and without interruption at a time when there’s no chance of a partial setting being used for a frame. However, it’s a little more difficult to know when that might be the case with the start address registers than it was with the split screen registers, because it’s not clear when the start address is used.

You see, the start address is loaded into the EGA’s or VGA’s internal display memory pointer once per frame. The internal pointer is then advanced, byte-by-byte and line-by-line, until the end of the frame (with a possible resetting to zero if the split screen line is reached), and is then reloaded for the next frame. That’s straightforward enough; the real question is, Exactly when is the start address loaded?

In his excellent book Programmer’s Guide to PC Video Systems (Microsoft Press) Richard Wilton says that the start address is loaded at the start of the vertical sync pulse. (Wilton calls it vertical retrace, which can also be taken to mean vertical non-display time, but given that he’s testing the vertical sync status bit in the Input Status 0 register, I assume he means that the start address is loaded at the start of vertical sync.) Consequently, he waits until the end of the vertical sync pulse to set the start address registers, confident that the start address will not take effect until the next frame.

I’m sure Richard is right when it comes to the real McCoy VGA IBM and EGA, but I’m less confident that every clone out there loads the start address at the start of vertical sync.
------------------------------------------------------------------
The book can be taken here:
http://rapidshare.com/files/256752180/Abrash_ … amming.rar.html

Look Chapter 8: Video Est Omnis Divisa; Notes on Setting and Reading Registers

I recommend to read all Chapter 8.