Toteutin työn alla olleen projektini eli BASIC-tulkin. Teetätin sille oman piirilevyn. Tämä on jatkoa aiemmille sulautettujen harrasteprojekteilleni [3].
Projekti
Jos haluat tehdä saman projektin kuin minä olen tehnyt, niin tätä varten voit tilata minun suunnittelmani piirilevyn. Piirilevy teetettäny sisältää useimmat tärkeimmät komponentit, mutta ei välttämättä kaikkia. Tarvitset myös mm. PS/2-näppäimistön ja VGA-näytön. [1]
Piirilevyn lisäksi tarvitse myös kaksi Arduino Nanoa, joista ensimmäiseen tulee laittaa Tiny Basic. Toiseen Arduinoon tarvitset ohjelmistopohjaisen VGA-näytönohjaimen. [2]
PS/2
PS/2 on vanheneva standardi, jolla on toteutettu näppäimistön ja hiiren rajapinta tietokoneelle. Standardilla on kuitenkin yhä paikkansa harrasteprojekteissa. On hyvä tietää, että nykyajan Plug ’n Play-näppäimistö ei toimi USB-PS/2 -muuntimella PS/2-standardin mukaisesti. [4]
BASIC
BASIC on ohjelmointikieli, joka on alkujaan kehitetty opetuskäyttöön. Syntaksissa on pyritty selkeyteen ja helppoon kirjoitettavuuteen.
BASIC poikkeaa esimerkiksi Pascalin syntaksista siltä osin, että BASIC ei käytä puolipisteitä eli ’;’-merkkiä. Itse Delphillä eli olio-ohjelmointia tukevassa Pascalissa ohjelmoidessa aluksi jouduin ihmettelemään tätä ominaisuutta. Kyseisellä merkillä, tai oikeammin sen pois jättämisellä saattoi olla iso vaikutus esimerkiksi ehtolauseiden suorittamiseen. Pascalin syntaksi mahdollisti ehtolauseiden hyppäämiseen yli, mikä ei ole mahdollista esimerkiksi C-kielellä. Kyseinen ominaisuuden välttämättömyyteen en itse huomannut.
BASIC saavutti yksinkertaisuutensa ansiosta vahvan aseman harrastajapiireissä mikrotietokoneiden alkuaikoina. BASIC-tulkista on lukuisia eri versioita, joita on kehittäneet mm. yliopistojen opiskelijat. Bill Gates sai nerokkaan bisnesidean tehdä bisnestä omalla versiollaan, millä idealla teki ainakin miljoonia ellei miljardeja – kirjaimellisesti. Ilman tätä hänestä ei olisi koskaan tullut maailman rikkainta ihmistä. [7]
Harrastepiireissä Gatesin edellä julkaisema viesti ei välttämättä saavuttanut sitä arvoa, jonka se myöhemmin ansaitsee. Gatesin isä on oikeusoppinut, joten tämän ansiosta hän hyvin oli selvillä immateriaalisista oikeuksista sekä niiden puutteista 1970-luvulla.
MITS tai joku muu taho olisi voinut estää halutessaan Gatesin aikoinaan, mutta useimmat eivät osanneet ennustaa tähän aikaan ohjelmistoalan potentiaalia. Gates käytti armeijalle suunnattua huoneen kokoista IBM:n mainframea kaupallisiin tarkoituksiinsa.
Vielä nykyäänkin on jakoa näkemyksissä sen suhteen, että tulisi ohjelmistojen olla kaupallisia vai vapaata ja avointa lähdekoodia. Kylmänsodan aikana Yhdysvalloissa oli varmasti monien vanhojen jäärien mielestä erittäin perusteltua, että kriittinen osa tietokoneen suorittavaa ydintä pysyy yhdellä taholla.
Windows XP sisälsi vuodesta 2001 eli julkaisustaan koko ylläpidon ajan takaportin, jonka kautta kenen tahansa tietokone oli mahdollista lukita verkon yli [10]. Yhdysvallat on sabotoinut ainakin Iraniin ydinaseohjelmaa haittaohjelmien avulla.
Muuta
Ohjelmistoalalla on iso etu ekosysteemistä. Tämä siis tarkoittaa kehittäjäyhteisöä, joka tekee yhteistyötä. Käyttöjärjestelmä on tämän kokonaisuuden kulmakivi, joka tarjoaa rajapinnat laitteistolle. Sillä on valtava vaikutus ohjelmistokehitykseen. Esimerkiksi Commadoressa BASIC-tulkki toimii eräänlaisena käyttöjärjestelmänä.
Bill Gatesin merkittävin saavutus ei mielestäni ole ohjelmoinnissa itsessään. Enemmänkin kyse on hänen hyvästä kyvystään organisoida ja johtaa tavalla, joka tuo kaikille osapuolille hyötyä.
Kyse ei siis todellakaan ole siitä, että Microsoftin BASIC olisi ollut niin täydellinen. Enemmänkin kyse oli siitä, että tämä mahdollisti ohjelmistoalan kaupallisen kehittymisen yhdessä laitekehittäjien kanssa.
Uskoisin, että BASIC on vain ns. Debug-työkalu laitekehittäjille, jolla he voivat testata helposti esimerkiksi äänipiirin toimintaa. Jos sen saa toimimaan Mikkisoftan BASIC:llä, niin silloin sen voi todetat toimivaksi. Laitevalmistajia ei välttämättä itseään kiinnosta kehittää ohjelmistoja omille laitteilleen, vaan riittää kun heidän kehittämänsä piirilevyt ja mikropiirit toimivat. Tämä Debug-työkalu on lopulta jätetty tietokoneeseen mukaan, koska ei ole keksitty mitään muutakaan parempaa ohjelmaa tietokoneelle käytettäväksi. [7]
1980-luvun tietokoneet olivat saavuttaneet tason, jossa niillä voitiin tehdä musiikkia. Hyvin tunnettu on C64, jonka SID eli 6581-piirillä on tehty erityisen paljon musiikkia. Tämä piiri on eräänlainen kolme kanavainen syntetisaattori, jota voi ohjata ohjelmallisesti.
Ohjelmistoalasta on tullut valtava bisnes, eikä loppu näy. Saattaa olla, että ohjelmistoala on vasta alkukuopissaan. Paljon on tapahtunut kehistystä lyhyessä ajassa. Toisaalta välttämättä pitkällä aikavälillä ei kuitenkaan ole tapahtunut mitään erityisen mullistavaa. Vieläkin ohjelmointi on hyvin samanlaista iffittelyä kuin vuosikymmeniä sitten.
B52-pommikoneet pääsevät lopulta alkuperäiseen tarkoitukseensa: kuljettamaan ydinkärjellä varustettu risteilyohjus pääkallopaikalle. Tämä tietysti vaatii sen, että Venäjä antaa tähän mahdollisuuden. Tämä on mitä mainoin tapa kohottaa kyseisen pommikoneen mainetta.
Command ’n Conquer Red Alert on mainio peli, jossa kuvastetaan vaihtoehtoista historiaa. Pelissä Einstein menee aikakoneellaan historiaan, jossa poistaa Hitlerin 1900-luvun alussa.
Mielenkiintoinen asia on, että pelissä neuvostoliitolla on käytössä Natsi-Saksassa kehityettyjä asetyypejä, kuten V2-raketti, Landkreuzer P. 1000 Ratte -tankki, 1500 tonnin monsteritankki, suihkuhävittäjä ja myös mm. sukellusveneet. [15]
LÄHTEET
[1] OSHWLAB: VGA PS/2 Basic[2] Instructables: Arduino Basic PC With VGA Output
[3] Tuppu.fi: ATX-virtalähteen käynnistäminen Arduinolla
[4] HackADay: Decoding PS/2 keyboard
[5] GitHub: VGAX
[6] GitHub: Tuppu
[7] Tuppu.fi: QWERTY
[8] Wiki: Tiny BASIC
[9] Tuppu.fi: Big Blue
[10] NinjaGambleyen: The NSA’s backdoor in Microsoft Windows
[11] Tuppu.fi: Työelämä paskaa, mutta elämän sisältö
[12] YLE: Osakkaat huolestuivat Fennovoiman ydinvoimahankkeesta
[13] Liveuamap: Venäjän hyökkäys
[14] Tuppu.fi: Ukrainan miehitys
[15] Gentleman’s Military Interest Club: Landkreuzer P.1000 ”Ratte” and P.1500 ”Monster”
[16] The Red Alert Units