v2.74 (01 Aug 2021)

The !Reporter application provides commands to display information in the Reporter window which can be very useful when developing and debugging Wimp programs in BASIC, C or Assembler, plus Modules, Obey files, and even the !Boot sequence!

There were a few new facilities in v2.72, which are indicated by New, because the main change is to improve the Search facility, plus many miscellaneous fixes and changes.

A summary of the main facilities of Reporter is ...

Report Command

The most useful and most used command is *Report, which has the facilities outlined below...

*Report [ <text> | <<OsVariable>> | <BASICVariable> | (<BASICExpression>) ]

Many of these facilities are also available in SWI "Report_TextS" or "Report_Text0", or BASIC FNReport for assembler.

Example of Reporter Usage

A simple BASIC program ...

010 : REM Simple Reporter Demonstration
030 : *Report \G Start Simple BASIC Test at time \t ...
040 : *Report \b Hello World from Reporter
050 : *ReportDebug
060 : String$="a string" :Integer%=67890 :HexInt%=&1234
070 : *Report String$ Integer% ~HexInt%
080 : Float = 9876/77
090 : DIM FloatArray(5) :FloatArray(1) = 1.234
100 : *Report Float FloatArray(1)
110 : *Report ((ATN Integer%)*100)
120 : *Set Test$OsVar Test OS Variable
130 : *Report <Test$OsVar>
140 : PROCproc1
150 : END
160 :
170 : DEF PROCproc1
180 : FOR I% = 369 TO -369 STEP -369
190 :   PROCproc2(I%)
200 : NEXT
220 :
230 : DEF PROCproc2(divisor%)
240 : *Report divisor%
250 : perc% = FNpercent(123,divisor%)
260 : *Report perc%
280 :
290 : DEF FNpercent(A%,B%)
300 : = A% / B% * 100

... and the Reporter display, showing simple Obey file and BASIC program running


Extender Modules

There are two modules that extend the abilities of Reporter:


allows the details of any Wimp messages passing between applications on the system to be viewed on the screen in real time, with control over which messages are recorded. It was written by, and is available from, Steve Fryatt.


allows the details of any Service calls made by applications on the system to be viewed on the screen in real time, with control over which services are recorded. It was written by me, based on MsgMon by Steve Fryatt, and will be available soon.

Recent Change History

14/03/2006 v2.64 Release version
05/02/2010 v2.64 Update to the latest available.
21/04/2011 v2.66 Release version with many changes.
24/04/2011 v2.66a Minor change to remove RMA Heap list when started during Boot.
11/02/2012 v2.66d Minor change to enable *ReportHeap to cater for the OS_Heap changes in RISC OS v5.18.
14/08/2012 v2.67 Release version with many changes.
22/08/2012 v2.67a Minor changes, mainly to remove need for including Choices file in zip. Users with v2.67 already do not need to update again, unless you have problems using AsmLib.
01/12/2015 v2.70 Release version with many changes.
04/12/2015 v2.71 Release version with minor improvements to the Search facility.
15/08/2020 v2.72 Release version with Search improvements and many other minor fixes.
01/08/2021 v2.74 Release version with some minor fixes.

How to obtain Reporter

To download please click on the files below:
Application VersionDate Download Description
New!Reporter v2.74(01 Aug 2021) 194 kByteThis is a full archive of the latest version, with minor Help update on 11th August.
Note that you will also need StrongHelp to read the !Help file, and ConfiX to configure Reporter.

Supplementary Applications

There are three optional applications also available to download separately:
Application VersionDate Download Description
!ReportTA v1.02 (12 May 2004) 14 kByte Analyses Trace data from BASIC programs collected by the !Reporter command *ReportTrace, counting the number of times Procedures, Functions, or even Lines are used. This enables the easy identification of program code that is: inefficient, so it can be optimised; very heavily used, so it can be optimised; never used, either for further testing, or removal. Needs ArmSort to run.
!ReportRMA v1.00 (19 Jan 2006) 11 kByte Analyses Relocatable Memory Area (RMA) Storage activity collected by the !Reporter command *ReportRmaOn, counting the number of storage Claims, Frees and Extends, and checking if there are any Frees or Extends without a Claim, or any Claims without a Free. Needs ArmSort to run.
!BasicTweak v0.10 ( 1 Dec 2015) 13 kByte Enables *Report commands to be removed from BASIC programs, and also Crunched.

Please click home to return to the Avisoft home page.

E&OE. © Copyright Martin Avison, 2000-2021 Last updated: Tue 16th November 2021
Please send any queries or comments to
This site is hosted by Force9 on Plusnet

Valid HTML 4.01 Transitional