-
Notifications
You must be signed in to change notification settings - Fork 388
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] Emulate other 3D accelerators like the Savage series, Riva series, Voodoo 3, and (if possible) Diamond Edge #1773
Comments
This should be added as additional machine= types since the cards mentioned are integrated VGA and accelerator on a card. I recommend:
Also since these are PCI cards, the svga machine types mentioned should not be available if dosbox.conf has PCI bus emulation disabled. |
I also want to point out that while building the emulation from datasheets and whatever Windows does is initially fine, long term I suggest writing test code to program the hardware and determine actual behavior. Much like the code I write in DOSLIB. As always, know that actual hardware behavior can differ from datasheets. |
I have some datasheets for SVGA chipsets (that I've been able to find) up on hackipedia.org. Here's what I have for S3 (not sure if Savage) |
There is an experimental patch for S3 Virge with S3D support You can find the games with S3D support listed in this thread: The patch however needs some work, instead of replacing the S3 Trio, it needs to be a separate option and it needs further testing and development. |
@joncampbell123 I've got some basic code for the nVidia RIVA 128 in my 86Box fork here https://github.com/qeeg/86Box/tree/feature/riva128 if you need a base to start with. Keep in mind that I'm pretty sure that the interrupt emulation is still a liiiiiiiittle off. |
I found that for the NVidia NV1 card. This is the code of the SEGA Saturn emulator, where the 3d unit of the NVidia NV1 card should be based. |
The Nvidia NV1 isn't based on the Saturn's graphics hardware AT ALL. That's a common misconception. |
Note that I do not have a full understanding of this with such things, so it is possible that I may have said something that didn't add up while I was writing it! I can see that there could be a lot of machine values eventually. This is just an unfinished example. [svga]
s3_savage=savage_xp
riva=tnt2
voodoo=voodoo5_5500
diamond_edge=stg_2000_edge_3d |
Has anyone even worked on adding these 3D accelerators to DOSBox-X after 2020, and is it worth adding SVGA or something like that as a separate section? |
It makes no sense to add "svga" as a machine option as there is no single svga standard. Every vendor had its own implementation, and often vendors even had multiple incompatible or partly compatible implementations. |
@rderooy I understand. By the way, today I found out that (the) current version(s) of DOSBox-X already emulate SVGA ATI as multiple machine values. |
Those ATI machine types are experimental, and incomplete, and not suited for actual use at this point. This is also mentioned on the wiki. |
@rderooy I have just now noticed that the ATI machine values are incomplete. I just tried svga_ati_mach64, then installing one of the Mach64 drivers in Windows ME, with no luck. I haven't had time to do a full survey, but do you know which of the values are the closest to complete? |
None or suitable right now for actual use. |
@aquaboxs above is adding Riva128 and Voodoo3 to DOSbox. 86Box/PCBox have Riva128: PCBox/PCBox#34
Bochs extends DOSbox Voodoo to Banshee and Voodoo3 with further improvements, LGPL BIOS, etc. |
is something exist to try or test on those 3d accelerators? some branches / patches? in binary form. |
@WhiteMagicRaven I just checked it with the very latest nightly build (64-bit MinGW, SDL 2), no new machine values since the unfinished ATI machine types (tested ATI Mach64). |
Nvidia documentation, envytools
|
Is your feature request related to a problem? Please describe.
Kind of. Voodoo 1 being the only accelerator that can be emulated in DosBox-x sorta disappoints me, and I would like to see other 3D accelerators of the 90s be emulated.
Describe the solution you'd like
If possible, please implement emulation for the early cards in the S3 Savage series and NVidia Riva series. And possibly Diamond Edge, although this might be me losing my mind.
Describe alternatives you've considered
The only alternative is to emulate Voodoo1, which isn't that advanced.
Additional context
On the other hand, emulation of these other accelerators might be tricky, as currently 3D emulation in Windows 9x in DosBox-x is weird; polygons may stretch in games like The Sims 1 and Tomb Raider 2. 3D emulation in MS-DOS doesn't have this problem.
Also, emulation of the Savage, the Riva, and definitely the Diamond Edge might be too out of scope for DosBox-x. Either way, it would be nice to see emulation of these MS-DOS/Windows 95-era 3D graphics cards.
The text was updated successfully, but these errors were encountered: