Nieuws

Processors

Retro met precisie: ontwikkelaar maakt ultieme testtool voor Intel 286

Portret van de auteur


Retro met precisie: ontwikkelaar maakt ultieme testtool voor Intel 286
2

Advertentie

Ontwikkelaar Daniel Balsom heeft een uitgebreide testsuite uitgebracht voor de klassieke Intel 286-processor, met als doel het nauwkeurig meten van de cycli van deze vintage CPU. Je vraagt je misschien af: waarom brengt iemand in 2025 nog een testsuite uit voor een processor die al in 1982 werd geïntroduceerd? Het antwoord: Balsom is de maker van de pc-emulator MartyPC, en wil deze nu uitbreiden met ondersteuning voor de 286. Maar dat blijkt een stuk complexer dan simpelweg een nieuwe processor toevoegen.

Om een echt nauwkeurige emulatie van de 286 te kunnen maken, heeft Balsom een diepgaand inzicht nodig in hoe de processor zich gedraagt in verschillende omstandigheden. Daarom ontwikkelde hij zelf een uitgebreide testsuite, waarmee hij stap voor stap de instructiecycli van de 286 kan analyseren. Balsom streeft naar een emulatieniveau dat zelfs de beruchte 8088 MPH-demo – die menig emulator liet vastlopen – zonder problemen moet kunnen draaien.

Voor eerdere, oudere processors had Balsom al eerder testsuites gemaakt, maar de 286 stelt hogere eisen. Om cycli op instructieniveau te kunnen meten, ontwikkelde hij zelfs een stuk hardware: de ArduinoX86. Dit is een speciale shield add-on voor het Arduino Giga microcontroller-development board. Met deze setup kan een moderne pc via een seriële verbinding de 286 stap voor stap aansturen en de status van de CPU nauwkeurig uitlezen voor latere analyse.

Met de verzamelde data kan hij de 286 op cycleniveau exact emuleren – een niveau van precisie dat zelden voorkomt, zeker in hobbyprojecten.

Meer informatie over zijn aanpak is te vinden op The Register. Ook kun je zijn werk bekijken op de MartyPC GitHub-pagina, waar onder andere een webversie van de emulator beschikbaar is. Uiteraard kun je de emulator ook lokaal installeren als je zelf aan de slag wilt met klassieke pc-software.