Panasonic JR-200 on laite, jota on tullut pöyhittyä harvinaisen paljon ja syvällisesti, etenkin kun ottaa huomioon sen totaalisen marginaalisuuden. Harvinaisuus on toisaalta ollut juuri se syy, miksi tonkiminen on ollut tarpeen: yleisemmistä laitteista löytyy niin piirikaaviot kuin ohjelmointioppaatkin. Panan tapauksessa ylimääräistä haastetta on tuottanut myös se, että osa piireistä on tehty tai kustomoitu vain ja ainoastaan tuota yhtä laitetta varten, joten niistä ei välttämättä löydy kirjallisuutta.
Parin vuoden takaiset aiemmat yrittelyt tuottivat jo mukavasti tulosta, mutta monia asioita jäi edelleen selvittämättä, etenkin kun taannoinen haksorointi perustui lähinnä ROM:ien sisältöön ja piirien ohjekirjoihin. Sittemmin olen hieman rohkaistunut elektroniikan suhteen, joten ryhdyimme Teron kanssa jälleen kartoittamaan laitetta, tällä kertaa yleismittarin avulla. Huoltomanuaalistahan näitä samoja asioita löytyisi suoraan, mutta sen saanti on osoittautunut lähes mahdottomaksi, ja toisaalta tällainen lähestymistapa on varsin opettavainen koneen toiminnan syvällisessä ymmärtämisessä.
Uusia selvinneitä juttuja ovat mm. laajennusväylän pinnit, joista epäselvyyttä on oikeastaan enää muutaman osalta. Lisäksi IO-piiri MN1271 on lähes kokonaan kartoitettu paria porttia lukuun ottamatta ja kaikkiaan on syntynyt paljon syvällisempää ymmärrystä piirien rooleista. Esimerkiksi MN1544 on lopulta melko turha, sillä se lähinnä lukee näppäimistöä ja ilotikkua, minkä voisi hoitaa suoraviivaisemmin ja halvemmin ihan pelkällä prosessorilla. Hitachin “näytönohjain” tekee itse asiassa monenlaista juttua, kuten dekoodaa osoitelinjoja toisille piireille ja tuottaa kellon CPU:lle.
Sivumennen selvisi sekin, miten laajennusporttiin saisi automaattisesti käynnistyvän rommin. Kunnon siirtopiuha on siintänyt mielessä jo pidempään, mutta ilman tietoa laajennusliittimien toiminnasta sellaista ei ole ollut mahdollista tehdä, minkä lisäksi pitäisi jotenkin saada itse siirtosoftakin ladattua. Seuraavaksi siis tavoitteeksi laajennusliitäntään tuleva buuttaava rommi sekä muutaman pinnin siirtotiluttaja perinteiseen tapaan Arduinolta! Lisäilen laajennusportin dokumentaation Pana-sivulle, kunhan pinnit on avattu loppuun asti.
August 22nd, 2014
Sheesh, THIS basic stuff really ought to work already, but it doesn’t seem to. When you press the eject key on the keyboard, nothing happens. It’s easy to fix, but not quite evident at first. Add the following piece to ~/.config/openbox/lubuntu-rc.xml (or might be just rc.xml) together with the rest of the key bindings:
<!-- Eject with... eject -->
<keybind key="XF86Eject">
<action name="Execute">
<command>eject</command>
</action>
</keybind>
After that killall -USR2 openbox and things should be a-ok.
August 19th, 2014
Quite many people seem to suffer from the same problem as I with VLC versions around 2.1.4: DVD playback stutters, jumps and lags. There didn’t seem to be any definitive solution to the problem and it doesn’t even affect everybody. If you’re googling around, then here’s what I did: switch audio settings from default or ALSA to Pulseaudio (and install it if needed, like in Lubuntu). Tips like setting the drive region, changing the demuxer or installing various extra libs worked as good as waving your hands in the air. It seems there’s some problem with the way audio is synchronized with ALSA. Apparently the bug is fixed in 2.1.5, but as of now all *.Ubuntus don’t yet come with that version or aren’t otherwise patched.
August 19th, 2014
Lars Wadefalkin kehittelemä UNO2IEC on epäilemättä halvin tapa ladata pelejä Commodore 64:lle. Arduinon ja nepan välille kolvataan kuuden piuhan kaapeli, ladataan Arduinoon ohjelma ja käännetään Qt-projekti. Isäntäkoneen päässä on sitten helppo käyttöliittymä, josta voi ladata d64-tiedostoja. Fastloaderit eivät toki toimi, joten demoja on melko turha yrittää ajaa, lukuun ottamatta yhdellä kerralla muistiin ladattavia.
Dokumentaatio on hieman rajallista, joten esimerkiksi kaapelin teko-ohje löytyi puoliksi sattumalta mukana seuranneesta Excel-filusta. Pahimmaksi ongelmaksi osoittautui kuitenkin Qt-projektin kääntäminen, etenkin kun en ollut tuota Qt Creatoria koskaan käyttänyt. Tämän ohjeen perusteella sain projektin ylipäänsä latautumaan säätämällä “kitin” asetuksia. Lisäpalikka QextSerialPort piti purkaa samalle tasolle kuin projektihakemisto itse, eikä suinkaan sen alle. Näiden jälkeen iski vielä niskaan hämmentävä yhteensopivuusongelma, sillä tuoreehko Qt 5 ei projektia kääntänyt virheellisten polkujen takia, ja Qt 4:n (4.8.6) kanssa puolestaan puuttui QTimerin vaatima vakiomäärittely. Rajapinta on jossain välissä muuttunut, mutta heivaamalla koko Qt::CoarseTimerin mäkeen funktiokutsusta käännös meni läpi.

Kuten kuvasta näkyy, johtoa ei ole työläs tehdä. Nepan pään pinnien numerot löytää esim. täältä. Jäi hieman epäselväksi, olisiko joihinkin piikeistä pitänyt laittaa 10 ohmin vastukset, mutta tuntuipa tuo toimivan ilmankin. SD2IEC:lle pätsätty pelikokoelma näyttää toimivan hyvin myös UNO2IEC:n kanssa, joitakin pelejä lukuun ottamatta. Summa summarum: halpa ja monessa suhteessa kätevä tapa siirtää tiedostoja nepan suuntaan, kunhan tiedostaa rajoitukset ja on valmis käyttämään jonkun hetken kolvaamiseen sekä ohjelmien kanssa tusaamiseen. Kiina-Arduino 6 € posteineen, dinni, johdonpätkä ja palanen piikkirimaa tekee kokonaishinnaksi noin kympin.
edit: Niin tokihan tämä toimii yhtä lailla Vicin tai +4:n kanssa. Latailin juuri kokeeksi jotain demoja Plussalla.
August 16th, 2014
It turns out that in the Finnish and French versions of the Canon X-07 manual the cassette port is described incorrectly. Maybe the port is different on the Japanese model, or maybe there was something lost in translation. Anyway, as the original data cable is kind of hard to get these days, you may want to make one of your own. Here’s the correct pinout for a PC->Canon cable:
- Pin 5 – MIC tip
- Pin 4 – EAR tip
- Pin 2 – EAR and MIC sleeve
You can, of course, leave the MIC plug out if you don’t need to transfer anything back from the machine. 3.5 mm mono plugs seem to work, even though it might be a better idea to use stereo plugs and leave the ring unconnected. Thanks to Tero H. for figuring out the correct pinout!

As you can see on the right, the English version of the manual has the pins numbered correctly.
August 15th, 2014
A couple of weeks ago I didn’t even know that there are WLAN-enabled SD cards, but such beasts exist indeed. Usually they are meant for cameras and automatic uploading of recent photos, but a creative mind can quite obviously think of a lot of other uses for them. The most interesting product seems to be Toshiba FlashAir, since it allows file upload unlike most other devices. It’s not too expensive either, so I got myself the 8G model.
Instructions on setting up the card can be found on other sites. As a matter of fact, the documentation is surprisingly extensive. At its heart the card contains a web server that can be used for different transactions (plus those automatic uploads that I’m not interested in). It didn’t take much effort to edit the needed config file to get the gadget set up. After that you just need to find out its IP and start browsing. There are various hidden CGI files, such as upload.cgi, that let you do a number of things ranging from file browsing to configuration. They and their parameters are all described on the FlashAir Developers’ site.
I expected there to be some ready-made handy tool for file handling and maybe there is, but all I could find were various code snippets in Python or PHP. Browser-based file handling isn’t that great, so I ended up hacking together a little shell script called FA that lets you do the most needed basic stuff from the command line. Should work in any *nix, as long as you’re using bash and have cURL installed. Maybe even Cygwin or similar, who knows. Use as you wish, but don’t come complaining to me if your files were lost 🙂
The original reason for getting the card was to use it with various oldschool computers and their card readers. So far I’ve only tried Sinclair QL and it kind of works. The only remaining problem is that the card doesn’t deal well with reset: after that you need to reinsert it, which sort of beats the purpose of wireless data transfer. After reinserting the card it also takes about 10 seconds to be back online, which is a bit annoying if you need to wait for it frequently. I’ll update this post when I’ve experimented with other machines.

I’m sure there’s more to discover when dealing with other machine/card reader combinations. For example, I don’t know if the filesystem needs to be FAT32. If so, some readers will not work.
edit: Similar behavior with the 1541 Ultimate. Initially the card works like an angel, but after the C64 has accessed the virtual drive the web server disappears until the next cold boot or card reinsertion. Mere reset doesn’t help.
edit2: Another interesting discovery is the user IO mode, where you can control individual SD pins as you see fit. Could make an interesting wireless controller or something.
edit3: According to Tero’s tests, the card works better with a ZX Evolution. It seems that the Evo doesn’t kill the WLAN after a reset.
August 11th, 2014
This time in English, as this blurb might benefit the international Google-using audience, too. As you might know, Amstrad CPC6128s came equipped with various versions of the CRTC chip: most of them clones of the Motorola 6845 (read more here). The problem from a demoscener’s point of view is that they weren’t identical in every respect and, thus, very low-level demo stuff might not run. Both of my machines happened to have a CRTC0, which meant that I couldn’t run one of the top prods, From Scratch. Some older demos might be the opposite, namely CRTC0-only.
Various versions of the chip are occasionally available on eBay and I happened to come across a promising CRTC1. Changing the whole chip seems a bit brutal, but according to some accounts on CPC forums, you can piggyback two chips on top of each other and install a switch – unfortunately nobody seemed to give exact instructions. As my second 6128 was a bit busted anyway, I decided to give it a go. The best bet from a layman’s perspective seemed to be installing the switch to Vcc: bend pin 20 up on both chips, solder together the rest, and install a two-position switch that directs 5V to one CRTC or the other.
And it works! From Scratch runs now and DTC reports the version correctly depending on the switch position. See below how the kludge looks like:

According to some rumors some people have installed even three chips on top of each other. After that you start getting close to the keyboard, tho. The contacts might be a bit hard to get working flawlessly, I guess. Then again, from a demo perspective a CRTC2 is a useless piece of junk – not much will work anyway. Funnily enough, the problem child is the genuine Motorola chip 🙂 CRTC3 and 4 are part of the ASICs of the very last last CPC models, so they don’t exist in the wild as separate chips.
August 9th, 2014
Posti toi tällä kertaa Canon X-07:n, joka on hieman hämmentävä “miniläppäri” vuodelta 1983. Yhtäältä kone on melko tyypillinen aikansa kasibitti, mutta sisäinen näyttö, pattereilla toimivuus ja kannettavuus tekevät siitä varsin poikkeuksellisen. Canonilla näyttää iskeneen pahin mahdollinen poropietarimeininki, sillä mikään laitteessa oleva liitin (laajennusväylä, sarjaportti, virtaliitin, rinnakkaisportti) ei noudata ulkoisesti minkään sortin standardia.
Sisuksissa on ilmeisesti 2,5 MHz Z80-klooni (NSC800N) ja kahdeksan kiloa SRAM-muistia. Pohjassa olevan luukun takaa saa asennettua vielä toisen 8k lisää. Siniharmaa LCD-näyttö on 20×4 merkkiä ja kun yksi merkki on 6×8 piksua, niin saadaan 120×32 kokonaisresoluutio. Näyttö pystyy osoittamaan yksittäisiä pikseleitä, joten aito grafiikka on sinänsä täysin mahdollista. Äänistä vastaa jokin mahdollisimman karu piipperi, luultavasti kellopiirin yksi jalka. Pohjasta löytyy lisäksi laajennuskorttipaikka, johon sai erilaisia ohjelmia – oman koneeni mukana ei tosin mitään tullut. Käynnistettäessä X-07 menee tuttuun BASICiin. SRAM-muistin ja paristojen ansiosta omat ohjelmanpätkät säilyvät sammutuksen yli.
Ensimmäinen ratkaistava ongelma oli virtalähde, sillä se oli kadonnut koneesta johonkin ajan virtaan. Netin tietämän mukaan X-07 tarvii 4,5 V jännitteen. Liitin on jokseenkin hankala, sillä siinä on kaksi paksua piikkiä. Napaisuus selvisi helposti yleismittarin avulla ja piikeille löytyi vastinparit lopulta hieman modatusta naaras-molexista (ks. kuva alla). Jännite meni sittenkin ensin väärin päin, mutta onneksi siitä ei seurannut mitään tuhoa. Canon näyttää toimivan ihan tyytyväisenä viidelläkin voltilla.
BASIC-ohjelmointi ei pitkälle kanna, joten toki tuolla huvittaisi ajaa jotain omaa Z80-koodia. Kasettiportista saisi ladattua ainakin beisikkiä, ehkäpä binääriäkin. Toinen vaihtoehto siirtelyyn on sarjaportti, joka tosin on jännitteiltään TTL-tasoinen. Toistaiseksi ohjelmoinnista ei ole löytynyt mitään kunnollista dokumentaatiota: ainakin grafiikan käsittely, piipperin käyttö ja jonkun sortin ajastus – mieluusti keskeytys – pitäisi selvittää.

Lisätietoja Teron blogista.
August 8th, 2014
Kun mä liityin Sinclair-jengiin, niin halusin tietenkin HYVÄN massamuistin. Sellasen, jolla voi tehdä muutakin kuin tuhota kalliit kasetit ja joka ei jää pieneks heti kättelyssä. Ne jotka jo kuulu jengiin, sano että SE RUPINEN MICRODRIVE ON PERÄISIN SIR CLIVEN HANURISTA.
Yrittelin vuosi pari sitten ohjelmoida QL:ää, ja vaikka laite löikin näpeille joka käänteessä, en ollut edelleenkään antanut täysin periksi. Tein silloin siirtosoftan, jolla sain Arduinon kautta siirrettyä riittävän nopeasti omia koodinpätkiä koneen muistiin ajettaviksi. Homma tyssäsi – ja käämit paloivat totaalisesti – siihen, kun onneton microdrive-asema haukkasi viimeisenkin nauhan lounaakseen. Mitään vaihtoehtojakaan ei netistä löytynyt, joten laite jäi odottamaan aikaa parempaa. Ainoaksi julkaisuksi jäi Nyan Leap.
Tämän vuoden keväällä alkoi kuulua huhuja, että QL:ään olisi tulossa kortinlukija myyntiin ja toden totta: SellMyRetrossa niitä on vielä tälläkin hetkellä jokunen 60 punnan kohtuullisehkoon hintaan; ostakaa kiiruusti pois, tiedä koska noitakin taas tulee. Mukana tulee normirommin korvaava kohennettu Minerva, FAT32-formatoitu 4G muistikortti sekä pieni piirilevy, jolla istuu SD-paikka.
Asennus ei ollut vaikeaa: kone auki, vanhat rommit mäkeen, Minerva tilalle (laitoin vasemmanpuoleiseen paikkaan), microdrive mäkeen, kortinlukija tilalle, kone kiinni. Ihan suorilta ei lähtenyt, sillä juuressa oli laajennetun koneen vaativa iso levytiedosto. Hakemistosta qlsd-starterpack löytyi sopivampi kolmemegainen tiedosto, jolla kone lopulta buuttasi sievästi. En ole toistaiseksi löytänyt mitään suoraviivaista tapaa kirjoittaa suoraan levytiedostoon. Q-Emulatorilla sen pitäisi onnistua, mutta softa on Windows/Mac-only ja maksaa rahaa, joten olkoon. Saan siirrettyä binääriä muistiin toistaiseksi ihan riittävästi omalla siirtokaapelilla, mutta olisihan tuo formaatti hyvä selvittääkin joskus.
Koneen käytettävyys nousi siis kohisten melko pienellä investoinnilla ja helpolla virittelyllä. Moderni muistinlaajennus olisi vielä kiva ylläri – sellaisesta onkin ollut huhuja, muttei vielä mitään valmista. Vanhoja laajennuksia ei myynnissä näy, ja niiden hinta kohoaisi luultavasti täysin kohtuuttomaksi. Jos jotain saan itse vielä aikaan, niin sen pitää toki toimia aidolla peruskokoonpanollakin.

QL-SD asennettuna (ja pölyä)
August 4th, 2014
Noin viikko sitten kuulimme Manun kanssa mielenkiintoisen vinkin suomalaisten tietokonepelien varhaishistoriasta: Telmac TMC-1800:lle oli kuulemma olemassa kotimainen shakkipeli. Pienen googletuksen avulla löytyikin alkuperäinen ohjelmoija, Raimo Suonio, joka kertoi pelin syntyhistoriasta paljon lisätietoa. Chesmac on peräisin niinkin kaukaa kuin vuodelta 1979, joten suomalaisen pelinkehityksen alku siirtyi juuri viisi vuotta taaksepäin. Keräilen tähän listaan löydöksen saamia mediamainintoja:
Kiinnostusta aiheeseen tuntuu siis riittävän. Tällä hetkellä on talteen saatu pelin ohjekirja ja Topdatan hinnasto, mutta kasetista tai itse peliruudusta ei ole vielä edes kuvaa. Pitkän linjan tavoitteena on arkistoida peli lähdekoodeineen toimivassa muodossa ja saada sitä myös ajettua oikealla koneella, jos vain suinkin mahdollista.
July 28th, 2014
Next Posts
Previous Posts