Posts filed under 'retro'
Another project leaves the nest: Joyduino. Lets you use an Arduino board as a joystick for most retro computers. Tested with Linux and Mac hosts with MSX and C64. Not awfully complex soldering involved. Let me know if you happen to use Joyduino for something and I might find the motivation to improve it at some point. Surely a lot more could be done.
October 15th, 2011
This time in English. After a few nights of intensive hacking, I’m happy to announce the availability of MZduino, a link cable + software to transfer MZF files to Sharp MZ computers using an Arduino board. Full source and instructions available on the dedicated page. I also linked some older snippets to the brand new Projects page.
The roots of MZduino date back to the early 2000s, when I made my first link cable. Back in the day things were a bit easier, since PCs still came equipped with a parallel port, which was easy to control and access. The next time I needed to transfer something to my Sharp, in the summer of 2011, I had to put together a complex setup consisting of an MSX, a Nowind and a cable from the MSX joyport to the Sharp. MSX was then replaced with an Arduino, which is much easier to lug with you. Rather interestingly, the transfer program running on the Sharp is still pretty much the same as the original one, except that now it supports checksums plus load and start addresses.
October 2nd, 2011
Näinä päivinä olen saanut oppia SID:n eli 6581/8580:n sielunelämästä vähän enemmän kuin olisin välttämättä edes halunnut. Ensinnäkin on tullut todettua, kuinka piiri on herkkä hajoamaan. TV-modulaattori suojannee piiriä, mutta AV-kaapelilla suoraan kytkettäessä maadoitusten ym. on syytä olla kohdallaan — ja laittakaa ne virrat päälle vasta johtojen kytkemisen jälkeen virtapiikkien varalta. Yksi 8580 R5 kohtasi jo loppunsa tätä kautta. Eikä ole mitään erityistä tarvetta edes aktiivisesti rikkoa piiriä: ne hajoavat usein aikaa myöten ihan itsestään. Etenkin filtteri on herkkä kilahtamaan, eikä vikaa välttämättä heti edes huomaa, sillä se saattaa ilmetä vain harvoissa tilanteissa ja hyvin eri tavoin. Hiljattain hankkimassani leipälaatikossa oli jo valmiiksi filtterivikainen 6581 ja netistä ostamissani kahdessa 8580:ssä samoin filtterit risana. Ylimääräinen kompastuskivi korjausprojekteissa on vielä sekin, että vanha ja uusi malli toimivat eri jännitteellä ja niin ollen niitä ei voi laittaa väärän tyypin emolevylle.
SIDejä käytetään tätä nykyä erilaisissa retrosyntetisaattoriprojekteissa pelkkien kuusnepojen lisäksi, ja kun kerran poistuma on suuri, niin kysyntää on. Tällä hetkellä käytetyn toimivan tai “toimivan” yksilön hinta liikkuu kahdenkymmenen euron tietämillä, mikä vaikuttaa melko absurdilta hinnalta, jos kokonaisen käytetyn nepanraadonkin saa n. 40 eurolla. eBaystä tilatessa kannattaa olla tarkkana, sillä risoja piirejä myydään sekä tarkoituksella että vahingossa. Tilanteeseen ei näy tulevan helpotusta ainakaan lähitulevaisuudessa, sillä piirin valmistus on lopetettu jo aikaa sitten, eikä kukaan ole toistaiseksi onnistunut täydellisen kloonin valmistuksessa. Lähimpänä tällä hetkellä on SwinSID, joka on kuitenkin emulaattori sekin.
Testaamiseen olen itse käyttänyt näitä:
September 26th, 2011
Kun jostain vintiltä kaivellaan se pölyyntynyt 80-luvun sotaratsu, niin iskee tenkkapoo: netti on väärällään pelejä ja demoja d64- ja prg-muodossa, mutta ne eivät siirry aidolle laitteelle itsekseen. Vaikka nurkissa sattuisi olemaan vanha PC lerppuasemalla varustettuna, niin tie nousee pystyyn Commodoren oman levykeformaatin takia. Tässä jokunen yleinen ratkaisu tiedonsiirto-ongelmaan:
- Rinnakkaisporttikaapelit kuten XA1541. Näillä kytketään aito levari suoraan kiinni PC:hen ja sitten kirjoitetaan/luetaan lerppuja esimerkiksi OpenCBM:n avulla. Selvästi halvin ratkaisu — näppärä säätäjä kolvaa johdon kasaan itsekin muutaman euron osista. Suurin rajoitus näissä on se valitettava tosiasia, että rinnakkaisportti on kadonnut tietokoneista jo vuosia sitten, eikä USB-rinnakkais-adapteri toimi siirtokäytössä. Rinnakkaisporttikortteja myydään toki, mutta sellaiseen vaadittavan pari kymppiä voi käyttää paremminkin. Jos näiden kanssa haluaa askartaa, niin noin kymmenellä punnalla saa valmiita kaapeleita. eBayssäkin tarjontaa on hyvin.
- Edellisen variantti, USB:hen liitettävä XU1541. Toimii samalla tavalla kuin rinnakkaiskaapeli, mutta tämän saa kiinni uusiinkin tietokoneisiin. Samalla hinta on hieman korkeampi. Adapteria voi ostaa täältä joko kaapelien kanssa tai ilman (£38 ja £29).
- Samanlainen, mutta hieman laajennettavampi USB-kikkale on ZoomFloppy ($35).
- Kunnolla tilaa halajava voi liittää nepaansa IDE-kiintolevyn tai CF-kortin IDE64:n avulla. Sadan euron hinta ei ole kohtuuton, mutta kannattaa muistaa, että turboloaderit eivät toimi kovalevyn kanssa, joten jotkin levyimaget on kirjoitettava joka tapauksessa lerpulle.
- Nykyaikaisia kortinlukijoita edelsivät MMC64 sekä sen seuraaja MMC Replay. Niitä ei enää myydä, eivätkä ne osanneet emuloida levyasemaa, joten turboloadereita käyttävät ohjelmat eivät toimi. Molemmilla saa kirjoitettua d64-tiedostoja levykkeille ja Replayssä on lisäksi muuta toiminnallisuutta, joten tekee näilläkin jotain, jos halvalla vastaan tulee.
- Edellisten suvunjatkaja Chameleon onkin sitten jo hämmentävä laite: kortinlukijan mukana on scandoubler, turbo, REU-muistinlaajennus, liitäntä ulkoiselle näppäimistölle ja hiirelle ynnä muuta. Chameleon osaa emuloida levyasemaa, eli ohjelmien pitäisi toimia paremmin. Tällä hetkellä ohjelmistotuki on keskeneräinen, joten täyttä toiminnallisuutta ei saa vielä käyttöön. 200 euron hinta saattaa laittaa satunnaisen harrastajan yskimään. Tarkemmin laitteesta V2.fi:n arvostelussa.
- Sokerina pohjalla kuusnepapartojen suosikki 1541 Ultimate -kortinlukija. Ultimate emuloi levyasemaa hyvin etenkin uusimman firmiksen kanssa, sen voi ketjuttaa oikean levarin kanssa ja lisäksi se osaa toimia vaikkapa Action Replaynä. Vanha Ultimate toimitettiin pelkkänä piirikorttina, mutta uusi malli on sievästi koteloitu. 129 euron hinta on korkean puolella, mutta rahoilleen saa myös vastinetta.
Listaa voisi jatkaa vielä paljon pidemmäksikin, sillä vuosien varrella tarkoitusta varten on kehitetty kaikenkarvaisia ratkaisuja. Valikoin tähän sellaisia, joita saa vielä jostakin hankittua ja joille on olemassa ainakin jonkin sortin tuotetukea.
Edit: eräänä ratkaisuna vielä Catweasel, eli retrokoneiden levareita tukeva yleisohjain Amigalle ja PC:lle (kiitos BritaLisalle vinkistä). Hintaa PCI-versiolla sata euroa.
Edit2: rinnakkaiskaapeleista on nähtävästi myös piirikortille rakennettuja versioita. Katso tarkemmin täältä. Samalla sivulla myös sd2iec-kortinlukija, joka on koko joukon halvin ($45), mutta ei emuloi levyasemaa.
September 17th, 2011
Viime aikojen retrotouhuilun luontevana jatkeena oli luonnollisesti “Commondoren” eli Commodore 64:n äärellä paluu. Itselläni ei sellaista ollut ennen 90-luvun alkua, jolloin kaverini myi minulle pelikäytössä olleen vanhan 64C:nsä. Samainen kuuslankku on edelleen tallessa ja kauniissa kuosissa – ihmesieni on totisesti nimensä veroinen vanhoja koneenraatoja putsatessa. Kavereilla kuusnepoja oli monellakin, ensinnä kasettiasemalla ja myöhemmin joillakin jopa levyasemalla varustettuna. Jos aidolla laitteella aikoo nykyään mitään tehdä, niin 1541 Ultimate on ainoa järkevä hankinta.
Mitä enemmän nepuliin tutustuu, sitä enemmän täytyy kunnioittaa sen alkuperäisiä suunnittelijoita. 6510:stä en edelleenkään perusta, mutta SID ja VIC ovat aikalaisiaan päätään pidempiä. Itse tunnen 8-bittisistä parhaiten MSX:n, joka jää vertailussa lähes joka saralla jälkeen. VIC:n skrollaukset, moninaiset grafiikkatilat, joustavuus ja hyvä värivalikoima ovat omaa luokkaansa, samoin kuin SID:n filtterit ja dynamiikka.
Toistaiseksi olen tehnyt vasta ensimmäisen kuvani, mikä sekin vaati jo laitteiston ja työkalujen kohtuullista tuntemista. Lowres on palikkainen, mikä ei toisaalta ole pahakaan juttu, kun käsin vääntämistä tulee vastaavasti vähemmän. FLI-moodi (lukemattomien muiden ohella) helpottaa värirajoituksia, joten kohtuullisen mukavaahan tuolle oli tehdä. Koodaamaan en ole vielä tosissaan ryhtynyt, etenkin kun laitetta on revitty niin äärimmilleen jo 25 vuotta muiden toimesta.
September 9th, 2011
Sain ensimmäisen tietokoneeni, käytetyn Sharp MZ-721:n, joululahjaksi vuonna 1986. MZ-perhe oli saanut alkunsa jo 70-luvun puolella ja 700-sarjan koneet olivat teknisesti varsin pieni kohennus aiempaan arkkitehtuuriin. Yhdysrakenteisuudesta sentään luovuttiin, muistia oli 64 kilotavua ja näyttipä kone kahdeksan väriäkin, mutta toisaalta sama karu merkkigrafiikka ja yksikanavainen sisäinen kaiutin olivat 1982 jo aikansa eläneitä: onhan esim. Commodore 64 samalta vuodelta. Sharp ei ollut maailmalla mikään valtaisa menestys eikä sen enempää Suomessakaan, joten pelitarjonta jäi köyhäksi. Koneen ainoa realistinen käyttötarkoitus oli siis BASIC-ohjelmointi, jonka kautta aukesi edelleen hengissä pihisevä ohjelmointiharrastus.
1991 sain lopulta PC:n, jonka jälkeen Sharp siirtyi normaaliin tapaan hyllyyn pölyttymään. Vaihdoin koneen jopa pois, mutta onneksi sain sen myöhemmin takaisin. 90-luvun puolivälin jälkeen Sharp tuli vastaan lähinnä muuttopuuhissa, kun se piti jälleen johonkin laatikkoon pakata. Samaan aikaan haalin kuitenkin toisen kasibittisen eli MSX:n, jolle tuli tehtyä yhtä sun toista vuosina 1997-1998 ja kymmenen vuoden luovan tauon jälkeen ihan viime aikoinakin.
Assembly 2011:n lähestyessä iski taasen inspiraatio näpeltää Z80:n äärellä. MSX oli luonteva valinta, mutta rima samalla niin korkealla, että viimeisen viikon alkaessa tuotoksen valmistuminen alkoi näyttää jo toivottomalta. Samaan aikaan olin kaivellut Sharpin kaapista ja pikku sivuprojektina kasaillut sill uuden siirtopiuhan. Päähänpiston seurauksena lähdimme Yzin kanssa tekemään projektia sille ja intensiivisen muutaman päivän puurtamisen tuloksena saatiinkin kasaan kelpo tekele: See Sharp. Yksikanavainen ääni ja kiinteä merkkigrafiikka asettivat tiukkoja rajoituksia, mutta juuri ne haasteet olivatkin kaiken a ja o. Paljon aikaa säästyi sillä, että työkalut kuten SDCC olivat jo tuttuja ja MSX:lle aiemmin tehtyjä kirjastoja ym. pystyi käyttämään lähes suoraan.
Nostalgiaa, nostalgiaa, nostalgiaa. Itse laite on 29-vuotias ja minullakin ollut 25 vuotta, joten tässä on tullut tehtyä jonkinlaista aikamatkaa. “Sarppi” sijaitsi suurimman osan ajasta takkahuoneessa, jossa se lepäsi puisen saunajakkaran päällä mustavalkoiseen matkatelevisioon kytkettynä – taisin nähdä koneen värit vasta kymmenen vuotta myöhemmin. Kasetilta erikseen ladattu S-BASIC ei ollut aikalaisekseen huono, mutta toki varsin hidas. Konekieli vaikutti pitkään hirvittävän vaikealta, vaikka sen mystinen nopeus samalla kiinnostikin pientä pelintekijää. Tänä päivänä työkalut ovat eri maailmasta: C-ristiinkääntäjä inline-assemblerilla höystettynä, Processing ideoiden testaamiseen ja esilaskentaan, make projektin kääntämiseen, Gimp kuvien editointiin ym. Laite on edelleen tasan sama, mutta saman sisällön tekeminen 80-luvun työkaluilla olisi ollut erittäin hankalaa.
August 7th, 2011
Seuraava huonosti toimiva laite saapui… MSX-koodarina olin jo moneen kertaan kyllästynyt korpun vaihteluun kahden koneen välillä, joten Nowind vaikutti kätevältä: moderni tietokone näkyisi MSX:lle levyasemana USB-kaapelin yli. Ensimmäinen kompurointi oli tietysti Sunrisen kanssa, kuten odottaa sopi. Tilauksen sai kyllä tehtyä ja rahatkin kelpasivat, mutta sitten ei kuulunut yli puoleen vuoteen mitään, vaikka lähettelin posteja perään. Surkea firma, mutta samalla ainoa, joka tekee MSX:lle enää mitään.
Sain moduulin lopulta käsiini viime viikolla. Kaunis paketti ja tyylikäs moduuli, mutta toimivuus on kokonaan toinen juttu. Nowindin sivuilla retostellaan, kuinka laite toimii MSX1:stä TurboR:ään asti, mutta kokeilemistani kolmesta koneesta tuntui toimivan vain tasan Philipsin MSX2:lla eikä kummallakaan MSX1:llä. Saattaa liittyä MSX-DOS2:een, mutta eipä aiheesta mitään dokumentaatiota tunnu löytyvän. Toinen myyntivaltti on toimivuus Windowsin lisäksi myös Mäkillä ja Linuxissa. Mukana tulee ohjeet ja ajurit pelkästään Windowsille ja vasta itse tonkimalla löytyi tämä sekava kasa. Linux-version kääntäminen oli monenlaisen asentelun ja virittelyn takana, mutta lopulta se tuntui onnistuvan. Kauneusvirheeksi jäi sitten se, että softa ei toimi. Koetan vielä kääntää toisella mahdollisella USB-kirjastolla, mutta jo tässä vaiheessa askartelun määrä on niin suuri, että useimmilta jäisi tekemättä. Macin tuki saattaa olla vielä tätäkin huonompi; kerron lisää kun tulee sillä yriteltyä.
Yhdistelmistä todennäköisimmin toimiva olisi siis MSX2+Windows, mikä on aika totaalisen säälittävää mainospuheiden ja lupausten valossa. Huonosti käytetyt 70 euroa näillä näkymin, mutta ainakin ainoa suunta on ylöspäin. Postailen lisää, jos jotain kehitystä tapahtuu.
May 24th, 2011
Again in English to serve international people, too. It seems Ubuntu doesn’t let us emulate Amstrad CPC (ok, MESS might do it, but I’ve pretty much given up all hope with it). Skimming through a heap of abandoned emulators I finally came across the latest Linux sources of Arnold. Seems to compile fine out-of-the-box on x86 Linux, but a lot less so on PPC. The endian clean code seems to be there, but the compilation doesn’t go through without a few tweaks. So, here’s the fixed source and a PPC binary (tested only on Ubuntu 10.04 PPC):
http://www.kameli.net/~marq/arnold-ppc-2010-03-05.tar.gz
Note that this version will not work on a little endian system. Press F1 to reset, F2 for fullscreen, F3 for mouse grab. The GUI part requires GTK2, but that you should have anyway. If the sound is choppy, try a different sound system. At least ALSA, OSS, SDL and Pulse support are compiled in.
March 5th, 2011
Kyllästyin huonoihin joypadeihini ja tilasin samaan syssyyn sekä muutaman SNES-ohjaimen että usb-adapterin niille. Adapteri oli nimeltään “SNES Controller Adapter” ja samaa pulikkaa myy esim. DealExtreme. Hiukan ohjaimia siivottuani (nappien kosketuspinnat lasittuvat ajan myötä ja lakkaavat vastaamaasta) kokeilin ohjaimia sekä Mednafenilla että SNES9x:llä. Hyvät uutiset ovat siinä, että sekä ohjaimet että adapteri toimivat, eikä ohjauksessa tule kummallisuuksia tai huomattavaa lägiä. Miinuspuolelle laitettakoon se, että joku valopää keksi laittaa molemmat ohjaimet saman loogisen usb-joystickin eri napeiksi. Kokeilemani emulaattorit antavat viritellä napit ihan miten hyvänsä, joten ongelmaa ei ole, mutta vähemmän joustava ohjelma voi hyvin olettaa saavansa kaksi erillistä laitetta. Kakkosohjaimen start ja select eivät myöskään heräilleet. Suosittelen siis ainoastaan tietyllä varauksella, vaikka tuntumaltaan aidot Nintendon ohjaimet varmasti pieksävätkin halvat usb-kloonit.
edit: Toisen ohjaimen start ja select taitavat olla risat, joten vika ei ole adapterissa.
edit2: Putsaamalla lähtivät toimimaan nekin. Ei kannata kaataa limpparia ohjaimeen.
March 2nd, 2011
This time exceptionally in English – I thought this might benefit some fellow PPC users abroad, too. It seems by all accounts that Megadrive/Genesis emulation under PPC Linux is a hopeless attempt: Dgen just crashes, Xmess doesn’t do any better, and up-to-date emulators, such as Gens/GS, don’t support the PPC platform (a generic Z80 core is apparently under construction). I was looking into compiling the excellent PicoDrive, but its sources seem to be here and there and no generic Linux version exists. So, no Megadrive for us, right?
Luckily I came across Generator, which has been ported to Linux/SDL a few years ago. After the usual configure/make fiddling the emulator actually ran games, but with distorted sound. A quick peek at the sources revealed a tiny endian problem, which was quickly fixed. While I was at it, I added an example config file, a PPC Linux binary, options to force the video overlay off (in case it doesn’t work for you), set the fullscreen resolution and to turn CPU saving off. I didn’t like the fact that the emulator wouldn’t start the games right away, so I turned autostart on, too. There are still some grave issues with sound: for example the music in Sonic 2 doesn’t play correctly, but that’s something out of my scope right now. At some point something has been broken – probably with GCC – since when I tried to compile the emulator on x86 Linux it simply crashed after a while. Not much of an issue, though, since there are other alternatives out there.
Download here (source and binary included): generator-0.35-cbiere-marq-r1.tar.gz
If you wish to compile it yourself, just run ./configure –with-sdl –with-cmz80 ; make in the src directory. For running games: ./generator-sdl-ppc romname (and optionally -c generator.config.example). Tested under Ubuntu 10.04 only, so let me know if it works for you. Alternative solutions to Megadrive emulation are most welcome as well.
edit: Apparently the good folks behind Mednafen are working on Sega support too. Here’s hoping 🙂
February 26th, 2011
Next Posts
Previous Posts