VOGONS


DOSBox bugs

Topic actions

Reply 20 of 56, by SoftCat

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

Nevermind, I've hex-edited the com file - it works the same as on CGA.

Your real CGA and Hercules works same as on DOSBox?

For Hercules: hercules.zip

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

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I meant real Hercules works same as real CGA. I'm preparing a patch for DOSBox.

1+1=10

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

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Patch for display address.

1+1=10

Reply 23 of 56, by SoftCat

User metadata
Rank Member
Rank
Member

Negative scrolling values example: il.zip

CGA, EGA, VGA and SVGA test program: il.com
Hercules test program: il_h.com
Real VGA video: il.gif

Before Page 0 must be Page 7.

Reply 24 of 56, by SoftCat

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

Patch for display address.

Could you share DOSBox 0.73 compilation with this patch?

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

User metadata
Rank DOSBox Author
Rank
DOSBox Author

CGA has only 4 pages, Hercules only one.

1+1=10

Reply 26 of 56, by SoftCat

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

CGA has only 4 pages, Hercules only one.

My russian IBM PC "Electronika MS-1502" with CGA card has 32K of video RAM (B800:0000 -- B800:7FFF). 8 pages in text mode 80 x 25 and 16 pages in text mode 40 x 25.

Reply 27 of 56, by SoftCat

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

CGA has only 4 pages, Hercules only one.

Tests for 4 pages CGA and one page Hercules.

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

User metadata
Rank DOSBox Author
Rank
DOSBox Author

My russian IBM PC "Electronika MS-1502" with CGA card has 32K of video RAM (B800:0000 -- B800:7FFF). 8 pages in text mode 80 x 25 and 16 pages in text mode 40 x 25.

SuperCGA 😀

Wikipedia says 16k RAM.

1+1=10

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

User metadata
Rank DOSBox Author
Rank
DOSBox Author

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

1+1=10

Reply 30 of 56, by SoftCat

User metadata
Rank Member
Rank
Member

Again bug.
5) Incorrect scroll for positive values of registers 0Ch, 0Dh of port 3D5h on CGA and VGAONLY machines (slow reaction of scroll).
See hs3.zip
Test program: hs3.com
Results:
hs3_vgaonly.gif -- DOSBox video of vgaonly machine incorrect scroll (slow reaction of scroll)
hs3_vgaonly.png -- DOSBox screenshot of vgaonly machine

hs3_svga_s3.gif -- DOSBox video of svga_s3 machine correct scroll (normal reaction of scroll)
hs3_svga_s3.png -- DOSBox screenshot of svga_s3 machine

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

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Can't reproduce - do you use some odd cycles values?

1+1=10

Reply 32 of 56, by SoftCat

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

Can't reproduce - do you use some odd cycles values?

I use even and odd values for registers 0Ch (hi byte), 0Dh (lo byte) of port 3D5h. My values are: 7B1h, 7B2h, 7B3h, ..., 800h. Final value 800h corresponds video page 1.
On vgaonly machine -- only slow reaction.
On cga machine -- slow reaction and half address (for odd values of registers: attributes changes with symbols).
On svga_s3 machine -- correct work.

Reply 33 of 56, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Please post the exact dosbox version, and the config file contents.

Reply 34 of 56, by SoftCat

User metadata
Rank Member
Rank
Member
wd wrote:

Please post the exact dosbox version, and the config file contents.

My DOSBox version 0.73 (i used also 0.72) for Windows. My system is Windows XP.

Last edited by SoftCat on 2009-07-08, 11:30. Edited 1 time in total.

Reply 35 of 56, by SoftCat

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

Can't reproduce - do you use some odd cycles values?

My program hs3.com use active display page 1. If you use text_addr.diff and text_addr2.diff you must patch function 5 of INT 10h (select active display page). You must patch also cursor position.

Registers 0Ch, 0Dh (of port 3D5h) values for text modes 80x25 :
Page 0........0000h
Page 1........0800h
Page 2........1000h
Page 3........1800h
...
Page 7........3800h

Registers 0Ch, 0Dh (of port 3D5h) values for text modes 40x25 :
Page 00h.......0000h
Page 01h.......0400h
Page 02h.......0800h
Page 03h.......0C00h
...
Page 0Fh.......3C00h

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

User metadata
Rank DOSBox Author
Rank
DOSBox Author

text_addr2.diff includes text_addr.diff, don't use them together.

1+1=10

Reply 37 of 56, by SoftCat

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

Can't reproduce - do you use some odd cycles values?

What exactly can't reproduce?

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

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Ok, now I've found something.

The left column of asterisks also shows up on real hardware VGA but not on real hardware CGA as in DOSBox.

The "slow reaction of scroll" I can't repoduce neither in vgaonly nor others.

1+1=10

Reply 39 of 56, by SoftCat

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

Ok, now I've found something.

The left column of asterisks also shows up on real hardware VGA but not on real hardware CGA as in DOSBox.

The "slow reaction of scroll" I can't repoduce neither in vgaonly nor others.

The error means on real hardware VGA. A column of asterisks should not be at the left at all on any card. I at first wait for vertical synchronisation, then I change value of the register (video memory start address) and only in the end I put a column of asterisks. The videocard for some reason waits one frame, and then changes the address. I name it as slow reaction (slow response).