Autor ::Vldo Poslaná :: 14.10.2023 08:38:12 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 ::wurmi Poslaná :: 21.11.2023 13:45:14 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 ::Roman Bórik Poslaná :: 14.10.2023 14:07:38 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 ::Vldo Poslaná :: 17.10.2023 06:43:40 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 ::Roman Bórik Poslaná :: 17.10.2023 13:07:22 Predmet ::Re: Emulace CPU
To si, žiaľ, vôbec netrúfam ani odhadovať...
Správa
Autor ::vldo Poslaná :: 15.10.2023 12:31:15 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 ::Roman Bórik Poslaná :: 15.10.2023 17:01:09 Predmet ::Re: Emulace CPU
Autor ::wurmi Poslaná :: 29.11.2023 10:08:05 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 ::Vldo Poslaná :: 15.10.2023 07:42:47 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 ::Roman Bórik Poslaná :: 15.10.2023 16:56:51 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ý.