I'm pleased to announce the release of BBC BASIC for Windows version 5.92a. This is primarily a maintenance release to fix some minor anomalies reported or discovered during the last year, but a few new features have been incorporated as an added incentive to upgrade: 1. Compiled executables can be compressed as well as encrypted. This reduces the size of BB4W 'compiled' executables without needing to use an external utility such as ZIP or NeoLite. By compressing *before* encryption, it overcomes the disadvantage that an encrypted executable can't be effectively compressed. Also, a compressed BB4W executable can be digitally signed, which is not always the case with other methods of compression. 2. Can 'sign' executables, if you have a code-signing certificate. BB4W compiled executables are compatible with code signing, but previously it has required a separate command to be issued. Now, your code signing tool can be activated automatically (details of the command and its parameters are stored in the registry; see the 'Cannot run Sign Tool' and 'Sign Tool failed or aborted' error descriptions). 3. Resources (e.g. VERSIONINFO) can be incorporated in executables. This provides a way of embedding any kind of Windows resource within a 'compiled' executable without using an external utility. For example embedding a VERSIONINFO resource will cause the program's name to appear in Process Explorer's listing and may result in the program being more 'trusted' by a malware scanner. 4. Keyboard accelerators are supported. Keyboard accelerators allow you to create keyboard shortcuts for menu items, even when a child window such as an Edit Control has the input focus. Previously, they could only be used with dialogue boxes, not the main output window. 5. Setting bit 22 of @% overrides the F-format digit count limit. Previously, for compatibility with other versions of BBC BASIC, the maximum number of significant figures you could print in F (fixed) format was 10 (*FLOAT 40 mode) or 16 (*FLOAT 64 mode). 6. In *SYS1 mode, WM_NOTIFY puts the notification code in @wparam%. The WM_NOTIFY message has a parameter block containing useful data, however by the time the ON SYS event occurs this data may no longer be valid. Version 5.92a copies the notification code from that block into the HIWORD of @wparam% so it is accessible, making the WM_NOTIFY and WM_COMMAND messages very similar. 7. Improved support for 'add-in utilities' under 64-bit Windows. Owing to what appears to be a bug in 64-bit Windows, some add-in utilities (notably Memory Monitor and Module Viewer) don't run on that platform. Version 5.92a incorporates a workaround for this issue, allowing revised versions of those utilities to run. The following add-in utilities are included in the BB4W distribution and are installed automatically if the relevant 'slot' is free: Differences Lists the differences between two BASIC programs Macro Recorder Makes it easy to create BB4W keyboard macros Memory Monitor Monitors and reports memory usage in real time Module Viewer Shows INSTALLed modules alongside main program Paste Unicode Allows pasting of Unicode strings into a program Profiler Reports how much time is spent in each statement Utilities Extn Supports and manages additional add-in utilities Version Info Adds a VERSIONINFO resource to a 'compiled' exe Windows Consts Automatically adds Windows Constant declarations The following libraries, new to the BB4W distribution, are included: ASMLIB2.BBC Assemble SSE2 instructions D3DX8BBC.DLL Direct3D version 8 extensions The following example programs, new to the distribution, are included: ASMTEST5.BBC Tests the SSE2 instructions MANDEL.BBC Uses SSE instructions to plot a fractal quickly TEAPOT.BBC A 'tumbling teapot' demonstration using D3DX8 To upgrade your copy of BBC BASIC for Windows to version 5.92a, and at the same time update your libraries, example programs and manual, download and install UPGRADE.EXE from here: http://www.rtrussell.co.uk/bbcwin/download.html Richard.