From: Bernhard Tschirren bernie@icenet.com.au
ZIP (~80KB). NOTE: As I meantioned to Orlando, the source will NOT compile with the latest version of GPC - but it will compile with the NEXT update (whenever that is released!)
Which reminds me, what directory do I rebuild the source from for GPC?
It WAS working with BOTH. I used the protected mode bank swithing (VBE2), if needed. I think that code is still in VESA.PAS. I also had VBE2 linear frame buffer modes working.
You have to think about the loud majority that don't have VBE2 tho. Not everybody has the UniVBE driver, think of how upset the person would be if they bought your game or application only to find out that they have to pay more (especially when they consider that they've spent enough as it is). Another thing is that VBE2 hasn't caught on to Video Card BIOS's yet, not everybody has a Matrox Millenium II. My point is that you can support it as an enhancement, but your libs should not depend on the driver being VBE2. Disregard this if you support direct bank switching for VBE 1.2+
I have done it so that I have the best of both worlds! The VGA.DRV is in ... first attempt at explaining it:
It is a nice scheme, but do you plan to make your lib portable? I ask because loadable drivers may not be portable to other platforms or OS'
This may sound confusing but it is NOT, its the HEART of my engine - and I ... of doing stuff across a network, however I have not thought much about that
One of my major goals is simplicity. I aim for the beginner (hence the API being as it is), the novice, and the advanced user (exposing the virtual screen buffer for custom operations).
Now, back to the OBJECT problem. One of the FunctionNr's provided by the ... this will become clear - its very simple (for me anyway)!
If you go with the COM architecture, I'd suggest writing a wrapper API to target the users who want to focus on the algorithms rather than the coding, or for the beginners.
Somethign else you should consider is how you plan to release the code, I noticed you have it under the GPL, it may be better to release it under the LGPL, it gives the user more flexibility on how they can use it, and also retains your copyright.
See ya! Orlando Llanes