I've just uploaded a new version of ObjAsm32. This release covers some new points and a lot of optimizations. Some of them are:

  • New dual method tables.

  • New project organization grouped in the Model.inc file.

  • New NOFRAME method option.

  • Debugging synchronization with DebugCenter.

  • Collection objects speed improvements.

  • ObjMem32.lib procedures revised to speed them up.

  • ObjMem32.lib can be build now for 386 or Pentium III targets.

  • DirectX 9c C inline procedure additions.

  • ObjAsm32 AddIn for RadASM with full source code.

  • ObjAsm32.chm updated.

One of the most important OOP model improvements is the introduction of Dual Method Tables (DMT). They are build from two method tables, the interface method table (IMT) used for COM interfacing, and the static method table (SMT) for regular object usage. Until now, both tables needed a separate pointer to access them. Now, using a DMT only one pointer placeholder is needed in the object instance. To keep the OOP inheritance and polymorphism, the SMT were build in reverse order and put before the IMT. By this way, both tables can grow, one in the positive and the other in the negative memory direction.

The programming model was reorganized and the whole housekeeping was placed in the Model.inc file. 3 new macros perform the tedious and repetitive but necessary work: SysSetup, SysInit and SysDone. The first macro is responsible for loading all files that are needed for the specified OOP level and debugging requirement. The last 2 macros perform the runtime initialization and finalization of the system.

NOFRAME is a new method option that was introduced to allow writing of faster short-methods. It is the equivalent to switch off the prologue and epilogue generation. A few methods of objects at the top of the inheritance tree were enhanced with this option, i.e. Collection and its variations.

Some changes in the debugging system were introduced to communicate synchronously with the DebugCenter. This allows using the debug macros and procedures in any user mode situation.

The ObjMem32 library was revised and some important speed improvements were made. It is now also possible to recompile the library for 386 and Pentium III targets.

DirectX was completed with the equivalents of the C inline code.

To facilitate the work with the OOP framework, a new version of the ObjAsm32 AddIn for the popular RadASM editor was released with its source code.

Finally, the ObjAsm32 help file was updated to reflect the last changes described above.

Thanks to the contributions of many users, the package was completed with new objects like DwordCollections, LinkedLists, etc. to facilitate even more the daily coding work in ASM.

You can find the new download at the ObjAsm32 homepage: http://ObjAsm32.Tripod.com  ;)


Posted on 2005-10-16 12:48:04 by Biterider
Hi Biterider,

I downloaded the package and installed it (not tried anything yet). The setup program copies and overwrites files in the windows system directory, but no log file is written so one cannot see what has been done in detail :((. And your website itself looks ... "interesting", but not at all like a site for developers. Are all these ads, popups and java things really necessary?

on win9x systems the setup procedure modifies config.sys and autoexec.bat without notifying the user. I know some people who don't appreciate such things.



Posted on 2005-11-06 01:57:18 by japheth
Hi Japheth,

A brief description of what the installation program does is listed in the \Masm32\ObjAsm32\Help\Install.txt file.

Unfortunately I haven’t found a free server without banners or popups that let me handle big zip files for download. I know that it is annoying, even for me, but for the moment and until I fill my purse again, I can’t offer a better solution. Sorry…


Posted on 2005-11-06 05:49:01 by Biterider

Biterider, thanks for your reply

> A brief description of what the installation program does is listed in the \Masm32\ObjAsm32\Help\Install.txt file

the files copied into windows system directory aren't mentioned in this file. Could this be added?
I found at least 2, resguard.dll and hhactivex.dll.
Posted on 2005-11-06 11:08:31 by japheth
Hi Japheth
I revised the installation script and I can confirm that these are the only 2 files copied into the system directory. I added it to the install.txt file. Thanks!


Posted on 2005-11-06 12:04:33 by Biterider