ned Productions – CallWin32

by . Last updated .

CallWin32 is a plugin for the Red Squirrel emulator (emulates an ARM-based Acorn computer) which permits RISC-OS to make Win32 calls in the context of the emulator. NEW: Now any Win32 code can invoke execution of up to 64 preinstalled RISC-OS code handlers.

It also comes with a number of tools which use CallWin32 and they provide the following:

  • Passes idle RISC-OS time back to Windows so CPU isn't always at 100% (NEW: Now *configure-able in aggressiveness)
  • NEW: Synchronises RTC time so the RISC-OS doesn't lag
  • NEW: Synchronises the RISC-OS mouse pointer with the Windows one
  • NEW: Mouse wheel now scrolls RISC-OS windows (also configurable)
  • NEW: RISC-OS mouse pointer won't continue to move nor receive clicks when Windows one exits Red Squirrel window


25th November 2005 v1.01: Released v1.00 under the LGPL so it can be included into VirtualAcorn.

25th October 2002 v1.00: Rebound DLL with latest RS 0.6 SDK (binary incompatibilities mean newer RS's will provoke various strange crashes in either RISC-OS or RS). Added support for disabling mouse input when MouseSync is being used. Fixed bug where mouse movement outside a bounded box didn't work. Fixed another bug where negative mouse bounding box values were getting converted into really big positive ones instead. Added support for new full screen upcall. Fixed bug in mapping pointer coords in double eigen modes (eg; mode 13). Released publicly.

24th September 2002 v0.95: Fixed bug where mouse movement over the RS window when RS window didn't have focus still caused RO ptr to move. Coded up the RSTools BBC Basic program as a module task. Added wheel movement to scroll translation. Added * commands to configure features. Made * commands into *configure commands. Had mouse movement issue a service call which if unclaimed then moved mouse. Fixed bug where CallWin32 crashed old IOC machine models. Released publicly.

20th September 2002 v0.90: Graeme finally added a method of obtaining the RS window handle, so debugged everything and turned TestMouse into a module. Released publicly.

1st September 2002 v0.75: Added vector support. Updated these docs. Changed memory copy back routine to use 4 byte transfers instead of 16 so buffers didn't get corrupted (copy out still uses optimised copy routine). Wrote MouseSync.dll & TestMouse but couldn't test it.

20th July 2002 v0.55: Added memory block support and fixed quite a few bugs. Upped to v0.55. Made a little app to return idle RISC-OS time. Released publicly for the first time

19th July 2002 v0.50: Released as beta to Red Squirrel mailing list


CallWin32 is available under the GNU Library General Public Licence. You can review an online copy of the included documentation here:

Note: CallWin32 binaries will only work with v0.6 of Red Squirrel (or the equivalent VirtualAcorn). You should be able to recompile them against a newer version if you wish - note that I cannot help you do this.

Note that you need a working copy of RISC-OS to compile the RISC-OS side of the plugin and MSVC to compile the Win32 side. You will also need SparkPlug or other zip file extractor for RISC-OS.

Contact the webmaster: Niall Douglas @ webmaster2<at symbol> (Last updated: 2002-07-19 00:00:00 +0000 UTC)