OldComp.cz
https://oldcomp.cz/

Ondra SPO 186 jádro pro MISTer a ZX Uno
https://oldcomp.cz/viewtopic.php?f=147&t=10456
Stránka 12

Autor:  shark800 [ 22.10.2021, 14:32 ]
Předmět příspěvku:  Ondra SPO 186 jádro pro MISTer a ZX Uno

Tak bych tu měl druhý kousek. Tentokráte jsem si to "vyřídil" s počítačem na který jsem (teď již v dávných) dobách díval pohrdlivě. V pionýráku, kam jsem jako kluk chodíval, byla jedna učebna zařízená právě a jen počítači Ondra. A ať jsem šel okolo kdykoliv, pařily se tam jen 2 hry - JetPack nebo Jet Set Willy. Navíc černobílá grafika a žádný zvuk mě, jakožto hrdého majitele Atarka, nenadchly. Klávesnice vypadala podivně a navíc tam bylo furt plno :) Tak jsem si to ani nikdy nevyzkoušel. Jediné co si pamatuji byl tenký koax co se vinul kolem všech Ondrů a u každého byl zaveden do FRB konektoru a posílen nějakým tranzistorem. Nahrávání her bylo pro celou učebnu synchronní, človíček od "hlavního" Ondry zavelel a pustil - ale teď co? - magneťák nebo výstup z hlavního Ondry? To už nevím. No a za chvíli na všech počítačích učebny blikal stejný obraz :)

No a loni jsem se s Ondrou setkal znovu. Vydražil jsem jej na Aukru a s pomocí rad rEVERZe jsem jej resuscitoval. Hry mě nenadchly. Ale když jsem kouknul k Petrovi EC1045 na zapojení a začal jsem zkoumat jak funguje, abych ho mohl "napsat" pro FPGA tak to byla jiná. Zapojení je hodně zajímavé. Začal jsem jej tedy psát pro MISTer no a zde mi to moje tehdejší pohrdání Ondra pořádně vrátil - než jsem ho donutil něco zobrazit tak mě ukrutně trápil. A nebo že by to bylo tím že jsem ho i nyní podceňoval a na ty 4 rovnice na zobrazení obrazu, čtení klávesnice, čtení EPROM a RAM se nesoustředil? No stále mě to dost času a bědování... ale teď je to tu - berte a hrajte si. A tentokráte nejen pro MISTer ale i pro ZX Uno!


Mapování kláves

Pro mapování kláves přeřaďovačů jsem se inspiroval Omikronovým java emulátorem a až na ČS je vše stejné. ČS se mi nelíbilo nahoře vedle nuly, navíc caps lock zůstal nevyužit a s ostatními tvoří krásný kompaktní celek :) Takže krátce, mapování je toto

Ondra -> PC Keyboard
---------------------------
Shift -> Shift
Symbols -> Alt
Ctrl -> Ctrl
Numbers -> Tab
ČS -> Caps Lock

Na githubu najdete ještě grafickou mapku https://github.com/MiSTer-devel/OndraSP ... apping.jpg


Nahrávání (her) přes ADC/line in

Funguje :) Trochu oříšek byl to prvotně rozchodit, neměl jsem tušení jak to na Ondrovi chodilo a potajmu jsem informace loudil na tomto fóru. Problém byl v použitém CPU, upravené T80. Nevím co je skutečnost, ale pro zprovoznění jsem musel použít méně upravenou a s vynucením IO operace v 1 cyklu - jinak bylo vzorkování line in i sériového portu s poloviční frekvencí.

Nahrávání je jednoduché. Použijte ViLi rom, zmáčkněte libovolné tlačítko a spusťte magneťák (nebo MP3). Ondra **ZHASNE** obrazovku a sem tam problikne nápis .KÓD x, kde to x se zvětšuje od 1 do ?. To není kód chyby jak jsem se domníval, ale nějaké ohlášení že nahrávání probíhá .... A pak se mi divte že jsem nevěděl co se děje :)

Pokud by to chtěl někdo vyzkoušet, tak WAVy jsem si připravoval pomocí Tape Export - zde je link https://emulation.free8bit.net/index.php?ACTION=1005


Nahrávání (her) přes "seriový" port

No tak zde je větší legrace. Ono totiř ZX Uno ani ZX Uno 2M žádný vyvedený sériový port nemá a MISTerovi se to taky přímo říct nedá. Zkrátka zneužil jsem pro to jednu z nepoužitých nožiček (IO_L37N_3 = JOY2 Up nebo EXT26) na ZX Uno a na MISTeru User Port - a připojil USB2UART konvertor. Ale pozor, FPGA používá jen 3.3V logiku! Je třeba konvertor co se dá takto nastavit jinak asi FPGA odejde do věčných lovišť ... nebo aspoň ta nožička. Fotky s popiskem jak to na vlastní riziko udělat jsou na githubu (viz link níže)

Pak už stačí jen na PC spustit OndraLink https://sites.google.com/site/ondraspo1 ... /ondralink (za nějž a informace ohledně komuniace s Ondrou Martinovi děkuji!), Na Ondrovi spustit Vili Rom, napsat # (Alt + e) a enter. A začnou se dít věci. No teda až po tom cu vyberete v Ondra Link bin soubor a dáte tu šipku a nebo raději "dvou-šipku" nahoru (to jako že nahrát do Ondry).

Chystám se ještě udělat něco jako "Ondra SD" implementovanou přímo do FPGA, ale nestihnul jsem to.


Link na github pro MISTer je zde https://github.com/MiSTer-devel/OndraSPO186_MiSTer
a pro ZX Uno (i ZX Uno 2M) pak zde https://github.com/PetrM1/OndraSPO186_ZXUno

A zde je link na video ukazující jádro Ondry na MISTeru https://youtu.be/B2MRWTKYOYU

phpBB [video]


Interně jsem si tento release nazval Bytefestový. Sám se tam určitě chystám, buť jen na čumendu. A tak pokud by toto někdo chtěl přidat ke svým věcem co se chystá ukazovat tak budu jen rád :)

Ještě jednou moc díky všem výše jmenovaným za publikované poklady k Ondrovi!!

Užívejte a hezký den
Petr

PS: Koukám jak jsem se zase rozepsal .... :)

Autor:  Martin8bity [ 22.10.2021, 15:50 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

Paráda! Už se těším, až to vyzkouším. MiSTer na ByteFest určitě beru, takže rád ukážu komukoli. Ta implementace OndraSD by byla super.

Autor:  Doda [ 22.10.2021, 20:26 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

A co MiST, to by nejak snadno neslo dodelat?

Autor:  shark800 [ 23.10.2021, 18:11 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

Na mist jsem sliboval už PMD krupkajovi. Pak když jsem se trochu začal orientovat na ZX Uno jsem zkoušel předělat i PMD ale nějak se mi zatím nedaří ani to co si mohu na stole otestovat. Testování "na dálku" je dost nepohldlné. Ale třeba na to taky dojde.

Mimochodem mám první ohlas že na compositu ZX Uno se Ondra nechoval jak by měl. Udělal jsem rychlou opravu (změnil jsem zapnutý krystal z PALu na NTSC) a obraz Ondry přestal být nafialovělý, ale prý se to trhá. U mě to asi ustálí ten čínský konvertor composite 2 HDMI, ale jinde to prý není taková olympiáda. Nemáte někdo nějakou radu?

CSync dělám jako HSync XOR VSync. A dělal jsem i jako XNOR i AND bez výraznějších změn. A i CSYNC jádra atari vypadal na osciloskopu velice podobně ....

Když to provozuji na ZX Uno 2M na VGA tak je vše krásné a stabilní.

Autor:  omikron [ 25.10.2021, 16:39 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

Dáš Mister port časem na jejich oficiální Git?

Chtělo by to udělat TNS GC ale nějak si na to netroufám. Jsou tam dva průšvihy - řadič WD2797, nevím, jak ho navázat na obsahy disket. A přerušovací systém TNS je docela legrace. Nemá ani daisy chain, ani řadič priorit, ale čítač, který olizuje všechny desky, jestli některá nechce přerušení. Pokud jo, čítač zastaví, hodí -INT do Z80 a pak podstrčí svoji hodnotu jako vektor v IM2 módu.
Geniální je tam stránkovací jednotka, nastavíš číslo stránky pro zdroj a cíl a uděláš LDIR a ono to čte kód instrukce z původní nestránkované paměti, data z jedné stránky ukládá do druhé.

Autor:  Busy [ 25.10.2021, 17:18 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

omikron píše:
řadič WD2797, nevím, jak ho navázat na obsahy disket.
V com konkretne je problem ?

Autor:  l00k [ 26.10.2021, 08:28 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

podívej se do emulace IQ v javě od Stamila, je to sice i8272 ale, princip bude stejný, ani nebylo potřeba programovat všechny příkazy...
interně si musíš udělat nějaký buffer na image diskety a jde o to jestli chceš i blbosti typu jiný počet sektorů na stopě, různé velikosti sektorů, různé formáty disket (8",5.25" 40/80 stop a podobně)
potřebuješ vždy informaci v jakém stavu je řadič (čtení/zápis) a jestli se jedná o data nebo o příkaz

Autor:  shark800 [ 29.05.2022, 16:45 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

Tak jsem právě hodil na Github novou verzi Ondry pro ZX Uno. Žhavou novinkou je zde implementace Ondra SD = umožnění nahrávání SW z SD karty jako na reálném HW. Pro zprovoznění stačí na SD kartě založit adresář Ondra a nakopírovat do něj __LOADER.BIN a _ONDRADM.BIN a také nějaké hry :D
Po startu zadejte # (ALT + E) a Enter. Pokud by se nazahájilo nahrávání zkustě Enter ještě jednou a déle (změna proti skutečnému Ondra SD je že čekám na Enter a nevysílám stále dokola loader) a nebo reset a znova.

https://github.com/PetrM1/OndraSPO186_ZXUno

Verze pro MiSTer bude brzy následovat.

A přikládám i aktualizované video - kvalitnějsí jak to minulé nahrávané foťákem :lol:

phpBB [video]

https://youtu.be/YnFbf-u1D80


A ještě prosba - video generované jádrem a prohnané přes AD274 na kompozitní video má červený artefakty a nevím co s tím. Zkoušel jsem připojit reálného Ondru a ten běží OK. Proměřoval jsem Vsync a HSync pulzy a časování se shoduje. Co zde může být špatně? Pokud zapnu Scan doubler a výstup pustím na VGA tak je vše v pořádku ...

Autor:  Solaris104 [ 29.05.2022, 17:44 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

Dobrá práce. Ještě by to chtělo trošičku poladit ty změny rozlišení, což dělá efekt poskakující obrazovky ve hře Snake Escape :-)

Autor:  shark800 [ 29.05.2022, 18:49 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

Budu se muset podívat jak to vpadá na originálu. Video na Youtube je nahrávaný na MiSTeru a možná že tam ten jejich video layer do toho zasáhnul? A nebo je blbě jádro :D Má to podle tebe skákat víc nebo míň?

Autor:  Solaris104 [ 29.05.2022, 19:00 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

Na originálu to poskakuje plynuleji, až budeš mít čas mrkni na real Ondru.

Autor:  shark800 [ 01.06.2022, 11:58 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

Teď jsem to video ukazoval kolegovi v práci (jsem chlubílek :lol: ) a koukám že na tom youtube to opravdu nějak divně skáče. Porovnal jsem to s původní nahrávkou a ta se zdá plynulejší.

@solaris104 - nemáš šanci na to kouknout na skutečném ZX Uno? Rád bych znal tvůj názor

Díky
Petr

PS: Stále platí prosba o pomoc s červenmi "PAL artefakty" na kompozitním videu z AD724. Měřil jsem VSync a HSync co leze z FPGA a je to stejné jako z Ondry. AD724 má jen volbu PAL nebo NTSC - volím PAL ale obraz je neostrý (hlavně u svislých čar) a načervenalý. Mám pocit že NTSC by mělo být vzdálenější (než PAL) tomu co generoval Ondra, ne?

Autor:  Solaris104 [ 01.06.2022, 12:02 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

Bohužel nemám žádný FPGA počítač typu ZX Uno/Mister :-(

Autor:  shark800 [ 10.06.2022, 21:20 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

Tak jsem se konečně dokopal dodělat verzi pro MiSTer! Platí pro něj to samé jako pro verzi na ZX Uno, tj. na SD kartě v "secondary" slotu založit adresář Ondra a nakopírovat do něj __LOADER.BIN a _ONDRADM.BIN a také nějaké hry :D
Po startu zadejte # (ALT + E) a Enter. Pokud by se nezahájilo nahrávání zkustě Enter ještě jednou a déle (změna proti skutečnému Ondra SD je že čekám na Enter a nevysílám stále dokola loader) a nebo reset a znova.

Nová verze je na githubu zde: https://github.com/MiSTer-devel/OndraSPO186_MiSTer

A protože mi stále vrtá hlavou Solarisova poznámka o "neplynulosti" poskočení obrazovky ve hře Snake Escape tak jsem na ulož.to nahrál původní sestříhané video. Můžeš se na to, prosím, mrknout a porovnat? Má to nějakých 22MB.

https://ulozto.cz/tamhle/THXGTwAKTEDD#! ... 5zp1x5ZGVk

Díky a všem přeji hezký víkend
Petr

Autor:  72ka [ 11.06.2022, 10:18 ]
Předmět příspěvku:  Re: Ondra SPO 186 jádro pro MISTer a ZX Uno

Ahoj, opravdu to skáče divně. Na real ondrovi díky čítačům jede celý obraz naprosto plynule jako jeden kus s frekvencí 50Hz. Stejně plynule jako například sprite na c64 atp.

edit: už jsem na to přišel co je tam divné. Na videu od tebe se ten obraz při posunu deformuje vertikálně - roztahuje a stahuje. Jsem si grabnul video z Ondry toho efektu a obraz má vždy stejnou výšku (čitačema se nastavuje jen vert. posun).

tady video

https://ulozto.cz/file/oGx6VgXtcue5/ondra-snake-escape-efekt-realny-ondra-mpg#!ZJAwZQR2AmR5L2R0MJLjLmH0MQIyZQIyqJAaJKI+oy81pmEyBD==

Stránka 12 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/