Transcribed from a leaflet distributed by RISCOS Ltd. at the South East show 2005. It describes the features of future RISC OS Select releases. It's understood that most of these have been completed and finished, as opposed to being planned features. (Sun,23 Oct 2005.18:52:35) Updated on May 14th: Added in extra details covered in a ROL leaflet handed out at the Wakefield show on Saturday May 13. Portions Copyright RISCOS Ltd., 2005, 2006. ------------------------------------------------------------------------------ * Kernel * All the source is now updated to be 32bit safe. Support for 32bit only processor modes is included. Assembler based components are now built using ObjAsm and a modern makeile. Kernel has lots of abstraction of its graphics API. It also now correctly supports LD/ST "T" and SWP in abort trap mode. Kernel now has no pointer support. Abstracted to OSPointer module. FPEmulator no longer explicity colludes with the kernel for errors flattening the SVC stack. FileSwitch no longer explicitly colludes with the kernel for file execution flattening of the SVC stack. Kernel has been updated substantially: Video hardware is now driven by an external module. The only significant change that has yet to be completed is the banking of screen modes. The printer buffer has been removed from the kernel. * BASIC * BASIC now properly assembles LD/ST "T". * Stubs G * New version of StubsG release (0.5), which will allow the development of applications that can run on RISC OS 3->5. * 32bit AIF headers * With the introduction of a 32bit RISC OS environment it is necessary to safely and reliably differentiate between code developed for 26 bit and 32bit environments. This ensures that only code which can be safely executed within the environment is ever run. Attempting to ise 26bit instructions can have unexpected consequences. In October 1996, an application note to developers published by Acorn stated that 'all absolute files must have a valid AIF header', and non-conformant binaries were deprecated. The OS now enforces this rule by making this header essential and will not run un-headered files. This is to ensure the right amount of memory is allocated for the application, that it is all in one piece and uncorrupted, and that read-only areas in the software are protected from corruption during run-time - as well as using the header to determine if a program really is 32bit safe. * 32 bit Shared C Library * Select 4 includes a 32bit SCL with C99 functionality. This means there should now be no need for developers to require the use of a 26 bit version of the 32bit SCL supplied with Castle's C/C++ compiler package. Applications which are linked with the StubsG library can just use the version of the SCL in ROM on Select 4 without having to check for a version number. A number of major developers, including MW Software, R-Comp and Icon Technology are actively using StubsG in their products. A considerable amount of work has been put into the C Library components to provide low-level C99 functions (long long and VLA). * System stability * Memory protection for workspaces is being implemented along with 'abortable dynamic areas'. DAs can be created and mapped to physical memory, enabling hardware drivers to access devices more easily. * System debugger * A new system debugger os included in the Select 4 / Adjust 32 ROM image. Eventually this will be part of a tool to allow software developers to follow the path of an application's execute to find the cause of bugs or crashes. Two tools will be available - DiagnosticDump and BTSDump. The DiagnosticDump module uses the new APCS backtrace augmentation feature of the SCL to record details about application failures. This means that should a failure occur (CPU exception, abort or assertion) and a backtrace be triggered, a record of the failure will be written to disc. These records - known as Diagnostic Dumps or DiagDump for short - can then be decoded by special tools to provide similar information as was displayed within the backtrace itself. Becuase these files are self-contained, they can either be interpreted by the user, or be transferred to the original developer of the application. The purpose of these DiagDumps is to provide a means by which better diagnostics of problems can be obtained by developers, evenn where they do not have access to the system upon which the failure occurs. By default the module will record details about the failure and automatically open a Filer window displaying the saved dump. The filename of the dump will reflect the application run, together with the date and time of the failure. Because sections of memory are recorded which may not directly relate to the fault, users should be careful about who they give the dump files to. * Fonts * The FontMap module now has initial support for foreign font name mapping. In order to better integrate with Postscript printers a full set of standard postscript compatible fonts is to be included. The new fonts are: Clare (AvantGarde) Robinson (Bookman) New Hall (NewCenturySchoolbook) Pembroke (Palatino) Churchill (ZapfChancery) A collection of extra fonts will also be included in the S4 CD release. * ATA Hard Drives * Select 4 will include Enhanced ATA Hard disc drivers. These will only support ATA-4 and above compliant drives. This means drives that were manufactured some time after 1996/7. The reason is that the ATA committee currently only support these. Drives as small as 1GB will fall into this spec and of course, if your drive is 8 years old, you probably shouldn't be using it for data. Filecore and HForm have been totally overhauled to support the latest ATA standards and SMART features. * Graphics * Video hardware abstraction now provided to remove dependency on VIDC and IOMD architectures. VideoHWVIDC provides the entire hardware driver for video. VideoSW provides the software implementation for certain graphical operations. To work alongside this suitable graphics cards can now provide EDID monitor support. SpriteExtend is now capable of rendering CMYK and YCbCrK JPEGs. GIF Image file renderer now included as Unisys patent has expired. Further enhancement to Paint and Draw packages. Eg. Paint can now re-order sprite files. ConvertBMP can now take CMYK sprites and convert to BMPs. ConvertICO can now create ICOs from multi-sprite files and CMYK sprites; sprites created from 16 colour icons are now 16 colour. ConvertPNG can now convert CMYK sprites to PNGS. Image Viewer now has support for exporting the viewed file in whatever types are known to the converter. * Monitor configuration * Modern CRT and LCD monitors have long had plug and play capabilities to allow themselves and their features to be announced to the connected PCs. Now these features are supoorted by RISC OS on suitably equipped machines such as the A9home or a Viewfinder equipped RiscPC. The EDID information is supplied by the monitor and used to automatically configure an MDF file for that monitor. The actual physical screen size can be passed in future to applications so they can display documents in actual real size. * Internet * The Internet stack and related components have undergone a number ofchanges in order to address problems and provide new features tp developers and ultimately users. The primary improvements have been the addition of new modules for particular Internet facilities - RouterDiscovery, InternetTime and ResolverMDNS. Resolver has been updated to address significant issues with its implementation of cache expiry (ie: it now has expiry), now provides DCI4 statistics and actually bothers to check that memory allocations succeed. Internet now supports multicast filtering for drivers. ResolverMDNS is present. Current thinking is that multicast DNS is the name to use in literature - the Apple name 'Rendezvous' is being phased out. Virtual ethernet interfaces are supported to allow access to multiple subnets. For example, eh0 can be configured with *ifconfig to have two IP addresses - such as 192.168.1.1 and 201.122.12.26. * Appearance * The Window Manager has been updated significantly. From this work, it is now possible for button icons to be 'highlighted' when the mouse is over them. This is not used by the built in buttons. However, a number of new borders will be supplied which will use this feature. The FIlerSpeedBar application provides an additional toolbar on filer windows using the Pane interface. It's really just a test and isn't finished. It needs a bitof a redesign as it's only used to demo the functions that work. The FilerImageBar application provides an additional sidebar on filer windows using the Pane interface. It's not amazingly good but it appears to work for many images. It'll need a lot more work to be functional. * Filer * Updated to support 'search as you type' and keyboard shortcuts. Easy system recognition of registered file types. Filer can extend panes in its windows. Filer uses File$Types to set the types that can be use (use hex values, comma separated, eg: 'fff,faf'). * Toolbox * All toolbox modules should now work correctly if ResourceFS is restarted. Window toolbox module now allows an expanded range of gadget operations in order to provide greater flexibility for the range of gadgets which can be provided - in particular gadget timers, gadget redraw events and the ability to add and remove icons from a gadget during its lifetime. New ColourSwitch gadget. Toolbox includes support for timers. Window provides vertical labels. Window has much improved support for Fonts in gadgets. ScrollList can move decode click and DataLoad positions. TextGadget has new features to support new text area background sprite handling. * Keyboard * International Keyboard now generates different codes for left and right meta keys. These are in order to fall in line with CTL's change to the design. Support for multimedia keyboards is also being developed. * Developer tools * ResEd has been updated to support plugins for its gadgets, allowing it to be extended to use other gadgets as they become available. This is very incomplete, but works well enough to replace earlier versions. This also includes the full support for the ColourSwatch gadget. * Further info * http://www.riscos.com/adjust/AdjustROMchanges.htm http://select.riscos.com/S3Features.html http://select.riscos.com/ and http://www.riscos.com/adjust/