Dr Wimp logo >© Andrew Ayre 1995–99     © Ray Favre 1999–2010
For users of RISC OS machines.

Version 5.02 (2012-01-01)

!!Click here to see changes made in latest release   |   To Ray Favre's Welcome page

About Dr Wimp

Download some applications made with Dr Wimp

Download the following six articles on using Dr Wimp in practice:

A Dr Wimp column in Archive magazine

Archive is a subscription magazine for Acorn (RISC OS) computer users. Find out more from its website at archivemag.co.uk.

Two books


The Doctor Wimp package comprises a set of utilities and a function library designed to make multi-tasking desktop (Wimp) programming very easy for anyone reasonably familiar with BBC Basic.
The heart of the package is a rather special library (called DrWimp for short) which Andrew Ayre developed constantly from March 1995 until early 1999. (From 1st May 1999, Ray Favre took over the support and distribution of the package.)

The package therefore represents hundreds of man-hours of work and is Public Domain (freeware). It comes with an on-disc User Manual (in both Impression and Plain Text formats) which runs to over 200 pages (which tends to increase with package upgrades!).

The beauty of Dr Wimp is that users never have to fiddle about with blocks of memory, 32-bit words, bytes, bits, or see a single SWI call, etc.

As an example, to get an application to put an icon on the iconbar, open a window when clicked on and provide an iconbar menu takes roughly 16k of Basic user-coding by normal methods. Using Dr Wimp, the same thing can be done easily and reliably with just a few lines of user-code - still using Basic i.e. no need to learn another language.

The latest version of the Dr Wimp package is now available, by download or mail. Full instructions on how to upgrade from any version to the latest version are included.

Back to start of page   |   To Ray Favre's Welcome page.


DrWimp consists of a matched set of 'user-functions' and 'wimp-functions'. These are either Basic DEF FNs or DEF PROCs.

Wimp-functions are held in the DrWimp library and you, the programmer, call them as necessary to get DrWimp to do what you want.
User-functions are held in the !RunImage file. They are called automatically and as necessary by the DrWimp library. You use the user-functions as your main !RunImage structure, adding Basic code to them as required.

For example, in your !RunImage you could call the wimp-function PROCwimp_menupopup to open a menu. That menu could have a save window attached to it and if the user drags the save icon then the user-function PROCuser_savedata (whose DEF is always in the !RunImage) is automatically called by the Dr Wimp library. Thus, you enter some simple code into the DEF PROC to direct the details of the saving.

A 'blank' application will therefore always consist of the 'DrWimp' library of wimp-functions, a '!RunImage' file containing all the user-function DEFs (which are initially empty or return a default value) plus the usual '!Run', '!Sprites', etc. files.

A skeleton application like this is provided for you, on which your program is built.

Alternatively there is a utility (!Fabricate) with which you can create - within seconds of making your choices - a customised 'starter application' to save time with adding an iconbar icon, iconbar menu, info window, loading templates and sprites etc..

Back to start of page   |   To Ray Favre's Welcome page.


(Note that Dr Wimp requires RISCOS Version 3.60 at least.)
  • Get started with a skeleton customised application within seconds, ready for you to commence developing your application instead of worrying about the multitasking and setting up the wimp essentials.
  • Build complex menu structures quickly and easily.
  • Easy loading in of windows from template files.
  • Message file support.
  • Quick and simple implementation of save boxes and save procedures using only a few lines of code. Normal RISCOS Wimp save operations implemented.
  • Simple process to load files of any user-designated type.
  • Multiple panes per window.
  • Sliders, bars.
  • Dynamic (changeable) menus, context sensitive menus.
  • Menu item enabling, disabling, dotted lines, writeable menu items, etc.
  • Drawfile, Sprite and JPEG rendering direct to screen or in windows.
  • Reading and writing/changing text in windows, menus, window titles and menu titles.
  • Changing iconbar icon and text under iconbar icon.
  • Tutorials in the Manual which cover all fundamental aspects of DrWimp and provide hints and tips and methods on implementing common Wimp facilities.
  • Interactive help for windows, icons and menus supported.
  • Easy to make long operations multitask, such as file loading and calculations.
  • Private sprite areas supported.
  • Text plotting and colour selecting.
  • Loading 'banners'.
  • Dynamic areas (for RISC OS 3.10+) supported.
  • Pointer/Mouse handling functions.
  • Printing with options for multiple copies, ranges of pages, 1-, 2- or 4-up printing, landscape and portrait options.
  • Applications can use Colour Picker (for RISC OS 3.50+).
  • Applications can respond to 'desktop save' protocol.
  • You can customise iconiser response.
  • Applications can display outline font menus.
  • Object Linking & Embedding (OLE) supported, both as 'client' and 'server'. And lots more...
    Back to start of page   |   To Ray Favre's Welcome page.

    What do you get?

    The complete DrWimp package consists of:
    Back to start of page   |   To Ray Favre's Welcome page.

    Conditions of Use

    Back to start of page   |   To Ray Favre's Welcome page.

    How do you get Dr Wimp?

    It’s freeware, and you can get it by clicking below. (The only stipulation is that if you take any money from applications you make with Dr Wimp, you will donate a percentage to charity — see Conditions of Use.)
    The current complete "Dr Wimp package" (as defined for Conditions of Use) comprises the following downloadable files: All the above files are normally upgraded with each new release. Therefore it is important not to mix files with the same name from different releases.
    DW502.zip  (95k) - the new !MyApp skeleton application, including the DrWimp library and !RunImage - plus Upgrading instructions and a 'ReadMe' textfile listing the contents of the total Dr Wimp package; plus textfiles giving the Version Release History and Credits (N.B. This version should run OK with all RISCOS Versions from 3.60 upwards.)

    Docs500.zip  (930k) - up-to-date documentation for the above Version. Includes Manual in both Impression Publisher and plain text versions, Upgrading instructions, History, Conditions etc. and Tutorial support material. Also includes !Fnc'n'Prc to display/seach/print wimp- and user-function definitions - and a similar StrongHelp file. (The Manual is also available in other formats, see below.)
    Please note that the documentation for Elixir_08 (the OLE Elixir) is contained separately with the Elixirs, see next item.

    Elixirs.zip  (230k) - up-to-date versions of all Dr Wimp Elixirs. In particular, for Elixir_08 (the OLE Elixir) comprehensive separate documentation is included here, mainly in StrongHelp format.

    Utils.zip  (520k) - several utilities to add to the usefulness of the package. Including: !Fabricate (creates customised skeleton applications); window template editors !TemplEd and !WinEd; !CodeTemps (converts window/icon templates to exact wimp-function Basic code for creating windows/icons within the code, instead of loading from templates, if so required); several optional post-programming utilities to 'link', compress and 'make absolute' your finished product.

    Examples.zip  (221k) - 25 well-commented small applications demonstrating various aspects of using Dr Wimp - so you can see complete and real examples of how it's done.

    For added convenience to existing users who wish only to download significant changes from the previous version - or the Manual in other formats:

    DW502.zip  (95k) - the new !MyApp skeleton application, as above.

    ManImp500.zip  (480k) - The complete Manual for the current Dr Wimp Version, in Impression Publisher format. (Included in Docsxxx.zip above)

    ManTxt500.zip  (154k) - The Manual for the current Dr Wimp Version, in plain text format. (Included in Docsxxx.zip above)

    ManOP500.zip  (370k) - The complete Manual for the current Dr Wimp Version, in OvationPro format.

    ManHTML500.zip  (310k) - The Manual for the current Dr Wimp Version, in HTML format.

    Fnc500.zip  (54k) - The utility !Fnc'n'Prc for the current Dr Wimp Version, giving a desktop reference to all wimp- and user-functions. (Included in Docsxxx.zip above)

    FncSH500.zip  (160k) - The utility FuncProc for the current Dr Wimp Version, a StrongHelp near-equivalent to the previous item.(Included in Docsxxx.zip above)

    Fab500.zip  (113k) - The utility !Fabricate for the current Dr Wimp Version. (Included in Utils.zip above)
    And, finally, just in case:

    Version 3.80 (31st Mar 2003)

    DW380Ref.zip  (851k) - This version was the one which was current when the second edition of the charity book "Dr Wimp's Surgery" was written and was supplied with that book. It is included here in case you have lost it! It is a cut-down package containing the !MyApp skeleton application, including the DrWimp library and !RunImage - plus compatible versions of the Manual, Tutorial material, !Fnc'n'Prc and !Fabricate.

    Or you can email me at:
    (Sorry about this 'non-live' address. It's an attempt to reduce spam) and request a copy via email.
    Back to start of page   |   To Ray Favre's Welcome page.


    There are many many people to thank for lots of things. Full credits are inside the DrWimp archive in the Documents folder. Thanks to everyone who has supported the author with DrWimp over the years. Let's keep it going!
    Back to start of page   |   To Ray Favre's Welcome page.

    "Dr Wimp's Surgery"

    Second Edition March 2003
    This all-profits-to-charity book, by Ray Favre, gives a good introduction to Wimp-programming in general as well as comprehensive coverage of the Dr Wimp package.

    Read more about it and how to get it - and help charity at the same time.

    "Starting Basic"

    First Revision March 2003
    This all-profits-to-charity book, by Ray Favre, is aimed mainly at beginners in Basic programming on RISCOS machines - but it is also a good reference book on BBC Basic.
    Read more about it and how to get it - and help charity at the same time.

    Back to start of page   |   To Ray Favre's Welcome page.

    Happy to be hosted by Orpheus