Posts filed under 'softat'
Perjantai-illan hätäinen pikku Processing-projekti rupesi paisumaan ja alkaa olla jo hiljalleen ihan käyttökelpoinen. Tarkoituksena oli tehdä Zoo 2013:n PETSCII-kilpailua varten minimalistinen editori, jolla saisi lätkittyä ruudulle merkkejä väreineen ja sitten näytettyä niitä oikealla kuusnelosella. Mitään kunnollista ei tuntunut löytyvän valmiina Linuxille tai Mäkille, joten tehdään sitten itse. “Feature creep” iski pahasti päälle ja tein yhtä sun toista lisäystä. Tällä hetkellä ohjelma osaa jo seuraavaa:
- Piirto, kumitus ja väritys
- Reunuksen ja taustavärin vaihto
- Merkin poiminta
- Kuvien lataus ja tallennus
- Kuvien eksporttaus C-, assembler- ja BASIC-muotoon
- Simppeli pikselipiirtomoodi 1/4-merkeillä
- Alueen valinta ja kopiointi/tyhjennys
- PETSCII:n uudelleenjärjestely helpompaan muotoon
- Esikatselu venähtäneillä merkeillä ilman gridiä
Katsotaan, kuinka pitkälle into vielä riittää. Kaikenlaista muutakin mahdollista voisi lisäillä loputtomasti, mutta ainakin undo olisi varsin tarpeellinen toiminto. Animaatiota on pyydetty myös, mutta katsotaan nyt. Siinä vaiheessa, kun into loppuu, niin kintaat putoavat välittömästi 🙂
edit: Niin, jäi linkit laittamatta:
edit2: Tukee nyt myös VIC-20:tä.
edit3: Dokumentaatiota nyt täällä: http://www.kameli.net/marq/?page_id=2717
September 29th, 2013
Here are some preliminary results from a compiler/interpreter test, where we pitted different MSX compilers and cross-compilers against each other. The test was a simple integer addition loop. Here’s the Pascal version for a reference:
Program Bensmark;
Var
i,j,s:Integer;
Begin
s:=0;
For i:=1 To 10000 Do
For j:=1 To 100 Do
s:=s+1;
Writeln(s);
End.
The snippet tests mostly loops, so the results can’t be generalized for all sorts of purposes. Anyway, here comes the list with execution times in seconds, arranged from fastest to slowest:
- Mildly unrolled assembly: 4
- Trivial assembly implementation: 8
- SDCC C cross-compiler 2.9.0: 13
- MSX-C 1.20: 44 – painfully slow compilation
- X-BASIC: 47
- Turbo Pascal: 62 – quick compilation
- z88dk C cross-compiler: 86
- Hisoft C 1.35: 154
- Hisoft Pascal: 880 – extrapolated from a shorter loop
- MSX-BASIC: 2500 – extrapolated from a shorter loop
Some big surpises there, actually. I expected a lot better performance from z88dk and Hisoft C, but they lost even to the ancient Turbo Pascal. TP got a big plus for its swift compilation time, too. X-BASIC went on to show that BASIC doesn’t need to be slow at all. In spite of its problems and somewhat modest code generation, SDCC easily took the crown of compiled high-level languages here.
September 15th, 2013
Panasonicin MSX2+:t sisältävät erikoisen “turbomoodin”, joka ilmeisesti ylikellottaa sisällä olevan MSX-enginen 3,58 MHz -> 5,38 MHz (tai jonkun lähteen mukaan 6 MHz:iin). Tämä ominaisuus löytyy siis FS-A1-sarjalaisista FX, WX sekä WSX. Ikävänä sivuvaikutuksena mukana kellottuu samalla PSG, joten äänet soivat ylävireessä. Turvon päälle survominen ei ole vaikeaa:
out 64,8:out 65,0
Eikä pois:
out 64,8:out 65,1
Pelkkien numeroiden valossa nopeutuksen pitäisi olla 1,5-kertainen eli suoritusajoista pudota 33% pois, mutta todellisuudessa näytönkäsittely, massamuisti ym. tasaavat nopeuseroa. Pieni BASIC-silmukka nopeutui 25% ja aped-editorissa merkkirivin täyttyminen kesti 10 sekuntia verrattuna alkuperäiseen 15:een. Realistisin testeistäni lienee ison paketin (R-Type) purku pmextillä kortinlukijalle:
- normikone, 6:10
- turbo päällä, 4:31
- turbo R, 1:08
Eron siis todellakin huomaa, mutta mihinkään tR:n tasoiseen hurjasteluun ei venytä. Ongelmistaan huolimatta moodi on tervetullut pikku lisä, joka saattaa säästää hieman hermoja raskaiden operaatioiden äärellä. Tässä vielä pikainen häkkini pturbo.com, jolla saa asetettua turbon päälle tai pois (on/off) dossissa.
September 4th, 2013
Ok, found the problem: for some reason Risc OS checks whether there really is an SD card inserted, unlike other platforms. The two little springs at the back of the SD slot apparently don’t make a good contact on some Raspis, which makes Risc OS fail at boot. Solution: solder them permanently together! See here for more discussion. Worked for me.
August 25th, 2013
There seemed to be no sensible use for the Panasonic FS-A1 I bought recently, since it boots to 60 Hz and can’t run most of MSX2 demos because of the lack of memory. You can’t even boot MSX1 demos directly from, say Nowind. With a boot disk, however, things get a bit better:
No magic there – the floppies set up a MSX1-lookalike palette, 50 Hz screen mode and 40 columns for SCREEN 0. On a tR the CPU speed is dropped to 3.58 MHz. After that change the virtual (or real) floppy and run the actual production. Tested on FS-A1, FS-A1ST and Philips 8245.
edit: Lars the 18th was kind enough to improve the boot floppies by creating a single .com file that does pretty much the same as above. See here: MSX1DosBoot.dsk
edit2: There was a broken link to the latter disk, but now it’s fixed. The msx1.com by Lars is good stuff for running MSX1 stuff from a card reader and so on.
August 13th, 2013
Pikaraportti Ubuntun ja Acer Chromebook C710:n yhteiselosta: toimii! Dualbuuttaaminen olisi normaali konsti, mutta se on viime kädessä aika rasittavaa ja hidasta. Onneksi nykyään on tällainenkin kätevä kikkale kuin Crouton, jonka asensin tämän ohjeen perusteella (tosin LXDE:n eikä XFCE:tä). Ideana on, että kun Chrome OS kerran on jo sisuksiltaan aito Linux, niin Ubuntua ajetaan sen päällä vankilassa samalla kernelillä. Ossi pyörii yhdessä X-instanssissa ja Ubuntu-työpöytä toisessa. Näiden kahden välillä voi sitten vaihtaa tutuilla ctrl-alt-funktionapeilla ja kaksi puolta pysyvät siististi erillään. Pientä virittelyä tarvitaan toki, mutta konsepti on hyvä. Joitakin sekalaisia havaintoja:
- Laite pitää ensin laittaa kehittäjätilaan, mistä muistuttaa jatkossa joka käynnistyksessä näkyvä (sinänsä harmiton) valitusruutu.
- Chrome OS:stä Ubuntuun vaihtaessa tarvii virkistää ruutu, ctrl-alt-F3
- Videokiihdytys toimii ja jopa OpenGL, vaikkakaan esimerkiksi FSAA ei Intelin ruppanalta onnistu. VLC toisti ulkoiselta levyltä divx:ää ja h264:ää yskimättä.
- Soitto soi ja volumekin säätyy
- Ulkoinen näyttö tunnistuu ainakin VGA:n kautta molempien työpöytien puolella. Hiirellä ja näppiksellä varusteltuna Asseri voisi jopa toimia kohtuullisesti pöytäkoneen korvikkeena.
- Suominäppis ei toimi suoraan LXDE:ssä, mutta normitempuilla lähtee (setxkbmap -layout se esim. paikkaan /etc/xdg/lxsession/LXDE/autostart). Ylärivi toimii funktionappeina eikä kirkkaus- ym. säätöinä, vaikka saisi senkin jollain virittämisellä toki kuntoon. Toisaalta Linux-ohjelmat käyttävät funktionappeja monenlaiseen muuhun tarkoitukseen.
- Jopa sleep tuntuisi pienellä kokeilulla futaavan luotettavasti
- Verkko- ym. asetukset tehdään Chrome OS:n puolella, mikä on tavallaan ihan hyväkin, sillä wlanin toimivuus on Googlen ja Asserin niskoilla
- Kenties suurin murheenkryyni on Linuxin puolella vakiona huonosti konfiguroitu hiiripädi, joka klikkaa ja skrollaa hieman satunnaisen oloisesti. Palannen aiheeseen myöhemmin synclient-savotan jälkeen – eiköhän tuon saa tyydyttävään kondikseen, kun vaan jaksaa säätää.
- Omalaatuisen tiedostojärjestelmän vuoksi levyjä selatessa näkyy ties mitä ei-niin-kiintoisaa järjestelmän sisäistä puppua
- Eri maailmojen välillä voi siirtää tiedostoja molemmille näkyvän Downloads-hakemiston kautta
Kaiken kaikkiaan suunnilleen sitä, mitä odotinkin: virittelyä vaaditaan, mutta siitä saa palkkioksi käyttöönsä Linuxin laajan softavalikoiman. Chrome OS sopii sujuvaan selailuun ja Docsin käyttöön, mutta esimerkiksi tien päällä koodailuun huonosti. Ubuntun kautta aukeavat käyttöön emulaattorit, kääntäjät, serverit, LibreOffice, Gimp, LyX, VLC, X-Chat ja niin edelleen. Vastoin odotuksiani jopa Wings3D tuntui toimivan hyvin. Vielä kun näiden kahden rinnakkaiselo tuntuu olevan verrattain ongelmatonta ja 320-gigainen kiintolevy muuten lähes tyhjän panttina, niin oikein hyvältähän tämä vaikuttaa.
July 24th, 2013
Yleensä tuppaan lägäämään laitteissa uusimmista kotkotuksista turvallisesti jäljessä, mutta tällä kertaa surffaan suorastaan kehityksen aallonharjalla. Eilen siirtyi omistukseeni Verkkokaupasta Acer Chromebook C710, joka ajaa Googlen pitkään odoteltua selainpohjaista työpöytäkäyttistä Chrome OS:ää. Hieman pahaahan se teki Aceria ostaa, mutta kun hinta oli kohdallaan – karvan alle 300 euroa – niin sopi heräteostokseksi. Verkkiksessä ei ollut noita edes missään näytillä, kenties johtuen laitteen halpuudesta.
Markalla saa markan(talon) tavaraa, mikä pätee hyvin tämänkin laitteen kohdalla. Yleisvaikutelma on tuttuun tapaan löperön muovinen, joskaan ei laite normaalia halpaa PC-läppäriä rumempi ole. Paino on hieman yläkanttiin muovisen rakenteen huomioiden, mutta se on pieni miinus. Kiiltävän 11″ näytön katselukulma ei ole kovin kummoinen – kirkkautta riittää, mutta kontrastia vähemmän. Resoa on sentään huomattavasti paremmin kuin karuissa ensimmäisen polven miniläppäreissä, sillä laajakuvanäytön tarkkuus on ihan kelpo 1366×768 pikseliä. Akku venyy pienellä testailulla (toki käytöstä riippuen) ainakin muutamaan tuntiin, joten matkaseuraksikin Asserista on. Näppäimistössä on joitakin omituisia ratkaisuja, kuten pikkuruiset nuolinapit, eikä tuntumakaan mihinkään MBP:n rinnalle nouse. Kyllä tuolla ihan kirjoittelee, etenkin kun näppis on suunnilleen täysikokoinen. Liittimiä on yllättävän mukavasti: 3xUSB, VGA, Ethernet, HDMI ja kuulokeliitäntä. Ulkoinen VGA-näyttö tunnistui ilman sen kummempaa yskimistä. Muistia on kevyeen käyttöön riittävät kaksi gigatavua ja suoritin on välttävä Intelin 1,1 GHz tuplaydin-Celeron; aito asia eikä mikään Atom-rimpula.
Pieniä halpoja läppäreitä on nähty ennenkin eikä niissä ole sinänsä enää uutuusarvoa. Laitteen kiinnostavin puoli onkin tietysti sen käyttöjärjestelmä. Viime kädessä Chrome OS:n sisuksissa hyrrää Linux, jos sitten visusti piilotettuna. Androidiin vertailu tulee helposti mieleen, mutta sukulaisuus ei ole ainakaan käyttöliittymän tasolla mitenkään ilmeinen. Poikkeuksellisin Ossin ominaisuus on se, että käytännössä kaikki tapahtuu selaimen kautta. Ohjelmat ajetaan selaimessa, asetukset ovat selaimessa, sovelluskauppa on selaimessa ja niin edelleen. “Google-pääte” laite on siksi, että kirjautuminen tapahtuu Google-tunnuksella ja myös sovellukset ovat samasta putiikista peräisin: tärkeimpinä Chrome-selain, Docs, Gmail ja Calendar. Ensin vaikutti siltä, että sisäistä 320 gigan kiekkoa ei käytettäisi juuri mihinkään, mutta kaikessa hiljaisuudessa Google Drivessä sijaitsevia tiedostoja peilattiin paikalliselle levylle offline-käyttöä varten. Esim. Docs toimii ilman nettiyhteyttäkin. Nettitikkuja on koneeseen turha yrittää tökkiä, joten tien päällä tarvitaan esim. kännykästä nettijako wlanin kautta.
Päivänpolttava kysymys on tietysti: “Tekeekö Chromebookilla mitään?” En odottanut liikoja, mutta kepeään peruskäyttöön laite sopii yllättävän hyvin, mikä kertoo samalla siitä, kuinka netistä on tullut tärkeä (jollei tärkein) sovellusalusta. Käyttökokemus on pelkistetyn selkeä, tosin siellä täällä tuli vielä pikku bugeja vastaan. Tärkein eli selain toimii ripeästi ja raskaatkin sivut sekä YouTube näkyivät ongelmitta. Docs on käyttökelpoisen nopea. Sovellustarjonta on vaikkapa App Storeen verrattuna kovin köyhää, joten kannattaa ymmärtää laitteen rajoitteet ennen sen hankkimista. Hieman enemmän liikkumavaraa saa siirtämällä Asserin kehittäjämoodiin, jonka kautta saa auki mm. kunnon pääteohjelman. Ainakin Ubuntu on hakkeroitu laitteessa toimivaksi, joten ihan täysiverinenkin Linux-työpöytä on jollain virittelyllä asennettavissa Ossin rinnalle. Palannen aiheeseen, kunhan kokeilu etenee.
edit: Mitä ilmeisimmin kone on sama kuin tämä pienemmällä muistilla ja ilman kortinlukijaa. 70 e halvempi.
July 21st, 2013
Lakialoitteet ovat nyt kovasti tapetilla, joten kokeillaanpa tätäkin. Nyyrikki laittoi kasaan aloitteen nimeltä Lakialoite vanhojen hylättyjen ohjelmistojen levityksen ja arkistoinnin mahdollistamiseksi, johon lähdin mukaan ylläpitäjäksi.
July 1st, 2013
Vuosien varrella on tullut vastaan monenlaisia ongelmia skandinaavisten kirjainten so. ääkkösten kanssa, kun eri järjestelmissä merkkejä on esitetty eri tavoin, minkä lisäksi etenkin jenkkiperäisillä ohjelmilla oli vuosikymmenten ajan tapana tarkoituksella nollata luetuista merkeistä ylin bitti, jotta luetut tavut varmasti olisivat “kirjaimia”, mikä on aiheuttanut loputtomasti ongelmia muualla. 1987 standardoidun Latin-1:n eli ISO-8859-1:n myötä alettiin 1990-luvun kuluessa päästä hiljalleen eteenpäin yhteensopivuudessa, mutta kun esim. yleisesti käytetty MS-DOS käytti omaa merkistöään, ei tekstin siirtyminen ollut mitenkään itsestään selvää. UTF-8:n myötä ongelmat ehkä lopulta poistuvat, vaikkakin muilla merkistöillä tehtyä vanhaa sisältöä on olemassa niin paljon, että konversiotarve tuskin tulee ikinä täysin katoamaan. Itse käytän merkistöjen ja rivinvaihtojen välillä hyppimiseen GNU Recodea. Jokunen esimerkki vikaan menneistä merkistömuunnoksista:
- Ookkon{ Oulusta, pelk{{kk|n{ polliisia? Tätä tuli vastaan etenkin opiskelujen alkuvuosina, kun päätteiden skandituki oli toteutettu 7-bittisellä ASCII-koodilla, jossa ÄäÖö oli sijoitettu vähemmän tarpeellisten erikoismerkkien [, {, \ sekä | tilalle. Ei liene vaikea kuvitella, mitä ongelmia tästä seurasi esim. C-koodin kanssa.
- Ookkond Oulusta, pelkddkkvnd polliisia? Tässä on meneillään yllä kuvattu ylimmän bitin nollaus, joka muuttaa Latin-1:n mukaiset ääkköset 7-bittisen ASCII:n kirjaimiksi D, d, V ja v.
- Oookkon^Ä Oulusta, pelk^Ä^Äkk^Ôn^Ä polliisia? Tältä näyttävät puolestaan MS-DOSin koodisivujen 437 tai 850 mukaiset skandit Latin-1-merkistössä tarkasteltuina. Tämän kanssa sai askarrella jatkuvasti, kun siirsi tekstiä dossipeeseeltään koulun Unix-koneille tai oman koneen Linux-puolelle.
- OokkonΣ Oulusta, pelkΣΣkk÷nΣ polliisia? Ja sama toiseen suuntaan.
- Ookkon Oulusta, pelkkkn polliisia? Joskus epäilyttävät merkit suodatettiin tulostuksesta varmuuden vuoksi kokonaan.
- Ookkona Oulusta, pelkaakkona polliisia? Eräs strategia olikin varmuuden vuoksi korvata äät ja ööt aalla ja oolla. Huumorilta ei voinut välttyä, kun vaikkapa “näin Petrin tänään”.
- Ookkonä Oulusta, pelkääkkönä polliisia? Viimeisenä irkistä tuttu tilanne, kun oma asiakasohjelmasi puhuu Latin-1:tä ja joku solkkaa UTF-8:aa: kahdesta tavusta koostuvat merkit näkyvät kahtena eri merkkinä. Aiheesta on käyty kanavilla pitkällisiä keskusteluja päätymättä ikinä mihinkään varsinaiseen konsensukseen.
Sinänsä oikein toimivia, mutta hankalalukuisia ovat lisäksi mm. HTML-koodissa käytetty Ookkonä Oulusta, pelkääkkönä polliisia? sekä webbisivujen osoitteisiin enkoodattu Ookkon%C3%A4%20Oulusta%2C%20pelk%C3%A4%C3%A4kk%C3%B6n%C3%A4%20polliisia%3F. Aivojen mukautuvuudesta kertoo se, kuinka riittävän pitkään vääränlaista merkistöä katseltuaan tilanteeseen tottuu ja sotkun alkaa lukea ääkkösinä ilman eri vaivaa. Lisätietoa merkistöjen ihmeistä vaikkapa Wikipedian Ääkköset-sivulta ja Linuxin Finnish HOWTO:sta.
April 19th, 2013
Thanks to Nyyrikki, MSX1 developers can now save time when debugging their code with openMSX. He modified the original ROM so that it will skip the boot logo and the memory test. To make it work with openMSX I put together a hardware description file for a machine called msxfast. The files:
Less waiting, more programming – starting a .com program from autoexec.bat is now full five seconds faster! Originally, it took 12 seconds to get there, now only 7.
April 4th, 2013
Next Posts
Previous Posts