The Icon Bar is the longest running RISC OS portal. The sensibilities that Acorn instilled in us still influence our interests and writing.
Let us know!
An arbitrary number of possibly influential RISC OS things
Posted by Mark Stephens on 10:27, 28/4/2018
| Programming, Tutorials
Chris Hall has been trying to make the most of power for a RISC OS based RaspberryPi for his GPS system. In his guest post , he lifts the lid on how he does this...
1 comment in the forums
A Raspberry Pi can be powered by a mains adapter or by a powerbank. I found myself often pulling out the power plug to power cycle the Pi and came up with a software power switching method that would allow power to be removed under software control.
A 'power booster' board allows an internal 3.7V Lithium-Polymer battery to produce a 5.2V output and any external 5V power source will take over this rule and charge the internal battery until fully charged. Switching on and off is controlled by an 'ENABLE' input, pulled high by default. A blue LED lights if power is being supplied to the computer. With the booster board output disabled, only a minimal current is drawn from the internal battery. A red LED lights if the internal battery becomes discharged below 3V (and if a diode is fitted to the 'LBO' pad this can disable the output automatically). Fully discharging the internal battery is likely to damage it.
While the internal battery is being charged a yellow LED lights, turning green when it is fully charged. A small current drain to light the green LED to show a full charge seems enough to keep some power banks happy even whilst the unit is otherwise powered down and the internal battery fully charged.
This means the external source can be connected and disconnected without affecting the operation of the device except to extend battery life. Power control
With no power control hardware it is difficult to ensure that the computer is not, inadvertently,turned off during a write operation to the SD card, which can corrupt the file or the whole card. My power control circuit allows power to be applied at any time by pressing the 'on' button. The 'off' button simply signals that a power off has been requested, which can be detected in software. A shutdown/restart cycle will then remove power as soon as the system has been shut down and the CMOS updated.
If software detects a 'power off' request then all it has to do (once it has completed any essential tasks) is to issue the command:
which will do a shutdown/restart cycle.
Doing a manual shutdown (CTRL-SHIFT-f12) and then pressing 'Restart' will also remove power (if a 'power off' request has been issued). How Does It Work?
Software can detect the 'on' button being pressed or held down by reading the GPIO 19 line and can use this information for any purpose. The fact that the 'off' button has been pressed (and the 'on' button remains open circuit) can be detected by reading GPIO 26, meaning that 'power off' has been requested.
A little piece of software in !Boot.Choices.Boot.PreDesk sets GPIO 4 to output high (which ensures power stays on even after a 'power off' request).
During a restart cycle, before any writes are made to the SD card, the ROM modules are reset which takes GPIO 4 to high impedance: with a 'power off' request pending this will remove power.
Provided that the unit has been operating for at least six seconds (enough time for the RISC OS desktop to start), the 'off' button will pull GPIO 26 low but do nothing else. Software can detect this, complete any essential tasks and then either explicitly set GPIO 4 low (if a Witty Pi is present, this will remove power immediately) or (if not) perform a complete system shutdown using the command SYS "TaskManager_Shutdown",162 which will shutdown all applications tidily and restart RISC OS. The effect of this is to update the CMOS êlast time onë setting and restart the ROM. As the ROM reinitialises, GPIO 4 becomes high impedance thus removing power.
The 'on' button has some additional functions: whilst pressed, components (R6, R7 and LED) may also be fitted to present an LED load to any external power source that will only light if the external source is healthy (this works by sensing whether Vs from the power boost board is 3.7V or 5.2V). If a voltmeter is fitted as shown, the voltage of the internal LiPo battery is displayed whilst the button is depressed. A power meter can also be connected between the power boost board and the Raspberry Pi giving a voltage, current and power consumption readout. Battery Life
With an internal 4400mAh LiPo battery, a Raspberry Pi Zero with an OLED display and GPS module (but with no HDMI connection) uses about 170mA (at 5V) and the battery should therefore last for about (4400 x 3.7)/(170 x 5.2)h which is just over 18 hours. A 5000mAh 5V powerbank should extend this by about 28 hours. Chris Hall's website
Posted by Mark Stephens on 07:21, 6/4/2018
4 comments in the forums
ROOL has released a new update for their toolset, DDE28b. As the name suggests, this is not a major update but incremental tweaks and bug fixes to the tools. Reading through the Changelogs, changes are in !CC, !DDT, !ObjAsm and !ResTest and ddt module has also been updated.
This is now the default version for new customers. Existing customers have been sent a zip with the changes to copy over the existing release.
In their email to users, ROOL also mention additional bounties for further support for ARM processors.
Tools are critical to the survival of any platform so good to see ongoing improvements on DDE. Bounty link
Posted by Mark Stephens on 07:53, 9/3/2018
| Programming, Software
Comment in the forums
If you are looking to experiment with BBC BASIC (or a bit of nostalgia), you should take a look at the 55 BBC Micro Books
CD from Drag'N'Drop
The disk consists of a wide range of BBC BASIC material, republished. The books themselves are included in multiple formats (PDF, HTML, Impression and EasiWriter) with the BASIC supplied as separate listings.
Many of the listings are quite short and targeted at the capabilities of the BBC range, but there is a lot of material here to explore, nicely presented. There is a wide range of programs and guides, with lots of games.
There are plenty of places to get lost, old friends to rediscover and new ones to find in this compilation of material.
The CD costs 12 pounds from Drag'N'Drop website
Posted by Mark Stephens on 07:04, 12/1/2018
| Programming, Reviews
4 comments in the forums
ROOL continues on its mission to bring RISC OS and its documentation up to date with a thoroughly revised and updated version of the BBC BASIC Reference Manual. This available both as a PDF in the programming documentation and as a hard copy book.
Issue 1 was published in 1992 so quite a lot has changed for this 2017 release 2. It is a fairly substantial volume (510 pages including the index). It is bang up to date, mentioning RISC OS 5.24 and BASICVFP.
The manual is nicely structured so it can be read from cover to cover as a tutorial but is also clearly structured to provide a lookup for people wanting to find a specific item of information. The book identifies 3 target readership groups:-
1. Total beginners looking to learn BBC BASIC as an introduction to computing.
2. Experienced programmers looking to learn a new language.
3. A reference guide for experienced BBC BASIC programmers who want to look-up some details.
To this end, it is split into Overview, Programming Techniques, Reference and Appendices. There are lots of little programming examples to show how commands work. There are no screenshots.
If you are dipping your toe into the programming waters, there are some simple examples and some good explanations of the technical side of programming (integers and floating point, error handling, writing structured code, binary) while there is lots of detail for more advanced developers (?, !, |, $ indirect operators, VDU commands, using the assembler). You will need additional resources to learn to write Desktop WIMP programs but it will give you a full grasp of BBC BASIC.
The book now has pride of place on my technical bookshelf and the Appendix section is becoming increasing thumbed through. What are your thoughts? Buy the book from ROOL
Posted by Mark Stephens on 07:25, 10/11/2017
| Software, Programming
Comment in the forums
At the London Show, ROOL released DDE 28. DDE is a key development tool for RISC OS so it very important to see regular new releases for it.
The software was sent out to show purchasers as a time-limited link to download (I got my copy on sunday morning after the show!). You can now get it via the ROOL store.
The change logs record changes to 13 tools in the software specific to the DDE software and the readme lists changes to other software (like !srcEdit). Most of the changes are minor. For example, !AMU is now 5.32 - up from 5.31 in DDE27) and now correctly reads a timestamp). Some items have not changed in this release (for example !ABC).
There have been some major changes in the Compiler, which actually introduced a bug in compilation. This was quickly fixed with a patch release from ROOL, containing just the changed files. So you will need both to patch your existing version - hopefully ROOL have updated the original DDE28 build for new downloads.
This is quite a technical release and there is a good and detailed discussion of the technical changes on the ROOL forums
. There is also an interesting discussion on the bug introduced
. It is good to see the software is being evaluated and used by developers and full credit to ROOL for the quick fix.
The package also comes with a full collection of documentation in PDF format and this has all been updated to latest versions.
If you are a non-technical user, this release essentially continues to improve the software and ensure it supports the ARM platforms as well as possible. If you are looking to get into programming, it is also a fully featured collection of all the tools and documentation you need with lots of examples to get you started (and a great way to support ROOL). ROOL store
Posted by Sion on 20:00, 25/3/2012
| Education, Graphics, Hardware, IYONIX, Open source, Programming, RISC OS, RISC OS Open Ltd, Software, Video
3 comments in the forums
RISC OS 5.18 released
RISC OS Open have announced the release of their latest stable release of RISC OS, version 5.18 to be precise. This update features no less than 340 improvements since the last official release and has been officially vetted by Castle Technology for the Iyonix PC and R-Comp Interactive for their ARMini.
The new ROM image should be able to upgrade all versions of RISC OS from version 5.07 or later and is provided with a flash programming tool (for Iyonix users), which also takes a backup of the previous version just incase you wish to go back.
The OMAP3 (i.e. ARMini) version of the operating system now supports hardware CMOS memory fitted on a carrier board plugged into one of the headers on the motherboard. This permits saving of common configuration settings which will be retained when the power is off. CMOS memory carrier boards are available now from the ROOL store and are suitable for use on the original Beagleboard, Beagleboard-xM, and Pandaboard.
As the ROMs now several new modules, some of the module location numbers have changed. Because the *UNPLUG settings only remember the module location numbers you may need to review any unplugged modules after the upgrade to ensure the desired ones are unplugged, and that crucial modules are not left unplugged by mistake.
For the full release notes and download/installation instructions, please see the ROOL press release.
Raspberry Pi released
The Raspberry Pi Foundation have launched their much anticipated, and dirt cheap computer, the Raspberry Pi. The machine is currently being sold through a number of electronic retailers, namely Farnell, RS Components, and Allied Electronics. However overwhelming demand for the device means that it may take a month or two for production to ramp-up and all backorders to be filled.
The Raspberry Pi is a single-board computer developed by the Raspberry Pi Foundation. The foundation plans to release two versions, priced at £16 and £22. The Raspberry Pi is intended to stimulate the teaching of basic computer science in schools and has been designed for use with the Linux operating system, although a port of RISC OS to the machine is already underway.
The design is based around a Broadcom BCM2835 SoC, which includes a 700MHz ARM1176JZF-S processor, VideoCore IV GPU, and 256 Megabytes of RAM. The design does not include a built-in hard disk or solid-state drive, instead relying on an SD card for booting and long-term storage.
MPlayer ported to RISC OS
Chris Gransden has ported the popular cross-platform media player and encoder MPlayer to RISC OS, this significant advancement means that RISC OS can now fully play MP4 and other mainstream video formats.
Chris’ port is a direct build of the Linux sources and does not feature much RISC OS integration as of yet. It makes a good attempt at playing most MPEG, VOB, AVI and WMV formats, plus many others. You can expect reasonable frame rates up to 480p resolution on recent RISC OS hardware which currently includes Beagleboard and Pandaboard based machines.
Bundled along with the MPlayer download is MEncoder, which is a simple movie encoder, designed to encode MPlayer-playable movies.
You can download this latest version of MPlayer from the riscos.info website here.
Version 3.38 of OpenVector, OpenGridPro and DrawPlus has been released. These applications are all open-source enhancements to Draw, providing enhanced layering and object library capabilities as well as the ability to draw advanced grids and other object layouts. This release features improved compatibility with Cortex-A8 hardware such as the ARMini and BeagleBoard. Compressed drawfiles and libraries can now be loaded when alignment exceptions are enabled. Consistency of layered merging has also improved.
Version 1.71 of PlayIt, a disc-based engine for playing sound samples, has been released. It is used as a resource by several audio players including DigitalCD. This new update contains no new functionality but several significant bugfixes, increased 26/32bit neutrality, and changes for ARMv7 compatability.
BarFree from Bernard Veasey has been updated to work on RISC OS 5.18, BarFree copies revised ‘Messages’ and ‘Templates’ files to your ’PreDesk’ directory within its own directory called ‘Free’ to enable different style Free Space windows.
Charm has been updated to version 2.5.3 to add support for 'new' and 'delete' keywords for allocating and releasing storage for records. Charm is a high level programming language with a compiler than generates efficient code with a small memory footprint.
Posted by Chris on 15:25, 19/4/2010
| Hardware, Open source, Programming, RISC OS, RISC OS Open Ltd, Video
17 comments in the forums
Watching video on RISC OS isn't very easy. We've run an article here
on how you can download and convert YouTube videos into a format RISC OS can understand. Though it's very clever, and the tools
involved are actively developed, it's not as simple as clicking 'Play' in a browser window.
Improving this situation has been hampered up until now for two main reasons:
- RISC OS hardware has been too slow to play back video at an acceptable rate;
- RISC OS software hasn't supported popular codecs (formats), some of which are proprietary and expensive to license.
The first of these is already well on the way to being fixed. The Beagleboard is modestly powered in comparison to the average desktop PC, but it's perfectly capable of playing video at a decent rate. The diminutive boards have been shown running 720p video (a high-definition format) while running a Linux distribution - have a look here
to see this in action.
The RISC OS port can't quite match that yet. All that might be about to change, though, due to the development of something called Theorarm
. This is a library of routines to enable the playing of videos in the Ogg Theora
format on ARM-based machines. Ogg Theora is a relatively new format, but it has some interesting features. Perhaps most importantly, it's entirely open source, so videos encoded using the technology can be played back by any suitably-written software. Moreover, Theora is one of the contenders for the [video] tag in the new HTML5 specification. That means that it may become a significant rival to the more common MPEG and Flash videos on the web.
Theorarm is interesting, as it's been optimised for newer ARM chips using hand-written assembly code. This makes it very fast. The developer, Robin Watts (of Warm Silence Software
fame) has done some development work on the Beagleboard, with promising results: "With post processing disabled, I can play a PAL DVD sized film (720x576x25fps, 48kHz stereo audio track) in realtime with software YUV2RGB. The limited profiling I've done, along with some back-of-an-envelope maths suggests that we should just about be able to do 720p films if the YUV2RGB process is done by hardware." That means, in English, that DVD-quality film can be played back on a Beagleboard with decent audio too. If some of the complex conversions from YUV colour format to RGB could be carried out in hardware, then higher definition films could be played.
This is pretty exciting stuff for Beagleboard owners. If Theorarm is ported to RISC OS (and there's no reason, other than developer time and effort, why it couldn't be), then we'd have the basis of a fast, native video playback system. Some issues would require addressing, of course, since RISC OS can't handle the Beagleboard's YUV facility - see here
for Jeffrey Lee's proposals to fix this - but these are all surmountable.
If anyone is interested in getting involved, then the ROOL project is the place to start. In particular, the proposals for working on the GraphicsV
vector need attention from developers with the right level of experience, and the draft API on the ROOL site could do with some more exposure.
A few years ago, RISC OS lacked fast hardware, a half-capable browser and a media player capable of showing popular streaming video formats. The first two are being actively addressed
- what are the chances that the last one will be as well?
Posted by Chris on 16:08, 8/4/2010
| Hardware, Programming, RISC OS, RISC OS Open Ltd
9 comments in the forums
There's been a fair bit of effort to get RISC OS software working on ROOL's port of RISC OS to the Beagleboard and other OMAP-driven boards. The shift from software that works on the Iyonix to software that works on the OMAP family isn't as big as the shift to 32-bit of a few years ago, but there are still some issues. Most importantly, the OMAP family of processors use the 'ARMv7' specification, which means that certain instructions that work on the Iyonix's IOP processor (or earlier) fall over.
The ease of fixing a recalcitrant application depends on how it's been written. If the app's written in BASIC, then all should be well. If it's written in C, then a recompile with the latest version of the GCC or Norcroft tools should fix it. If you've got some hand-crafted assembler to cope with, then the process is a bit more involved. There's a full list of these technical issues here
As time goes on, more and more software is having fixes applied to enable compatibility. Over the last few days, David Pilling's Ovation Pro
have been updated to work with the new hardware. The text editor Zap has also been fixed
, though there's not an official release of this yet. Apps like NetSurf
already work, and there's some indication
that EasiWriter and TechWriter will soon join the list.
More details on the applications that work on the new hardware platform can be found here
. Hopefully this list will keep on growing. Meanwhile, at least one RISC OS user
is happy with the experience of using the BeagleBoard...
| Comment in the forums||
| 30 comments in the forums|
| 26 comments in the forums||
| 1 comment in the forums|
| Comment in the forums||
| 1 comment in the forums||