majdnem minden ami ReTRo

SD2IEC - avagy modernebb 1541 Floppy

2012/11/27. - írta: Сергей

... ismét a 80'as években járunk ... Természetesen találkoztam a C=64-el, haveroknál, suliban, folyóiratokban és általában a csapból is az folyt, pedig nem volt akkora durranás ... ;-) Nyugi, csak az irigység beszélt belőlem, anno nekem a Commodore 64, mint állomás sajnos kimaradt. Amúgy egyáltalán nem éreztem magam emiatt rosszul, a két közelebbről megismert Z80 alapú számítógéphez hasonlóan jó érzéseket kötök, mint mások a C=64-hez. A Spectrum-on történő játéknak valami elképesztő hangulata volt számomra, még arra is képes voltam, hogy órákig nézzem, ahogy mások játszanak vele. Az Enterprise-om pedig (főleg a Microteam EXDOS kártyám megvétele után) maga volt a csoda!
Pokoli régen van már C=64-em, több mint egy évtizede kaptam egyet ajándékba, nagyon szép állapotban van. Ép garanciacímkés (sajnos a doboza nem ért el hozzám). Ez alatt az idő alatt, ha három órát üzemelt (egy-egy 10 soros BASIC program bepötyögése, vagy a Super Games Cartridge nyüstölése okán), akkor sokat mondok. Mi ennek az oka? Van hozzá egy halom gyári játékkazettám, meg persze kalóz másolatok is, meg egy magnó, aminek el van állítódva a feje... Hát így elég nehéz szoftvereket betölteni (főleg, ha nem is vagyok benne túlzottan motivált, hogy magnóról benyekergessek programokat). Mellesleg gyönyörű szép állapotú 1541-II Floppy meghajtóm is van, azzal meg az a helyzet, hogy az "azt sem tudom, melyik retro géphez kapjak" érzésem közepette győzött a lustaság... Azóta sem készítettem X-1541 kábelt, ami PC - 1541 kapcsolatot lenne hivatott megvalósítani. Így nulla darab lemezképet sikerült floppy-ra kimásolnom. Na hát ennyit a C=64-el kapcsolatos motiváltságomról... Lesz ebből valahogy Happy End? ;-)

A történet úgy folytatódott, hogy tavaly kaptam ajándékba egy házi készítésű SD2IEC névre hallgató hardvert. :-) Komolyabb C=64 rajongók körében a Singular Crew (több magyar taggal is büszkélkedhet) által fejlesztett IDE64 vagy Lars Pontoppidan MMC2IEC projektje nem lehet ismeretlen! ;-) Nyilván ilyen kiegészítőkkel lehet a C=64-et a mai kor követelményeihez igazítani. Ha rendelkezünk pl. IDE64-el, akkor akár ilyet is nézhetünk kedvenc gépünkön Rush by Singular Crew. Én most az MMC2IEC-el fogok foglalkozni, ez egy (csúnyán fogalmazva) "1541 emulátor kártya". Az MMC2IEC szabad felhasználású projekt, a teljes dokumentációját, beleértve az érdemi részét, a mikrokontroller förmverjét (és annak forráskódját) elérhetővé tették az interneten. Német nyelvű oldalt linkeltem be, de az elektronikában jártas kollégák részére ez semmilyen (nyelvi) akadályt nem fog jelenteni. Az ott szereplő séma rajzok valamelyikét meg kell építeni kapcsolásként, a förmvert beégetni az ATMega32 16PU (5V) mikrokontrollerbe és elhelyezni az így előkészített IC-t a foglalatban.  Az SD vagy MMC kártyát (attól függ, hogy melyik változatot építjük) telemásoljuk a programokkal és már mehet is a móka. :-) Akkor most hogy is van ez? ;-)

Szóval kipróbáltam (kipróbáltuk) ezt a hardvert és nem hozott fényes eredményt... Az üzemebe helyezés úgy történne, hogy kikapcsolt állapotában összedugjuk a kártyát a géppel. Az SD2IEC megkapja az 5V tápfeszültséget (itt az egyszerűség kedvéért USB kábel került beépítésre, a PC teljesen tökéletes C=64 5V "tápszervernek"), ennek hatására a mikrokontroller elindul, megnézi az SD kártyát. Amíg az indulási folyamat tart, addig zöld LED világít. Normál esetben a LED-nek pár másodperc után el kéne aludnia, jelezve ezzel, hogy a kártya eszköz üzemkész, bekapcsolható a gépünk is. Éreztem, hogy valami nem lesz jó, percekig tartó várakozás után a piros LED kezdett villogni, ez bizony valami hibát jelent. Elkezdtem keresgélni, hogy mi lehet a probléma, amit megtaláltam kijavítottam és újra kipróbáltam. Néha javult a helyzet, de alapvetően nem sikerült stabilizálni az SD2IEC kártya működését. Olyan két óra szenvedés után feladtam a küzdelmet... A teljesség igénye nélkül, NYÁK lap hibát, serial kábel hibát, sd kártya foglalat és kábelezés hibát és a feszültség szabályzón találtam különböző hibákat. Akkor elhatároztam, hogy ha nagyon ráérek, akkor átépítem a kártyát egy kicsit komfortosabbra. :-) Tehát félre raktam az egészet, pihent majd egy évet...

Két dolog történt, egyrészt rendet raktam a polcon (furcsa, hogy pont az SD2IEC került a kezembe) és a 020-as turbó építése közben nehézségekbe ütköztem, kellett pihentetőül valami... Ezért pont kapóra jött ez a kis kártya és neki álltam az átépítésének. Az elérhető séma rajzok közül ezt választottam ki, MMC2IEC séma. A két képen a raszter panel (próba panel, kinek hogyan tetszik) alkatrész és forrasztási oldala látszik. Az átépítés fő célja egy minden szempontból üzembiztos és strapabíró kártya építése volt. Ennek érdekében a serial kábel meg lett hosszabbítva és rögzítésre került az USB-táp kábellel együtt a panel széléhez. Az SD kártya foglalata nem lóg a levegőben, hanem fixen rá került a panelra. Az eddig fixre kötött, vagy be se kötött mikrokontroller állítási lehetőségeket (SD CARD_DETECT, SD WRITE_PROTECT, DEVICE 8/9, DEVICE 10/11, Disk-Change 1, Disk-Change 2) tüskesorra (alá jumper) kihoztam.

alkatrész oldal kis.jpg
forrasztási oldal kis.jpg

Az elkészült a kártyát a séma rajz alapján még egyszer ellenőriztem, kiméregettem szakadásra és hasonlók. Természetesen volt rajta hiba, pl. a zöld LED-et elfelejtettem a VCC-re kötni, illetve a SD CLK jelet rossz helyre forrasztottam be. Végre minden a helyére került, 5V rendben, SD kártyára menő 3,3 V rendben, mehet az élesztés... de persze csak ésszel, ezen a képen pl. fordítva tettem be a mikrokontrollert (volt vagy este 11).

feldíszítve kis.jpg

Kipróbálás következett, először a gép nélkül, a kártya indulási folyamata néhány másodperc alatt rendben lezajlott (ahogy eredetileg is vártam). A jumperolgatással volt egy kis vesződés, ezt nem írom le, hat lehetőséget bárki ki tud próbálni. :-) Jöhetett a próba géppel, az egyszerűség kedvéért az SD kártyán egyetlen programot hagytam fent, a Wizard Of Wor-t... ;-)

akkor LOAD kis.jpg
wizard of wor kis.jpg
Nem csalás nem ámítás, nincs más eszköz a C=64-re kötve, csak a förmedvény.
nem csalás kis.jpg

Volt elfekvő 10 percem vele szórakozni, a PRG kiterjesztésű állományokat a LOAD "AKARMI.PRG",8 paranccsal be tudtam tölteni. A D64, T64, CRT fájlokkal meggyűlt a bajom, de emlékeim szerint azokat másképp kell betölteni. Jellemző, valahova elpakoltam a leírást, google-zni már nem volt energiám tegnap 00:15kor... Ha bedobozoltam az eszközt (egy frappáns műanyag műszerdoboz kéne) és megtalálom a leírását, akkor folyt köv.

7 komment

A bejegyzés trackback címe:

http://szergitata.blog.hu/api/trackback/id/tr504925477

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben.

LGB 2012.11.28. 13:16:52

En is epp ilyet epitek majd (ha lesz idom/energiam elkezdeni), azzal a csavatrral, hogy az SPI busz (ami megy a kartya fele) az "kacsolhato" lesz, hogy az SD kartya kapja, avagy egy ENC28J60, igy ethernet interface-kent is uzemelhet :) Google+ -on pont nemreg lattam, hogy az otlet nem uj, az SD2IEC firmware es hw nemi atalakitasa kapcsan ez masnak is eszebe jutott mar es vicces is, ha pl akar LOAD"http://mywebserver.com/my.PRG"-vel tolheto be valami neten at :) Illtetve meg hajmereszto otleteim kozott szerepel az eth/SD valasztas melle SPI buszos RTC chip, es parhuzamos iface az IEC melle, amivel mondjuk C64-en is lehetne gyorsabban nyomni (mint regen a floppy drive es a c64 kozott volt a parhuzmos kabel), illetve akar mas gephez nativan illeszteni (igen, pl EP128-hoz, es tudom, volt ahhoz C64 IEC busz varazslas, de jobban tetszene vmi nativabb - es gyorsabb! - kapcsolat). Ja es pl a C64DTV "user port" hack-jevel valahogy osszehozni. Asszem' az egeszet egy kiszuperalt 1541 dobozaba kene inkabb epiteni DTV-stul, max ez utobbi lekapcsolhato belole, hogy mas hasznalja ha kell, "kivulrol". Akkor vegre a DTV moddolasomat is normalis doboz formatumra lehetne "konvertalni" :)

Сергей · http://szergely.sfblogs.net/ 2012.12.04. 15:09:57

@LGB: bocs, hogy csak most reagálok , az idő elég kevés sajna...
:-) ami engem érdekelne, hogy milyen AVR programozót használsz ... bele kéne folyni egy kicsit a förmverbe :-) hátha ki lehet belőle hozni valamit...
a soros megoldás elég lassú, a mikrokontrollernek van még pár szabad lába, lehet, hogy át lehetne tervezni párhuzamosra ? :-)

az EP128 alkalmazásnak soros módon nem sok értelme lenne, pokoli lassú... viszont a gyári Exdos vagy a Microteam vezérlő megvalósítása nem olyan egyszerű számomra... egy WD1770 vagy 1772 IC működését kéne leprogramozni mikrokontrollerbe...

a DTV-hez nem tudok érdemben hozzászólni :-) sajna...

LGB 2012.12.05. 09:56:41

Na, elobb kimaradt sorry :) Szoval az SD2IEC firmware nagyon szep, lehet configolni mi legyen benne mi nem, milyen MCU-ra stb. Eleve van benne (ha jol lattam bar a project ott tart meg csak hogy multkor par percig bongeszgettem a forrasat!), hogy parhuzamos illesztes DolphinDOS, ami imho pont az atalakitott parhuzamos porttal elleatott 1541 es C64 user port osszekotesere volt hivatott, amde ahogy nezem kizarja egymast a confiugban a soros IEC busszal :( Azt meg nem tudom ez miert limitacio, lehet, csak az MCU flash-eben nem ferne el amit hasznalnak, vagy esetleg nincs eleg labacskaja ehhez :) stb. Ebbe majd kicsit beleasom magam.

LGB 2012.12.05. 09:56:46

@Сергей: Hat ha programozonak lehet nevezni :) Az un "bsd" tipusu kabelt, ami ugye a PC parallel csatijat par kozmetikazasnak tekintheto ellenallason at koti ossze az AVR-el, szoval minimalista. Nem vagyok tul regen a dologban benne, igy "normalisabb" programozot nem epitettem vagy vettem, de nekem ez megfelel - a jelenlegi szinten legalabbis. Amugy is, az SD2IEC firmware-nek van bootloader-je, tehat egyszer felprogramozod, akkor onnantol elvileg SD kartyarol tudja "upgradelni magat", akkor mar nem is igazan kell programozo, foleg ha javareszt mar mux, es csak parszor kene frissiteni a stuffot. A soros IEC busz tenyleg nem tul gyors, de a firmware beszeli a "nyelvet" par turbositasnak pl a JiffyDOS stb, ezek kozott - ha jol remlik igy fejbol - van amelyik majdnem 30-szoros sebesseget ad a defaulthoz kepest ugyanazon az IEC buszon! Igaz ehhez akkor elobb be kell tolteni valamit a pl C64-es oldalan, vagy KERNAL-t cserelni ....

Na ami az EP128/EXDOS-t illeti az trukkos. Eloszor is, az EXDOS az EXOS-hoz hasonloan igen modularis (sose ertettem h fecceltek bele ennyi energiat akkor ebbe, ahhoz szinte "tul jo"). Magyaran eleg keves programozassal csinalhatsz olyat, hogy az EXDOS ne a WD1770-at vezerelje, hanem valami tok mast, mivel csak a hw specifikus rutinokat kell ehhez megirni. Ha jol tudom, Zozosoft pont igy csinalta az IDE eillesztot EP-hez: ott is az EXDOS van, es az csak egy kisebb kodreszlet ami a HW-t illeszti a low level EXDOS funkciokhoz (amilyen a blokk iras/olvasas stb). Tehat NEM kell WD1770-et stb emulalni, csinalod ahogy akarod es aztan EXDOS-hoz csak megirod a low level rutinokat, es kesz, ennyi. Ehhez kepest a C64 kokorszak (bar en magam inkabb C64-es vagyok, de el kell ismernem). Ott kb cserelheted le a KERNAL-t egy sajatra, modularitas nem sok van benne. Az EXOS es EXDOS viszont ezt tartalmazza mar eleve.

segedculager 2013.01.27. 19:15:17

Szia!

Nagyon ötletes eszköz :)
Tudnál küldeni egy kapcsolási rajzot? Nézegettem a neten, de 20 fajta van és nem szeretném végigpróbálgatni mindet.
daniel.kovats@freemail.hu
Köszi!

Tele Maus Nonprofit Consulting · www.tele-maus.hu 2015.11.01. 16:04:53

(off) de mindenkinek szeretettel ajánlom figyelmébe, hogy a "C=64-el" az helyesen "C=64-gyel", mert -val/-vel ragról van szó (és nem -al/-el ragról) (on) most fogom elolvasni a terjedelmesebb írást, csak a legelején ez akkora szöget ütött a fejembe, hogy most keresek erősebb harapófogót a kihúzásához 8-)

Сергей · http://szergely.sfblogs.net/ 2015.11.01. 16:17:46

@doktorkotász: posztot nem javítok ki, csak azért mert ez akárki szerint nyelvtanilag nem helyes :-) és pedig azért nem teszem ezt meg, mert az internet az elmúlt 10 évben megtelt azokkal az elképesztő blődlikkel, ami belőletek kifolyik ki ... két értelmes mondatot is pokoli nehéz találni! úgyhogy neki lehet ülni és lehet írni értelmes tartalmakat! ;-) mivel ezek a tartalmak azóta sem jelentek meg (legalább 6 éve kérem mindenkitől hogy tegye, mert bele fulladunk a blődlibe) , ezért a szürkeállomány mint fogalom számomra átment a Sci-Fi ingoványos területére ;-)
ennyit gondolok így hirtelen :-)