AcornUser - Customer Hotline Articles 1995
Questions and Answers
Q. I need to know if
A. Probably your best route is to ask the vendor of that product. Of the products Acorn has tested, over 95% work without modification. Of the remaining 5%, many of the software houses have since produced newer versions which work correctly. A large percentage of the incompatible software comprises games; problems running these pieces of software are commonly connected with screen modes. "Game On!," a utility to patch some of these games, has recently become available from:
The ARM Club
Anatomy of a Monitor Definition File
Unlike earlier machines, Risc PCs take details of the screen modes a given monitor can display from a Monitor Definition File (MDF), a number of which reside in ADFS::4.$.!Boot.Resources.Configure.Monitors, subdivided by monitor manufacturer. An MDF is plaintext, however it is not advised that these files be modified manually.
A Monitor Definition File has the parameter set:
file_format: format monitor_title: title DPMS_state: state
These three parameters only appear at the start of an MDF; the following segment is repeated for each mode:
startmode mode_name: mode_name x_res: x-resolution y_res: y-resolution pixel_rate: pixel_rate h_timings: hsync, hbpch, hlbdr, hdisp, hrbdr, hfpch v_timings: vsync, vbpch, vtbdr, vdisp, vbbdr, vfpch sync_pol: sync_polarities endmode
mode_name: is a textual name for the mode that will be used in the display manager's mode menu. It is possible to prevent defined screen modes from appearing in the modes menu by leaving this field blank. Mode names are limited to 19 characters, and may contain spaces.
x-resolution= number of pixels displayed across the screen
vsync= width of vertical sync pulse
pixel_rate= pixel rate in kHzc sync_polarities: is a number indicating what kind of sync signals are required. The options are:
0 hsync normal, vsync normal
All values on the h_timings line are in units of pixels, and all values on the v_timings line are in units of raster lines. To convert between these units and the timings described in the technical notes accompanying your monitor, use:
(insert drawfiles of formulae here)
More detail is available in Application Note 254, available from Acorn dealers and downloadable from ftp.acorn.co.uk.
Postcards From The Edge
Following on from Acorn World and the discussions the developments we showcased there have evoked, here are a few notes to clear up any confusion. More data next month!
Regarding FileCore, after much investigation Acorn is making a small change to the interface specification of FileCore. The change involves the addressing of data on the disc. Currently this address is passed as a 32bit quantity and is the drive number and a byte offset, this is changing to the drive number and a logical block number. This increases the range of addressable data. Although this would theoretically lead to a 256GB maximum disc size, the structures of FileCore prevent this (since they were optimised for a maximum of 512MB). The maximum size we are recommending for IDE-based filesystems under the new module set is 4GB. A 'new structure disc' can be identified by looking at the disc size record. Both SWI FileCore_DiscOp and SWI FileCore_MiscOp will be re-coded to distinguish between the two types of disc.
Those filing systems for which block addressing would be appropriate will also require modification so that they are able to inform FileCore to return a block number.
As the filing system is such a critical part of RISC OS, Acorn will be performing a great deal of soak-testing on these new modules, hence it is not possible to speculate on a release date.
For further developments, watch this space!
Questions and Answers
Q. I need to know if
A. Your best route is to ask the vendor of that product. Of the products Acorn has tested, over 95% work without modification. Of the remaining 5%, many of the software houses have since produced newer versions which work correctly. A large percentage of the incompatible software comprises games; problems running these pieces of software are commonly connected with screen modes. "Game On!," a utility to patch some of these games, has recently become available from:
The ARM Club
Everyone is familiar with double-clicking Select on a file, directory or application. However there are actually a number of other things you can do as well (some of these are not present in RISC OS 2.00)
Double-Click Adjust - as Select, but the directory viewer closes
Single-Click Select - select this object, deselect any others.
Single-Click Adjust - select this object, adding it to any others already selected in this viewer. Also, deselects a selected object. In effect, it toggles the state of this object.
Menu - selects the object under the pointer if nothing is selected
SHIFT Double-Click Select - Open a directory or application. Load a file into !Edit
SHIFT Double-Click Adjust - As above, plus directory viewer closes
CTRL Double-Click Select - Open a directory or application. Don't run any !Boot files.
CTRL Double-Click Adjust - As above, plus directory viewer closes
Drag to icon bar - Load the file into the application you dragged it to, or run the file if you drag it to a vacant part of the icon bar.
Shift Drag to an open !Edit window - Insert name of object(s) dragged
You can also select a number of objects which are adjacent in a directory viewer by starting a drag near the first (make sure that the first object is NOT selected by this) and then dragging the box to enclose all the objects you want selected. On releasing the mouse button all these obects will be selected.
Finally, don't forget the menu option to 'Select All'.
It can often be quicker to drag a box round more objects than you want (or Select All) and then remove the ones you don't want by clicking Adjust.
Postcards From The Edge, Part 2
Another item (although not an Acorn product) showcased at Acorn World was RiscBSD, a UNIX lookalike for the Risc PC. RiscBSD is based on the NetBSD2 source tree; NetBSD2 is a lookalike of BSD 4.4 Lite.
The source tree is, I'm assured, a pleasantly clean one; all the CPU-specific code is in separate directories, so it's merely (!) a case of porting the specific stuff to an ARM directory, fixing the MakeFiles and then (hopefully) typing "make". Of course, life is never that easy!
The system on display at Acorn World was a very, very alpha kernel. So far, everything is built via cross-compilation using gcc under Linux; the RiscBSD team hope to have native compilation very soon. Actual coding had been on-going for six weeks prior to Acorn World, so considering that every core member also has either a job or a degree to do, they have done a fine job so far.
The multicoloured square was built to show off the process system; one process was moving the square, another was changing its colour, and there were two more changing the orientation and colour of the bars in it to reflect CPU state.
In addition to RiscBSD, there is also the ArcBSD initiative, which aims to provide (again) BSD 4.4 Lite, but sourced from the FreeBSD tree. ArcBSD is being written with the explicit brief that it must be executable on all 32 bit Acorn machines with sufficient RAM and hard disc space to make support of BSD viable.
Further details on the progress of these projects can be found on the comp.sys.acorn newsgroup; details of mailing list contacts for further information are usually included in these postings.
Questions and Answers
Where's my nearest Acorn dealer?
As the list of Acorn dealers is constantly changing, there is no fully comprehensive up to date copy on paper, although paper copy detailing the majority of dealers is available. Customer Services maintains an on-line database of dealers and their addresses, from which we can generate a comma-separated variable (CSV) list suitable for loading into most other databases. This list is available via anonymous ftp as ftp.acorn.co.uk:/pub/documents/dealers/uk, and by download from the "Acorn support" areas of Arcade (Tel: +44 181 654 2212) and Digital Databank (Tel: +44 1707 329306) BB systems. In addition, a plaintext list of overseas dealers and distributors is available as ftp.acorn.co.uk:/pub/documents/international. If you don't have a modem, you can always ask us!
MODE in BASIC: The Next Generation
The way in which modes are specified on the Risc PC has been changed in order to allow the new extended range of modes to be accessed; modes now have associated strings, instead of just numbers.
A typical BASIC command to change mode would now be
MODE "X800 Y600 C32K EX1 EY1 F50"
which can be broken down into:
X800: 800 pixels horizontally
C256 256 colours
This last level is actually better than the average human eye can resolve (the eye has been shown to be able to chromatically resolve roughly 15.4 million hues).
EX1 EY1: Horizontal and vertical "eigenvalues" of 1. These eigenvalues relate to the method of mapping of OS units onto pixels. If EX1 is increased, the most obvious effect is that the size of windows, text and icons decreases in the X direction; this effect can be used to produce a Desktop with an apparently larger work area. However, if the eigenvalue is set to a high value, parts of the display may "go missing" owing to the mapping producing pixel overlap.
F50 50Hz frame rate.
This string representation of screen modes can be accessed from the "Mode" entry on the icon bar menu belonging to the standard screen control icon.
Many "old" style screen mode numbers can still be used; modes 0, 1, 8, 9, 11, 12, 13, 14, 15, 25, 26, 27, 28, 41, 42, 43, 44, 45, 46, 47, 48 and 49 are explicitly defined, and modes close to the resolution of other "old" modes may be defined in MDFs.
Somewhere In Time
The first 32 bit Acorn machine to use a rechargeable battery to power the real-time clock and CMOS RAM was the A3000. The batteries used are considered to have a lifetime of five years; this means that the batteries on many A3000s are reaching the end of their lifespan. If your machine appears to reconfigure itself on power-up, or the real-time clock shows a decidedly unreal time, you need to contact your dealer for a battery replacement. The CMOS uses 2 bits to determine the relationship between the current year and the next leap year, so you may also find your reset clock defaulting to 1991 by virtue of a leap year having occurred since RISC OS 3.1 was released; a reset to 1995 using !Alarm will fix matters, and your clock will still roll over properly to 1996 at the end of this year!
World Wide What?
Probably the most talked-about method of accessing Internet-based resource over the last couple of years is World Wide Web, particularly when connected with a new generation of graphical hypertext-based client programs such as xmosaic. Web documents are served using the HyperText Transfer Protocol (http), and addresses of Web documents are specified using Uniform Resource Locators (URLs). A URL has the syntax:
Currently there are two freeware browsers available for RISC OS, and several companies are working on commercial packages which will also include browsers.
During November Acorn opened www.acorn.co.uk, our own server containing a range of product and technical information, so we could determine if users would find such a service valuable. 17638 accesses and plenty of constructive email convinced us we were doing the right thing!
Currently www.acorn is being overhauled and re-worked in readiness for a full opening, and hence is unavailable. Some concern has been expressed over the www.acorn alias having been removed from our DNS; this was done because attempted logins to the blocked service were not generating timeouts correctly, resulting in hung processes at the client end.
Questions and Answers
I want to connect to the Internet; what do I do?
First, you need a communication line in to the Internet itself. A number of companies around the UK have set themselves up as "service providers;" that is, they have purchased a high-bandwidth Internet feed and the commodity they sell is the facility for subscribers to connect into their feed. The means of connecting is usually by a modem and dial-up telephone line (see later for details of modems), although if you have a large installed base of machines at your site which you wish to connect, and you will be making use of many sevices which consume high bandwidth (such as World Wide Web), service providers may suggest ISDN or a leased line as a higher-speed alternative connection mechanism.
Finally, you need communications software which is capable of supporting a TCP/IP stack, and if you are using a dial-up link, either SLIP or PPP; these protocols put headers and footers around the IP frames to render them suitable for sending down a serial link. If you wish to use more advanced facilities than just email and remote login capability, you will need software which handles the specific protocols for such services and which sit on top of TCP/IP; nntp for USENET newsgroup access, http for the full facility of World Wide Web, etc.
Modems in All Shapes and Sizes
If you are considering buying a modem, you will run into lots of specifications of the form V.nn, where nn is a two-digit number. These specifications refer to data communication speeds and occasionally data compression methods; details on the most common numbers appear below:
V.27 Specifies 4800 bps communications requiring 2 wires for half duplex and 4 wires for full duplex operation. The standards specify QAM modulation at 1600 baud. The Group 3 Fax standard references V.27 ter as the base requirement for 2-wire half duplex fax communications.
V.32 CCITT standard for 9600 bps full duplex modems. Specifies 2-wire full duplex 9600 bps communications using QAM modulation at 2400 baud and echo cancellation. V.32 modems offer an upgrade path from V.22 bis for asynchronous dial-up modem applications. V.32 AUTOMODE was recently published as an annex to V.32, and defines an automatic fall-back capability which does not support 9600 bps communications.
V.34 The current state of the art in serial communications over the telephone, V.34 specifies full duplex 28800 bps.
V.42 Specifies error correction techniques which can be implemented in modems independently of transmission speed and modulation system. This includes LAPM (Link Access Procedures for Modems) and MNP (Microcom Networking Protocol) 2 to 4 error correction.
V.42 bis This specifies compression algorithms which can be implemented in modems independently of transmission speed and modulation system. V.42 bis provides a 4:1 compression ratio, using the Lempel-Ziv algorithm.
When is C++ Not C++?
When it's CFront front-ending onto a C compiler. CFront, included in Acorn Desktop C Release 5, is a tried, tested and established translation engine which takes C++ source code and translates class objects etc at source level into the appropriate structure and redirection paradigms in C. The C which results does not comply with any models of programming style, but it is nonetheless compliant with the ANSI C standard.
Enhanced Font Handling in RISC OS 3.5 -
One of the most obvious changes in the appearance of the Desktop between RISC OS 3.1 and RISC OS 3.5 is the use of outline fonts on the icon bar, in filer windows and in application menus. As well as by using the Configure application in the RISC OS 3.5 Boot hierarchy, the Desktop font can be changed using
once the relevant !Fonts directory has been "seen" by the filer.
Implementing outlined, kerned fonts on the icon bar and especially in menus is an interesting task for the programmer who chooses to build his interface manually (instead of using a tool such as !ResEd, included with Desktop C Release 5); use of !ResEd for this kind of task is recommended.
detailed in Volume 5 of the RISC OS 3 Programmer's Reference Manual can calibrate the widths of text-containing menus to accommodate font changes, and for each line of a menu the text following the final space can be right-aligned.