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.
Define Assembler/Disassembler
Define is both a high level and low level assembler.
Define is primarily an assembler/disassembler for creating and reading programs such as *.COM files or any other memory mapped program.
Using Define you can also create a library/definition list of unfriendly or virus programs and read memory to find them.
Like a reference manual you can name and describe known data areas in memory (such as the interrupt vector table) and see their values in real time.
Define has eight types of labels for displaying jump destinations or describing data bytes, etc and has two special types of labels that check sensitive memory areas that you feel shouldn't change.
The assembling of code using define is almost completely macro orientated with minimal keyboard use.
Addresses and byte values are displayed in both Hexadecimal and Decimal notation.
Unlike all other languages, Define does not parse source code and then create the machine code in a hidden way. Define parses the bytes in memory and checks a library of definitions for one that describes that byte or sequence of bytes. The macro ability of Define comes from being able to use the same library of definitions to write the byte sequence into memory. The most common assemblers restrict you to using their instruction set mnemonics, which are predetermined, cryptic and very non-descriptive. Their mnemonics are generally three characters in length. However, with Define the same byte sequences in the instruction set may be renamed to anything you like and up to 250 characters in length, allowing room for a suitable description. Don't worry about the description not fitting on the screen, they scroll.
More Information
Additional info for the ASM version of Define
Additional info for the QBASIC version of Define
Download Define
Define (114KB)
The download contains both the ASM version and the QBASIC version.
* Updated 29/7/1999