Old DirectX SDK versions

Discussion in 'Game Development (Technical)' started by Phil Steinmeyer, Aug 28, 2006.

  1. Phil Steinmeyer

    Original Member

    Joined:
    Mar 1, 2005
    Messages:
    757
    Likes Received:
    0
    I want to build out some low level graphics and sound functionality - 2D graphics and your standard low-latency sound mixing stuff.

    None of the features I have in mind would demand anything from a newer version of Direct X. For maximum end-user compatibility, I'd prefer to use either standard Windows GDI/Sound functionality, or an old version of DirectX (like version 5). i.e. If possible I'd like to support the ~5% of end users still on Win 98.

    On the graphics side, all I need the code to do is set up the graphics mode. I will compose the screen image using my own functions in system RAM, then blit it all over to the screen/VRAM every frame.

    A few months ago, I did some windowed-mode stuff using plain old GDI (DIBs, IIRC), and that was as fast as equivalent code running on Direct X. But, is there another limiting factor? (I seem to recall that you need DirectX to set and use full screen modes, correct?)

    On the sound side, is there anything magical to DirectSound, or could I use the equivalent plain old Windows Sound APIs?

    And if I DO need Direct X (which is what I suspect), how can I (legally) download/obtain old versions of the SDK? MS's own site only appears to have version 9 (possibly 8) forward.

    Possibly there is a super-secret site for some level of MSDN membership with the right stuff?

    My fallback, I suppose, is finding an old 'How to program Direct X' book on Amazon that ships with a CD of the appropriate SDK version. But if there's a legal on-line download source, that'd be groovy.

    And yes, I know of (and have used), SDL, but for various reasons, I'm interested in rolling my own here.
     
  2. cliffski

    Moderator Original Member

    Joined:
    Jul 27, 2004
    Messages:
    3,897
    Likes Received:
    0
  3. gosub

    Original Member

    Joined:
    Sep 10, 2005
    Messages:
    151
    Likes Received:
    0
    No, you can easily get the full screen using only GDI. Make a form without a minimize box, maximize box, or control box. Remove the Window text. Set the form state to maximized mode. Bingo, you have the whole screen and the task bar goes away.

    -Jeremy
     
  4. Tertsi

    Indie Author

    Joined:
    Nov 4, 2004
    Messages:
    513
    Likes Received:
    0
    The PopCap framework runs on Windows 95 with DX7 or DX5 software rendering mode so perhaps you should take some of the code you need from that framework. The DX7 docs and other parts of the SDK should be fine even if you're going to use DX5 alone. Just make sure to use the DX version defines.

    You can go to full screen mode without using DirectX.
     
  5. impossible

    Original Member

    Joined:
    Aug 9, 2004
    Messages:
    443
    Likes Received:
    0
    I don't think there's actually any reason to install the DX7 SDK besides documentation and\or paranoia. Visual Studio should come with all the libs and headers you need for DX7, and even the newest DX9 SDK comes with a ddraw.lib and old headers that I assume run fine on machines with only DX7 installed.

    If your renderer is all software then drawing everything to some buffer and blitting that using SetDIBits should be fast enough. I think the major performance issue with SetBIBits is the GDI automatically converts formats. This could be a problem if you are assuming 32 bit and the user is running in 16 bit color. You can run in fullscreen without using DirectX at all using ChangeDisplaySettings.
     
  6. Donavon Keithley

    Original Member

    Joined:
    Aug 5, 2004
    Messages:
    110
    Likes Received:
    0
    You can set the display mode in Win32 with ChangeDisplaySettings().

    DirectDraw has "exclusive mode" which nominally gives you exclusive access to the display. In fact, though, all it does is automatically resize your window to cover the screen and, when another app gets focus, restore the display mode and minimize your window -- nothing you can't do yourself.

    In either case you want a window with WS_POPUP and WS_EX_TOPMOST styles to keep other windows from poking in front of yours. (WS_POPUP gives you a simple, rectangular window with no decoration.)

    Two things DirectDraw offers that Win32 doesn't are page flipping and waiting for the vertical blank. There is not (AFAIK anyway) any means for avoiding tearing outside of DirectDraw.

    They used to keep them here but it looks like they've cleaned house -- nothing older than DX8.

    If you can find docs for the version you want, you can use the latest SDK -- all previous versions are supported, just no longer documented.
     
  7. Pyabo

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    1,315
    Likes Received:
    0
    I believe "Inside DirectX" shipped with the DX5 SDK on the CD. Might try finding a copy of that at your local Half Price Books, or Half.com.
     
  8. mmakrzem

    Original Member

    Joined:
    Oct 21, 2005
    Messages:
    44
    Likes Received:
    0
  9. Frozen In Ice

    Original Member Indie Author

    Joined:
    Oct 18, 2004
    Messages:
    384
    Likes Received:
    1
    Most of the links don't work or are aimed at Microsoft, which also don't work. I tried to download version 5, it started the ftp transaction and then reported the directory doesn't exist.
     
  10. Frozen In Ice

    Original Member Indie Author

    Joined:
    Oct 18, 2004
    Messages:
    384
    Likes Received:
    1
    If you can wait till this afternoon Phil, I think I have DX5SDK on a cd here (backup of downloads). I'll take a look and let you know, unless you find it elsewhere beforehand.

    Update : I knew I had it somewhere, but haven't located yet. I'll take another look tomorrow in my archives.
     
    #10 Frozen In Ice, Aug 29, 2006
    Last edited: Aug 30, 2006
  11. wazoo

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    519
    Likes Received:
    0
    Weird. This location used to have nearly every DX SDK available!

    (Currently only 7.0 and 7.0a seem to be posted)
     
  12. revve

    Original Member

    Joined:
    Jul 4, 2005
    Messages:
    219
    Likes Received:
    0
    I needed a bit of space urgently on the server, so I archived the less used versions a while ago. Real life and my new company took up a huge chunk (all) of my time - been working 18 hours a day for the last 6 months - this is practically the first time in the last few months I've had a chance to even come visit these forums.

    I have a lot of free space again, so I'll unarchive the other versions - I intended it to be a valuable, free archive, and it will remain so. Most other locations only links to Microsoft, who don't have copies of the software available publicly anymore.
     
  13. Phil Steinmeyer

    Original Member

    Joined:
    Mar 1, 2005
    Messages:
    757
    Likes Received:
    0
    I know not everyone cares about this, but my quick look at the license with the DX files I DID locate indicates that distributing the SDK stuff is a no-no for anyone other than Microsoft. You might want to check it out.
     
  14. Dan MacDonald

    Moderator Original Member Indie Author

    Joined:
    Jul 26, 2004
    Messages:
    1,424
    Likes Received:
    0
    Not that it's any kind of standard, but ptk uses DX7 and there have been a number of top 10 casual hits made with it. (mostly emmanuels, but also bud redhead and a few others)
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer