The RISC OS games scene has enjoyed quite a rejuvenation over the last few years, with Amcog Games hitting the market with their debut title Overlord in 2015 and R-Comp re-releasing a number of their titles for newer RISC OS machines.
Since then, the flow of new games to play through has been so quick and fast that this blog has fallen woefully behind on covering them.
Now is time to change that, for the entirety of August the blog is going to be focusing exclusively on gaming on RISC OS. With multiple game reviews as well as other gaming related articles going up on the site throughout the month.
We’ll also be exploring the numerous gaming possibilities available to us through emulating gaming systems or other operating systems on RISC OS.
The first article of this month of gaming coverage goes live on August 1st. In the meantime, you could check out the various titles we’ve already reviewed in our Games Corner section.
Happy RISC OS Games Month!
A while back we took a look at running a HTTP web server on RISC OS with Web James, which for the most part was a pretty painless process. WebJames isn’t the only option out there though, HTTPServ by Thomas Millius began life in 1998 as a way for Thomas to get more familiar with the Internet and how it worked. Fast forward to 2018 and it’s now at version 0.11 and able to run on modern RISC OS hardware.
HTTPServ is a simple HTTP 1.0 web server, it currently doesn’t support HTTPS (no web server on RISC OS does to my knowledge) but it can act as a proxy and it supports cgi-bin dynamic webpage generating including !PHP.
You can download HTTPServ for free from the Pling Store.
Setting up HTTPServ
What’s cool with HTTPServ is, once it’s been installed and the application is run for the first time, your web server is already setup and running with a basic template webpage.
An icon appears on the left side of your icon bar, clicking on it will bring up your web directory where all your webpages and other files you want accessible to your website’s visitors should be stored. The default web directory is actually within the !HTTPServ application itself, inside a folder called Files.
If you’d rather not write your website manually via a text editor, you could use something like HTML3 to design the website that will run on your HTTPServ server. Alternatively, if you’ve already got a pre-designed website or something similar ready to upload from another machine, you can use something like Samba so that files can be dropped onto the RISC OS system running HTTPServ.
Should you want to tweak with any of the configurations of the server, for example routing traffic through a proxy or accepting traffic from certain IP addresses only, then middle-clicking on the icon bar iconthen clicking on Configuration will bring up the HTTPServ config file in a text editor, where you can tweak away to your heart’s content. You can configure a fair amount of things, including changing your web directory from the Files folder within !HTTPServ to another location on your system.
Should you want your web server to automatically start when your system boots, then you can configure HTTPServ to run at boot by running !Boot, navigating to ‘Boot’ then ‘Run’. Just drag !HTTPServ into the ‘Run at startup’ window and click ‘Set’ to save your changes. Your web server will then run whenever your system starts.
To make sure your web server is running, visit http://127.0.0.1 in a web browser on the system you’re running HTTPServ on, this should bring up your website.
Local network configuration
If you want to access your website from an external network (i.e. via the Internet) then you’ll need to enable the firewall your web server is passing through to allow connections on port 80 (the HTTP port). With most setups this can be achieved by adding a port forwarding rule in your router’s firewall to allow TCP connections over port 80.
Should you decide you don’t require access to your web server from an external network – for example, you only need to connect to it from devices in your home so that you can easily link through to other servers/services on your home network – then you don’t need to do anything, traffic should pass over port 80 without a problem unless you have device-specific firewalls blocking this port (you’ll probably know about it if this is the case).
Accessing your website
Once your web server is setup and running on RISC OS, you can remotely access it by pointing any web browser to the IP address designated to your RISC OS machine running HTTPServ, or alternatively if you’ve configured a domain name to point to your IP address, you can visit the domain name.
LAN Access – If you’re accessing it from a device connected to the same local network as your server, then you can specify the LAN IP address for your device (e.g. 192.168.0.2) – it’s worth setting up a static LAN IP address in your router’s DHCP settings to ensure this stays the same.
If you will be accessing the server from your local network and from external connections, then following the steps in the ‘WAN Access’ section below will be your best bet.
WAN Access – If your website needs to be accessed from machines outside your home network, then web browsers will need to point to your WAN IP address, which will be assigned to your Broadband modem. You can find out your IP address by searching ‘My IP’ using most major search engines,(click here for a pre-configured search query) or or alternatively if you’ve configured a domain name to point to your IP address, you can visit the domain name.
There we have it! You’re running a web server on your RISC OS computer with HTTPServ.
Space shooter Equinox from Jason Tribbeck has an interesting and long history behind it. It initially began life in 1992, being developed for the Acorn Archimedes. It used filled-in vector graphics for near enough everything and ran in a 320×256 screen mode. A deeply-nested bug that couldn’t be tracked down meant that it didn’t see a release.
Jason decided to re-write it in June 2002, and after an on-off development phase, it saw a limited beta release some years later, development then halted and nothing more came of it.
Fast forward to now and Equinox has now been updated to work on the Raspberry Pi, which should mean it’s compatible with most other moderns RISC OS-friendly boards such has the Beagleboard and Titanium. Although not officially complete, Equinox can be downloaded for free from here.
The game itself
As you’d expect from a space game, your main objective with Equinox is to shoot and kill things. There are 225 levels arranged in a 15×15 grid (although as the game is not yet complete, some may not be playable). You start off in the centre of that grid and it is up to you what order you complete the levels. You can only proceed to levels that are directly adjacent to the level you’ve completed on the grid.
Upgrades can be made to your ship along the way through the in-game shop. You can boost its speed, make it turn quicker, improve maneuvering, change your weapons around, add energy generators and energy bombs too.
One thing to keep in mind with your ship is that you need to ensure it has enough energy to complete the level – if your energy supply drops to zero then it’s game over – for that level at least. Energy is used whenever you hit an object, or fire your weapons. Your energy will rebuild – the rate at which it rebuilds depends on how many energy recharge units you have – the more you have, the quicker it will recharge.
Weapons have two main requirements that you need to keep in mind. They need enough energy to use, and they need to be cold enough to fire. If they get too hot then they’ll need to cool down before they can be used again.
When you turn your ship, the maximum speed depends on the angular cooling system level. The more cooling you have, the higher your maximum turn rate can be. The acceleration of your turn depends on the angular acceleration level, the more you have, the sooner you will reach the maximum. The higher your turn rate is, the better the maneuverability is – however, you don’t want to make it too fast, nor uncontrollable, so it’s a balancing act between each of these items.
Performance & Compatibility
After a good a few sessions playing Equinox on my Raspberry Pi 2, stability and performance is where you’d expect it to be. The gameplay is smooth and I didn’t experience any crashes or anything else unexpected. Pretty cool considering it doesn’t appear like a lot of modification was required to get the game running on newer hardware.
Longevity-wise, the game’s novelty doesn’t run out as quickly as you might expect for a game that has a simple objective of just killing things in space. The game’s music provides very appropriate atmosphere to a title that is coupled with tidy graphics and simple yet solid gameplay.
The game should play fine on a vast majority of RISC OS machines, be it legacy 26-bit computers or 32-bit machines. I’ve played the game for a number of hours both on a Raspberry Pi 2 running RISC OS 5.24 as well as Virtual RPC-SA running RISC OS 4.02. Equinox has also been reported to play fine on the Titanium so I’d imagine it should run fine on pretty much any modern RISC OS machine.
Equinox is an impressive game with a long and varied history, and is another good boost to a RISC OS games market that seems to have been invigorated as of late with a good number of new releases, both commercial and free, making it out to the masses.
A few years ago, RISC OS Open announced that a large number of applications would soon no longer be able to access the ARM vectors, kernel workspace, or any memory in what is known as ‘zero page’, which the memory from addresses 0 to 4095.
Fixing these zero page memory bugs in anything that runs on RISC OS will be a huge step towards allowing RISC OS to move closer to running on multiple cores in modern ARM processors, and to greatly improve system stability by removing a common class of programming mistake when applications use an address of zero by mistake.
Since ROOL’s announcement over three years ago, they’ve announced that over 70 bugs that needed addressing within RISC OS itself have been resolved – while the response from developers in the community has been pretty good, with a good number of popular applications being fixed to avoid huge compatibility issues later on down the line.
With the introduction of RISC OS 5.24, to help with compatibility a largely empty ‘page’ of read-only memory has been positioned where the old ‘zero page’ used to be, so accidental reads will continue to be hidden until any of the few remaining commonly-used buggy applications are fixed.
What’s really good to see here is the community seems to be responding in a very positive way towards upgrading applications now to avoid compatibility issues later on down the line.
Obviously there will still be some problems when RISC OS moves towards utilising multiple cores (or at least laying down the foundations for it), afterall we’re still coming across a few widely used applications that aren’t 32-bit compatible, 16 years after the first 32-bit RISC OS computer came out. For the most part however, it goes to show to that most people involved with RISC OS seem to be working towards a common goal now rather than the ROOL/RISCOSLtd. split that was very prevalent a few years ago.
A list of applications that have been reported and fixed is available on ROOL’s website should you want to take a gander.
RISC OS 5.24 stable is now out for all to take advantage of the 708 changes since 2015’s 5.22 stable release. 20 or so of those changes would be considered major improvements.
The biggest news is the addition of RISC OS’ ability to handle larger hard drives, JPEG support, monitor EDID support and a number of tweaks to the network stack.
This release incorporates a huge 707 changes for the OMAP3 platform used by the ARMini and 708 changes for OMAP4, used by the PandaRO and ARMiniX computers. Older platforms such as Tungsten (Iyonix PC) and IOMD (RiscPC & A7000 range) have also seen a deludge of changes. For the first time the stable release includes the Raspberry Pi and Titanium ports.
A number of these major improvements have come as the result of the ROOL Bounty scheme, which for those of you that may be unfamiliar, is a RISC OS Open initiative where a list of development items is published on ROOL’s website and people can throw money at the items they’d most like to see come to fruition. This then allows for developers to work on something that they do not have enough spare time to work on in their free-time.
Userland features have also seen some TLC – with Printers, DosFS, Maestro and other utilities getting updates. Access+, Econet support on Omniclient and the NFS client have also seen their first updates in many years. LanManFS has also been updated with some security tweaks as well as the ability to connect to Windows 8 and 10 shares.
In their announcement of 5.24’s arrival, ROOL have also said they’re hoping to see RISC OS back in the NOOBS software for Raspberry Pi, after it was removed a few releases back.
This release has also seen ROOL improve the release process, there is now a more formal set of criteria to verify each platform supported and a traffic light system with statuses of red, amber and green.
Useability & upgrading
From a useability standpoint, the RISC OS experience is exactly the same as it was so there’s no nasty surprises for when you upgrade your machines.
The upgrade process on my Raspberry Pi was very straightforward and pretty quick – ROOL have a nice guide to take you through the upgrade process that is worth checking out.
Computer and board-specific advice relating to the installation and upgrade process for this release is also available on ROOL’s website.
Backwards compatibility is very good, I’ve encounter no issues with running any applications or utilities so far – which is to be expected from a stable release, afterall 5.24 has been a long-time in the making.
Improvements of note
- Filecore – Reports sector offsets correctly with the *Map command on old format discs. Full directories on long filename discs are now correctly faulted rather than producing an unreadable disc. Filecore can now use up to 21 bits for the disc address, meaning a smaller logical file allocation unit, for more efficient use of space on large discs. Bug fixes to 4kbyte sector support allowing drives up to 2TB in size to be used, instead of the previous limit of 256GB with 512 byte sectors.
- ADFS – Compatibility with flash drives has been improved, where previously they might report disc error 20.
- Kernel – A new concept of ‘physical memory pools’ has been added, this is where a dynamic area can set aside lots of physical memory but only use a small window of logical memory, for example to allow a large RAM disc. Extra APIs have also been added to allow low level software to discover features of the ARM processor such as its support for exclusive monitor instructions as and when they are removed depending on the ARM core.Teletext video modes can now have extra characters on each line rather than being constrained to 40 (up to a limit of 255). An extra conversion for OS_ConvertVariform to handle globally unique numbers (GUID). Some preparations and reorganisation for multiple ARM cores have also been made. A new option to configure a MonitorType of EDID which will read the settings from the monitor directly as part of the EDID bounty work.
- LanManFS – It will now connect to NTLM authenticated shares which is a minimum requirement on many servers to improve security. It also now correctly performs writes over 64kbytes when the server declares a buffer size of larger than this.
- USBDriver EHCIDriver and OHCIDriver – Scanning keyboards, particularly when hidden behind hubs, at power on in order to do power-on-delete (for example) is now more reliable as part of the USB bounty work. The drivers have been updated where practical from the parent copies in NetBSD
Where to grab it
You can download RISC OS 5.24 for free from ROOL’s website and for purchase on their SD cards. Their ePic card has also been updated with RISC OS 5.24 and latest versions of SparkFS, PhotoDesk, DDE and Impact – you can purchase it from the ROOL store.