Basictulkki

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]

PS/2 spoiler
So how does a PS/2 keyboard interface work?
[collapse]

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]

Kuva. Gatesin kirje harrastajille.

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.

BASIC spoiler
Video. Retro Programming – Creating sprites on the C64
Video. Retro Programming on the Commodore 64 – Episode 1 – Getting Started
video. Commodore64 C64 SPRITE SCROLLER IN BORDER
[collapse]

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.

kuva. All wrongs reserved. [8]

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ä.

Video. C64 The Ocean Loader 🌊

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.

Assembler spoiler
Video. Commodore 64 Assembly Language Programming With Turbo Macro Pro
Video. 39-Year-Old Pac-Man Bug (Partly?) Fixed: Commodore 64
[collapse]

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]

Video. The Epic Commodore C64 SID Collection – 11 hours of C64 Music

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.

Musiikki. Grazie

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.

Venäjän Sota
Video. Fennovoiman toimitusjohtaja saa puhelun Työ- ja elinkeinoministeriöstä. [11, 12, 13]
Kuva. Venäjän hyökkäys. [13]
Kuva. Huolto satojamiljoonien watin teholla säteilevien ydinsauvojen päällä, sekä vastaava reaktori Neuvostoliiton jälkeiseltä ajalta. [14]

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.

Video. Vietnam War – Part 1 [Real Footage]
Video. DOS Game: Ganja Farmer.
Video. Homeless Vietnam veteran in NYC uses his military training to survive homelessness.
Video. Boeing B-52 Re-engine: The Right Choice for the Air Force.
Video. Boeing B-52H – Showcase #154 – Mods & Addons for Microsoft Flight Simulator 2020 4K.
Video. The United States sent four strategic bombers carrying nuclear weapons to the Russian borders.

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]

Video. Red Alert Remastered – Allies Mission 14 (final mission) – No Remorse [Hard]
Video. Red Alert Remastered – Allies Mission 1 – In the Thick of It [Hard]
[collapse]

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

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

This site uses Akismet to reduce spam. Learn how your comment data is processed.