home *** CD-ROM | disk | FTP | other *** search
- | > !Help
- |
- | Title ArmSI application - Speed Indexer for Acorn RISC machines
- | Authors J.Abbott & Nick Smith
- | Version 3.46H (07-Sep-93)
- | Status Public Domain, no distribution restrictions
-
- Welcome to the all-new !ArmSI application - it was developed from !SI
- v3.12 (written by 'J.Abbott') by Nick Smith to give a range of
- interesting machine speed indexes for Acorn RISC machines.
-
- Versions postfixed by H (for Hack 8-) are modified by Nick Smith because
- !SI 3.12 was pretty poorly written I felt, and needed some work done
- in a few places (user interface, RAM speed checks, etc) Once I started
- on fixing the bugs, I began to think of lots of things to add to the
- program ...
-
- Thanks go to Owen Smith for ideas, some tech information & helping test
- out some of the stranger hardware configurations. Thanks also to some
- wonderful beta-testers; Paul Fidler & Holger Klingspohr.
-
- I would be most interested in talking to Mr Abbott about !SI, but he
- didn't bother to put his address in the original documentation - so I
- have no way of getting in contact with him !
-
- Note that to run the Dhrystones/Flops20 test you need ;
- - Version of the SharedCLibrary v3.75 or greater
- - The disc with !ArmSI in the drive (because it is a separate command)
-
- Note that to run any FP computations you need ;
- - Some version of the FPEmulator loaded
-
- If you load some old SI file into !ArmSI, then many of the fields in
- the main window will not be available because that information wasn't
- saved by !SI. Also, if you load some SI/ArmSI file from another
- machine, then remember to use 'Re-calculate' before playing around
- with any improvements. Versions later than 3.43 have an Acorn-allocated
- filetype of &3f2, and so to load old (&003) files, you have to drag
- the files to a loaded copy of !ArmSI.
-
- Some example SI files are including for your interest - ranging from
- the lowest 1MB A310 (5900 Dhrystones) all the way up to my 'turbo'
- A5000 (over 25000 Dhrystones 8-) ... Note my A5000 can run at 16.6MHz
- RAM (*big* speed increase) by using a 4MB upgrade card of 60ns DRAM
- from SimTec electronics.
-
- Users of old !SI may notice that the option to turn DRAM refresh on
- or off has gone. In fact turning off DRAM is extremely dangerous -
- and on some types of system/RAM chips can completely corrupt your
- memory. So I decided to take the safe path, and remove all the code
- which turns DRAM refresh on or off - keep it set to the RISC OS
- default - you know it makes sense !
-
- *** Known bugs
-
- If you can help me track these down (or even give me reproducable
- circumstances) then I would be most grateful.
-
- - Sometimes the FPEmulator doesn't like being RMFaster'd, although
- I cannot duplicate the problem on my machine.
- - Sometimes stupid FP results are given - again I can't reproduce
- the problem ... So if you see an EXP of 0.72 and a SIN of 11.12
- then it is probably messed up !
-
- *** Contacts
-
- Please send me any bugreports, comments, ideas for new features, etc.
- I can be contacted at the following address, at least until Jul '94 ;
-
- Nick Smith
- Churchill College
- Cambridge
- CB3 0DS nas20@cus.cam.ac.uk (JANET/Internet email)
-
- *** Distribution
-
- This software is 'Public Domain'. You may copy and distribute it
- without restriction - include it on magazine discs, with commercial
- products (eg, ARM3/FPA upgrades), etc, etc. If you do include it with
- commercial hardware, I'd really like to know about it too.
-
- *** Revision history
-
- Modifications to v3.20H (05-Nov-92)
- - Removed all line number references in BASIC code (first job in any
- BASIC hack!)
- - Made iconbar menu appear in correct place!
- - Misc mods to templates
- - Did new code to read RAM speed - old stuff was rubbish I think (at
- least it never returned anything useful for >8MHz memory)
- - Possibly removed RO2.xx compatibility - oh well 8-)
- - Changed ROM speed reading code based on speed of memory speed (ie,
- memory system clock)
-
- Modifications to v3.21H (07-Nov-92)
- - Restructured application - moved Templates & Code to a 'Resources'
- directory.
- - Added 'Dhrystone' benchmark to application - uses standard Dhrystone
- version 2.1 (May 25, 1988) with no optimisations
- Full source is included, as is a Makefile for recompilation with
- different settings
- - Generally did lots of code tidying & documentation
- - Re-did main 'System Information' window, renumbering icons as I went
- to tidy up redraw (argh - icons should be numbered from 0 at top -> )
- - Added 'Available ROM' (shows 5th column ROM info too)
- - Added display of ROM speed (2,3,4 ticks, or Page mode access)
- - Added 'IOEB chip set information'
- - Added FPA coprocessor recognition
- - Added 'Additional details:' section ;
- RISC OS version
- Video screen mode, resolution, colours & refresh rate
- Unique machine ID reading
- Floating point identification (Old FPE, New FPE, FPPC, FPA chip)
- Dhrystone results (microseconds/loop, dhrystones/sec)
- - Did all this silly documentation (!)
- - Now wasn't all this more useful than going to a 'Use of the IBM 3084
- mainframe' lecture ?? 8-)
-
- Modifications to v3.22H (08-Nov-92)
- - Generally wrote the support code for all the above features which
- didn't get done yesterday ...
- - Integrated the Dhrystone index into the application (or at least it
- gets run by the main application)
- - Added recognition of FPPC (Old Acorn FP card)
- - Renumbered some more icons to fix icon delete/recreate problems
- - Added snazzy 'machine identification' code which guesses your
- machine type
- - Recalibrated ARM instruction indexes based on 1.000 being an old
- 1MB A310 (MEMC1, 8MHz ARM2), rather than the previous 'perfect' ARM2
- whatever that might have been !
-
- Modifications to v3.23H (09-Nov-92)
- - Fixed so that prompts for disc with Dhrystone command to be
- inserted (*before* video DMA turned off!)
- - Reduced no. of Dhrystone loops so not so slow on ARM2
- - Recalibrates old SI files when loaded so that 1.00 = 310, 8MHz ARM2
- - Removed all the 'MOVNV R0,R0' instructions in app, now MOV R0, R0
- - Added ARM250 processor recognition (for A3010/3020/4000/etc)
- - Reads MEMC type from zero page in SVC mode (in case users/OS have
- zero page protected)
- - Open main window on a load operation of SI file
- - Improved error messages & error handling (what sort of idiot defines
- an error block of 64 bytes ?? sigh)
- - Closes menu on saving via key press/mouse click
- - Extended window widths to allow for the higher speeds that I am
- getting ... Almost certainly not enough for the FPA when it arrives!
-
- Modifications to v3.24H (10-Nov-92)
- - Renamed to !ArmSI because I felt it was a more identifiable name,
- and it also distinguishes the program from the original !SI app.
- - Identifies ARM2as/ARM61 processors (cannot tell the difference)
- - Identifies ARM600/610 or ARM600 processors
- - Changed ROM speed terminology - should be 'n-cycles'
- - Sent out to a few people for a little bit of testing ...
- - New Sprites, and a !Sprites22 file.
- - Now identifies A500 (A310 protoype), with a VIDC1 chip
-
- Modifications to v3.25H (11-Nov-92)
- - Improved !Sprites22, but they still aren't very good !
- - Added some more improvements ;
- *RMFaster BASIC on/off
- *RMFaster FPEmulator on/off
- ARM3 cache on/off
- Yes - you can *RMFaster BASIC in the middle of a BASIC program
- (well I was impressed!) Note that the FPEmulator can only be
- RMFaster'd if you have it in ROM (RO3.xx owners)
- - Made sure that all zero page reads are done from SVC mode
- - Because of the new facilities, 3.25 cannot read the SI files
- created with 3.20->3.24 (although it can read 1.xx, 2.xx and
- pre 3.20), because it seemed too much effort - there hasn't
- been a public release yet, and there is a new file format every
- day !
- - ADJUST-click on icon bar open FP info window
-
- Modifications to v3.26H (13-Nov-92)
- - Now shouldn't moan on startup if you have no FPEmulator module
- present.
- - Strange problem with DRAM refresh changing at random points -
- think it fixed now. Probably due to Mr.Abbott's enthusiastic
- use of real variables when he should have been using integers!
- - A500 test had to be changed. Looks like the OS frigs the RTC
- calls 8-( So now uses the keyboard ID, instead of the RTC
- precision.
- - Memory bandwidth/Video bandwidth/etc calculations should now
- be more accurate. The memory bandwidth is based on 1 n-cycle +
- 3 s-cycle RAM access, and so will actually give lower results
- than previous versions.
- The video/dram refresh calculations now take into account the
- refresh rate of the screen (!) and also use the better memory
- bandwidth value.
- - Slightly more accurate video refresh code, but it looks like I
- am underestimating both refresh rate & video bandwidth values
- slightly ...
- - Far too much debugging to get the code to work on a 1MB, RO2,
- MEMC1, ARM2 A310 8-(
-
- Modifications to v3.27H (16-Nov-92)
- - Now reads total RAM size sensibly (uses OS_ReadMemMapInfo)
- to correctly identify >4MB
- - Moved all the Bxx% variables (for bar icon nos) into an array
- - Lots of code documentation, tidying up & LOCAL variables ...
- If you think the code is messy now, you should have seen 3.12 !
- - Now echoes unrecognized key presses with Wimp_ProcessKey
- - Paged mode access ROMs option is always greyed out under OS3
-
- Modifications to v3.30H (18-Nov-92)
- - Better ARM610 identification (processor type=&61)
- - Complete removal of DRAM refresh code (serious side effects can
- occur) Still reports the DRAM refresh status, but doesn't let
- you change it.
- - Replaced the DRAM refresh menu option with one for Video DMA,
- so that during tests you can either have the video DMA turned off
- or on. Old versions always turned off Video/Sound DMA for max
- speed ratings !
- - RAM size now displays page size, and number of pages. (eg, ARM600
- has 4K pages, while old MEMC1/1a machines will have 8, 16 or
- 32K pages)
- - Final beta-release before the public release.
-
- Modifications to v3.31H (21-Nov-92) [release]
- - Some final small changes for the first public release (wow!) ;
- - ID's PCATS graphics enhancer card
- - Clicks to open windows opens them at top of window stack
- - Compiled a nice collection of SI files from different machines
- - Fixed 5th Column ROM reading code (thanks to Owen making me my
- own custom 5th column ROM!)
- - Increased the number of Dhrystone loops performed from 50,000
- to 75,000 - my A5000 at top speed goes too fast for 50,000 to
- have accurate results !! 8-)
- - Public release #1 to Newcastle info-server & comp.binaries.acorn
-
- Modifications to v3.32H (05-Jul-93)
- - Fixed bug to do with recognizing FPA chip software support
- - New 3D version of templates (you need to set the 3D-bit of CMOS
- RAM to switch this on).
- - Changed "RMFaster BASIC" etc string to "RAM-loaded BASIC" to
- make more sense to the user
-
- Modifications to v3.33H (06-Jul-93) [release]
- - Some new examples files (A540 with FPA chip)
- - New FP-index/FLOP calculations biased towards common operations
- I am still unhappy with the FP indexing code, but it will do for
- now
- - Sent filetype request to Acorn Customer Support
-
- Modifications to v3.40H (27-Jul-93)
- - Removed 'BASIC' & 'Machine code' indexes; they were useless
- - Added excellent 'flops20' FP-benchmarking code
- Source code & docs provided
- Outputs to new section in FP window, and new bars on system
- index window
- - Deleted ARM calculation sources from distribution to save space
-
- Modifications to v3.42H (11-Aug-93)
- - Cleaned up Flops code, integrated correctly into application
- - needs testing/recalibration on a base level ARM2/RISCOS2 machine
- before release
- - With an FPEmulator module > 4.00 (FPA chip support code) we
- don't allow RMFaster or RMReinit because it crashes the machine
-
- Modifications to v3.43H (16-Aug-93)
- - Fix to menu width
- - Fix to flops20 code so that it takes about 30secs to run,
- independent of hardware
- - Switched to double precision IEEE tests for flops20 instead of
- single precision
-
- Modifications to v3.44H (24-Aug-93)
- - Recalibrated to ARM2/MEMC1/RISCOS2 machine
- - ReBuilt collection of example files (thanks Owen!)
- - Got filetype allocation from Acorn Customer Services (&3f2) !
- - Changed sprites to make change of filetype number more visible
- - Removed the ability to load old format ArmSI files unless they
- are dragged directly to appliction (even then, limited to
- v3.31 and 3.33 - the most widely distributed public releases)
- - Added ability to load ArmSI file by double-clicking on saved file
- without having to preload application (reads command line)
-
- Modifications to v3.45H (26-Aug-93) [release]
- - Fixed a bug in FPE version no. reading code
- - Added example FPA ArmSI files
- - Fixed a bug in FP display bars being >32768 OS units long (!)
-
- Modifications to v3.46H (07-Sep-93) [release]
- - Added DragASprite support code for saveas dbox
-
-