Reply 60 of 90, by h-a-l-9000
Well most games already work...
1+1=10
Well most games already work...
1+1=10
wrote:Well most games already work...
Yeah, but so did "most games" before you started patching all the obscure ones 😀. Good work, btw!
JAL
Updating for CVS changes/adding patch:
- fix EGA video clock speed
- panning latch timing
- fix panning on splitscreen for EGA
- misc. cleanup
(Secret Agent doesn't recognize machine=ega btw)
1+1=10
looks okay to me.
Water flows down the stream
How to ask questions the smart way!
case M_TEXT has differing logic from the current changes which needs to be checked
I did wonder why this text mode start address timing had to be different between normal and vgaonly but my patch doesn't touch it?
In the attached patch I've added a way to disable split-line for non-EGA/VGA graphics.
1+1=10
Well can just put the VGA_ProcessSplit() into the switch block.
I did wonder why this text mode start address timing had to be different between normal and vgaonly
Got to look when exactly that was committed, think it was about smooth
text scrollers or so.
my patch doesn't touch it?
It adds linecompare checking to textmode on vret, which was not present before.
supaplex has an ega mode as well. I haven't tried this patch with it yet, but without it, it suffers from a weird scrolling in the status bar. Might be another testcase.
(spfix63 ega)
Water flows down the stream
How to ask questions the smart way!
Well can just put the VGA_ProcessSplit() into the switch block.
Then it breaks if something uses linecompare 0 with the exotic modes on VGA. I don't think 0 should be handled differently.
Got to look when exactly that was committed, think it was about smooth text scrollers or so.
Might be fixed with the panning timing patch, in that case we can probably remove this one.
It adds linecompare checking to textmode on vret, which was not present before.
VGA_VerticalTimer is not vret, it is display start (around 2 milliseconds after vret). I doubt linecompare=0 would be handled differently for text mode.
1+1=10
Then it breaks if something uses linecompare 0 with the exotic modes on VGA.
Did you check those? (cga/tandy-style modes) As the rest is ega/vga/lin.
VGA_VerticalTimer is not vret
Well at the end of the retrace slot then or something.
I doubt linecompare=0 would be handled differently for text mode.
I did not check it that's why i was pointing out that the patch (ega line compare)
changes functionality in an unrelated part (vga text mode line compare with
zero at the display start).
Damnit, not even EGA cards are compatible to each other...
1+1=10
Hehe 😀
Btw. vga attr reg index10 bit5 is named "pel compatibility" flag whereas
setting it to 1 means backwards compatible, so your fix to ignore the
always-pel-panning behaviour for ega is correct.
I've made a little tool that tests the pel timing, display address timing and splitscreen aspects of the vga text mode. It works correctly on the S3 Trio64,
TVGA8900, ET4000, a few others.
It fails on the ET3000 (panning+display start), pvga1a(panning). So those are not 100% VGA compatible.
Edit: updated it. It does multiple modes and adds scrolling/panning. Also adds user-friendlyness by reacting to keypresses.
1+1=10
Some more progress...
First patch is the panning timing change as tested for CVS.
Second is experimantal stuff (text mode panning for the YO demo and my test app above, line-by-line emulation in EGA for the wobbling effect in BHC, put EGA clocks into effect, a few small things)
1+1=10
Maybe I will have to break out my true IBM VGA 8-bit card for one last spin before it goes off to a successful ebay bidder.
wrote:Maybe I will have to break out my true IBM VGA 8-bit card for one last spin before it goes off to a successful ebay bidder.
You must never part with that card. It is like auctioning off the remains of your dead grandmother.
JAL
Fix for Supaplex line compare
1+1=10
Patch for text-mode panning in vgaonly.
Check out the Yo! demo 😀
1+1=10
wrote:As you like. […]
Should this be in the DosBox patches section?
As you like.
or perhaps make it into cvs).
too hackish at some places
Where can I find the original patch? Can't find it in sourceforge patch pool.
is it demovga2.diff what i need? How do I apply the patch to dosbox?
Thanks
An improved version has been in DOSBox source for a long time now. machine=vgaonly
1+1=10