Forum

Z PMD 85 Infoserver

:: späť na začiatok témy :: späť na zoznam tém ::
Správa
Autor  Autor ::  Roman Bórik
Poslaná  Poslaná ::  13.10.2023 17:40:55
Predmet  Predmet ::  Re: Emulace CPU
Emulácia v našom Emulátore by mala byť presná.
Overovaná bola pomocou 8080 instruction exerciser - 8080-8085-Exerciser.zip.
V tomto ZIPe je okrem zdrojového kódu aj 8080EX1.ptp s preloženým programom. Nahrá sa v Monitore pomocou MGLD 00 a spustí JUMP 0100.
Pozor: Celý test trvá okolo troch hodín (ak si to dobre pamätám).
 
Správa
Autor  Autor ::  Vldo
Poslaná  Poslaná ::  14.10.2023 08:38:12
Predmet  Predmet ::  Re: Emulace CPU
Díky za radu. Jen nevím, jak mám interpretovat chybové stavy. Například tento: aluop nn......... ERROR ****crc expected:9e922f9e found:7799ea9d
 
Správa
Autor  Autor ::  wurmi
Poslaná  Poslaná ::  21.11.2023 13:45:14
Predmet  Predmet ::  Re: Emulace CPU
Vldo - si co opravil v emulovani? Podel sa ;)

nakolko i ja sam som prisiel k rovnakemu CRC 7799ea9d. Moze byt i fyzicky procesor odchylny. i8085 nie je uplne 100% kompatibilny s i8080.
 
Správa
Autor  Autor ::  Roman Bórik
Poslaná  Poslaná ::  14.10.2023 14:07:38
Predmet  Predmet ::  Re: Emulace CPU
Program, možno pochopiteľne, nepovie, že napr. táto konkrétna inštrukcia nastavuje príznaky inak, ako je očakávané.
Ak sa nemýlim, ten test je komplexný a testujú sa výsledky po vykonaní celej skupiny inštrukcií.
V tomto prípade aluop nn sú aritmetické a logické inštrukcie s priamym operandom.
Možno pri "ladení" emulácie inštrukcií pomôže táto tabuľka.
Výsledok by mal vyzerať nejako takto.
 
Správa
Autor  Autor ::  Vldo
Poslaná  Poslaná ::  17.10.2023 06:43:40
Predmet  Predmet ::  Re: Emulace CPU
Při testech problém: napadá vás, kluci šikovní, proč po opravách již aluop nn vypíše OK, ale aluop hlásí stále chybu? Je mi to divný, protože jsem měl za to, že rozdíl je pouze v tom přímém operandu...
 
Správa
Autor  Autor ::  Roman Bórik
Poslaná  Poslaná ::  17.10.2023 13:07:22
Predmet  Predmet ::  Re: Emulace CPU
To si, žiaľ, vôbec netrúfam ani odhadovať...
 
Správa
Autor  Autor ::  vldo
Poslaná  Poslaná ::  15.10.2023 12:31:15
Predmet  Predmet ::  Re: Emulace CPU
Jo, a bylo by možné popsat vliv činnosti instrukce DAA na příznak C a AC? V té tabulce jsem to nenašel. Děkuji
 
Správa
Autor  Autor ::  Roman Bórik
Poslaná  Poslaná ::  15.10.2023 17:01:09
Predmet  Predmet ::  Re: Emulace CPU
Doplnil som popis, tak snáď to bude zrozumiteľné.
Tabuľka príznakov
Inštrukcia DAA
 
Správa
Autor  Autor ::  wurmi
Poslaná  Poslaná ::  29.11.2023 10:08:05
Predmet  Predmet ::  Re: Emulace CPU
DAA je divocina.

Mne DAA fungovala aj pred aj po. Ale exerciser mi hlasil stale CRC error. On to totiz testuje na vsetkych kombinaciach AC+CY+A. A zistil som ze Romanov výklad DAA nie je uplne slovne presny. Podobne nie je úplne presný aj výklad v 8080 Programmers Manual.

Konkrétne v bode 2, ked sa rozhoduje kedy ma pripocitat hodnotu 60h. Nestaci len CY=1 alebo horny nibble (po pripadnom pripocitani 6 ) ma hodnotu vyssiu ako 9.

Napriklad ked je situacia AC=C=0 a A=FFh. Tu podla bodu 1 sa pripocita 6. ale uz nepripocita 60h (medzivysledok je totiz 05h, horny nibble je 0). Mne zafungovalo to, ze v bode 2 testujem hodnotu A este pred pripocitanim 6, a porovnavam s hodnotou 99h. V pripade AC=C=0 a A=FFh po DAA ocakavam v A=65 a to asi aj spravna hodnota na fyzickom 8080, ktoru aj Exerciser80/85 ocakava. Tak to priblizne robi aj Romanov emulator.

Tiez si myslim ze 8080 urcite interne nerobi 2 sekvencne korekcie pri DAA, ale len jeden sucet s hodnotami 0, 6 alebo 66h, ktore ziska z dakej jednoduchej kombinacnej logiky.

 
Správa
Autor  Autor ::  Vldo
Poslaná  Poslaná ::  15.10.2023 07:42:47
Predmet  Predmet ::  Re: Emulace CPU
A ještě jeden dotaz: byl ten prográmek 8080-8085-Exerciser laděný na reálném PMD? Dá se tedy na něj při ladění spolehnout?
Děkuji za reakce a přeji hodně úspěchů
 
Správa
Autor  Autor ::  Roman Bórik
Poslaná  Poslaná ::  15.10.2023 16:56:51
Predmet  Predmet ::  Re: Emulace CPU
Ten program sme my nijako "neladili". My sme ho len upravili pre beh na PMD 85.
Ale na živom PMD 85 s TESLA MHB8080A bol samozrejme vyskúšaný.
:: späť na začiatok témy :: späť na zoznam tém ::