These tutorials focus mainly on OpenGL, Win32 programming and the ODE physics engine. OpenGL has moved on to great heights and I don't cover the newest features but cover all of the basic concepts you will need with working example programs.
Working with the Win32 API is a great way to get to the heart of Windows and is just as relevant today as ever before. Whereas ODE has been marginalized as hardware accelerated physics becomes more common.
Games and graphics utilities can be made quickly and easily using game engines like Unity so this and Linux development in general will be the focus of my next tutorials.
QBasic Version of Define
Information on the QBASIC version of Define:
With the addition of the interrupt definitions, the QBASIC version becomes slow while reading memory. I suggest that before beginning to write a definition or program using QBDefine, that you split the 200 definitions that you are most likely to use into a new definition file. Also I'd suggest trying the program in "real" DOS (6.22 or earlier) as this used to run faster on my system (although this is no longer the case; it seems the file access in DOS slows to a crawl when the definition list grows too large, but you may have better luck).
For the best results use QBASIC 4.5 in Windows and REM out the line that comes up with an error (i.e. REM DEF SEG = SEGMENT: CALL... etc). This means you won't be able to run the program from QBDefine, you will need to save it as a .COM file and run it. The original version of Qbasic doesn't cause the error but the program runs slower.
A few points that I forgot to mention for the QBASIC version are:
When entering values to make a definition, type a U to make the byte within the definition an undefined byte.
To insert a comma into the name of a definition use a semicolon and it will appear as a comma when viewing the definition. This was necessary, because QBASIC doesn't allow the comma to be input when using the INPUT function.
When entering hexadecimal values, use upper case letters and if it is a single character then you need to precede it with a zero, i.e. to enter the number 15 in hex should be 00F, one zero to tell QBDefine that it is a hex number and the other zero to keep the number placing.