OldComp.cz
http://oldcomp.cz/

IQ151 SD-ROM
http://oldcomp.cz/viewtopic.php?f=49&t=8496
Stránka 15

Autor:  stamil [ 23.04.2020, 17:18 ]
Předmět příspěvku:  IQ151 SD-ROM

Nedávno jsem tady na fóru sháněl počítač IQ151. Chtěl jsem zavzpomínat na svá studentská léta a taky něco nového pro tento počítač naprogramovat. Nakonec se mi podařilo na Aukru jeden vyhrát.
Protože počítač nebyl funkční, putoval nejdříve k Reverzovi. Ten ho opravil a já tak mohl začít experimentovat. Co mě ale štvalo, byl fakt, že neexistuje uspokojující způsob, jak do IQ151 dostat software. Zkoušel jsem programy „vypípat“ jako z magnetofonu, ale doba přenosu byla příšerná. Někde jsem četl, že rychlost je cca 300 baudů, což je v porovnání se ZX Spectrem, na který jsem zvyklý, 4x pomalejší. Proto jsem hledal jinou cestu. Na stránce http://sdq.czweb.org/old_computers/iq151/ptaper/ se píše o využití modulu STAPER pro načítání programů přes paralelní port. Emuluje se děrovačka, se kterou IQ151 dokázalo pracovat. Řekl jsem si, že by bylo dobré místo paralelního portu na druhé straně použít mikrokontrolér s SD kartou a celé to zabalit do úhledné krabičky. Něco ve stylu PP01 SD-ROM modulu.
Protože modul STAPER nevlastním a na Aukru jsem ho už dlouho samostatně neviděl, zkusil jsem navrhnout vlastní verzi.
Jako mikrokontrolér jsem si vybral Atmegu 328p. A to z toho důvodu, že se k ní dají najít knihovny pro ovládání SD-karty a také k ní existuje Atmel studio, kde se pohodlně programuje v C. V podstatě je to můj první projekt s mikrokontrolérem, proto jsem šel tou nejjednodušší cestou.
Jak to celé funguje? Modul se zasune do IQ151, počítač zapne a zadá se příkaz PTAPE v Basicu. Modul pošle do počítače soubor __bloader.bas z SD karty. Soubor se automaticky spustí a zobrazí se file manager, který jsem pro tento účel naprogramoval. Ten si dotáhne obsah root adresáře SD karty a zobrazí ho. SD-kartu pak lze v manageru procházet a vybrat si soubor ke spuštění. Po vybrání a potvrzení pomocí CR je soubor nahrán do IQ151. Pokud se jedná o BASIC (koncovka BAS), tak se pouze nahraje a nespustí, stejně jako z magnetofonu, pokud se jedná o hex soubor, nahraje se jako by se nahrával pomocí příkazu L z monitoru, tj. včetně automatického spuštění, pokud ho ukončovací blok v souboru obsahuje.
Pokud není žádný modul BASIC zastrčený, tudíž nelze na začátku příkaz PTAPE napsat, lze v monitoru změnit IO bajt na adrese 3 na hodnotu 55 pomocí příkazu S3 šipka vpravo 55. Tím se monitoru řekne, aby nepoužíval magnetofon, ale děrovačku. Po zadání příkazu L, se poté nahraje file manager, stejně jako z Basicu. Dále se vše ovládá úplně stejně, s tím rozdílem, že programy pro Basic nelze logicky bez modulu Basic spouštět.
File Manager umí nahrávat pouze programy pro Basic 6, BasciG a Monitor. Pascal není podporován. Pokud podporu pro Pascal někdy dodělám, aktualizaci firmware pak vydám zde na fóru.
Modul také umí data z IQ151 na SD kartu ukládat. Ukládání se spouští příkazem Basicu PLIST nebo v monitoru po změně IO bajtu na adrese 3 na 55 pomocí příkazu W<start_adr>,<stop_adr>,<run_adr>.
Ukládání vytvoří soubor saveXXX.[bas|hex] v rootu SD karty. Čísla se inkrementují tak, aby se nepřepsal předchozí soubor. Koncovka se zvolí automaticky podle ukládaného obsahu. Po uložení, tj. potom co přestane blikat dioda na modulu, je dobré 1-2 sekundy počkat, než se provede „sync“ ukládáných dat na kartu. Sync je spuštěn okamžitě po jakémkoliv ukládání.
Pozn.: testováním jsem zjistil, že pokud je SD karta naformátována na FAT32 s nejmenší velikostí alokační jednotky tj.4096, je čtení z takové karty v modulu mnohem rychlejší (pocitově až 3x). Proto doporučuji kartu před prvním použitím přeformátovat do tohoto formátu.
Konstrukčně je téměř vše na desce o rozměru 93x80mm. Externě se k PCB akorát připájí LEDka, která indikuje čtení/zápis a SD-card modul, který je primárně určen pro Arduino.
Všechny součástky jsem volil CMOS, kvůli nižší spotřebě s ohledem na limity zdroje v IQ151. Vše se dá sehnat v GME, pouze 8255 a FRB konektor musíte koupit někde jinde. Na breadboardu jsem to měl po celou dobu zapojeno s klasickou Tesláckou MHB 8255 a fungovalo to bez problémů. Do první verze jsem pak raději dal méně „žravou“ CMOS verzi CP82C55A-5Z.
Celé se to dá umístit do vytištěné krabičky, kterou jsem se pro tento účel navrhl. STL soubory jsou přiloženy. Při správném rozložení se dají obě půlky tisknout najednou. Tisk trvá přibližně 7 hodin, podle zvolené kvality tisku.
Výsledek můžete vidět na fotkách. Jedná se o výtisk z tiskárny Prusa MK3S z materiálu PLA bez nastavených podpěr.
Pokud by měl někdo zájem, několik volných PCB mi zbylo. Cena by byla 60 Kč + poštovné.

Zde je link ke stažení souborů nezbytných pro stavbu:
https://uloz.to/file/iZDrQMbvuWEA/iq151sdrom-zip

Obsah je tento:
1) Schéma modulu + seznam součástek
2) Firmware pro Atmegu
3) Ukázkový obsah SD-karty
4) STL soubory pro 3D tisk krabičky
5) Několik obrázků hotového modulu a file mamangeru

Přílohy:
Poznámka: Vnitřek modulu
opened.jpg
opened.jpg [ 137.82 KiB | Zobrazeno 14939 krát ]
Poznámka: Zkompletovaný modul
closed.jpg
closed.jpg [ 69.79 KiB | Zobrazeno 14939 krát ]

Autor:  Czech Human [ 23.04.2020, 18:44 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

Aneb jak tenká je někdy linie mezi starým křápem a pohodlně použitelným 8bitem... Klobouk dolů za profi zpracování i řešení, tohle je imho must have modul pro všechny majitele IQ151 co ho nemají jen ve sbírkové krabici ale chtějí si s ním taky trochu hrát...

Autor:  Jakub [ 23.04.2020, 20:20 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

Moc pekny!

Autor:  Jack_Free [ 23.04.2020, 20:56 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

Parada, jeden hotovej na prodej asi nebude co?

Autor:  stamil [ 23.04.2020, 21:00 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

Jack_Free píše:
Parada, jeden hotovej na prodej asi nebude co?


Mám jeden hotový prototyp, který můžu postrádat. Podrobnosti pošlu v SZ.

Autor:  Jack_Free [ 23.04.2020, 21:26 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

O. K. Diky.

Autor:  Martin8bity [ 23.04.2020, 21:40 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

Já bych prosím dvě destičky určitě vzal, jsou-li ještě volné.

Autor:  jirka_holub [ 23.04.2020, 21:44 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

SZ 20:37 ( o desticku)... :like: IQ pujde ze skrine ven...

Autor:  Clouseau [ 23.04.2020, 22:32 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

Taky mám zájem o jednu desku. dík

Autor:  stamil [ 23.04.2020, 22:39 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

Tak desky už jsou všechny zamluvené. Pokud by mělo zájem více lidí, můžu ještě nějaké doobjednat. Byly by hotové tak za týden.

Autor:  Jakub [ 23.04.2020, 22:43 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

Taky bych mel zajem o desku (ted vidim, ze dosly). Tak pokud by se doobjednavaly, tak za mne +1.

Autor:  cmelak [ 24.04.2020, 09:48 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

Já bych se přihlásil o 2. Díky

Autor:  stamil [ 24.04.2020, 10:17 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

Byl jsem upozorněn, že na FB skupině "Osmibitové počítače" by měli další lidi zájem o desky. Tak jsem doobjednal výrobu dalších 20 kousků.
To už snad uspokojí všechny zájemce.
Až dorazí, napíšu zprávu do tohoto vlákna.

Autor:  Czech Human [ 24.04.2020, 10:45 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

Věštím velký návrat IQ-151 na scénu protože se s ním bude moct pracovat, třeba se pohnou ledy i se síťováním mezi IQ a PMD :twisted:

Autor:  sathack [ 24.04.2020, 11:38 ]
Předmět příspěvku:  Re: IQ151 SD-ROM

No to je velká paráda a obdivuhodné dílo, pokud budou další desky měl bych zájem o 2ks, díky

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