RPCEmu: RISC OS onder linux

Er is weer een maand voorbij en ik kan je melden dat er wat belangrijke ontwikkelingen gaande inzake RPCEmu. Voor degene die het nog niet wisten. De auteur van RPCEmu, Tom Walker, is gestopt met de ontwikkeling van RPCEmu. Hij vond dat de emulator deed wat ie moest doen en dat de nieuwe ideeën over RPCEmu (een Linux gebaseerde open-source emulator draaiend met een open-source RISC OS 5 rom) hem niet echt interesseerde. Dit vond ik erg jammer maar ik begrijp z'n keuze. Aangezien er geen andere gegadigden waren, heb ik besloten het project over te nemen samen met Kees Grinwis en Simon Voortman. Ons 1e doel is vooral het in kaart brengen van de code en het oplossen van bugs in de emulator. Gelukkig zijn we niet de enige die er aan werken. Ik heb al diverse reacties gehad van mensen die mee willen helpen en 1 persoon heeft al toegezegd om van RPCEmu een Debian-pakket te maken. Dit zou betekenen dat in de toekomst het installeren van RPCEmu op een Debian distributie een heel stuk gemakkelijker wordt.

Voordat ik deze keer verder ga met het activeren van de CD-ROM ondersteuning, moet ik helaas melden dat er een paar foutjes zijn geslopen in de vorige delen van dit artikel. Dus bij deze de correcties:

Het bleek dat sommige mensen bij een standaard Ubuntu distributie toch het pakket build-essential misten om het RPCEmu te kunnen compileren. Dus gebruik:

sudo apt-get install subversion liballegro4.2 liballegro4.2-dev liballegro4.2-plugin-jack

om alle benodigde pakketten binnen te halen.

Verder klopten de adressen om de rom-images uit je Risc PC te extraheren niet. Deze waren namelijk 16x te hoog. De juiste commando's zijn:

*save rom1 03800000 03900000
*save rom2 03900000 03A00000
*save rom3 03A00000 03B00000
*save rom4 03B00000 03C00000

Dan was er nog een probleem met het activeren van de forwarding. De commando's waarmee via een redirect het getal 1 in de bestanden /proc/sys/net/ipv4/ip_forward en /proc/sys/net/ipv4/ip_dynaddr worden gezet, werken namelijk niet met sudo. Wel werkende commando's zijn:

echo "1" | sudo tee /proc/sys/net/ipv4/ip_forward
echo "1" | sudo tee /proc/sys/net/ipv4/ip_dynaddr

CD-ROM ondersteuning

Voordat je de emulator opstart controleer je eerst of /dev/cdrom wijst naar de juiste CD-ROM drive. Stop een data CD-ROM in je CD-ROM drive en voor de volgende commando's uit:

mkdir ~/cdrom
sudo mount /dev/cdrom ~/cdrom
ls ~/cdrom

Als je geen foutmeldingen ziet en het laatste commando geeft de inhoud van de CD-ROM dan staat /dev/cdrom goed. Mocht het niet lukken controleer dan of het systeem misschien de CD-ROM al automatisch gemount heeft. Voer daarvoor het mount-commando voor uit:

\
mount

Zoek vervolgens in de uitvoer naar regels zoals:

/dev/dvd on /media/cdrom type iso9660 (ro)

In dit geval betekent het dat /dev/dvd/ wijst naar je CD-ROM drive. Dit zou ook een andere device kunnen zijn, bijvoorbeeld /dev/scdN (N >= 0). Als je het goede device gevonden hebt, maak je een nieuwe symbolische link cdrom aan die naar dat device wijst. In het bovenstaande geval voer je dus het volgende commando uit:

sudo ln -s /dev/dvd /dev/cdrom

Na het aanmaken van de nieuw link voer je de 3 bovenstaande commando's opnieuw uit om de inhoud van CD-ROM op te vragen.

Unmount vervolgens de CD-ROM en verwijder de aangemaakte map:

sudo umount ~/cdrom
rmdir ~/cdrom

Open vervolgens het configuratie-bestand rpc.cfg en controleer dat:

cdrom_enabled = 1

Start de emulator op en open het menu van RPCEmu (CTRL+End). Klik nu 'Setting', vervolgens 'CD-ROM' en dan 'IOCTL'.

Pic2

Dubbelklik in RISC OS op de !Boot om het configuratie-venster van RISC OS te openen. Klik op 'Discs' en stel in het volgende venster één CD-ROM drive in en klik vervolgens op 'Set'. Klik 'OK' in het waarschuwingsvenster. Open nu de CD-ROM door op het symbool van de CD-ROM drive :0 (links onderaan) te klikken. Er opent nu een venster waarin de inhoud van de CD-ROM wordt getoond.

Pic5

Instellen aantal CD-ROM drives in RISC OS

Het is ook mogelijk om inplaats van een echte data CD-ROM een zogenaamd ISO-image van een CD-ROM te gebruiken onder RPCEmu. Open hiervoor het menu van RPCEmu en ga vervolgens naar 'Settings', 'CD-ROM' en klik op 'ISO image'. Er wordt nu een venster geopend waarin je een ISO-image kan selecteren. Selecteer een geschikte ISO-image en klik op 'OK'. Je kan de ISO-image net als een echte CD-ROM openen door op het symbool van de CD-ROM drive (links onderaan) te klikken.

Pic4

Let op dat wanneer je de emulator opnieuw opstart je weer de 'IOCTL' optie moet aanzetten als je CD-ROM ondersteuning aan wilt zetten.

Zo dit was voorlopig de laatste aflevering over RPCEmu. Een Engelse versie van deze artikelen serie staat onder de titel RPCEmu Linux Guide op riscos.info.

Diverse links

RPCEmu http://www.riscos.info/index.php/RPCEmu
RPCEmu Linux Guide http://www.riscos.info/index.php/RPCEmu_Linux_Guide
RPCEmu mailing list http://www.riscos.info/cgi-bin/mailman/listinfo/rpcemu