VOGONS


First post, by THEBaratusII

User metadata
Rank Newbie
Rank
Newbie

I am currently doing some research for a potential hobby project that I might experiment. The original idea was to utilize the DirectDraw API and develop a game compatible with Windows 95 and can be playable on 486 machines. (preferably DX2 66MHz or DX4 100MHz processors)

I know SDL (referring to SDL1 as SDL2 only requires Windows XP at a minimum) can be a great choice since it can allow the program to be ported over to other platforms while having some good compatibility between retro and modern hardware (like Windows 7+). Or I could just use a wrapper if I do end up using DirectDraw.

However I am not sure if it would fit my purpose of it being friendly to 486 hardware, so does anyone know any games that were developed in SDL but can be friendly/playable on those two processors I mentioned above?

Z6rBOy0.gif
My Website
YouTube Channel

Reply 1 of 3, by leileilol

User metadata
Rank l33t++
Rank
l33t++

The only 486 DX2/66 friendly SDL1 Windows 95 game I can immediately think of is Mirror Magic II. Not much motion happening in that puzzle game.

DX4/100 should be able to handle some older PyGame SDL games like Solar Wolf.

I'm not a fan of how SDL handles input (both of them) so SDL action games on a 486 would probably hit huge delays. Also why I haven't thought about the usual $boomerShooterThatGotGPLedAndSomeoneMadeDataForIt$ that comes up all the time. Same goes for any 3d accelerated games, as that's a later PCI board domain and very very few even think about putting 3d cards in *cough*.

Some SDL ports out there go for portability and treat useful x86 assembly as 'dead code' so there's that thing to watch out for!

apsosig.png
long live PCem

Reply 2 of 3, by midicollector

User metadata
Rank Member
Rank
Member

Depends on what kind of game you're talking about: how fast is it? How much motion is there? Games for the 486 dx2 66 were mostly written for DOS and tended to go through VESA bios routines.

SDL 1 is great, and it will work great on older computers, but a 486 dx2 66 might be a bridge too far if it's a real time game. Your best bet, whether it's SDL or not, is going to be to write the drawing routines in assembly. With some effort, you can use SDL to obtain a low level pointer into graphics memory, which you can then manipulate directly at the assembly level, but it's still not going to be as fast as DOS VESA stuff. 256 color mode at low resolution may help, possibly you could maintain your own buffer and copy it to the screen in an efficient way in assembly, maybe also limiting overdraw, and doing other optimizations. Again your best bet is probably assembly.

On the other hand, if it's not real time, then I would recommend SDL purely for the ease of use. For the record, from personal experience, SDL 1 works great on 300mhz.

Reply 3 of 3, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Good question. A 486DX2-66 with VLB graphics was good enough for WinG games on Windows 3.1/95.
Such as Freddi Fish, Kings Quest 7 or Creatures, which all ran in 640x480 resolution.

https://www.mobygames.com/game/1199/freddi-fi … lp-seeds/specs/

https://www.mobygames.com/game/135/roberta-wi … ss-bride/specs/

https://www.mobygames.com/game/664/creatures/ … 0/cover-682567/

So in principle, an SDL application using DDraw, Overlay or DIB output method should be possible on a 486DX2-66 running Windows 95.
GDI or surface might be slower, I think.
DOSBox for example is an SDL1 applications that can use these outputs in dosbox.conf file.
DIB (WINDIB) output basically is like WinG. WinG allowed GDI+DIB drawing.

Edit: Windows 3.x also supports direct screen access (fullscreen) via mode 13h (dispdib.dll) and WinDirect API.
https://betawiki.net/wiki/Windows_3.0_with_Mu … .0#New_features
WinDirect and MGL
Windows 95 might still support this. It's not really platform independent, though.
DDraw, WinG, SDL or Allegro are better off here, I guess..

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//