OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 23.02.2024, 14:33

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 332 ]  Přejít na stránku Předchozí  1 ... 19, 20, 21, 22, 23  Další
Autor Zpráva
PříspěvekNapsal: 31.12.2023, 00:48 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1945
Bydliště: Most, Praha
Has thanked: 848 times
Been thanked: 688 times
Nová verze PicoLibSDK v1.10 pro PicoPad: emulace procesorů a emulátor kalkulačky Busicom 141-PF z roku 1971 s procesorem Intel 4004, která stála za vznikem a slávou firmy Intel. Ovládání bylo ještě dost neintuitivní, je vhodné kouknout do PDF s návodem. https://github.com/Panda381/PicoLibSDK/ ... oPad10/EMU
Příloha:
141-pf1.jpg
141-pf1.jpg [ 57.68 KiB | Zobrazeno 1967 krát ]

Kalkulačka Busicom 141-PF ještě neměla displej, ale tiskárnu s otočným bubnem. Tehdy nevýznamná firmička Intel vyvinula pro ni na zakázku procesor. Je zajímavé si přečíst historii: https://www.zive.cz/clanky/intel-4004/s ... fault.aspx
Příloha:
141-pf2.jpg
141-pf2.jpg [ 39.4 KiB | Zobrazeno 1967 krát ]

Další emulátory se připravují (I4004, I4040, I8008, I8080, I8085, Z80). Emulátory v Pico jsou zajímavé tím, že jedou v CPU core 1, ničím nepřerušované, a tak mohou jet s velmi přesným real-time časováním jednotlivých instrukcí. https://github.com/Panda381/PicoLibSDK/ ... n/_lib/emu
Příloha:
tiles_and_sprites.jpg
tiles_and_sprites.jpg [ 52.11 KiB | Zobrazeno 1967 krát ]

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
PříspěvekNapsal: 31.12.2023, 01:06 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
Panda38 píše:
Kdyby se opravdu nepodařilo najít chybu, oni z Pájeníčka jsou celkem ochotní pomáhat s hledáním chyb, buď konzultací nebo to tam poslat.

Ok, uvidíme, či to vyriešime, keď nie, pošleme tam.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
PříspěvekNapsal: 31.12.2023, 14:15 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
Práve si pozerám zdroják Flappyho. To v SDK nie je nič, čo by sa dalo použiť na náhodné čísla? Navrhoval by som vložiť to do SDK a pridať do toho náhodné veci, ako napätie baterky, teplotu procesora, nastavenie jasu a tak, lebo tá náhoda bude veľmi nízka.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
PříspěvekNapsal: 31.12.2023, 14:33 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1945
Bydliště: Most, Praha
Has thanked: 848 times
Been thanked: 688 times
Hra Flappy používá vlastní 32-bitový LCG generátor náhody kvůli tomu, aby hra byla přesně reprodukovatelná, aby se dala přehrávat makra která pojedou vždy stejně.

Jinak PicoLibSDK knihovna obsahuje 64-bitový LCG generátor (knihovna lib_rand), který má dostatečně velkou proměnlivost. Standardně je při spuštění programu inicializovaný z ROSC oscilátoru - ten sice nemá velkou proměnlivost (není vhodný např. pro šifrování), ale je to dostatečná proměnlivost aby se hry při startu chovaly pokaždé jinak.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
PříspěvekNapsal: 31.12.2023, 21:03 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
Aha, tak potom som nič nepovedal. ;-)

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
PříspěvekNapsal: 03.01.2024, 20:57 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
Našiel som otcovi chybu, dnes to doniesol. On síce tvrdil, že všetko je v poriadku, ale nevšimol si preliaty cín z R5 na R7, takže to skratovalo. Ďakujem za ochotu pomôcť. Už to funguje.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
PříspěvekNapsal: 13.01.2024, 23:05 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3668
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 279 times
Nová výzva
https://ae01.alicdn.com/kf/Sd7afb1211e1 ... 76d609.jpg

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
PříspěvekNapsal: 17.01.2024, 11:03 
Offline
Pan Štábní

Registrován: 11.11.2013, 10:29
Příspěvky: 1192
Has thanked: 354 times
Been thanked: 301 times
Panda38 píše:
...emulátor kalkulačky Busicom 141-PF z roku 1971...

Vsiml jsem si toho zvuku, pri provozu emulatoru. Chapu to spravne, ze tak nejak zni buben od tiskarny v kalkulacce? To je moc pekna vychytavka.
Hihi, jak moc to emuluje realitu a kde se sehnal original? Moc pekne.

_________________
Sharp MZ-800++, MZ-1500++, MZ-2500++, SM-B-80T, MK-14_replica, HP-85, ZX-80+replica, ZX81, ZX-Spectrum+replica++, PMI-80+replica, SAM coupe++, PMD-85-2A+3, Didaktik-M, SORD-M5, TI-57, TI-59+PC-100, TI99/4A, ZetaV2+ppp, ZX-uno, Petr


Nahoru
 Profil  
 
PříspěvekNapsal: 17.01.2024, 11:23 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1945
Bydliště: Most, Praha
Has thanked: 848 times
Been thanked: 688 times
Ano, zvuk představuje točení bubnu a tisk kladívek. Převzato z videa https://www.youtube.com/watch?v=90SWLIulx_E .

V kalkulačce se za papírem točí buben se znaky, před papírem je páska a do pásky ťukají kladívka ve správný čas, kdy je na válci otočený požadovaný znak (proto vytištění jednoho řádku chvíli trvá a čísla se netisknou současně). Na netu se objevuje nákres konstrukce tiskárny, ale ten je špatně.

V emulátoru je použitý původní obsah ROM kalkulačky (i se zdrojákem a překladačem I4040 který jsem psal). Časování instrukcí je přesné, odpovídající realitě. Emulátor simuluje točení válce a tisk kladívek Chování by mělo být hodně věrné, včetně doby výpočtu. Obzvláště odmocnina trvá dost dlouho.

Odmocnina se u kalkulaček běžně nevyskytovala, byla dodávaná jen za příplatek. Neviděl jsem že by někdo měl kalkulačku i s odmocninou, u všech archivních kalkulaček chybí to tlačítko.

Software počítá ještě s dalšími 2 tlačítky - "000" a "diamant 2", ale zadavatel je nevyužil, namísto toho raději zvětšil tlačítka + a =.

Kalkulačka má ještě na dnešní dobu nezvyklé ovládání - vychází z mechanických kalkulaček, na které byli lidi tehdy zvyklí. U sčítání a odčítání se zadává nejdříve číslo, pak operace které se s ním má provést, zatímco u násobení a dělení se zadává operátor mezi čísly. Od této kalkulačky pak pokračoval vývoj tak že se rozdělil na 2 hlavní větve - Hewlett Packard převzal první metodu zadávání čísel, z toho vznikla RPN (reverzní polská logika), Texas Instruments převzal druhou metodu, pořadí zápisu tak jak se zapisuje ručně. RPN se ujala spíše u "inteligentů" - např. HP kalkulačky s RPN používali kosmonauti Apolla. Kalkulačky TI byly pro širší veřejnost, zadávání nevyžadovalo tolik představivosti jako RPN.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
PříspěvekNapsal: 17.01.2024, 11:26 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1945
Bydliště: Most, Praha
Has thanked: 848 times
Been thanked: 688 times
Při psaní emulátorů zjišťuji, že Intel má podíl na vývoji počítačů a procesorů mnohem větší než jsem myslel - to co znám z pozdějších procesorů, to měl Intel ve svých procesorech už dřív, jako např. relativní skoky (Z80), PSW, tabulky skoků s A (Microchip).

A také zjišťuji, kolik chyb mají lidi ve svých emulátorech - např. nikdo nemá správně implementovanou instrukci DAS u 8086. Až experimentováním jsem zjistil správný tvar, aby fungovala správně. :cry: Je to dost exotická instrukce, kterou snad nikdo nikdy ještě nepoužil, tak chápu že nezjistili že nefunguje správně.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
PříspěvekNapsal: 27.01.2024, 17:59 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1945
Bydliště: Most, Praha
Has thanked: 848 times
Been thanked: 688 times
Nová verze knihovny PicoLibSDK v1.11 pro PicoPad - emulace 15 procesorů + testery emulace s ukázkovými programy procesorů: I4004, I4040, I8008, I8048, I8052, I8080, I8085, I8086, I8088, I80186, I80188, M6502, M65C02, X80, Z80. ... V budoucnu mám v plánu ještě pár dalších, ale teď to stačí a teď se jdu pustit do PC-XT emulátoru. :-)
https://github.com/Panda381/PicoLibSDK/ ... 0/EMU_TEST
Příloha:
I8086.jpg
I8086.jpg [ 105.34 KiB | Zobrazeno 1212 krát ]
Loader předává spouštěné aplikaci domovskou cestu přes Flash, aby si mohla najít své datové soubory a mohla tak být v jakékoliv složce SD karty - použito typicky ve spouštěčích emulátorů. Vyžaduje nahrání nového loaderu do PicoPad.
Příloha:
FileSel.jpg
FileSel.jpg [ 95.13 KiB | Zobrazeno 1212 krát ]

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
PříspěvekNapsal: 27.01.2024, 18:54 
Offline
Kecka

Registrován: 27.06.2021, 11:11
Příspěvky: 36
Has thanked: 14 times
Been thanked: 12 times
Panda38 píše:
Při psaní emulátorů zjišťuji, že Intel má podíl na vývoji počítačů a procesorů mnohem větší než jsem myslel - to co znám z pozdějších procesorů, to měl Intel ve svých procesorech už dřív, jako např. relativní skoky (Z80), PSW, tabulky skoků s A (Microchip).

A také zjišťuji, kolik chyb mají lidi ve svých emulátorech - např. nikdo nemá správně implementovanou instrukci DAS u 8086. Až experimentováním jsem zjistil správný tvar, aby fungovala správně. :cry: Je to dost exotická instrukce, kterou snad nikdo nikdy ještě nepoužil, tak chápu že nezjistili že nefunguje správně.


kdyby se dalo cokoliv naprogramovat bezchybně nemuselo by se testovat a protože to nejde z principu a navíc se moc netestuje máme co máme


Nahoru
 Profil  
 
PříspěvekNapsal: 27.01.2024, 18:59 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1945
Bydliště: Most, Praha
Has thanked: 848 times
Been thanked: 688 times
Horvac píše:
...kdyby se dalo cokoliv naprogramovat bezchybně nemuselo by se testovat a protože to nejde z principu a navíc se moc netestuje máme co máme
Už jsem také přešel na to, že jsem emulátory důkladně netestoval, protože je toho moc na testování (a především chybí referenční hardware) - a věřím že se chyby projeví a odladí při emulacích programů. :cry:

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
PříspěvekNapsal: 27.01.2024, 20:42 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
Ono na testy základu emulácie procesora zrejme niečo vždy existuje. Keď som začínal robiť emulátor MZ-800, tak pre Z80 existuje test v akomsi opensource emaulátore ZX-Spectra. Tým mi procesor prešiel. Potom som ešte skúsil CP/M verziu Zexall. Takže myslím, že aj pre iné používané procesory budú testy.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
PříspěvekNapsal: 28.01.2024, 00:08 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1493
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 377 times
Zrovna tento týden měl Chris Torrence pěkné video o chybě v instrukci BIT při emulaci procesoru 65C02.
A přišlo se na to ne tím, že by se hroutily aplikace a hry, ale díky aplikaci pro testování korektnosti emulace procesoru.
https://www.youtube.com/watch?v=QNXV9B5qNL8


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 332 ]  Přejít na stránku Předchozí  1 ... 19, 20, 21, 22, 23  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz