RISC OS Open
Safeguarding the past, present and future of RISC OS for everyone
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

RPCEmu and RISC OS 5 on Windows (Rev #19)

History, RISC OS 5 and software compatibility

Early ARM processors had a combined 26-bit program counter and status register, rather than separate 32-bit program counter and status registers.

For a time processors had both 26-bit and 32-bit modes, with the former being phased out by ARM. In October 2002 RISC OS 5 was released using only the 32-bit mode, required because 26-bit mode processors were no longer available – the last being the StrongARM used in the RiscPC.

Most software written in BBC BASIC has no compatibility issues, and in many cases software written in C merely requires a recompilation of the source code, where available. However, some software is reliant on features specific to 26-bit mode and needs updating before it will work.

Recent developments have made RISC OS 5 available for the RiscPC (StrongARM/ARM610/ARM710) and A7000/A7000+ (ARM7500/ARM7500FE).

A ROM upgrade is available to install on real hardware. The following installation notes will allow you to run RISC OS 5 on an emulated RiscPC, and assumes an installation on the most common user hardware/software installation – x86 hardware and Windows.

Note: There is no provision for mixing 26-bit mode and 32-bit mode applications on the same machine.
If you wish to run RISC OS 5.2x any legacy applications with 26 bit code will first need updating.
If you wish to run legacy programs, then running RPCEmu with RISC OS 3, 4 or 6 may provide greater compatibility.

These notes are based on testing

  • Installation on Windows XP and Windows 7+ (Windows 8 and 10 have not been tested by the author but there are no reported errors).
  • For the author the use of 0.9.3 follows previous installs of 0.8.9, to 0.9.2 with RISC OS 5 in use from early 2012 to present date.

Installation

  1. Download the zip archive of RPCEmu 0.9.3.
  2. Extract the contents to a directory of your choice – DO NOT place the extracted “RPCEmu” directory in \Program Files\ or similar as Windows versions 7, 8, 10 protect these directories and you will experience problems. Something like D:\RPCEmu will be just fine.
  3. Download an IOMD ROM image from RISC OS Open. All files, stable and beta, are available from the ROM images page. The recommended ROM for the RiscPC is IOMD 5.28 stable (softload), other variants exist to cater for other CPUs, each with a stable (even numbered) and a beta (odd numbered) version – this text assumes a stable IOMD ROM.
  4. Copy the file “riscos” from IOMD-Soft.5.28.zip\soft\!Boot\Choices\Boot\PreDesk\!!SoftLoad\riscos into the D:\RPCEmu\roms directory. The other files aren’t needed and can be discarded.
  5. Download the ROOL self extracting hard disc. As with the ROM image there are both stable and beta versions available. The recommended file is HardDisc4 (self-extracting) – stable. Copy this file to D:\RPCEmu\hostfs\ as “HardDisc4-util,ffc” take care to keep the ,ffc (comma ffc) ending which will be translated by RPCEmu to produce the metadata filetype for RISC OS.

Note 1: RISC OS 5 beta versions are updated frequently with nightly builds from the CVS but may contain bugs so important data should only be trusted to the stable installs.
Note 2: RPCEmu is deemed alpha quality by its authors, which rather negates any comments about stable installs in note 1. In practice, many people use RPCEmu without issue.
Note 3: If you choose to use a beta ROM it is best to use the matching beta HardDisc4 as changes in the ROM may require specific disc based components.

Configuration

  1. Double-click D:\RPCemu\RPCEmu-Recompiler.exe to launch it.
  2. Ignore the TaskManager error and click on Settings and then Configure.
  3. Select the RiscPC StrongARM hardware option, select 128MB or more RAM, and 2MB VRAM.
  4. After the restart the emulator will stop at a * prompt. This is because the system is not currently configured correctly to boot into the desktop – type desktop to start the desktop GUI. Cancel the error ‘Machine startup has not completed’.
  5. Click HostFS, on the iconbar, to open the root directory.
  6. Double-click on the HardDisc4-util to extract the HardDisc4 contents. Wait a while. Double-click the HardDisc4 directory that has been created to open it. Cancel the error ‘No Boot application has been run’, and hold shift down while dragging the !Boot to HostFS:$ (this moves it rather than copying).
  7. Press f12 and issue the following commands
    Configure FileSystem hostfs
    Configure Boot
  8. Press enter twice to return to the desktop then press ctrl-shift-f12 to shutdown.
  9. Click the Windows Close button.
  10. Double-click D:\RPCemu\RPCEmu-Recompiler.exe to re-launch RPCEmu.
  11. When D:\RPCemu\RPCEmu-Recompiler.exe is launched, RPCEmu should now boot to the desktop. All further configuration of RISC OS is personal preference. Access the configuration section of RISC OS by a single click of the Menu (middle) mouse button over the cog icon on the far right of the iconbar.

Networking

The explanation over on the RPCEmu web site works reliably on the NAT option, the bridging option is untested.

Briefly it comes down to this:

Emulator configuration
Run RPCEmu and open the networking configuration (up on title bar)

  1. Click Settings
  2. Click Networking
  3. Select the “Network Address Translation” option and click OK).
    The Emulator will restart.

RISC OS Networking Configuration
When RISC OS has rebooted, click the “Menu” (middle) button on the mouse over the Switcher icon (cog on the right of the icon bar – bottom right of screen) and the select the Configure option in the menu.

  1. Click the Network icon in the window that appears.
  2. Click the Internet icon in the window that appears.
  3. Click Enable TCP/IP Protocol Suite, then click the Interfaces icon.
  4. In ‘Interfaces’ make sure EtherRPCEm is selected and click the Configure… button.
  5. Choose DHCP; and Click Set. The window closes.
  6. Click the close option in the Interfaces window.
  7. Click the close option in the Internet window.
  8. Click Save in the Network window.
  9. Click “Reset now” in the window that appears.

Testing
After the reboot press Ctrl and F12 simultaneously
in the task window showing a command prompt:

type ifconfig -a
The response should show the rpcem0 interface has an address of 10.10.10.10

type ping -c 1 10.10.10.2 to establish that the virtual router created by RPCEmu is working (the -c 1 limits to one ping packet otherwise the action continues until you press Escape)

type gethost www.google.com
The response gives the IP address of the www server at google.com domain

type gethost -t www.google.com
The response will now include the time it took for your DNS server to respond.

type gethost -x -t 8.8.8.8
The response will give the hostname (it’s dns.google) the address you typed and the last line will be the time it took for your DNS server to respond.

All done. Limitations: see below.

Limitations

  • The emulator does not support IDE harddiscs or CDROM. The OS does, but the emulator has a data loss bug.
  • If you do not configure the emulator to use 2MB VRAM, you will get redraw issues in the RISC OS desktop.
  • The Windows version sometimes exhibits redraw issues – notable if the RPCEmu window overlaps the Windows taskbar.
  • The Restart button, on the Shutdown window, should be avoided, because it seems not to reset everything.
  • As stated at the top: RISC OS 5 uses the processor in 32 bit mode. There is no provision for mixing 26-bit mode and 32-bit mode applications on the same machine – legacy applications will first need updating.

Networking limitations

  • Using the NAT option you are hidden from your local network so sharing of resources between the emulator and other computers on the network does not work.
  • The NAT setup uses one specific IP in a /24 subnet (10.10.10.0/24), if your local network uses this same range this networking setup will not work. Change your router settings to use a different IP range
Revision from October 24, 2020 21:18:36 by Steve Pampling (1551)?
Forward in time (2 more) | Back in time (18 more) | See current | See changes | History | Rollback | Linked from: Introduction to RISC OS

Search the Wiki

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys