Atari BASIC

Atari BASIC on tulkki BASIC ohjelmointikieli kehitetty atk-pohjainen 8-bittinen MOS 6502 mikroprosessori markkinoi Atari, Inc. alussa eighties. Tulkki alun perin jaettu patruuna 8 kt ROM ja sittemmin integroitu muisti malleja XL / XLE, joka ladataan automaattisesti, kun tietokone käynnistettiin ilman patruuna työnnetään porttiin. Dell'Atari Basic-lähdekoodia, täynnä kommentit ja suunnittelueritelmistä, julkaistiin kirja vuonna 1983.

Alkuperä kieli

Konsolista tietokoneeseen

Järjestelmät, jotka olivat osa perheen 8-bittinen Atari tietokoneita kehiteltiin aluksi pelikonsoli korvata Atari 2600. kehitys alkoi pian alkamisen jälkeen myynnin konsolin, joka tapahtui vuonna 1977, jonka käyttöikä on laskettu noin kolme vuotta. Vuonna 1977, kuitenkin, se ilmestyi markkinoille ensimmäinen mikrotietokone koottu, kuten Commodore PET, Apple II ja TRS-80. Ray Kassar, joka vuonna 1978 otti puheenjohtajana yhtiön, päätti, että Atari olisi yrittää tulla markkinoille kotitietokoneiden. Tämä tarkoitti paitsi tarkistaa kaikki järjestelmät, kääntämällä ne tietokoneeseen, mutta myös tarjoamaan heille tarvittavat ohjelmistot käyttää niitä, mukaan lukien tulkki BASIC ohjelmointikieli yleisimmin käytetty yleisön.

Microsoft BASIC

Atari kääntyi yritys, joka oli tuolloin tuottaa suosituin tulkki, Microsoft voi olla lisensoida hänen Microsoft 8K BASIC tulkki. Valinta versio 8 kB tulkki saneli se, että levyltä sitten oli, että leikkaus ylös. Atari tajusi kuitenkin, että arvo 8 kB läsnä nimissä version tulkki toimittamien CPU MOS 6502 eivät osoittaneet todellista kokoa lähde: Microsoft BASIC syntyi Intel 8080 ja siirtämiseen 6502 oli lisääntynyt Koodi 9 kB.

Atari sitten sai tietää, että kieli oli laajentaa tukemaan paremmin laiteominaisuudet tietokoneen, kuten Apple teki sen Applesoft Basic. Tämä vaihe kasvattaneet tulkin jopa 11 kt. Tätä ongelmaa pahentaa se, että lähde 6502 hänen tulkki ei ollut dokumentoitu, mikä hidasti työtä ohjelmoijia.

Kehitys tietokoneiden ja koneita meni puolestaan ​​olisi ollut valmis debyytti Consumer Electronics Show 1979 vähentäminen koodin tulkin 11-8 kB myös antaa paljon ongelmia, että Atari päätti kääntyä toisen valmistajan ohjelmisto.

Shepardson Microsystems

Syyskuussa 1978 Atari yhteyttä Shepardson Microsystems, joka oli jo kirjoittanut useita ohjelmia Apple II ja oli lähes kirjoittanut BASIC tietokoneen cromemco perustuu S-100 linja, ja kehotti saattamaan BASIC tulkki. Shepardson tutkinut työstä siihen asti ja totesi, että olisi helpompi kirjoittaa tulkki, joka voisi sijaita 8 kt muistia eikä yrittää pysäyttää vähentämiseen nykyistä. Atari hyväksyi ehdotuksen ja kun kielimäärityksiä määriteltiin, lokakuussa 1978, Paul Laughton ja Kathleen O'Brien asetettu työtä uuden tulkki.

Atari BASIC

Tuloksena oli täysin erilainen tulkki, joka kutsuttiin Atari BASIC. Uudet perustaidot eroavat erityisesti hallinnoinnin merkkijonojen: kun Microsoft BASIC mahdollistaa muutoksen, jonka avulla voit lisätä tai vähentää niiden kokoa, Atari BASIC pitää niitä vakioita, ei muutettavissa.

Sopimus Atari määritelty toimitus 06 huhtikuu 1979 tulkin työ. Kattamaan selkänsä Atari päätti kuitenkin jatkamaan vähentämään Microsoft BASIC, jotta ensimmäinen versio ajoissa CES 1979 näyttää messuilla, ja sitten siirtyä Atari BASIC heti valmistui. Mutta bonuksia toimitusaikoihin teki maali Shepardson toimi etukäteen, että Atari päätti nostaa CES Atari BASIC, koska se valmistui ennen muuntamista Microsoft BASIC.

Versiot

Ohjelmoijat Shepardson oli jäljellä ensimmäisen version tulkin joitakin ongelmia, ja he asettivat korjata ne myöhemmin. Mutta Atari oli jo otettu valmistus dell'Atari ROM BASIC ja teknologia aika ei salli muutoksia ohjelmaan. Atari BASIC vuoksi tuotettu tunnettujen vikoja ja myöhemmin nimitystä Versio A.

  • Versio - ensimmäinen versio kasetin dell'Atari BASIC. Tämä versio sisälsi virheen, että peilattu muisti: Tietyissä olosuhteissa poistaminen riviä koodia johti lohko kone tunnetaan nimellä "2-line kaaduttua".
  • Versio B - Kiinteä eniten vikoja Versio A. aikana bug fix "2-line bug" ohjelmoijat uudelleen samaa virhettä toiminto yleisempää, minkä seurauksena määrä lohkojen lisääntyi huomattavasti. Tämä versio oli esiasennettu malleja 600XL ja varhaisen 800XLs ja ei koskaan jaettu muodossa patruuna.
  • Versio C - poistanut ongelmia muistin hallinta edellisen versiossa B esiasennettu 800XLs viimeistään 800XLF, vuonna XEGS ja kaikissa tietokoneissa XE. Versio Kasetti valmistettiin pieninä sarjoina.

Ohjelmoija voisi tietää versio käytössä tutkimalla tietyn muistipaikka. Komento lisätään VALMIS kone resistuiva Muutoksen, Versio B, ja Versio C

Kieli ominaisuudet

Editor-ohjelma

Atari Basic Editor käytetään raidallinen, kuten monet BASIC aikaa. Toisin kuin muut, mutta se analysoi heti tuli linja etsivät syntaksivirheitä. Jos veniveva antanut väärän komennon, toimittaja toisti linja, joka sisälsi osoittaa kohtaa, jossa virhe havaittiin.

Kun tulkki ollut käynnissä ohjelma, se oli "välitön tilassa". Lisätään rivit, joka alkoi useita pidettiin riviä lähteenä ja varastoidaan, kun taas linjat joka alkoi suoraan ohjaus analysoitiin ja teloitettiin välittömästi.

Kun ohjelmoija kirjoitetaan komento tulkki toteutetaan ohjelman muistiin. Komentoriville voit myös siirtää rivin numero, esimerkiksi, aloittaa suorittamisen koodin tietyssä kohdassa. Jos linja on, suoritus alkoi ilmoitettu, muuten ensimmäinen rivi jälkeen tämä yksi määritelty.

Toisin kuin muut esiintyjät, Atari BASIC lupaa suorittaa kaikki komennot ja suorituksen aikana lähteen välittömässä tilassa. Esimerkiksi ,, osoittaa listalle lähteen muistiin, jos asetettu välitön tilassa, se toimi vaikka vedota ohjelman sisällä itse. Tämä tapa tulkita komentojen oli hyödyllinen, jos halusi kirjoittaa itseään muuttavaa koodia.

Jokainen rivi ohjelma voisi kestää jopa kolme näytön riviä 40 merkkiä kukin, yhteensä 120 merkkiä. Kohdistin voidaan siirtää vapaasti näitä rivejä, toisin kuin muut Basic Editor minne mennä "päälle" ohjelmassa linja oli tarpeen pakottaa selaa vasemmalle, kunnes osoitin ei saavuttanut reunan ja jatkui rivin loppuun edellinen näyttö. Kohdistin voitaisiin siirtää vapaasti ympäri ruutua, ja jos se tuli toiselta puolelta uudelleen näkyviin toisella.

Merkistö

Atari käytetty hieman muutettu joukko merkkejä kuin ASCII-taulukko, nimeltään ATASCII. Ensimmäinen 128 merkkiä vastaavat pääosin niille ASCII, sillä poikkeuksella, että kaikki merkit olivat tulostettava, vaikka niissä koodit 0-31, että ASCII taulukossa, koska niitä ei vastaa "ohjauskoodeja" että He esiintyivät erityisiä toimintoja, kuten rivinvaihdon. Merkit 128-255 olivat käänteinen näyttö ensimmäisen merkin 0-127.

Tulkki hyväksytty muuttujanimet isoja ja numeroita, joiden nimi oli aluksi kirjain. Nimet merkkijonojen on päätyttävä dollarin merkki,.

Merkistön sisälsi myös pienet kirjaimet ja joitakin grafiikan merkkiä vaikka suurin osa kieltä, jotka tehtiin saatavilla niille tietokoneiden sekä Atari BASIC, ei tunnista komentoja kirjoitettu isoilla kirjaimilla.

ROM Versio C tulkki pistit joukko erikoismerkkejä että mukana painollinen kirjaimet, suunniteltu käytettäväksi Euroopassa.

Koska joukko merkkejä kopioitiin tietyllä alueella RAM, josta tulkki lukea tiedot tulostettavat merkit video, käyttäjä voi muuttaa, jotka yhdessä yksinkertaisesti kopioimalla sen luonne kartasta alkuperäiseen .

Tokenizer

Kuinka monta tulkkia ajasta, jopa Atari BASIC käytetään tokenizer joka käsitteli muuntaminen sisältämiä komentoja fyysinen linjat pitkä muoto, jossa ne lisätään käyttäjän tiiviimmäksi symbolisina, joka mahdollisti säästö käytetyn muistin sisältävän ohjelman.

Tulos käsitellään tokenizer varastoitiin sitten eri muistiin alueilla riippuen tietojen muodossa osoitin tavuun 2: muuttujien nimet säilytettiin nimisellä alueella muuttujan nimi pöytään, kun niiden arvot toisessa alue nimeltä muuttujan arvo pöytä, ja niin edelleen muita kohteita. Muuttuja ei edellytä, että hänen nimensä oli ilmestynyt aina tallennettu koodi kokonaisuudessaan: se riitti antamaan osoitin sopivaan muistiin. Nimenmuutos oli myös helppoa, koska se riitti muuttamaan arvoja, joihin se tallennetaan nimi muutos maailmanlaajuisesti.

Microsoft BASIC oli muutama lyhennetty muotoja komentoja, kuten ja takaisin. Atari BASIC annettiin sen sijaan lyhentää kaikki varattuja sanoja kirjoittamalla yksi tai useampi kirjain sanan ja sitten lisäämällä piste: esimerkiksi ,, ja voi olla kaikki lyhytmuotoja ja hakea. Laajentaa lyhennettynä, tokenizer pyrkinyt luettelo avainsanoista ja sitten vielä korvaaminen ensimmäinen esiintyminen löytynyt. Luettelo määrättiin laittaa ylemmän lyhyempi lyhenteitä yhteisiä komentoja, jotta auttaa ohjelmoija kun kirjallisesti koodi: tästä syystä ".", Mikä vastasi lyhyt muoto, oli ensimmäinen paikka. Tämä myös nopeuttanut leksikaalisen analyysin jälkeen ovat supistuneet muotoja yleisimpiä komentoja kärkeen sallittu tokenizer säästää aina skannaus koko listan. Kun ohjelmasta tulostuu ruudulle, tokenizer riconvertiva lyhyt muotoja laajennettu komentoja.

Muut tulkit ajasta oli komento koostuu useista sanoista erottaa välilyönnillä, esimerkiksi). Atari BASIC ei hyväksynyt tätä syntaksin vaikka hänellä oli kaksi poikkeusta säännöstä komennot saatavuuden ulkoisia laitteita: e.

Haara ohjeet ja saa käytön muuttujan sijaan määrä nimenomaista linjan.

Merkkijonon käsittely

Atari BASIC jouset juoksi täysin eri tyylillä kuin Microsoft BASIC. Viime jouset voi olla pituudeltaan vaihteleva ja mahdollistaa eri toimintoja, kun Altair BASIC käytetty lähestymistapa Fortran, tai jouset olivat ryhmät merkkiä joiden maksimikoko on määritetty komennolla, vaikka sen kokoa voisi muuttaa suorituksen aikana ohjelman välillä tämä arvo ja 0. Koska merkkijono, nähdäksesi hänen koko sisältöä tarpeeksi käyttää nimeä merkkijono, esimerkiksi; mutta jos halusi käyttää vain osa riitti Suluissa alku ja loppu merkkiä, esimerkiksi peruutti merkkiä 4, 5 ja 6.

Tästä huolimatta tapa käsitellä jouset oli erittäin tyylikäs, mutta liittyvät ongelmat, kun piti kantaa sull'Atari BASIC kirjoitettuja ohjelmia muut esiintyjät, koska ei vain ollut harkita ohjeiden ja vastaavia käytetään Microsoft BASIC-tyyli, mutta myös se, että koko merkkijonon Atari BASIC perustettiin priori.

Input / Output

Atari BASIC tuettu pääsy KOK, joka käyttöjärjestelmä tietokoneen Atari hoiti syrjäisten input / output, jossa avainsanoja ja sen jälkeen kanavanumero että haluatte olla. Kanavat, että KOK oli tarjonnut 8, numeroitu 0-7, mutta jotkut eivät olleet käytettävissä, koska käyttäjä varattu: kanavan 0 rappresenteva sama toimittaja; Kanava 6 käytettiin päästä näytön grafiikka tilassa; Kanava 7 käytettiin tulostaa ja käyttää nauhuri kautta valvontaa.

Grafiikka

Atari 8-bittinen oli hienostunut hallintajärjestelmä vuoksi käyttää erityisiä grafiikka siru, ANTIC ja CTIA: tämä, koska tietokoneet on alun perin suunniteltu konsolipelejä. Kahdella chip tarjosi useita Grafiikkatilat ja siellä oli myös tukea sprite.

Valitettavasti Atari BASIC tarjosi mitään komentoja suoraan hallita sprite, mutta että se oli vielä mahdollista käyttämällä PEEK ja Poke, joiden avulla voidaan lukea ja kirjoittaa suoraan kirjaa CTIA. Tulos ei kuitenkaan ollut paras koska grafiikka siru tukee vaakavieritys on sprite, mutta ei pystysuora joten käyttämällä Atari BASIC, joka oli hyvin hidasta liikkuvat lohkot muistissa, kun kyseessä on vertikaalinen liukuva suorituskyvyn saatiin niukat. Käsitellä tätä ongelmaa ohjelmoijat turvautuneet muutamia temppuja: he käyttivät pieni toimintoja kirjoitettu suoraan koneen kielellä tai ulkoa tiedot sprite jouset ja sitten käytetään kopio ominaisuuksia jouset, jotka olivat toimii konekielisen ja sitten juoksee hyvin nopeasti .

Välineet hallintaan grafiikka olivat:, ,, ,, ja. Hän puuttui komento täyttää tietyn alueen kanssa väri, outo puute koska käyttöjärjestelmä oli toiminto tämän tehtävän suorittamiseen.

Suorituskyky

Verrattuna muihin tulkkeja esiasennettuna tietokoneissa samanlainen aikana, Atari BASIC oli erittäin hidas, varsinkin kun otetaan huomioon, että MOS 6502 toimi nopeudella lähes kaksinkertainen verrattuna muihin järjestelmiin. Suurin osa ongelmista hitaan johtui useita syitä, jotka johtuivat luonteesta koodin ja järjestelmä.

Ensimmäinen syy oli se, että Atari BASIC voisi käyttää muuttujia sijaan rivinumerot haara ohjeet ja, ja tämä aiheutti lisäystä laskelmat hakutoiminto rivin numero. Lisäksi tulkki ei tuottanut virhe, jos määritettyä linjaa ei ollut olemassa, vaan suoritus meni linjan heti. Tämä käyttäytyminen hyväksyttiin toteuttaa käyttäytymistä syklin ... ja hidastaa toteuttamista.

Toinen syy makasi että Atari BASIC ei käsitellä natiivisti kokonaislukuja: kaikki numerot, mukaan lukien rivinumerot, oli liukulukuja kokonaisluvuiksi kanssa operaation, joka näki suoritetaan jatkuvasti muuntaa täyden pisteen mobiili ja päinvastoin. Tämä johtuu siitä, että Atari BASIC nojasi hallintaan toimintoja liukulukuja oletus käyttöjärjestelmässä tietokoneen, joka lisäksi käyttää BCD merkintätapa tallentaminen johtuu siitä, että CPU natiivisti tuetussa muodossa.

Aikanaan, useat valmistajat alkoi markkinoida BASIC tulkkeja vaihtoehto suorituskykyä 3-5 kertaa korkeammat kuin dell'Atari BASIC. Jopa sama Atari julkaisi BASIC, joka oli alkanut kehittää perusteella Microsoft BASIC, Atari Microsoft BASIC, joka oli erinomainen suorituskyky, mutta että se ei ollut yhteensopiva Atari BASIC.

  0   0
Edellinen artikkeli Ziano Piacentino
Seuraava artikkeli PSY

Aiheeseen Liittyvät Artikkelit

Kommentit - 0

Ei kommentteja

Lisääkommentti

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Merkkiä jäljellä: 3000
captcha