Posts tonen met het label Basics. Alle posts tonen
Posts tonen met het label Basics. Alle posts tonen

zaterdag 2 juli 2016

BIOS-bestanden installeren

RetroArch heeft een heel groot gamma aan cores ( = emulators) in huis. Een groot deel daarvan volgt een nogal rechtoe-rechtaan methode om aan de praat te krijgen : je dumpt roms in de juiste map, je zoekt de bijpassende core en past je es_systems.cfg aan.

Zeker systemen zoals de SNES en de NES krijg je op die manier in een mum van tijd aan de praat. Er zijn echter ook systemen waarbij een BIOS-bestand nodig is.

Er zijn twee zaken belangrijk bij BIOS-bestanden :
  1. zoeken én vinden van de juiste BIOS-bestanden
  2. de BIOS-bestanden in de juiste map plaatsen

 

Hoe weet ik welk systeem welke BIOS nodig heeft?


Zoals eerder gezegd : niet elke emulator heeft ook BIOS-bestanden nodig. Je kunt een overzicht vinden van alle systemen die kunnen geëmuleerd worden op de pagina van Herb Fargus. In de kolom rechts kun je alle systemen vinden en bekijken als ze eventueel ook een BIOS-bestand nodig hebben.

Een overzicht (met MD5)

3DO
panafz10.bin
(51f2f43ae2f3508a14d9f56597e2d3ce)

Atari 7800
7800 BIOS (U).rom
(0763f1ffb006ddbe32e52d497ee848ae)

Atari Lynx
lynxboot.img
(FCD403DB69F54290B51035D82F835E7B)

PC-Engine / TurboGrafx 16
syscard3.pce
(0754f903b52e3b3342202bdafb13efa5)

PC-FX
pcfx.bios
(???)

Game Boy Advance
gba_bios.bin
(a860e8c0b6d573d191e4ec7db1b1e4f6)

Sega Megadrive / Genesis CD
bios_CD_J.bin
(2efd74e3232ff260e371b99f84024f7f)
+
bios_CD_U.bin
(278a9397d192149e84e820ac621a8edd)
+
bios_CD_E.bin
(e66fa1dc5820d254611fdcdba0662372)

Sega Saturn
saturn_bios.bin
Het maakt niet veel uit welke BIOS je gebruikt. Een Amerikaanse of een Europese of een Japanse. De Amerikaanse BIOS heeft een MD5 van
(f273555d7d91e8a5a6bfd9bcf066331c)

Sony PlayStation
scph5500.bin ( = Japanse bios)
(8dd7d5296a650fac7319bce665a6a53c)
+
scph5501.bin ( = Amerikaanse bios)
(490f666e1afb15b7362b406ed1cea246)
+ 
scph5502.bin ( = Europese bios)
(32736f17079d0b2b7024407c39bd3050)
Opmerking : deze scph5502 is nogal moeilijk te vinden. Maar je kan ook scph7003.bin zoeken en deze hernoemen naar scph5502.bin .

Sony PSP
Speciaal gevalletje, hier gaan we er een beetje verder op in.

In welke map moeten de BIOS-bestanden komen?

De plaats waar je bios-bestanden komen is de system-map. Dit staat standaard zo ingesteld. Toch kun je ook je eigen map hiervoor aanmaken. En wie zo slim is geweest om ons stappenplan te volgen hoeft zelf helemaal niks te doen !

De standaardmap gebruiken

Het makkelijkste en het veiligste is steeds om de standaardmap te gebruiken! Als je twijfelt, laat dan de instelling van de map gewoon staan en verander niks.

Deze map is :
  • Windows :  ~/.emulationstation/systems/retroarch/system
  • Linux : ~/.config/retroarch/system

Je kunt de bios-bestanden van de verschillende systemen allemaal samen in deze ene map plaatsen. Maak geen submappen. Anders zal RetroArch je bios-bestanden niet vinden.

Een eigen map gebruiken

Ikzelf vind het makkelijk om een structuur aan te maken zoals hier :



Als ik ooit een kopie van mijn systeem wil maken, dan zitten deze bestanden allemaal netjes bij elkaar en dat kopieert net iets makkelijker.

Het gevolg is dus wel dat RetroArch de bios-bestanden op de verkeerde plaats zal zoeken zolang we niks aanpassen.

Daarom kun je een willekeurige rom opstarten en F1 indrukken om in RetroArch terecht te komen. Kies voor Settings >> Directory >> System Dir
Navigeer naar de map die jij hebt aangemaakt en kies <Use this directory>.

Sluit RetroArch af om de aangepaste instelling ook op te slaan.

Ik heb gekozen om per core op te slaan, wat nu?

Wie ervoor heeft gekozen om per core een configuratiebestand aan te maken heeft er goed aangedaan! Behalve als je vergeten bent je bios-map in te stellen én je daarvoor je eigen map wil gebruiken.

Dan zit je nu met het probleem dat je roms niet willen starten vanwege het ontbreken van het correcte bios-bestand. En aangezien geen enkele rom kan starten, zal er ook geen configuratiebestand worden aangemaakt door RetroArch.

De instellingen van RetroArch zijn normaalgezien te bereiken door een spel op te starten en op F1 te drukken. Maar dat zal in dit geval dus ook niet werken.

Er zijn twee mogelijke oplossingen:
  1. Forceren om een configuratiebestand aan te maken
  2. Zelf een configuratiebestand aanmaken

Je kan proberen toch een rom op te starten. Aangezien RetroArch op de verkeerde plaats naar de bios-bestanden zoekt, zal je enkele een zwart scherm zien gedurende enkele tellen. Dan keer je automatisch terug naar EmulationStation.
Toch is deze methode soms voldoende om RetroArch een configuratiebestand te laten aanmaken.

Wie het stappenplan netjes heeft gevolgd zal de basis van zijn systeem op orde hebben. Je hebt EmulationStation én RetroArch geïnstalleerd en hebt ervoor gezorgd dat de basisinstellingen in orde staan.

Dit wil dus zeggen dat je ervoor hebt gezorgd dat RetroArch per systeem dat je toevoegt een apart configuratiebestand aanmaakt.



In het kort komt het op de volgende stappen :
  • Installeren van EmulationStation
  • Installeren van Retroarch
  • Opstarten van RetroArch
  • De basisinstellingen instellen (zodat alle systemen die we later opstarten zich kunnen baseren op deze basis)
Als je de basisinstellingen van RetroArch aan het configureren bent kun je ook de map kiezen waar je BIOS-bestanden terug te vinden zijn. Je kunt dit eigenlijk op de standaardinstelling laten staan. Maar ik vind het makkelijker om een zelf gekozen structuur aan te maken :


De reden hiervoor is eenvoudig : als ik ooit een kopie wil nemen van mijn hele installatie heb ik alle belangrijke bestanden onder 1 map. Ik kopieer de map "games" inclusief de submappen en ik heb meteen alle belangrijke bestanden in één keer.

In het kort zijn er dus twee paden die je kunt bewandelen :
  1. je gebruikt de standaardmap die RetroArch voorstelt
  2. je kiest je eigen map zoals dat hierboven hebben aangemaakt

RetroArch naar de juiste map leiden

Als je standaardmap wil gebruiken moet je de bios bestanden in de volgende map plaatsen :

  • Windows :  ~/.emulationstation/systems/retroarch/system
  • Linux : ~/.config/retroarch/system

Eenmaal de BIOS-bestanden in de map staan zou je in staat moeten zijn je roms op te starten.

Let er ook op dat mappen die met een puntje beginnen in Linux aanzien worden als een "verborgen map". Door op CTRL+H te drukken maak je deze zichtbaar.

Als je je eigen map wil gebruiken botsen we wel op een klein probleempje. Normaalgezien zou RetroArch voor elk systeem een eigen configuratiebestand moeten aanmaken. We kunnen dit normaalgezien wijzigen door een rom te starten en op F1 te drukken. Op deze manier komen we in de RetroArch-instellingen terecht.

Maar nu zal onze rom niet willen starten aangezien het de correcte BIOS niet kan vinden. Probeer dus toch maar eens een rom op te starten. Je scherm wordt even zwart en keert na enkele seconden terug naar het menu in EmulationStation. Op deze manier wordt er dus wél een configuratiebestand aangemaakt. In dit bestand voeren we nu een kleine wijziging door om ervoor te zorgen dat er op de juiste plaats naar BIOS-bestanden worden gezocht.

Deze aanpassingen kun je in Windows makkelijk maken met Notepad++. In Linux kun je de meegeleverde teksteditor gebruiken.

In dit voorbeeld gaan we ervan uit dat we de BIOS voor PC Engine gaan instellen. De werkwijze is steeds identiek voor elk systeem dat een BIOS nodig heeft.

Plaats een rom in de juiste map en pas je es_systems.cfg aan. Plaats je BIOS in de map die jij zelf hebt aangemaakt. In EmulationStation zou je PC Engine-systeem nu moeten te zien zijn. Start de rom in EmulationStation. Aangezien RetroArch in de standaardmap naar de BIOS gaat zoeken zal het opstarten van de rom mislukken en na een zwart scherm van enkele seconden keren we terug naar EmulationStation. Sluit nu alles af en open het aangemaakte configuratiebestand.

Linux : ~/.config/retroarch/mednafen_pce_fast_libretro.so.cfg
Windows : ~/.emulationstation/systems/retroarch/config/mednafen_pce_fast_libretro.dll.cfg

Druk op CTRL+F om het zoekvenster te openen en tik in system_directory. Verander daar het pad naar de map die jij hebt gekozen om je bios-bestanden op te slaan. Sla het bestand op.




Let erop dat Linux een verschil maakt tussen grote en kleine letters!

Start nu opnieuw EmulationStation op en je zou nu vlekkeloos je roms moeten kunnen spelen.

Succes!

maandag 20 juni 2016

In detail : es_systems.cfg

Wie retrogames wil spelen op zijn Windows of Linux PC moet twee zaken installeren : Emulationstation en RetroArch (al bestaan er ook andere combinaties).

In het Stappenplan kun je nalezen hoe je hiervoor best te werk gaat.

Maar waar je echt niet omheen kan, is dat je voor elk systeem dat je wil spelen steeds het bestand es_systems.cfg moet aanpassen.

Het lijkt een moeilijke klus. Maar als je een klein beetje snapt hoe het werkt ben je in staat om het onderste uit de kan te halen.

Op internet zweven er vele versies rond die anderen voor jou hebben gemaakt. Maar als je snapt hoe je zélf es_systems.cfg kan aanpassen, dan pas heb je een systeem dat tot in de puntjes perfect kan worden afgeregeld.


Waarvoor dient es_systems.cfg ?


Het bestand is de ruggengraat voor EmulationStation. Het vertelt waar je rom-bestanden staan, het geeft aan welke extensies mogen gebruikt worden, het duidt aan welke core ( = emulator) er moet gestart worden,...

Waar kan ik dit bestand vinden?


Het bestand kun je vinden in de map ~/.emulationstation/es_systems.cfg.

Om het te bewerken in Linux kun je de standaard teksteditor gebruiken. In Windows gebruik je beter Notepad++ .

Hoe is es_systems.cfg opgebouwd ?


Het bestand is een XML-bestand. Hierbij wordt een "tag" gebruikt. Een tag moet steeds beginnen en ook eindigen. Een voorbeeld is :

<system>Nintendo</system>

Voor EmulationStation is de basis voor 1 systeem steeds :

<systemList>
<system>
<name> abc </name>
<fullname> abc </fullname>
<path> abc </path>
<extension> abc </extension>
<command> abc </command>
<platform> abc </platform>
<theme> abc </theme>
</system>
</systemList>

De eerste regel van es_systems.cfg is steeds de tag <systemList> en de laatste regel is steeds </systemList>.

Daartussen komen al de systemen te staan die je wil emuleren. Elk systeem begint dus met <system>.

Waar ik abc heb geplaatst moet een waarde komen.

<name> : hier komt de naam van je systeem, deze naam wordt ook gebruikt in de mappen waar je roms terecht komen.

<fullname> : hier komt de volledige naam van het systeem. Als je bijvoorbeeld Game & Watch wil emuleren kan de <name> tag gw zijn, terwijl <fullname> dan Game & Watch is. Wat je hier plaatst is ook te zien in je menu van EmulationStation.

<path> : Deze waarde bepaalt waar je roms zich bevinden voor het systeem dat je hebt bepaald in <name>.

<extension> : hier komen de correcte extensies die je rom heeft. Bepaalde emulators rekenen erop dat de rom een bepaalse extensie hebben. Bij SNES bijvoorbeeld is dat .smc, .sfc, .fig en .swc. Om helemaal coreect te werken zet je steeds de extensie in kleine letters, maar ook nog eens in hoofdletters. Dat komt omdat Linux een onderscheid hiertussen maakt Dus bij SNES wordt dit dan .smc .sfc .fig .swc .SMC .SFC .FIG .SWC .
Vergeet ook niet het puntje voor de extensie te vermelden! Tussen de extensies plaats je gewoon een spatie (en dus geen komma).

<command> : dit is zonder twijfel het belangrijkste commando dat je onder de knie moet krijgen. Hier vertel je welke emulator moet worden gestart die hoort bij het systeem dat je wil spelen. Er zijn systemen die meer dan één emulator hebben. Aan jou de keuze om uit te kiezen welke voor jou het beste werkt.

Hou er rekening mee dat het commando voor Linux verschilt van het commando in Windows.

<platform> : hier komt het systeem dat we willen emuleren. Maar deze waarde wordt enkel en alleen gebruikt bij het 'scrapen' naar afbeeldingen, artwork en bijkomende details die je automatisch kunt plaatsen bij je roms. De rom Spiderman bijvoorbeeld is wel op 10 verschillende consoles en computers verschenen. Als je hier netjes aanduidt over welk platform het gaat kan het scrapen veel sneller en accurater gebeuren. Een lijstje met de juiste waardes die je hier mag gebruiken kun je hier terugvinden.

<theme> : ook hier moeten we alweer het systeem invullen dat we willen emuleren. Bijvoorbeeld : snes. Deze waarde wordt gebruikt door EmulationStation om te bepalen welk logo moet worden gebruikt in het menu.

Een voorbeeld (bij Linux) zou dus kunnen zijn :
<system>
    <name>gbc</name>
    <fullname>GameBoy Colour</fullname>
    <path>~/ConsoleGames/GameBoyColour</path>
    <extension>.gbc .GBC</extension>
    <command>retroarch -L /usr/lib/libretro/tgbdual_libretro.so %ROM%</command>
    <platform>gbc</platform>
    <theme>gbc</theme>
</system>


Onthoud dat dit tussen <systemList> en </systemList> moet komen. Deze twee tags zijn steeds de eerste en de laatste regel.

Meer info en voorbeelden kun je vinden op de site EmulationStation.

zaterdag 26 maart 2016

64 bit of 32 bit?

Voor je iets begint te downloaden is het belangrijk dat je weet als je besturingssysteem er eentje is dat werkt op 32bit of op 64bit.

Het is een eenvoudige vraag, maar niet iedereen weet het antwoord. Gelukkig is er een makkelijke manier om dit vlug te weten te komen.

Linux / Apple computer

Wie een Linuxcomputer of Apple computer heeft start eerst een Terminalvenster op. Dat doe je door de toetsencombinatier CTRL + ALT + T in te drukken.

Daar gebruik je het commando uname -i en het resultaat zal je meer duidelijkheid tonen.


Als het resultaat x86_64 is, dan heb je een 64bits besturingssysteem.
Als het resultaat i368 is, dan heb je een 32bits besturingssysteem.

Windows computer


Bij een Windows computer is het ook al helemaal niet moeilijk om uit te vissen als je Windowsversie 32- of 64bit is.

Open je Windows Verkenner en ga op zoek naar Deze PC. Rechtsklikken en kiezen voor Eigenschappen.