memxFORTH

Uživatelský avatar
gilhad
Příspěvky: 299
Registrován: 29 kvě 2015, 00:36
Kontaktovat uživatele:

Re: memxFORTH

Příspěvek od gilhad »

Tak desky dorazily, dvě už jsem osadil a rozchodil, zatím jsem teda jen otestoval funkčnost každého modulu a bude to chtít sesadit dohromady a učesat, ale už to něco dělá :)

Obrázek

Debugovací LEDky hrajou všema barvama, ostatní svítí podle potřeby :)

Obrázek

Na HackADay.io to má vlastní stránky https://hackaday.io/project/204418-mhf- ... home-forth
Uživatelský avatar
JPLABS
Příspěvky: 108
Registrován: 13 čer 2023, 22:45
Kontaktovat uživatele:

Re: memxFORTH

Příspěvek od JPLABS »

Jen tak ze se zeptám: jakou roli má CPU 6309 u té ATMega? Hledal jsem na tvým Githubu více info. Po delším hledání jsem našel odkaz na schéma, ale ta stránka hlásí, že soubor byl zrušen:
https://github.com/githubgilhad/MegaHom ... HF-001.pdf
VGA se dá udělat různě. Záleží na požadovaným rozlišení. Existují hotový řešení pro FPGA. Jen je nahraješ do FPGA. Další možnost je s nějakým rychlým CPU. Okolo roku 2000 nějaký Rus udělal VGA s CPU 80C400. Bohužel ten obvod se už nevyrábí. V roce 1988 vyšlo v japonským radioamatérským časopise povídání o 6309, jak s ním udělat videoadaptér pro 8-bity. Další docela levná metoda je, že koupíš v bazaru nějaký vhodný VGA adaptér do PCčka (ISA nebo VLBUS), odpájíš z něj VGA čip :D a použiješ jej na tvým adaptéru s nějakým CPU. Jde jen o to, jak rychle dokáže ten CPU posílat data do VGA čipu. Já toto vyzkoušel s obvodem, který byl v patici na 8-bit ISA video adaptéru EGA Paradise. Obvod jsem vyndal z patice videoadaptéru, rozkreslil jsem schema EGA Paradise videoadaptéru a připojil jsem video obvod na Motorolu 6800. Fungoval spolehlivě (640x350 pixlů) s CRT monitorem.
Uživatelský avatar
JPLABS
Příspěvky: 108
Registrován: 13 čer 2023, 22:45
Kontaktovat uživatele:

Re: memxFORTH

Příspěvek od JPLABS »

A ještě jsem si teď vzpomenul, kdyby jsi chtěl něco fakt užitečnýho udělat, tak existuje mikropočítač HD64F2134FA20V. Původně od Hitachi. Japonci je používali do hracích automatů a zábavních robotů. Mám těch mikropočítačů asi 1000 kusů. Všechny fungl nové. Tak ti můžu dva kousky věnovat a mohl by jsi s nimi udělat robota s videodisplejem na kolečkách. :D Mám k nim myslím i nějaký crossassembler nebo tak něco.
V příloze je náhled na strukturu mikropočítače (v PDF). Je to 62.stránka z manuálu, který má 1030 stran (6 Mbyte v PDF).
H8S2134-overview.pdf
náhled na mikropočítač H8S2134
(42.39 KiB) Staženo 9 x
Uživatelský avatar
gilhad
Příspěvky: 299
Registrován: 29 kvě 2015, 00:36
Kontaktovat uživatele:

Re: memxFORTH

Příspěvek od gilhad »

JPLABS píše: 06 led 2026, 21:25 Jen tak ze se zeptám: jakou roli má CPU 6309 u té ATMega?
Roli má tu, že atmega je grafická karta, která se dá použít i jako samostatný počítač (což teď pro testování dělám)
6309 bude na samostatní desce jako hlavní procesor, a bude tuhle grafickou kartu (nebo spíš dvě) používat pro výstup na obrazovku (jednu MHF) a pro vstupy z klávesnice, SD karty, seriál portu a případně dalších věci (druhou MHF) protože všechno dohromady jedna MHF nestíhá (když kreslí obrazovku ztrácí packety, když stíhá packety, vypadává obrazovka, protože je prostě slabá a pomalá)
Ale ta deska s 6309 zatím ještě není ani v návrhu, odhaduju, že na tom začnu dělat tak začátkem léta. Nicméně nějaké předchozí verze mám na breadboardech a víceméně to začalo Expanduinem.
Hledal jsem na tvým Githubu více info. Po delším hledání jsem našel odkaz na schéma, ale ta stránka hlásí, že soubor byl zrušen:
https://github.com/githubgilhad/MegaHom ... HF-001.pdf
Tak to je chyba, správný odkaz je https://github.com/githubgilhad/MegaHom ... HF-001.pdf čili bez toho docs/MHF-001/ - jaká je to stránka, ať to můžu opravit?
Ale MHF-001 je už obsolete, teď mám MHF-002 (které má 75 vylepšení a líp se pájí ručně), už jsem udělal 2 desky a ozkoušel na nich kód pro všechny device, teď to dávám dohromady (je to na těch stránkách taky)


VGA se dá udělat různě. Záleží na požadovaným rozlišení.
Ano a já se jí rozhodl udělat pomocí "Arduina", tedy ATmega, protože jsem zatím k tomu 6309 počítači používal jako hloupý terminál AMD Ryzen 9 3900X 12-Core s 32 GB RAM a přišlo mi to tak trochu nevhodné. Rozlišení se pohybuje okolo 40x25 znaků případně 320x400 pixelů, (na každou řádku jedna barva popředí a jedna pozadí), protože s 16 MHz víc pixelů a barev prostě nestíhám. A MHF je teď tak pocitově akorát adekvátní.

Až mi MHF bude chodit k mé spokojenosti, pustím se do návrhu té hlavní desky s 6309 a ATF1504 jako GLUE (zase 10x10cm a SystemBus) a budu budovat systém pro ni. Až to budu považovat za hotové, možná zkusím udělat podobné počítače s 6502 a 8081, protože ty doma mám taky (OMEGA Aplha, Beta a Kilo od Martina Malého) a až pak budu uvažovat o dalších projektech. Jenže to ještě bude trvat léta.

Tady si užívám jednoduchosti v tom smyslu, že o každé součástce vím, proč přesně tam je, co přesně dělá a dovedu si to představit do úrovně jednotlivých instrukcí a hodinových cyklů.

Žádné out-of-order divočiny, spekulativní výpočty, multipipe, megabytové binární bloby v mnoha vrstvách nad sebou, nic takového. Atmega, 6309, ATF1504 mi svou složitostí stačí a nemám potřebu je nahrazovat ani Ryzenem, ani hrstí tranzistorů :lol:

Jinak ta 6309 bude mít taky FORTH (minimálně jako jednu z variant) a budu tam využívat RAM pro běh kódu (což atmega neumí a v tom FORTHu mě poněkud omezuje)
Uživatelský avatar
JPLABS
Příspěvky: 108
Registrován: 13 čer 2023, 22:45
Kontaktovat uživatele:

Re: memxFORTH

Příspěvek od JPLABS »

HD6309 umí (podle toho článku z japonského radioamatéra) jen 320x200 bodů, ale nepíší tam kolik barev. Schema tam v tom článku není. Teda mám jen jednu stranu z toho časáku a nevím, zda to mělo pokračování.
Myslím, že HD6309 toho neuměl o moc víc než 6800.

K té CPLD ATF 1504. Do té se toho moc nevejde. VGA určitě ne. Vejde se tam nějaká malá logika. Dají se teda spojovat, vícero ATF1504. Mám je a mám k nim také vývojovou, programovací desku. Zatím je ještě dostupná. Viz na konci tohoto článku úplně dole: http://www.jplabs.co.uk/cz/articles/bh563a.html
Existují ještě ATF1508 mysllím, které mají tuším 84 pinů nebo tak nějak. K nim se musí kupit extra programovací patice. ne zrovna levná, ale stále dostupná. Nevýhodou je zbytečně moc vývodů.

Problém je ale jinde, sice v software. Pro tyto CPLD neexistuje jeden ucelený software, nějaké IDE, jako znáš z mikropočítačů, kde by jsi celý projekt vyvinul od počátku do konce. Naopak,musíš použít tři nebo čtyři různé software, od různých výrobců. Každý má nějaké omezení. Konkrétně, pro tyto CPLD řady ATF existuje software ATMISP, dále POF2JED, WINCUPL, WinSim a ProChipDesigner. :D K tomu musíš umět VHDL nebo použiješ DEEDS, výstup ve VHDL stejně musíš upravit protože verzí VHDL je vícero. Existuje také Quartus II verze 9, ale ta nepodporuje ATF řadu (kdysi prý podporovala). Takže z Quartusu musíš návrh dostat do WinCuplu. WinSim funguje různě. Microchip chce zaplatit za licenci, ale nějak ten prodej licence moc nefunguje.
S jakoukoliv podporou ze strany výrobců oněch software vůbec nepočítej. Ta je nulová. Nezajímá je to. Poraď si sám, jak umíš. A to je přelom roku 2025/2026. Tendence výrobců hradlových polí je k FPGA, odcházejí od CPLD. řada ATF je spíše vyjímkou. Div, že to ještě vyrábějí. Jsem zvědav, jak dlouho se to udrží ve výrobě.

Existují také CPLD od Lattice, které jsou velmi rychlé (až 400 MHz). K nim je vývojový přípravek, též ne právě levný. Má to háček. Kdysi , až do roku 2001 byl vývojový software od Lattice gratis. Když se prodalo hodně vývojových destiček, tak Lattice v tichosti stahnul free licenci a za ten stejný vývojový sofware, který byl do roku 2021 gratis, chce nyní zaplatit. Asi 800 USD. :D Dost, hodně lidí tím nasral. Lattice na to odpovídá, ať lidé přejdou od CPLD k FPGA.

Existuje také Digilent, který používal velký CPLD CoolRunner II. Do těch se vejde VGA. Jenže dnes k Digilentu neseženeš vývojový software. Je to 15 let stará věc. Ale byl to pěkný CPLD a měli pěknou vývojovou desku.

Nedostatek FPGA je v tom, že výrobci (Xilinx a Atmel) to tlačí ke stále větším a větším FPGA. Což s sebou nese stále větší pouzdra se stovkami vývodů BGA. Také rosta cena. No, ano, ty obvody toho pak dokáží hodně, ale kdo to potřebuje? V souvislosti s tím stejně musíš koupit licenční software, jinak z toho nic nepoužiješ. Typicky NIOS II od Atmelu. Je v FPGA, ale dostupný jen za poplatek 500 USD. Obdobné to je u Xilinxu. Vývojový software pro staré Xilinxy je sice gratis ale umožňuje jen určitou strukturu návrhu, ne příliš komplexní a pro nové Xilinxy musíš platit licenci. Xilinx má dnes myslím Virtex 7 a další novější... Netuším k čemu bych to vůbec využil. Prostě nemám nápad. Mám v šupleti staré XC3042 a X3064, které mají ještě použitelné pouzdra do velkých PLCC patic a s jedním nebo dvěmi lze udělat VGA rozlišením až 1600x1200. Zda s jedním nebo dvěmi, záleží na úrovni návrhu, který to dovolí, software s kterým přiřazuješ piny a rovnáš strukturu do obvodu. Nelicencovaný software má omezení.
Před týdnem jsem si zažádal o novou free-licenci od Xilinxu. Kupodivu jsem ji dostal, stahl jsem si 6 GigaByte vývojový 10 let starý software :D a zjistil jsem, že z něj vyřadili XC3000 řadu :( To jsou právě ty XC3042 a XC3064. Tak existuje nobvější řada XC4000 a XC5000. A pak Virtex 5 atd. Na Virtex 5 už potřebuješ placenou licenci. Populární je Spartan, ale i ten je už dnes neuvěřitelně starý.

A potíž je ta, že než se "dokopeš" k nápadu jak a k čemu využít Spartan nebo Virtex 5 a dosáhneš na znalosti, jak pro to udělat projekt, tak utečou roky, ne měsíce, ale roky. Mezitím už Virtex 5 bude strašně starý a dávno opuštěný a nepodporovaný v té budoucí době aktuálním software. Takže ty budeš zase v "háji". Prostě dohnat tento trend a být v čase s vývojem FPGA , to je děsivě náročný na čas i na peníze.
Uživatelský avatar
gilhad
Příspěvky: 299
Registrován: 29 kvě 2015, 00:36
Kontaktovat uživatele:

Re: memxFORTH

Příspěvek od gilhad »

JPLABS píše: 07 led 2026, 21:08 HD6309 umí (podle toho článku z japonského radioamatéra) jen 320x200 bodů, ale nepíší tam kolik barev. Schema tam v tom článku není. Teda mám jen jednu stranu z toho časáku a nevím, zda to mělo pokračování.
Myslím, že HD6309 toho neuměl o moc víc než 6800.
Což je celkem jedno, protože, jak jsem psal, 6309 bude hlavní procesor, který bude používat grafickou kartu pro zobrazování. Tedy například bude chrlit nějaký text, který grafická karta převede na obraz, který prostě odjede třeba několik obrazovek. 6309 sám VGA generovat nebude. Co bude generovat bude něco jako ze do paměti zapíše :

Kód: Vybrat vše

text: Lorem ipsum .... body: 0,0; 0,319; 399,319; ... cary: 1,1-398,318; 1,318-398,1 ... text@ 200,160,"Hello world" ...
a předá tu paměť grafické kartě (MHF).
Grafická karta (MHF) to pak nějak zpracuje a zobrazí. Vypíše Lorem Ipsum od aktuální pozice kurzoru a zaláme podle šířky obrazovky a když dojde na konec obrazovky, tak ji zaskroluje. Udělá tečky v rozích, křížící se čáry přez skoro celý monitor a nakonec od prostředka vypíše Hello world. Nebo tak něco.
K té CPLD ATF 1504. Do té se toho moc nevejde. VGA určitě ne. Vejde se tam nějaká malá logika. Dají se teda spojovat, vícero ATF1504. Mám je a mám k nim také vývojovou, programovací desku. Zatím je ještě dostupná. Viz na konci tohoto článku úplně dole: http://www.jplabs.co.uk/cz/articles/bh563a.html
Což je celkem jedno, protože ATF1504 bude GLUE, které na základě adres a dalšího nastavení bude vybírat, který chip, nebo co bude právě připojen na sběrnici a jak.

V našem příkladu, až 6309 dogeneruje svůj zápis do sdílené paměti a vzdá se jí, tak GLUE zasignalizuje grafické kartě, že sdílená paměť je k dispozici. Grafická karta o ni projeví zájem a GLUE jí nastaví přístup k té zdílené paměti a všem ostatním ho odepře.

Co si grafická karta počne s tím zápisem v paměti GLUE vůbec nezajímá, to bude řešit, že procesor se rozhodnul psát do ACIA a tak mu ten chip připojí ke sběrnici. Nebo něco jiného.


Problém je ale jinde, sice v software. Pro tyto CPLD neexistuje jeden ucelený software, nějaké IDE, jako znáš z mikropočítačů, kde by jsi celý projekt vyvinul od počátku do konce. Naopak,musíš použít tři nebo čtyři různé software, od různých výrobců. Každý má nějaké omezení. Konkrétně, pro tyto CPLD řady ATF existuje software ATMISP, dále POF2JED, WINCUPL, WinSim a ProChipDesigner. :D K tomu musíš umět VHDL nebo použiješ DEEDS, výstup ve VHDL stejně musíš upravit protože verzí VHDL je vícero. Existuje také Quartus II verze 9, ale ta nepodporuje ATF řadu (kdysi prý podporovala). Takže z Quartusu musíš návrh dostat do WinCuplu. WinSim funguje různě. Microchip chce zaplatit za licenci, ale nějak ten prodej licence moc nefunguje.
S jakoukoliv podporou ze strany výrobců oněch software vůbec nepočítej. Ta je nulová. Nezajímá je to. Poraď si sám, jak umíš. A to je přelom roku 2025/2026. Tendence výrobců hradlových polí je k FPGA, odcházejí od CPLD. řada ATF je spíše vyjímkou. Div, že to ještě vyrábějí. Jsem zvědav, jak dlouho se to udrží ve výrobě.
Což je celkem jedno, WinCupl jsem si stáhnul od Microchipu už dávno a rozchodil ho pod VirtualBoxem a tu svojí ATF1504 naprogramoval, aby mi nějakým způsobem rozsvěcovala LEDky na breadboardu. Tohle mi už chodí.

Programovací patici nepotřebuju, protože mám vytažené programovací piny, přez které jsem tu ATF1504 naprogramoval přímo připájenou na PCB.
Uvidím, jestli na moje účely budou stačit nožičky a cells, když tak buď použiju dvě, nebo ty ATF1508.

Předběžný odhad mám něco jako 23 signálů pro každou kartu, 7 signálů pro CPU a RAM/ROM, 16 adresy, 8 data a něco na VIA a spol
Existují ještě ATF1508 mysllím, které mají tuším 84 pinů nebo tak nějak. K nim se musí kupit extra programovací patice. ne zrovna levná, ale stále dostupná. Nevýhodou je zbytečně moc vývodů.
Ta moje ATF1504 má 100 vývodů a nějak jsem ji zvládnul, 84 vývodů mě tedy nezastraší http://mix.gilhad.cz/Blog/Blog_2024.htm ... rd-atf1504 a jde to programovat i bez patice, respektive tady mám patici zcela vlevo, 2x5 obyčejných pinů, přesně jak to chce kabel od programátoru ATDH1150USB, který mám doma (obrázek http) http://mix.gilhad.cz/Blog/2024.05.07-Br ... 8172.s.jpg

Dělá se to takhle http://comp24.gilhad.cz/documentation/CPLD_upload.html
Existují také CPLD od Lattice, které jsou velmi rychlé (až 400 MHz). K nim je vývojový přípravek, též ne právě levný. Má to háček. Kdysi , až do roku 2001 byl vývojový software od Lattice gratis. Když se prodalo hodně vývojových destiček, tak Lattice v tichosti stahnul free licenci a za ten stejný vývojový sofware, který byl do roku 2021 gratis, chce nyní zaplatit. Asi 800 USD. :D Dost, hodně lidí tím nasral. Lattice na to odpovídá, ať lidé přejdou od CPLD k FPGA.

Existuje také Digilent, který používal velký CPLD CoolRunner II. Do těch se vejde VGA. Jenže dnes k Digilentu neseženeš vývojový software. Je to 15 let stará věc. Ale byl to pěkný CPLD a měli pěknou vývojovou desku.

Nedostatek FPGA je v tom, že výrobci (Xilinx a Atmel) to tlačí ke stále větším a větším FPGA. Což s sebou nese stále větší pouzdra se stovkami vývodů BGA. Také rosta cena. No, ano, ty obvody toho pak dokáží hodně, ale kdo to potřebuje? V souvislosti s tím stejně musíš koupit licenční software, jinak z toho nic nepoužiješ. Typicky NIOS II od Atmelu. Je v FPGA, ale dostupný jen za poplatek 500 USD. Obdobné to je u Xilinxu. Vývojový software pro staré Xilinxy je sice gratis ale umožňuje jen určitou strukturu návrhu, ne příliš komplexní a pro nové Xilinxy musíš platit licenci. Xilinx má dnes myslím Virtex 7 a další novější... Netuším k čemu bych to vůbec využil. Prostě nemám nápad. Mám v šupleti staré XC3042 a X3064, které mají ještě použitelné pouzdra do velkých PLCC patic a s jedním nebo dvěmi lze udělat VGA rozlišením až 1600x1200. Zda s jedním nebo dvěmi, záleží na úrovni návrhu, který to dovolí, software s kterým přiřazuješ piny a rovnáš strukturu do obvodu. Nelicencovaný software má omezení.
Před týdnem jsem si zažádal o novou free-licenci od Xilinxu. Kupodivu jsem ji dostal, stahl jsem si 6 GigaByte vývojový 10 let starý software :D a zjistil jsem, že z něj vyřadili XC3000 řadu :( To jsou právě ty XC3042 a XC3064. Tak existuje nobvější řada XC4000 a XC5000. A pak Virtex 5 atd. Na Virtex 5 už potřebuješ placenou licenci. Populární je Spartan, ale i ten je už dnes neuvěřitelně starý.

A potíž je ta, že než se "dokopeš" k nápadu jak a k čemu využít Spartan nebo Virtex 5 a dosáhneš na znalosti, jak pro to udělat projekt, tak utečou roky, ne měsíce, ale roky. Mezitím už Virtex 5 bude strašně starý a dávno opuštěný a nepodporovaný v té budoucí době aktuálním software. Takže ty budeš zase v "háji". Prostě dohnat tento trend a být v čase s vývojem FPGA , to je děsivě náročný na čas i na peníze.
Což je celkem jedno, protože já nechci používat na VGA nejaké FPGA, ale atmega2560 (MHF), které mi ten signál vygeneruje a do monitoru pošle kdykoli ho zapnu. Funkční příklad mám na stole viz předchozí obrázky MHF, pro testování naswičovaných jako SBC a vypisujících písmenka na monitor.

Obrázek
Odpovědět