PC emulatie

Voor de lol zit ik in C# (onder Linux) een IBM PC (XT zeg maar) te emuleren.
De bios komt al een heel eind, maar heb 't idee dat de emulatie van de 8259 toch wel net belangrijker is dan gehoopt.
Heb wat vragen verzameld mbt emulatie van die pic op https://stackoverflow.com/questions/76359499/emulating-the-8259-programmable-interrupt-controller. Heb je verstand van die chip, dan is dit het moment to shine! :slight_smile:

4 Likes

Het gaat nog niet helemaal goed, maar:

Dit is met een alternatieve bios implementatie. De basic is de echte bios van ibm.

3 Likes

Cool projectĂż

Draait het al doom? Of ga ik nu veel te snel?

@Folkert Misschien dat je de vraag beter kan stellen op de Retrocomputing Stack Exhange dan Stack Overflow.

Ja heb ik ook gedaan. Maar ik probeer mee te werken aan het booten van dit forum :slight_smile:

2 Likes

In het kader van die emulator zoek ik een echte intel 8088 processor.
Een Nec V20 of 80C88 is ook goed :slight_smile:

Wasn’t there a thread about retro/computer museum/collection earlier? Maybe there you would find something?

Oh that collection!
Well I ordered one from ebay. 5 dollar, that’s less than the petrol for driving to Arnhem :slight_smile:

image

^
Dat is met de echte originele BIOS van IBM en dan zonder workarounds(-ish).

Oh dat zou ik eigenlijk ook een keer moeten doen. Gewoon een retro-dingetje bouwen zoals zo’n KIM. Of alle processoren een keertje inlijsten. Maar het is leuker met een stukje code en wat ledjes denk ik.

Ik zag een project waarbij een 8088 (of eigenlijk een NEC V20 ivm de voltages) aan de rpi gpio pins gehangen wordt. Dan emuleert de rpi alle ram en i/o en doet de nec v20 de echte 8088.

Dat is ook wel een opportunity voor blinkenlights! (adresseerbare ledjes aan een vrije rpi pin en daar dan status op van de processor enzo)

Een KIM-1 nabouwen gaat niet, want door heb je twee speciale chips voor nodig die alleen in een KIM-1 gebruikt werden, omdat deze ook een stukje ROM bevatten (GPIO timers en ROM).

echter:
Ten tijde van de KIM-1 kon je een bouwpakket kopen van elektuur waarmee je een kloon kon maken van de KIM-1 zonder dat je de unobtainable special 6530 chips nodig had waar de monitor software in zat.
Die kloon heette de junior computer, en bijna alles ervan kun je online vinden.
Het bedrijf waar ik destijds voor werkte (MCP uit Arkel) verkocht zijn eigen wat goedkopere kit, (met goedkopere toetsen en andere onderdelen) en daar heb ik destijds dozijnen van opgebouwd voor mensen die een opgebouwde versie wilden kopen.

ik heb destijds ook een video adapter ervoor ontworpen en gebouwd, en het ding werkte, maar net als een ZX-80 viel het beeld weg als je iets anders deed dan beeld opwekken. Mijn baas snapte niet waarom, en besloot het ding niet te verkopen, maar ik had wel degelijk in toetsenbord scan ingebouwd, zodat je er iets nuttigs mee kon doen, zoals een BASIC runnen, eigenlijk net als een ZX-80, ik gebruikte het cheap video cookbook als inspiratie, helaas is de schrijver (Don Lancaster) daarvan recentelijk overleden. zie

https://ia801807.us.archive.org/BookReader/BookReaderImages.php?zip=/3/items/Cheap_Video_Cookbook_Don_Lancaster/Cheap_Video_Cookbook_Don_Lancaster_jp2.zip&file=Cheap_Video_Cookbook_Don_Lancaster_jp2/Cheap_Video_Cookbook_Don_Lancaster_0000.jp2&id=Cheap_Video_Cookbook_Don_Lancaster&scale=2&rotate=0

Ik was ook aan het nadenken over een “BASIC” achtig stukje software dat gewoon op een onuitgebreide Junior computer (behalve een extra ROM, kon werken. het toonde key words en dergelijke gewoon op het 7-segment display. Ik had al uitgezocht hoe je alfanumerieke tekens op een 7-segment display kon tonen. helaas kwamen er andere dingen tussen en heeft dit niet tot een product geleid.

3 Likes

dotxt-33bd414b15e5e84a9f9be77fb186b835e5cec5ab

Voor verificatie van m’n testset:

Dit is de PI86. Een ding om met je rpi x86 software te kunnen draaien. Een echte nec v20 voor de processor “emulatie”, ram/rom/etc door de rpi.

1 Like

Wat vet! Ik vraag me wel af hoe ze wegkomen met 3.3v ↔ 5v en zonder condensatoren rond de V20. Of draait ie op een lagere clock en een lager voltage?

Oh:

Disadvantages:

The speed, the processor is only running at about 0.3 MHz the best I could calculate. But on the flip side the drive read writes are very fast because the memory is virtual on raspberry pi.

Not all 8088/8086 Processors will work. The power is connected to the 3.3v pin on the PI. Most NEC V20/V30’s will operate 3V - 7V so this is not problem.

Als je 't leuk vindt om ook zo’n ding te maken, dan heb ik nog wel zo’n pcbtje.
Je moet wel nog ergens een NEC v20 vandaan zien te halen (denk dan ook aan mij want ik zoek er nog een).

Neu, ik heb ook nog een gigatron liggen waar ik niks mee doe. Ik houd het wel op kant en klare emulatie en nu even wat minder op hobby projecten.

Ik heb bij heinpragt.nl een 80C88 gekocht (nog geen 5 euro!); die blijkt geen problemen te hebben met de 3,3V die de raspberry pi 4 'm biedt.

Heb pi86 aangepast zodanig dat 't mijn test-set voert aan de 80C88 processor en dat werkt verrassend goed! Was even puzzelen hoe ik kan detecteren “van buitenaf” dat de processor gestopt is maar dat bleek niet ingewikkeld uiteindelijk ('t ding stopt met ANE hoop te zetten).

Leuk was om te zien dat MartyPC (de cycle accurate PC/XT emulator) tot nu toe bij dezelfde tests faalt. Ik dacht dat dat misschien aan MartyPC lag, maar more likely is de test set niet goed op dat punt.

Oh lachen: de OKI 80C88 doet andere dingen met de A/half-carry vlag dan bijv. de NEC V20 bij bepaalde schuif-functies! Nou is-ie wel gespecificeerd als undefined, maar toch.

Ik zit ook een test-set te maken voor andere 8086/8088 emulator bouwers en zowaar:

:slight_smile: :slight_smile: :slight_smile:

1 Like