<div id="toc_heading"></div><div id="toc"></div> h2. Introduction h3. 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. A "RISC OS 5 ROM upgrade":/content/sales/risc-os-roms is available to install on real hardware (Risc PC/A7000/A7000+). The following installation notes will allow you to run RISC OS 5 under emulation, and assumes an installation on an x86 PC running Windows. <notextile> <p><div style="background-color: #FFCCCC; border: 1px black solid; padding:0.5em"> <b>Note:</b> If you wish to run RISC OS 5.2x any legacy applications with 26 bit code will first need updating.<br />If you wish to run legacy programs then a software compatibility tool called <a ref="http://sendiri.co.uk/aemulor/">Aemulor</a> can assist in running 26 bit applications in a 32 bit operating system. </div></p><br /></notextile> These notes are based on testing * Installation on Windows XP, Windows 7+ and Windows 10 has been tested extensively. Windows 11 is untested. * For the author the use of 0.9.4 follows previous installations of 0.8.9, to 0.9.3 with RISC OS 5 in use from early 2012 to present date. h2. Installing RPCEmu from scratch h3. Installation # Download the <a href="https://www.marutan.net/rpcemu/cgi/download.php?sFName=0.9.4/rpcemu-win32-archive-0.9.4.zip">zip archive of RPCEmu 0.9.4</a>. # Extract the contents to a directory of your choice - DO NOT place the extracted "RPCEmu" directory in <b>\Program Files\</b> or similar as Windows versions 7, 8, 10 protect these directories, and you will experience problems. Something like <b>D:\RPCEmu</b> will be just fine. # Download an IOMD ROM image from RISC OS Open. All files, stable and beta, are available from the <a href="https://www.riscosopen.org/content/downloads/riscpc">ROM images page</a>. The recommended ROM for the RiscPC is <a href="https://www.riscosopen.org/zipfiles/platform/riscpc/IOMD-Flash.5.28.zip">IOMD 5.28 stable (softload)</a>, 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. # Copy the file <b>"riscos"</b> from <b>IOMD-Soft.5.28.zip\soft\!Boot\Choices\Boot\PreDesk\!!SoftLoad\riscos</b> into the <b>D:\RPCEmu\roms</b> directory. The other files aren't needed and can be discarded. # <a href="https://www.riscosopen.org/content/downloads/common#disc_based_components">Download</a> the ROOL self extracting hard disc. As with the ROM image, there are both stable and beta versions available. The recommended file is <a href="https://www.riscosopen.org/zipfiles/platform/common/HardDisc4.5.28.util">HardDisc4 (self-extracting)</a> - stable. Copy this file to <b>D:\RPCEmu\hostfs\</b> as <b>"HardDisc4-util,ffc"</b> take care to keep the <b>,ffc</b> (comma ffc) ending which will be translated by RPCEmu to produce the metadata filetype for RISC OS. <b>Note 1:</b> RISC OS 5 beta versions are updated frequently with nightly builds from the Git repository but may contain bugs, so important data should only be trusted to the stable installs. <b>Note 2:</b> RPCEmu is deemed alpha quality by its authors, which rather negates any comments about stable installations in note 1. In practice, many people use RPCEmu without issue. <b>Note 3:</b> 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. h3. Configuration # Double-click <b>D:\RPCemu\RPCEmu-Recompiler.exe</b> to launch it. # Ignore the TaskManager error and click on <u><b>S</b></u>ettings and then <u><b>C</b></u>onfigure. # Select the RiscPC StrongARM hardware option, select 128MB or more RAM, and 2MB VRAM. # 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 <b>desktop</b> to start the desktop GUI. Cancel the error 'Machine startup has not completed'. # Click HostFS, on the iconbar, to open the root directory. # 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). # Press f12 and issue the following commands <b>Configure FileSystem hostfs</b><br> <b>Configure Boot</b><br> <b>Configure SystemSize 32K</b><br> # Press enter twice to return to the desktop then press Ctrl-Shift-F12 to shutdown. # Click the Windows Close button. # Double-click <b>D:\RPCemu\RPCEmu-Recompiler.exe</b> to re-launch RPCEmu. # When <b>D:\RPCemu\RPCEmu-Recompiler.exe</b> 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. h3. Networking The explanation over on the <b><a href="http://www.marutan.net/rpcemu/manual/net-ro-nat.html">RPCEmu web site</a></b> works reliably on the <b>NAT</b> option, the bridging option is untested. Briefly, it comes down to this: <b>Emulator configuration</b> Run RPCEmu and open the networking configuration (up on title bar) # Click Settings # Click Networking # Select the "Network Address Translation" option and click OK). The Emulator will restart. <b>RISC OS Networking Configuration</b> 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. # Click the Network icon in the window that appears. # Click the Internet icon in the window that appears. # Click Enable TCP/IP Protocol Suite, then click the Interfaces icon. # In 'Interfaces' make sure EtherRPCEm is selected and click the Configure... button. # Choose DHCP; and Click Set. The window closes. # Click the close option in the Interfaces window. # Click the close option in the Internet window. # Click Save in the Network window. # Click "Reset now" in the window that appears. <b>Testing</b> After the reboot press Ctrl and F12 simultaneously to reach a task window showing a command prompt. * Type <b>ifconfig -a</b><br />The response should show the rpcem0 interface has an address of 10.10.10.10 * Type <b>ping -c 1 10.10.10.2</b> 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). You cannot ping any IP except the virtual router (10.10.10.2) as the current NAT setup does not forward ICMP * Type <b>gethost www.google.com</b><br />The response gives the IP address of the www server at google.com domain * Type <b>gethost -t www.google.com</b><br />The response will now include the time it took for your DNS server to respond. * Type <b>gethost -x -t 8.8.8.8</b><br />The response will give the hostname (it's dns.google) of the address you typed, and the last line will be the time it took for your DNS server to respond. h3. 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. Legacy 26 bit applications will first need updating, or Aemulor used for any that can't be updated. h3. 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