Changes from Arthur 1.20

Here are a few major points that users and programmers may notice as differences from Arthur 1.20. Some of these chanages are unavoidable if progress is to occur, but some may come as a slight surprise and so it seems worth summarising them.

ALT on the keyboard now acts as a shifting key, in line with usage on other machines. In order to get the old behaviour, get a *-prompt and type:

*RMKill InternationalKeyboard

This will kill the international keyboard module, removing some extra features of RISC OS 2.00 (for international users). To get back to the default state:

*RMReInit InternationalKeyboard

The high-resolution monochrome monitor spec has changed to a higher screen refresh rate. Mode 22 no longer exists, mode 23 is now 1152*896 at 60 Hz. Mode 23 can now do graphics.

When using the Wimp in mode 20 (MultiSync monitor), the operating system now scales characters from the system font so that they have a better aspect ratio than before, occupying 8*16 pixels on the screen. Old Wimp programs which relied on the old 1:1 aspect ratio for characters will run successfully as long as they do a mode change at the start of the program. The width of window scroll and title bars has also changed, programs should not have relied on these.

The floating point emulator is still loaded from disc, and the old one (pre 2.60) no longer works. There was a bug in the original FPE (a badly formed module header) which happened to work for 1.20, but does not work on subsequent versions. A new FPE is supplied on the Welcome Disc, which you should use to replace the old on for programs such as Logisitix.

The basic editor module is no longer in the ROM, but it is provided on disc. It must be RMLoaded before use from Basic. Depending on how you enter Basic, it may be necessary to do this before entering the basic interpreter. This is also true of the HardCopy module. DeskFS: contains different things. Programs relying on its contents
may well no longer work.

The exact amount of memory freed by sequences of RMKills is not the same as in 1.20. For this reason, boot sequences on some application packages may require updates. In general boot sequences can be written far more easily on RISC OS 2.00 because of the Obey file type.

The Wimp now acquires memory from the RMA as windows are created etc, rather than reserving 32K for its own permenant use. This means that some old Wimp programs fail to start, saying "No room to create window". Such things are usually cured by giving the machine more RMA space (by dragging the RMA bar in the Task Manager window) before starting the application.

The Wimp's emulation of the environment for old applications is not complete. Problem areas:
selected sprites are rendered incorrectly sprites are scaled according to their mode, this used not to happen In practice this affects very few applications.

ADFS now keeps separate owner and public access bits for each file. This means that if a file is copied from net to ADFS to net, the access bits are preserved. By default new files are created as WR/, and so files created on ADFS and then copied to the net will now have access WR/ rather than WR/WR as they did under 1.20.

*CDir (create directory) in ADFS, RAMFS and NETFS now creates unlocked directories. Locking directories is not usually necessary, as they cannot be deleted anyway without first deleting their contents. This change has been implemented by performing multiple operations to the fileserver on a *CDir, so it works with all fileservers.

*CDir on the net in 1.20 used to signal an error if the directory already existed, it now (in line with ADFS) does not complain. This change has been implemented by performing multiple operations to the fileserver on a *CDir, so it works with all fileservers.

The major areas of extension of the system can be summarised as follows: output of graphics to sprites
output to graphics to all screen modes except modes 3, 6 and 7 (Teletext) new SpriteExtend module, provides scaled and translated sprite plotting new Draw module, provides thick/dotted lines with various options,

        arrow heads, Bezier curves, etc.
multi-tasking in the window system: numerous major extensions the Obey module, somewhat like nestable Exec files the RAM filing system
the new ADFS disc format, which does not need compaction
        and is more resilient to system crashes (by keeping
        duplicate space maps etc.)
XON/XOFF protocol in the serial line driver faster interrupt handling
overlays in Basic.

The sound system no longer deals with overruns in the same way; the method used in Arthur 1.20 could no longer be supported (ie. call fixup, do longjump on IRQ stack) as other IRQ handlers now reenable IRQ. If an overrun occurs, ie. Level 0 was entered with a Sound IRQ before Level 1 and the Voice Generators had finished filling the next sound buffer, then the same buffer is replayed again on the next buffer swap, so about one centisecond of sound will be corrupted. Level 1 fixup code is no longer called; neither are Level 1 Fill or Level 2 called, so the centisecond of music will be delayed. In extreme cases (VERY high video DMA overhead) this can lead to the pitch flattening.

The run-type of Text files is now *type rather than *exec.