OldComp.cz

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


Právě je 13.04.2024, 12:25

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 344 ]  Přejít na stránku Předchozí  1 ... 19, 20, 21, 22, 23
Autor Zpráva
PříspěvekNapsal: 14.02.2024, 22:29 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2776
Has thanked: 226 times
Been thanked: 602 times
https://blog.flipper.net/introducing-video-game-module-powered-by-raspberry-pi/

A co takhle Flipper Module k PicoPadu?

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
PříspěvekNapsal: 14.02.2024, 23:32 
Offline
Kecka

Registrován: 27.06.2021, 11:11
Příspěvky: 39
Has thanked: 16 times
Been thanked: 12 times
Sledoval jsem to haló okolo Flipperu a že ho chtějí snad v Kanadě zakázat. Kouknul jsem se do šuplíku. No mám tu tuším vše co obsahuje.


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

Registrován: 24.05.2018, 22:32
Příspěvky: 1974
Bydliště: Most, Praha
Has thanked: 869 times
Been thanked: 699 times
PC/DOS emulátor pro Picopad - zprovozněna první malá várka 12 emulovaných programů a her. Jde to pomalu, programy se musí často upravovat. Hodně práce ještě zbývá. Chcete-li vyzkoušet, v Picopadu se spustí PC.UF2, z něj se spouští programy ze složky _PC. https://github.com/Panda381/PicoLibSDK/ ... oPad10/EMU
Příloha:
pcdos_emu_m.jpg
pcdos_emu_m.jpg [ 70.66 KiB | Zobrazeno 1444 krát ]

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


Nahoru
 Profil  
 
PříspěvekNapsal: 23.02.2024, 23:34 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2287
Bydliště: Brno
Has thanked: 846 times
Been thanked: 308 times
Otázka lamera, z her vidím Diggera, psalo se emulace DOSu, zatím si to tedy spíše rozumí s emulací CPU řady XT?

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 24.02.2024, 10:58 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1974
Bydliště: Most, Praha
Has thanked: 869 times
Been thanked: 699 times
Vlastnosti a limity emulátoru:

- Emulovaná instrukční sada odpovídá 80286 v reálném módu, resp. 80186. Tj. nepojedou tam hry vyžadující protect mód nebo víc paměti než základních 640 KB.

- Adresový prostor pro program je 640 KB. Program se nahraje do Flash paměti a namapuje do adresového prostoru. Pokud program někam do paměti zapíše, příslušná 4 KB stránka se zkopíruje do RAM a udělá se zapisovatelná. Tím se obejde nedostatek RAM procesoru (256 KB), RAM se používá jen tam kam program potřebuje zapisovat. RAM se používá i pro video RAM. Tj. když např. program použije pro VGA videomód 640x480/16col paměť 153 KB, zbude mu pro zapisovatelnou RAM jen kolem 60 KB. Z toho důvodu většinou nepojedou programy vyžadující překryvné soubory, protože ty by bylo nutné nahrát do RAM a na to nebude dostatek paměti. Bohužel je takových programů většina, jak jsem zjistil. Já psával hry v assembleru, tak mi stačily malé programy (často jen COM), tak mě teď docela překvapilo jak jsou programy ostatních autorů náročné. V některých případech půjdou programy upravit tak, aby se překryvné moduly nahrály spolu s programem do Flash (jako jeden EXE soubor), ale to bude vyžadovat úpravy programů.

- Podporované grafické karty jsou MDA, CGA, PCjr, Tandy 1000, EGA 64KB, EGA 128KB a VGA 153 KB. Emulátor zobrazí i větší rozlišení než je LCD displej 320x240 a to tak, že obraz přepočítává na menší. Tlačítkem X se dá obraz přepočítaných videomódů "zoomovat", tj. zobrazit si detaily v plném rozlišení, pokud to je potřeba.

- Emulátor emuluje rychlost procesoru XT 4.77 MHz nebo AT 12 MHz, ty stíhá v reálném čase (s přesným časováním na jednotlivé instrukce - tj. nečasuje se dávkově, ale přesně po každé instrukci). Ještě má možnost jet na plnou rychlost, což někdy odpovídá procesoru 25 MHz, ale některé operace už nestíhá v reálném čase. Emulátor využívá toho že procesor má dvě jádra - v hlavním jádru 0 jede uživatelská obsluha a přerušení, v jádru 1 jede jenom emulace - díky tomu není emulace ničím rušena a může jet s přesností časování na jednotlivé instrukce (emulátory jedoucí pod operačním systémem jsou přerušované multitaskem a časování "dohánějí" po dávkách). Např. zvukový výstup na reproduktor jede přímo z instrukcí v reálném čase, nemusí se používat zvukový buffer (ale rychlé přerušení INT 08h s 22 kHz aby jel samplovaný zvuk, to už se nestíhá).

- Emulátor neemuluje plně hardware (to by nestíhal), spíše se spoléhá na emulaci funkcí BIOS a DOS. Tj. v adresovém prostoru programu se nevyskytuje BIOS ani DOS, program se zavádá na adresu 01000h (od prvních 4 KB paměti, tj. má k dispozici celých 640 KB paměti). Emulátor odchytává volání funkcí DOS a BIOS přes INT a funkce provádí interním kódem. Nejčastěji používané hardwarové funkce se sice emulují (klávesnice, část grafiky), ale když XT programy inicializují videomód přes registry CGA, to už se musí nahradit voláním funkce INT 10h v programu.

Zrovna hra Digger byl největší oříšek - autorka dělá většinu operací přes porty a především používá práci se zvukem rychlým přepínáním zvukového generátoru přes zrychlený INT 08h. Přestože jsem nakonec sehnal i zdrojový kód a hru upravoval, tohle už se ukázalo pro emulaci nereálné. Nejede tam proto hudba, jen zvukové efekty, a i ty trochu zlobí (např. po zvýšení scény občas nejedou).

Vytipoval jsem asi tak 100 her, které by svou velikostí mohly jít ještě zprovoznit v emulátoru, ale emulace bude dost omezená, kvůli větším nárokům programů než jsem čekal. I XT hry jsou často dost náročné na paměť a budou se muset často upravovat kvůli používání překryvných modulů. Zatím zprovozňuji hry a programy ke kterým buď mám zdrojový kód, abych je mohl ladit, nebo jsem program disassembloval.

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


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

Registrován: 31.05.2017, 11:58
Příspěvky: 1203
Bydliště: Ostravsko
Has thanked: 300 times
Been thanked: 302 times
Mnoha věcem, které popisuješ úplně nerozumím (není to špatným popisem, ale chybí mi vzdělání :? ), ale je to úžasný :like: :like: :like:

_________________
....


Nahoru
 Profil  
 
PříspěvekNapsal: 24.02.2024, 22:05 
Offline
Prvnička

Registrován: 12.04.2023, 08:09
Příspěvky: 18
Has thanked: 0 time
Been thanked: 4 times
Tady je popsany pokus jak pridat vic RAM k RP2040.

http://dmitry.gr/?r=06.%20Thoughts&proj=10.%20RomRam


Nahoru
 Profil  
 
PříspěvekNapsal: 24.02.2024, 22:45 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1974
Bydliště: Most, Praha
Has thanked: 869 times
Been thanked: 699 times
Externí paměti mají nevýhodu, že jsou dost pomalé. U RP2040 nejvíce chybí rychlá interní RAM, která by se dala použít jako video paměť pro grafický buffer. Externí paměť je na video výstup pomalá (kvůli dávkovému načítání dat). Emulátor je jeden z mála případů, kdy by externí pomalá paměť i mohla stačit a pomohla by, ale - je pak otázkou, zda se taková složitá komplikace vyplatí. V takovém případě je už lepší sáhnout spíš po vyšším typu (Raspberry Zero), který je výkonem i pamětí mnohem výš. Proto jsem si stanovil jakousi hranici, že pro RP2040 má smysl jen takové využití, kdy se vystačí s minimem hardware. A když nebude stačit, tak pak už jiný procesor, spíš než honit výkon RP2040 složitým doplňkovým hardwarem. ... Ale zas až tak moc jistý si nejsem, protože RP2040 má některé velmi hezké vlastnosti (2 jádra, PIO), pro které se možná vyplatí do něj investovat trochu víc. ... Hm, že by se přece jen vyplatila externí RAM kvůli emulacím? :scratched:

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


Nahoru
 Profil  
 
PříspěvekNapsal: 25.02.2024, 01:55 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2287
Bydliště: Brno
Has thanked: 846 times
Been thanked: 308 times
Obdivuji nasazení, osobně vnímám emulaci PC tedy jako takovou práci pro práci, když i každá samotná hra musí mít vždy konkrétní úpravy a to ne zrovna malé. Ale pokud těch her má být nějakých 100, má to svůj konec... :)

_________________
Amiga - PMD 85


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

Registrován: 24.05.2018, 22:32
Příspěvky: 1974
Bydliště: Most, Praha
Has thanked: 869 times
Been thanked: 699 times
To byl spíš špatný odhad, očekával jsem že to půjde snáz, napíše se emulátor a k dispozici bude spousta her. :cry: Bral jsem to podle svých her, ty bylo snadné naemulovat, ale jak jsem zjistil, cizí hry používají hodně nestandardností které by vyžadovaly velmi přesnou emulaci hardware a hodně RAM, na což Pico nemá prostředky. Takže zkouším pokračovat, a možná to nakonec vzdám. Teď jsem 3 dny předělával drobnou hříčku "Floppy Bird" (klon Flappy Bird), protože autor to měl hodně neefektivně, byla hodně pomalá. Přepsal jsem ji jinak, ale za tu dobu už bych ji měl zřejmě napsanou do Picopadu v C ... špatná volba. :?
Příloha:
floppy.jpg
floppy.jpg [ 35.72 KiB | Zobrazeno 1250 krát ]

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


Nahoru
 Profil  
 
PříspěvekNapsal: 25.02.2024, 12:30 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1974
Bydliště: Most, Praha
Has thanked: 869 times
Been thanked: 699 times
... na druhou stranu, hry jako např. GOODY bych pro Picopad nikdy neuměl napsat, no tak zkrátka se s tím musí pokračovat. :?

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


Nahoru
 Profil  
 
PříspěvekNapsal: 25.02.2024, 21:48 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2287
Bydliště: Brno
Has thanked: 846 times
Been thanked: 308 times
Pokud nemáš jinou zábavu tak je to asi na tobě. Předpokládám že primárním účelem picopadu nebyla emulace PC XT. Nicméně platí co jsem zde napsal na začátku v první větě. Další alternativou je na nějakém dalším výkonnějším picopadu postupně zpřístupňovat emulací XT pro různé hry aniž by se musela přizpůsobovat samotná hra, ale to mi přijde jako taky mimo, protože nějaký propracovaný XT emulátor se určitě do jiné mašiny jako je picopad jednoduše dá dát. Z mého pohledu se v rámci XT emulace narazilo na strop, ale když tě to baví tak proč ne. Můžeš optimalizovat a postupně zpřístupňovat. Vše co jsem napsal je jen můj názor, který nikomu nevnucuji. Každý ať si dělá co chce ;)

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 04.03.2024, 22:07 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1974
Bydliště: Most, Praha
Has thanked: 869 times
Been thanked: 699 times
PC/DOS emulátor pro Picopad - zprovozněna další várka 12 emulovaných DOS her (celkem je zatím funkčních 24 programů a her). V programech je sice možné používat USB klávesnici, ale jsou upravené aby jim stačily klávesy na Picopad. https://github.com/Panda381/PicoLibSDK/ ... oPad10/EMU
Příloha:
pcdos_emu2_m.jpg
pcdos_emu2_m.jpg [ 65.71 KiB | Zobrazeno 924 krát ]

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


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

Registrován: 24.05.2018, 22:32
Příspěvky: 1974
Bydliště: Most, Praha
Has thanked: 869 times
Been thanked: 699 times
Picopad Song :D :
phpBB [video]

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


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ů: 344 ]  Přejít na stránku Předchozí  1 ... 19, 20, 21, 22, 23

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 2 návštevní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