OldComp.cz

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


Právě je 28.03.2024, 18:19

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 59 ]  Přejít na stránku Předchozí  1, 2, 3, 4
Autor Zpráva
PříspěvekNapsal: 23.10.2019, 15:30 
Offline
Kecka

Registrován: 08.06.2016, 18:25
Příspěvky: 48
Has thanked: 5 times
Been thanked: 21 times
Dobrá práce! :clap:
Ty screeny jsou moc hezké. To je ze SCARTu nebo VGA? Bude k tomu nějaké "SDK"? I když jsem si touto etapou AVR konzolek už prošel, trochu mě to zase láká si pro to něco naprogramovat.

_________________
http://maximalne.8u.cz


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

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
danhard píše:
Nepoužívá se na serializaci SPI výstup ?

SPI je tu použité pro přístup k SD kartě.

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


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

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
zdenek6 píše:
Dobrá práce! :clap:
Ty screeny jsou moc hezké. To je ze SCARTu nebo VGA? Bude k tomu nějaké "SDK"? I když jsem si touto etapou AVR konzolek už prošel, trochu mě to zase láká si pro to něco naprogramovat.
Ty screeny jsou z VGA monitoru. Na TV přes RGB to jede tak nějak stejně, ale kvůli pomalejšímu videosignálu se dá dosáhnout 2x vyšší horiz. rozlišení. VGA zas naopak umožňuje vertikálně 2x vyšší rozlišení než TV. V programech to nevyužívám (ta možnost tam je) a používám pro TV i VGA stejně rozlišení, aby se dal výstup PAL/NTSC/VGA přepínat bez nutnosti měnit programy. Navíc pro vyšší rozlišení už by ani nemusela stačit RAM.

K programu jsou k dispozici knihovny, většinou psané v assembleru, jako např. integer matematika, obsluha videovýstupu, generátor náhody, přístup k souborům z SD karty, overlay data (samovypalování kódu). Jsou tam docela zajímavé videomódy zaměřené na úsporu paměti: barevný text, mono text s barevnými řádky, dlaždice, Spectrovská grafika.

Docela mě překvapilo že přestože se procesor většinu času věnuje generování videosignálu a s 24 MHz krystalem to odpovídá asi tak hodinám 2-3 MHz, tak ono to jede docela rychle, nenarazil jsem že by rychlost někde nestačila. Čekal jsem že těch 10% času bude zoufale málo. V případě potřeby (např. počítání Pi) si program může obraz stáhnout (částečně nebo úplně - např. si nechá jen 1-řádkový info text) a pak může jet na skoro plný výkon.

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


Nahoru
 Profil  
 
PříspěvekNapsal: 23.10.2019, 16:50 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
danhard píše:
Nepoužívá se na serializaci SPI výstup ?

Třeba ZX81 má taky jen 1K RAM, zobrazení je 6,5MHz a ATmega8 tak umí SPI při 13MHz krystalu :)
Aha myslíš použít SPI pro zobrazení? Jo je to možné použít. Používám to tak pro zobrazení textového režimu u projektu s ATmega128. Tady jsem to zkoušel použít také, ale mělo to spoustu nectností - nedalo se to jednoduše zkombinovat s tím RGB výstupem (ovlivňoval jsem jen trochu jas a tak byl výsledek slabý) a kolidovalo to s SD kartou. SPI má u ATmega ještě jednu nectnost - přidává tam 9. pixel jako oddělovací mezera, nedá se toho zbavit.

Ale jak se dívám na popis ZX81, má to velmi podobné vlastnosti jako ten ATmega8. To by bylo fakt zajímavé postavit takový podobný stroj na bázi ATmega8. :-) Výstup černobílý přes SPI, v ROM BASIC, jely by BASIC programy ze ZX81. Hm, tak to by byla fakt zajímavá hračka, to je dobrý tip. 8-) Ale zádrhel by asi byl BASIC - jak se dívám na ROM listing, to nepsala žádná ořezávátka, asi bych se neuměl s kompatibilním BASICem vejít do 8 KB. :-( (což neznamená to aspoň nezkusit :-) )

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


Nahoru
 Profil  
 
PříspěvekNapsal: 23.10.2019, 20:05 
Offline
Kecálek

Registrován: 07.05.2014, 12:10
Příspěvky: 197
Bydliště: Jbc
Has thanked: 0 time
Been thanked: 39 times
Panda38 píše:
Ale jak se dívám na popis ZX81, má to velmi podobné vlastnosti jako ten ATmega8. To by bylo fakt zajímavé postavit takový podobný stroj na bázi ATmega8. :-) Výstup černobílý přes SPI, v ROM BASIC, jely by BASIC programy ze ZX81. Hm, tak to by byla fakt zajímavá hračka, to je dobrý tip. 8-) Ale zádrhel by asi byl BASIC - jak se dívám na ROM listing, to nepsala žádná ořezávátka, asi bych se neuměl s kompatibilním BASICem vejít do 8 KB. :-( (což neznamená to aspoň nezkusit :-) )

Co udelat rovnou cele ZX-81 emulovane v AVR?
http://www.jcwolfram.de/projekte/avr/ax81/main.php
Podobnych projektu existuje povicero, treba i PMD-85: http://pmd85.topindex.sk/
Ale chapu, neni nad to udelat si to sam... ;)


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

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
Právě že podobných projektů existuje už dost a převážně jsou zaměřené na emulaci Z80 pomocí značně výkonnějšího hardware (což je už docela nuda). Mne by spíš lákalo vytvořit hardware s podobným vybavením jako tehdy, a k tomu software "na míru". Něco jako zopakovat si ten vývoj v novějších podmínkách.

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


Nahoru
 Profil  
 
PříspěvekNapsal: 23.10.2019, 22:27 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
S malou hw podporou to zvládne i zobrazení ZX48.
Stačí aby tam byl "videokontroler", kterej zvládne tu otročinu pro jednu řádku, seriové sypání dat ven a modifikovat je atributem.
6 bit čítač řádku, 8 bit registr atributu, 8 bit shifter, 4 bit mux výstupu a trochu smetí okolo, XC9536xl by to měla zvládat, ostatní obsluhu dělá MPU.

_________________
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: 23.10.2019, 22:37 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
Kdyby nevadil nadbytečný 9. sloupeček, tak to zvládne i software s 4-bitovým multiplexem - MCU pošle na 8-bitový výstup barevný atribut, na SPI pošle 8-bit pixely a SPI přes multiplexer přepíná čtveřici barev. Rozlišení zvládne 256 pixelů na linku na VGA monitor.

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


Nahoru
 Profil  
 
PříspěvekNapsal: 24.10.2019, 00:09 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Přilep tam toto https://www.dialog-semiconductor.com/si ... 172019.pdf :)

_________________
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: 24.10.2019, 00:17 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
Kdo by to studoval a programoval. :-) Programovatelná pole jsem už vzdal, že na to už nemám naučit se je umět používat.

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


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

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
Propočítával jsem vytvoření ZX81 pomocí ATmega8 (kompatibilní na úrovni BASICu) - s krystalem 24 MHz a softwarovým generováním signálu přes SPI by zvládl textový videomód 32x24 i na VGA monitoru (s 12 MHz na TV). Program v BASIC o velikosti max. 512 B může jet i v EEPROM, ani pak nepotřebuje ukládání na pásku nebo SD kartu. Na data a stack pak zbývá 256 B. Přes sériový port se připojí PS/2 klávesnice. Současně se přes ten port může komunikovat s PC RS232 a předávat si programy s počítačem (PC použít k ukládání programů, protože do EEPROM se vejde jen 1 program).

Tak to by všechno bylo v pohodě, jenže - nevejdu se do ROM s interpreterem BASCIu. :-( Jenom samotné knihovny pro float matiku (které jsem psal převážně v assembleru, po vzoru ZX Spectrum) zaberou asi 7 KB (po optimalizacích možná 5-6 KB). Co jsem tak porovnával, tak AVR sice může jet podstatně rychleji než Z80 (většina instrukcí 1 clock), ale podobný kód vychází asi tak 2x delší (už jen to, že 1 instrukce zabírá 2 bajty). Je zaměřený spíš na rychlost než na úsporu paměti. A použít AVR s 16 KB ROM - tam by se to sice vešlo, ale to už jaksi ztrácí ten efekt jednoduchosti, takže tím to pro mě padá. :-(

ATmega je sice rychlý a malý, spousta věcí je už uvnitř čipu (RAM, ROM, EEPROM, čítače), ale není tak univerzální jako Z80 a jak je vidět vyžaduje i více paměti pro stejnou funkčnost. (Z80 má mnoho 16-bitových instrukcí které AVR neumí).

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


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

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
Po půl roce práce jsem konečně dokončil ATpad. Zdokumentováno, uzavřeno. :-)

Ukázkové video na YouTube: https://www.youtube.com/watch?v=jmdYueKbfG8

Obrázek

Stránka s podrobným popisem, návody, podklady: http://www.breatharian.eu/hw/atpad/

Obrázek

Kdyby někdo měl zájem o výrobu, mohu dodat procesory a zajistit frézování krabičky. Bohužel neumím zajistit výrobu plošných spojů.

Obrázek

Bylo to hezké pohraní. :-) S výsledkem jsem spokojený. Ještě teď dělám mini očesanou verzi ATpadu s černobílým výstupem na TV (to bude už 6. krabička).

Obrázek

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


Nahoru
 Profil  
 
PříspěvekNapsal: 21.12.2019, 19:50 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
U VGA máš zapojený jen Hsyn, jak se na to chytá monitor ?

_________________
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: 21.12.2019, 22:23 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
Ve skutečnosti ne HSYNC ale CSYNC. Dříve jsem na VGA posílal HSYNC i VSYNC, ale pak jsem zjistil, že místo HSYNC může být kompozitní CSYNC (tj. HSYNC + VSYNC dohromady, jako u televize). Je to i v jeho normě, a skutečně všechny VGA které jsem zkoušel tak jely v pořádku.

Nevím přesně jak je normou myšleno zakomponování VSYNC do CSYNC. Předpokládám že tak, že po dobu VSYNC se prodlouží impuls HSYNC skoro až k dalšímu HSYNC. U ATpad to z technických důvodů dělám tak, že po dobu VSYNC invertuji HSYNC. Možná to proti normě znamená odchylku o 4 us, ale nepřipadalo mi že by to nějak vadilo.

_________________
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ů: 59 ]  Přejít na stránku Předchozí  1, 2, 3, 4

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