6

I'm trying to get into MS-DOS development for fun, and I'd like to use SciTech's SVGAKit library. The last version of it is still downloadable via the Internet Archive here. However it seems to be incomplete. SciTech seems to have split their build system up so that you'd need a set of support make files, that's OK I've found enough bits of that in other things to figure out how to build it myself. What I don't want to try to deal with is that one file seems to be missing: svga.inc for exporting definitions to call into the library from assembly, but it also defines structs for the library to use so I can't build the library without it.

I could learn TASM and re-create it based on the C headers... but I don't really want to.

If anyone out there has SciTech's MGL 3.0 library (SVGAKit was included in it) or a more complete archive of their FTP server from around 1996 I'd love hear about it!

The main reason I want to use SVGAKit is that it deals with a bunch of DPMI gunk to do with making sure things are mapped when calling into the VESA BIOS.

A suggestion for an alternate library that works with DJGPP would also be welcome.

6
  • There used to be a tool to convert C header files to INC files (MASM/TASM compatible). It used to be part of MASM and was called H2INC.EXE. Not sure it can help you? I think Borland may have had a similar tool. I wonder if the SVGA Kit make facilities may have used such a program to convert the SVGA.H file to SVGA.INC. Aug 17 at 3:46
  • For the record, the Makefile support archive is mkutil22.zip, available from SimtelNet or SMSW-6. Aug 17 at 7:29
  • @MichaelPetch As far as I can tell, they don't. I've seen multiple versions of them, I'm not sure which is the right version for building SVGAKit, but none of them seem to have rules to generate any includes... nor would the structure of them really work for doing it.
    – Spudd86
    Aug 17 at 13:38
  • @StephenKitt I'm pretty sure that matches SVGAKit 5.2 the one that I have been trying to resurrect is 6.2, 5.2 doesn't seem like you're supposed to build it, it comes with binaries, but not for DJGPP. I'm not sure where in either package it says which version of the SciTech makefiles you're supposed to have.
    – Spudd86
    Aug 17 at 13:41
  • @Spudd86 that’s certainly a possibility; I saw that mkutil22.zip includes support for DJGPP and jumped to the conclusion that it would be relevant for SVGAKit 6.2, since 5.2 doesn’t. But I didn’t try building 6.2 with mkutil2.2.zip (and in any case it doesn’t address your svga.inc problem, which is why I wrote that as a comment). Aug 17 at 13:45

2 Answers 2

5

The complete sources for SVGAKit seem to be part of MGL 4.05 as well. I'm not certain it's the same 6.2 version, but it's close.

The problem is that to get it you have to have Windows 3.1 and install MGL 4.05 and it's source code and then figure out how to separate SVGAKit from the rest.

MGL 4.05 is available from here an ftp site and on The Internet Archive The files you need are:

  • mglb405.exe The base install of MGL 4.05
  • mgls405.exe Source code of MGL 4.05

You must successfully install the base before you can install the source. I had issues getting that working in DosBox so I used a real machine.

SVGA Kit seems to vanish entirely after MGL 5.0 came out. The version here may also include some changes to support DJGPP since MGL 4.05 does have DJGPP support.

I have pulled out I think enough stuff to get a stand alone DJGPP build of SVGAKit you can get it here NOTE: building requires Borland Turbo Assembler since SciTech had not yet ported their assembly code to work with NASM's TASM mode or re-written for other assemblers.

4
2

I've used this tool for .h -> .inc conversion: https://www.japheth.de/h2incX.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.