C64C szétbarmolása

Rég írtam ide, de egy retró csoportban megígértem, hogy pár mondatban összeszedem, hogy miben is tér el a C64C-m a „gyári” állapottól, következzen most ez, magyarázatokkal, linkekkel:

Balról jobbra haladva kezdjük a 4-in-1 KERNAL rommal, és az Arduino switchel:
https://www.youtube.com/watch?v=GPq5xnJRw2w

A fenti videó nagyjából jól elmagyarázza a lényeget. A C64C-ben az úgynevezet „short-board” van, azaz gyárilag már csak egy 27C128-as EPROM  (128KBit, azaz 16KByte) van az alaplapon, amelyben a KERNAL/BASIC rom is helyet foglal (ez a régi gépeken 2db, 8kbyte-os ROM-ban volt). Ha ezt kicseréljük egy 27C512-re (=64kbyte), akkor rögtön 4x annyi helyünk lesz, így 4 KERNAL között tudunk majd váltani. Eredetileg JiffyDOS-t akartam csak beépíteni (tehát elég lett volna a 2 kernalt tartalmazó EPROM), de alig több pénzért lett inkább 4-es, amit nem is bántam meg, mert azóta bőven változtak az igényeim. Csak pár szóban a KERNALokról, amik be vannak égetve:
– JaffyDOS 1.3: A JiffyDOS SD2IEC-re optimalizált módosított verziója, kifejezetten kényelmesen lehet vele az SD kártyát böngészni, ezt használom szinte mindig.
– C64 V3: nem kell magyarázni, a gyári C64 KERNALje, ha bármikor vissza kell váltani kompatibilitási problémák miatt.
– TT250: TurboTape250, azaz kazettás gyorstöltő, ROM-ba építve, így nem kell küzdeni, ha a kazettáimról be szeretnék tölteni valamit, amiket turbóval vettem fel.
– JiffyDOS 6.01: Az eredeti JiffyDOS, bővebb infó/vásárlás itt:
http://store.go4retro.com/search.php?search_query=JiffyDOS&x=0&y=0
Természetesen, mivel kereskedelmi termékről van szó, amely ma is kapható, így mindenképpen vásároljuk meg a fenti oldalról az imaget, ha ilyet szeretnénk beégetni (vagy EasyFlash3-ban használni).
Az arduino-s kernal váltót a fenti videó alapján meg tudja építeni gyakorlatilag bárki, én annyi módosítást tettem, hogy a ledet nem a Power helyére építettem (mert a C64C-é szögletes, itthon meg csak kerek volt), hanem a gép oldalára, és inverzben működik, (tehát váltáskor/resetkor villan, nem kialszik).

DigiFix
Ez a fotón nincs megjelölve, mert csupán egyetlen ellenállásról van szó, amely a 8580-as SID chipnek azt a hibáját javítja, hogy a digitális hangok túl halkan szólnak (vagyis inkább nem szólnak). A teszthez ideális programok a „Ghostbusters”, vagy az Impossible Mission, amelynek az elején digitalizált beszéd van. További infó:
https://www.c64-wiki.de/wiki/Digifix
Az én gépemben 470kOhm-os ellenállás van, potméter meg egyéb csodák nincsenek, nekem ez így megfelel.

SD2IEC
Az első fotón a bal alsó sarokban lévő nagy piros kockáról van szó. Építettem már régebben SD2IEC eszközt (van is szó róla itt a blogon), de akkor még csak próbapanelen létezett, amit azóta szétszedtem, eltűntek a darabjai, etc, úgyhogy kénytelen voltam újra megépíteni. Természetesen a legegyszerűbb, protoboardos verziót választottam, egy pici csavarral, mert nem volt hangulatom az SD kártya olvasóval szívni.

Ezt a verziót választottam, SD kártya olvasónak pedig ezt:
https://www.aliexpress.com/item/32852747770.html
Így a fenti kapcsolásból az ellenállásosztók kihagyhatók, az SD card 4 lábát (SS/MOSI/MISO/SCLK) direktben rá lehet vezetékelni a fenti modulra, mert az elvégzi a szükséges 5V/3.3V konverziót.
Nagyon fontos, hogy ha a fenti modult használjuk, a mikrokontroller SD_CARD_DETECT, és SD_WRITE_PROTECT lábát is GND-re kell kötni, különben nem fogja a kártyát olvasni (mert azt hiszi nincs benne). Nagyjából ilyen lett a félkész, tesztelés alatt lévő termék:

Ezután még annyi módosítást történt, hogy az eszköz közvetlen az IEC buszra be van forrasztva, és be lett építve a gép belsejébe.
Miután ezt megépítettem, akkor irígyeltem meg az LCD kijelzőket egyes SD2IEC eszközökről, úgyhogy utánanéztem hogy lehetne megépíteni, és megtaláltam a német C64 fórum ide vonatkozó threadjét:
https://www.forum64.de/index.php?thread/74116-lcd-sd2iec-firmware-1-0-0-f%C3%BCr-larsp-layout/
Ebben található firmware, illetve a forráskód readme fájljában leírás, hogy a HD44780-as kijelző melyik lábát hová kell bekötni.

A threadben található firmwarek tökéletesen működnek _szinte_ mindenkinek, persze hogy én vagyok a kivétel. A kijelző nélküli firmware hibátlanul működik a gépemen, de ha a kijelzős verzió van feltéve, és a gépben Jiffy/Jaffy KERNAL van kiválasztva, akkor az EasyFlash3 programozószoftvere (Az EasyProg 1.8.1) hibát dob a fájlok elérésénél. Ha gyári KERNAL van, akkor hibátlan, így ezt a hibát kénytelen voltam kijavítani a firmwareben. Nem szép, hekk, de működik, és ez nekem elég.

Disclaimer: Tudom, hogy csak a gyári állapotú, módosítatlan, utókornak eredeti állapotában megőrzött gép a tuti, de ezt én így szeretem. Egy több millió példányban épült gépből fog maradni épp elég, nem egy pótolhatatlan ritkaság lett szétfaragva, lefestve, összebarmolva, hanem egy pár éve 1-2 ezer forintot érő 30+ éves számítógép.

Kategória: Retro | Címke: | C64C szétbarmolása bejegyzéshez a hozzászólások lehetősége kikapcsolva

MarI/O

Ez a poszt azért íródott, hogy megpróbáljam megmagyarázni, hogy mit is láthatunk a kapcsolódó Youtube videón, vagyis ezen itt:

https://www.youtube.com/watch?v=3FUvN_uGn5c

Az AI (mesterséges intelligencia) tanulási folyamatát láthatjuk. Az AI (ami egy kb 50 soros script) összesen annyi információval rendelkezik, hogy milyen gombokat tud megnyomni (Fel, Le, Jobbra, Balra, A, B), illetve a „Fitness” értéket, ami nagyjából annyit tesz, hogy hány képkockányit haladt előre míg meghalt, vagy „beszorult”. Ha a Fitness számláló pár másodpercig nem nő, akkor automatikusan resetel, ha meghal, akkor is.

A tanulás folyamata elég bonyolult – és hazudnék, ha azt mondanám, hogy értem hogyan működik pontosan –  nagy vonalakban arról van szó, hogy nyomkodja a gombokat, egy idő után megpróbálja a jobb irányt, ettől elkezd a Fitness növekedni, ezért annak egy kicsivel nagyobb súlyt ad, ezáltal egy idő után szinte mindig el fog indulni jobbra. Mivel folyton beleütközik az első Goombába, ezért egy idő után elkezd más gombkombinációkat próbálgatni (például ugrálni), ha így messzebbre jut, akkor később ezeket az „emlékeket” nagyobb súllyal veszi figyelembe, azokat pedig, amiken nem jut messzire, egyre kevesebbet próbálgatja (a kisebb súlyozásuk miatt) ezzel folytatódik a tanulási folyamat.

A fenti linken lévő videó 2018. 02. 19-én 20:00 körül indult, tippem szerint nagyjából március elejére végig kéne hogy jusson az első pályán… 🙂 Meglátjuk, a tippeket várjuk a videó melletti cseten… 🙂

Az AI, forráskódja, ha valakit érdekel:
https://pastebin.com/ZZmSNaHX

Kategória: Egyéb kategória | MarI/O bejegyzéshez a hozzászólások lehetősége kikapcsolva

Arcade projekt, 1. rész

Régóta foglalkoztat egy régi, játéktermi gép megvásárlása, főleg valamelyik nagy 90-es évekbeli klasszikusé (Mortal Kombat, Street Fighter 2, NBA JAM). A visszatartó erő az, hogy ezek a gépek marha nagyok, nem tudnám hová tenni, a szállításuk is problémás, így 1-1 baráti összejövetelre nem tudnám elszállítani, emellett pedig csak korlátozott számú játékot tudnak futtatni, azokat is hardverelemek (kártya, alaplap, etc) cseréjével.

Itt jön képbe a MAME/HyperSpin, és mindenféle custom-arcade program, és kiegészítő. Ezeknek elég komoly piaca van, vannak erre specializálódott cégek, akik ilyeneket építenek nulláról, átépítenek régi, leselejtezett, hibás kabineteket, meg úgy igazából bármit, amit a megrendelő pénztárcája elbír.

A cél egy PC alapú, TFT monitoros, 2 játékos számára készült tabletop-stílusú gép, valami ilyesmi:

tiny-arcade-machines-3

 

Mint látható a képről is, a műfaji korlátok miatt döntöttem a TFT mellett, ebből a tervek szerint egy 20″-es, 4:3-as képarányú monitor fog a gépbe kerülni (ha nem találok nagyobbat sehol).
A gép maga valószínűleg egy i3-kategóriájú gép lesz, integrált VGA-val – esetleg egy C2D, valami diszkrét VGA-val – Win7, HyperSpin frontenddel. Sajnos jobb bemutató-videót nem találtam, itt van egy közepesen értelmes:


2 joystick, 8-8 akciógomb, start gombok, illetve pár speciális gomb kilépés a játékból, „pénzbedobás”, hangerő-állítás, valami korrekt sztereó hangrendszer (a monitor fölé építve) mindezt lehetőleg valami hordozható méretű – és nem utolsósorban kialakítású – dobozban képzelem el.
A hordozásra két koncepcióm is van, az egyik a ház tetejére erősített fogantyú, aminél fogva mint egy táskát vihetnénk, a másik pedig a hátfalra szerelt pántok, amivel hátizsák módjára a hátunkra akaszthatnánk az egész cuccot.

Kategória: Egyéb kategória | Arcade projekt, 1. rész bejegyzéshez a hozzászólások lehetősége kikapcsolva

C64 Projekt, 5. rész

Immáron, hogy tudjuk milyen lehetőségeink vannak, meg kell hoznunk egy nehéz döntést. Mennyit is akarunk retróra szánni, és mennyi időt tudunk a kész mű használatára fordítani. Mivel nekem gyermekkoromban nem volt C64-em, ezért nincsenek emlékeim a kellemes joystick-gyilkos hétvégi partikról, a magnófej-állításokról, meg a lemezcsere-partnerekről. Azért, hogy pár öreg játékot elővegyek havonta 1-2 órára, nem vehetek túl drága megoldást, ráadásul mindenképpen játékra lesz kihegyezve, így az IDE64 ki is esett a szórásból. Az uno2iec egy rossz vicc, azt is elvethetjük, 3 versenyzőnk maradt:

1541U2: 150eur szállítással, ez már erősen nem a magyar pénztárcákhoz van méretezve, ráadásul egyéb tudása nincs is mellette, „csak” egy C64 lemez/kazetta/cartridge/REU emulátor. Ezt is kihúztam a listámról.

SD2IEC: ezt végül megépítettem, ez alapján a leírás alapján, minimális módosítással. A MCU reset lábát bekötöttem egy jumperen keresztül az IEC-busz reset lábára is, így ha a jumper zárt, akkor az IEC buszról érkező reset reseteli az eszközt, ha levesszük a jumpert, akkor nem. Ez elég jól működik, meglepően sok programmal kompatibilis, és az elkészítése sem egy ördöngősség, ha valaki látott már forrasztópákát. Aki nem, az megveheti valamelyik kész megoldást is, 30-60EUR között.

Itt jött a legnehezebb kérdés, TC64 legyen? 250EUR, de időnként előfordul jóval olcsóbban 1-1 retró fórumon. Rengeteg okosságot tud (beépített SID lejátszó, VGA kimenet, turbó a c64 felé, REU, tape/cartridge/2-diszk emuláció, és emellett használható magában is, Atari/Amiga/MSX/PCengine/Atari800 emulátor szoftverekkel, külső billentyűvel, eredeti joystickokkal (egy 25EUR értékű dokkolóval). Nagyon remegett a kezem egy használt darab megvásárlásán, de végül elvetettem, meg is magyarázom. Ha valaki rárepülne, itt található: Amibay link

200-250EUR rengeteg pénz, és ebből inkább egy másik, régóta dédelgetett álmomat fogom megvalósítani, mégpedig egy oldschool játéktermi-stílusú (tabletop) gépet szeretnék építeni, ami emulátoron futtatja a régi nagy játéktermi klasszikusokat.

Kategória: Retro | Címke: | C64 Projekt, 5. rész bejegyzéshez a hozzászólások lehetősége kikapcsolva

C64 Projekt, 4. rész

Folytassuk a modern tárolómegoldások bemutatását:

IDE64
Az IDE64 projekt is régóta a piacon van, az első kisérletek 1994-re nyúlnak vissza, de a cuccot jelenleg is (többé-kevésbé) aktívan fejlesztik. A hardver jelenleg a 4.1-es verziónál jár, ez az ami megrendelhető jelenleg. Az eszköz amúgy a nevéből adódóan egy IDE illesztő, ami a C64 Expansion portjára csatlakozik, és IDE/ATAPI eszközök meghajtására képes. A későbbi verziókban megtalálható már a CF kártya támogatása is, ez a leginkább modern háttértár, amit meg tudunk hajtani az eszközzel. Itt ugye nem egy floppy-emulátorról van szó, hanem egy tényleges háttértárról, úgyhogy a játékok támogatása itt a legkevesebb, viszont rengeteg programot/játékot újraírtak/patcheltek, hogy IDE64 kompatibilis legyen, ezek gyűjtőoldala itt található: IDE64Warez. Mivel nem IEC buszra kapcsolódik, ezért jóval gyorsabb az adatátvitele, mint a többi itt említett eszköznek. Az előnyeit legjobban a „Rush” címre hallgató wild demó mutatja be, ami az első, 25fps fullscreen videó/animáció, amit stock, 1MHz C64-en futtattak.

Előnyök

  • Gyors
  • Aktív közösségi támogatás, sok patchelt játék (főleg a klasszikusok)
  • Folyamatosan fejlesztett, karbantartott firmware
  • Mindenféle extrém hardverrel kompatibilis (SuperCPU)
  • PC-Link segítségével elérhetjük a beépített CF/IDE eszközöket szétszedés nélkül, így kényelmes az adatátvitel
  • A leggyorsabb tárolómegoldás, ha tényleges háttértárra van szükségünk

Hátrányok

  • Nem retro-gaming volt a célpiac
  • Nincs 1541 emuláció, emiatt nagyon kevés a támogatott játék (a klasszikusokon, és az egyfájlos programokon kívül szinte semmi)
  • A CF kártya ma már nem minősül kimondottan modern adathordozónak, drága
  • Kissé drága erre a célra

1541-Ultimate 2
Ez a versenyző az ár-érték arány királya. FPGA-ra épülő megoldásról van szó, amely teljes 1541 emulációra képes, a rejtett képességekkel együtt, így minden fontos cucc futtatható rajta. A floppy emuláció mellett cartridge, és magnó-emulációt is tud a megfelelő kiegészítőkkel, USB porton bármilyen tárolóeszközt támogat, CD/DVD olvasókat is. Emellett RTC-vel, és REU emulációval is rendelkezik, amivel a C64 memóriáját bővíthetjük fel, akár 16MByte-ig! Emellett fejlesztés alatt áll a network adapter támogatás, amivel az IDE64-hez hasonlóan el lehet majd érni hálózaton keresztül is az SD kártya tartalmát. A teljes specifikáció itt olvasható. Sajnos ez túl szép, hogy igaz legyen, ezért cserébe drága is, szállítással együtt 150EUR, ráadásul elég hosszadalmas (fórumtapasztalatok szerint akár 1-2 hónapos) szállítási időkkel (manufakturális jelleggel, kis adagokban készül). Mindenféle scene cuccal, programmal, utántöltővel kompatibilis.

Előnyök

  • Mindent tud
  • 100% kompatibilitás
  • Aktívan fejlesztett firmware

Hátrányok

  • Drága, de megéri

Turbo Chameleon 64
Az összeállításunk legnagyobb tudású, de legdrágább tagja a TC64. Gyakorlatilag egy FPGA-alapú számítógépről van szó, ami önnálló működésre is képes. Alapvetően két üzemmódban működtethető, vagy C64 cartridge, vagy standalone módban. C64 cartridge módban nagyjából hasonló tudással számolhatunk, mint a 1541U esetén, kivéve, hogy itt a kártya tartalmaz egy VGA kimenetet, amire modern monitort tudunk kötni, PS2 egér/billentyűzet csatlakozókat, amiket szintén használhatunk a C64-el. Főbb különbség még, hogy itt 2 floppyt is lehet emulálni, ráadásul ezek romjai is szabadon cserélhetőek (tehát akár jiffydos romot is „tehetünk” bármelyik virtuális floppyba. A standalone módjában pedig külső tápegységről használva gyakorlatilag egy kisméretű emulátor-gépet kapunk, amin akár Amiga500 szoftvereket is futtathatunk, a használt „core” függvényében. Bővebb infó: installation guide, users manual. Megvásárolni pedig itt lehet.

Előnyök

  • Mindent tud (amit a 1541U nem, ez azt is)
  • Több retró-gép emulátor core létezik hozzá (Atari2600, Amiga, VIC-20, ZX Spectrum, …)

Hátrányok

  • Ár (250EUR)

Ez volt a tárolómegoldások leírása, a következő részben bemutatom, hogy én melyik mellett döntöttem (jelenleg) és hogy miért.

Kategória: Retro | Címke: | C64 Projekt, 4. rész bejegyzéshez a hozzászólások lehetősége kikapcsolva

C64 Projekt, 3. rész

Mint ígértem, ebben a posztban a különböző piacon elérhető háttértár-megoldásokat vesszük górcső alá. A legegyszerűbbtől haladunk felfelé, a végén egy rövid összefoglalással:

Uno2IEC
A legolcsóbb (sajnos azt nem mondhatjuk rá, hogy a legegyszerűbb) megoldás az Uno2IEC nevű projekt. Készen nem megvásárolható, ez egy klasszikus DIY megoldás. A cucc elkészítéséhez szükség van egy Arduino fejlesztőlapra, ebből gyakorlatilag bármelyik megfelel. Erre fel kell töltenünk a megfelelő sketch fájlt, majd PC-re QT Creatorral lefordítani és futtatni a szerveroldali programot. Ha mindennel elkészültünk, akkor el kell indítanunk a Windows klienst, megadnunk minden paramétert, majd ha mindent megfelelően összevezetékeltünk, akkor a C64 az IEC buszon keresztül lemezmeghajtóként látja a megadott könyvtárat, (prg fájlok futtatása), illetve mountolhatunk be D64 lemezképeket is. A kommunikáció pedig az arduino (virtuális) soros portján megy, tehát a mikrokontroller csak „illesztőként” funkcionál.

Előnyök:

  • Borzasztóan olcsó (ha van otthon arduino lapunk, akkor gyakorlatilag ingyen van)
  • Gyorsan megépíthető, nincs alkatrészigénye (az IEC kábelen kívül)

Hátrányok:

  • A kliensprogram natívra fordítása kvázi lehetetlen, a QT Creatorból futtatható csak
  • Kényelmetlen, buta kliens
  • Működéséhez PC kell, kilensprogrammal
  • Gyakorlatilag csak egyfájlos programokkal működik
  • Semmiféle utántöltő, gyorstöltő támogatása nincs
  • Lassú

SD2IEC
Ez a megoldás az internet közösségi tudása szerint a kategória szent grálja, a gyakorlatban sajnos nem ennyire szép a helyzet. A közösség által tervezett, opensource megoldásoknak ez a harmadik generációja. Az első generáció az uIEC volt, 2005-ben, aztán következett az MMC2IEC, 2007-ben, ezt követte az SD2IEC, amely 2008 óta elérhető. Mind a hardver, mind pedig a szoftver/firmware nyílt forráskódú. A firmware a mai napig fejlesztés alatt áll, az utolsó alpha verzió a cikk írásakor alig pár napos, szóval nem egy évek óta elhagyott stuffról van szó. A hardver egy Atmega644p / Atmega1284p MCU-ra épül, minimális elektronikai affinitással megépíthető akár házilag is, de természetesen meg is vásárolható, 30-50EUR közötti áron, különböző verziókban. A saját építés anyagköltsége nagyságrendileg 4-5 ezer forint körül van, prototípus panellel, tokba rakott IC-vel.

Előnyök

  • Olcsó
  • Nem kell hozzá PC kapcsolat
  • Viszonylag egyszerűen megépíthető, de elektronikai tudás, és AVR programozó kell hozzá
  • SD kártyáról frissíthető firmware
  • Nyílt forráskódú firmware
  • Többek között JiffyDOS, Exos, és TurboDisk gyorstöltőkkel kompatibilis
  • Többféle (nem IRQ alapú) utántöltővel kompatibilis.
  • Többlemezes játékok támogatása (lemezcsere-gombok)
  • Támogatás több lemezkezelő programhoz (pl CBMFileBrowser)
  • Nagy felhasználói bázis, nagy közösségi tudás, akik felkutatják a kompatibilitási problémákat, és – ahol lehet – kijavítják (patchelt játékok, újabb firmwarek)

Hátrányok

  • Nagyon sok (főleg játékok/demók által használt) IRQ utántöltővel nem kompatibilis
  • Normál, gyorstöltő nélküli gépen csak 1541 sebesség
  • Nem teljes 1541 emuláció (a hardver erre alkalmatlan volna), emiatt a 1541 hibáit, rejtett módjait kihasználó programok nem mennek vele
  • A kész verziók kissé túlárazottak, főleg ár-érték arányban mérve
  • Scene demókkal szinte biztosan nem működik
  • Az opensource kialakítás miatt rengeteg különböző hardver verzió, ezekhez különböző firmwarek kellenek
  • Bizonyos „bolti” verziókban a firmware frissítés letiltva

A következő részben az IDE64, a 1541U2, és a TC64 lesz porondon

Kategória: Retro | Címke: | C64 Projekt, 3. rész bejegyzéshez a hozzászólások lehetősége kikapcsolva

C64 Projekt, 2. rész

A kiindulási helyzet, és a tervek.

Volt ugye egy C64 breadbox, és egy C64C gépem is. Akinek ezek nem mondanak semmit, a breadbox a régi, sötétbarna, kerek verzió, a C pedig az új, C128-ra, vagy Amiga500-ra is hasonlító házba szerelt verzióról van szó. Volt 2 1541 floppymeghajtóm, és pár rossz joystickom.

A célok: egy retrózásra is alkalmas, modern eszközökkel feltuniningolt gép, és a régóta hiányzó kazettás egység beszerzése, hogy teljes legyen a „gyűjtemény”. Mivel nem vagyok egy nagy gyűjtő, nem kiállítási verziók érdekeltek, csak működjenek, így nem túlságosan zavar, hogy sárga a gép, vagy hogy ronda-e a floppy, csak a megfelelő működés.

A tervek:

  • JiffyDOS rom beszerzése
  • Pár működőképes, korhű joystick
  • Ha van lehetőség, egy 1541-II floppy, ami kisebb, könnyebben kezelhető
  • Valami modern tárolóeszköz

Végül szinte mindent egy helyről tudtam beszerezni, szóval ezzel nem is untatnék senkit, csak a tényekkel. Sikerült vennem egy tökéletesen működő, de erősen sárgult 1541-II-t, egy LEVIS típusú magnót, pár félig működő joystickot, tartalék mikrokapcsolókkal, és egy 4 KERNAL-t tartalmazó EPROM-ot (az igényeim szerinti 4 ROM került bele), mely átalakítás nélkül belement a C64C-be.

A modern tárolóeszköz kérdés már nem volt ennyire egyértelmű. A következő megoldások állnak rendelkezésünkre, ha arra vetemednénk, hogy egy 20-30 éves gépre modern háttértárat szeretnénk akasztani. A lista nagyjából vételár szerint csökkenő sorrendben, ahol lehet, ott link a vásárlási oldalra mutat:

A lista nem tökéletes, biztosan vannak még mások is, de ezeknek utánanéztem bővebben, nagyjából képbe kerültem a tudásukkal, képességeikkel, előnyeikkel, hátrányaikkal. A sorozat következő részében bemutatom ezeket a megoldásokat, és megnézzük, hogy melyik az, amit a fenti felsorolásból érdemes megvenni…

Kategória: Retro | Címke: | C64 Projekt, 2. rész bejegyzéshez a hozzászólások lehetősége kikapcsolva

C64 Projekt, 1. rész

Előkanalásztam a rég óta porosodó C64-eket a szekrény aljáról, hogy újra életet leheljek belé, és egy kisebbfajta „tuningot” eszközöljek rajtuk, amivel a mai, ellustult XXI. századi ember is élvezi vele a retrózást. Mindenképp valami modern tárolóeszközben, és valami gyorstöltőben gondolkodtam, az eredmény ennél kicsit több lett, de mindent a maga idejében.

Az első lépés itt látható, specifikációk, az út, amin ide eljutottam, illetve a hardverpornó majd egy későbbi részben…

https://www.youtube.com/watch?v=4tM-6I25wBY

Kategória: Retro | Címke: | C64 Projekt, 1. rész bejegyzéshez a hozzászólások lehetősége kikapcsolva

Mikrotik hAP Lite, avagy milyen lehet egy 5 ezer forintos Routerboard

Vásároltam egy hAP Lite (941-2nD) típusú routert, mert nagyon kíváncsi voltam arra, hogy hogyan lehet, hogy közel azonos tudást egy 951 árának harmadáért, gyakorlatilag TP-Link/Tenda árkategóriában adni. Mit is ér egy olcsó Mikrotik? Tud-e annyit, mint a nagy tesók?

Nem lőném le a poént, elsőre a dolog nagyon szépnek hangzik, de azért van egy pár buktató. Kezdjük elsőre egy összehasonlítással:

Az általam etalon SoHo routernek tekintett 750GL specifikációi:

  • AR7242 SOC, 400MHz, MIPS24Kc (MIPSBE)
  • 64MByte RAM
  • 64MByte Flash

A hAP Lite idevonatkozó adatai:

  • QCA9531 WiSOC, 650MHz, MIPS24Kc (Bár a gyártó specifikációja szerint csak 560MHz!) (SMIPS)
  • 32MByte RAM
  • 16MByte Flash

Látható, hogy a processzor nyers órajele erősebbnek is tűnik a kistesóban, de sem a RAM, sem a Flash mennyisége nem túlságosan kecsegtető. A RAM kérdést nagyjából elfelejthetjuk, mert 1-2 extrém esettől eltekintve a RouterOS-ek nem nagyon használnak sok RAM-ot, talán csak a dinamikus routing táblák tudnak egy kicsit elkanászodni. A 16MByte flash viszont gyakorlott ROS usereknek feltűnhetett, kevéskének tűnik (erre még visszatérünk). A valóság viszont az, hogy az NPK csomag az SMIPS architektúrára csak 6MByte, a kitömörített futó rendszer is 8 körül van, így a 16MByte éppen elegendő.

Komoly, releváns tesztet nem végeztünk rajta a tesztelési idő rövidsége miatt, de mindenképp meg akarom mérni RFC2544-es műszerrel, pár tesztkonfiggal.  Ami viszont szemet szúrt, az a gyári csomagok szűkössége. A gyárilag telepített ROS gyakorlatilag nem különbözik a nagyobb routerektől, minden benne van, amit elvárnánk, viszont az utólagos csomagoknál már nem ilyen szép a helyzet.  A hardver miatt használhatatlan csomagokon kívül (GPS, UPS, LCD) hiányzik a Multicast, az NTP, és az OpenFlow is. Hogy ezek később pótolva lesznek-e az kérdés, de jelenleg nem elérhetőek. Ebből az átlag usernek talán csak az NTP fáj nagyon, nekem szinte minden routeremre telepítve van, jól jön az…

A másik dolog, ami buktató, az a WinBox. A hivatalos magyarázat szerint az SMIPS architektúrájú eszközökön nincs hely a ROS WInbox DLL-ek számára (16MByte Flash, hellómi?), emiatt csak 3as, jelenleg csúnyán bugos és béta állapotú Winboxszal megy.

Ez a két dolog együtt azért árnyalja a képet, de még így is azt kell mondanom, hogy egy TP-Link áráért ez egy tökéletes kis SoHo router…

Kategória: MikroTik | Mikrotik hAP Lite, avagy milyen lehet egy 5 ezer forintos Routerboard bejegyzéshez a hozzászólások lehetősége kikapcsolva

Seamless roaming megvalósítása Mikrotik környezetben

A fenti kérdéskör elég régóta foglalkoztat. Az albérletemben Ubiquity UniFi AP-k vannak, ott már évek óta megoldott a seamless roaming/load balance, szóval el vagyok kényelmesedve. Itthon viszont Mikrotik AP-k vannak, történelmi okok miatt, tehát ebből kell kihoznom a maximumot. Körüljártam a lehetőségeket:

  • WDS Mesh
  • Mesh interface
  • CAPsMAN

A WDS Mesh kizárva, egyrészt mert sávszélességcsökkenéssel jár, másrészt pedig mert – működési elvéből adódóan – össze kell kapcsolódnia a két AP-nek, ami nálam elég nehezen megvalósítható a lakás zegzugossága miatt.

A Mesh interface elvileg erre van kitalálva, gyakorlatilag viszont nem sikerült működésre bírnom, elég körülményes a dokumentáció, nincs rendesen dokumentált used-case, nálam pedig kissé bonyolult a hálózat (a két AP között egy harmadik mikrotik van, bridge módban, filterekkel, vlanokkal, multicasttal, meg mindenféle finomsággal).

Itt egy kép a jelenlegi struktúráról, amin majd magyarázni fogok.

Képernyőfotó 2015-04-04 - 23.49.22

Az egyik AP-kártya (R52) a Core Routerben van, ami egy RB433, 2.4GHz, B/G módban. A másik AP pedig az AP2 jelű RB433AH, amiben egy R52h foglal helyet. A Switch 750GL és a 433AH közötti powerline szakaszon közlekedik még egy IPTV is, mert abba a szobába jelenleg nem lehet kábelezni, ez is bonyodalmakat jelent. Többek között ezért kellett 750GL-t betenni a köztes szakaszra, mert az előző butaswitch nem tudott mit kezdeni a .1q tag forgalommal.

Térjünk a lényegre; miért is íródott ez a bejegyzés.

CAPsMAN.

Aki nem tudja miről van szó, azt felvilágosítom. A CAPsMAN a Mikrotik válasza az UniFi-re, illetve egészen pontosan az UniFi Managerre. A betűszó a Controlled AccessPoint MANager kifejezésből származik, és funkcionalitásban valami hasonlót tűztek ki igényként, mint a konkurencia. Hogy hogyan sikerült? Meglátjuk…

A CAPsMAN annyiban különbözik a riválistól, hogy itt a manager (controller) egy másik router, nem kell hozzá PC, szerver, meg semmi egyéb, csak bármilyen, 6.24 feletti ROS verziót futtató eszköz. Természetesen lehet ez akár X86 is, de simán elfut bármilyen routeren. A másik nagy különbség, hogy nincs szükség speciális hardverre. Az UniFi kontroller csak UniFi eszközöket támogat, más Ubiquity cuccot (pl. NanoStation, Rocket) nem, addig itt bármilyen RouterOS 6.24+-t futtató router bármelyik tetszőleges kártyáját be tudjuk vonni a managelt AP-k körébe.
A hasonlóságok száma sokkal nagyobb, tudunk wireless profilokat (ssid, csatorna, sávszélesség, wireless-mode), illetve security profilokat is definiálni, amiket kézzel rendelhetünk hozzá bármelyik AP-hez, de hozhatunk létre automatikus provisioning profilt is, ami bármilyen (megfelelően konfigurált) AP-t maga alá tud tekerni.

Mire van szükségünk?

  • 1db Routerre, ami kontrollerként fog működni, ez esetemben a Switch-750GL.
  • 1 (vagy több) AP-re, esetemben a Core, illetve az AP2 1-1 wireless kártyája lesz az áldozat
  • RouterOS 6.24+ (nálam 6.27), és engedélyezett wireless-fp csomag, minden eszközön (a kontrolleren is!).
  • Az AP-ken megfelelő (min LVL4) licensz
  • Feltételezem, hogy alapvető konfiggal mindenki rendelkezik, tehát az eszközök egy broadcast domainben vannak, van IP címük, etc…

Kezdjünk is bele.

  • Első lépésként nyissuk meg mindhárom routert winboxszal, és ellenőrizzük, hogy a CAPsMAN menüpont megjelent-e.
  • Ha igen, akkor a kontrolleren nyissuk meg a CAPsMAN menüpontot, nyomjuk meg a Manager gombot, és töltsük ki a screenshotnak megfelelően:
  • Képernyőfotó 2015-04-05 - 0.14.18
  • Ha lenyomjuk az OK/Apply gombot, pár másodperc után megjelenik az alsó két mezőben a generált certificate neve, innen tudjuk hogy a kontrollerünk készen áll a használatra.
  • Most nyissuk meg az első AP-t, kattintsunk a Wireless menüpontra, majd a megnyíló ablak első fülén a CAP feliratú gombra.
  • Képernyőfotó 2015-04-05 - 0.21.00
  • Az enable mellé menjen a pipa, az interface a CAPsMAN segítségével managelni kívánt wifi-kártya, a certificate-nél ki kell választania a „request” pontot, így a managertől fog kérni, a discovery interface pedig annak az ethernet/bridge portnak a neve, amin kapcsolatunk van a kontrollerrel.
  • Ha mindent jól csináltunk, valami ilyesmit kellene látnunk:
  • Képernyőfotó 2015-04-05 - 0.23.42
  • Természetesen az SSID/csatorna ekkor még üres lesz, de a lényeg itt látható. Az interface a kezelőfelület felől disabled státuszban lesz, hiába eszközölünk rajta bármilyen változást, nem fog működni. Fontos, hogy a CAPsMAN működése miatt az interfésznek nem kell semmilyen bridge-ben lennie!
  • Ha ezzel megvagyunk, akkor ezeket a pontokat ismételjük meg minden olyan AP-n, amit együtt szeretnénk managelni.

Aki idáig eljutott, az egyrészt meghívhat egy kólára, másrészt elég kitartó. Igérem, nincs már sok hátra:

  • Következő lépéshez lépjünk vissza a managerbe, a CAPsMAN menüpont Security Cfg. fülére:
  • Képernyőfotó 2015-04-05 - 0.37.41
  • Adjunk hozzá egy security profilt, itt egy WPA-WPA2 PSK Mixed profil látható, nem akartam módosítani a jelenlegi beállításokat, hogy kompatibilis maradjak azzal a sok eszközzel, amin el vannak mentve.
  • Térjünk vissza a Configurations menüpontra, és ott is csináljunk egy profilt:
  • Képernyőfotó 2015-04-05 - 0.41.09 Képernyőfotó 2015-04-05 - 0.41.18 Képernyőfotó 2015-04-05 - 0.41.26
  • Amikor végeztünk, nincs más dolgunk, mint átkattintani az interfaces fülre, ahol valami ilyesmi fogad minket:
  • Képernyőfotó 2015-04-05 - 0.42.50
  • Itt látható a két felvett AP, a screenshoton már létező konfig-profillal. Duplaklikkeljük meg a cap1-et:
  • Képernyőfotó 2015-04-05 - 0.44.31
  • Válasszuk ki az előzőleg létrehozott konfigurációs profilt, applyzzunk, és készen is vagyunk. Ezt tegyük meg a második AP-n is, ezzel végeztünk is a konfigurációval.
  • Ha mindent jól csináltunk, akkor wifin már látnunk kell a megfelelő SSID-t, a beállított paraméterekkel.
  • Már csak annyi dolgunk van, hogy a manager eszközön a cap1-cap2 interfészeket tegyük be a megfelelő (nálam „home-bridge”) bridge alá, és örüljünk.

Rövidtávú tapasztalatok: egy elindított ping sétálgatva a lakáson belül sehol nem szakadt meg, átjelentkezés is teljesen észrevétlenül zajlott, az eszközök szépen elintéztek mindent. A konfiguráció kb 20-25 perc alatt megvolt, és elsőre működött minden, aminek működnie kellett.

Update: pontosítás; 6.24-től felfelé van CAPsMAN v2, a leírás ahhoz készült, úgyhogy frissítettem a verziószámokat.

Kategória: MikroTik | Seamless roaming megvalósítása Mikrotik környezetben bejegyzéshez a hozzászólások lehetősége kikapcsolva