Lokomotiv BASIS - Locomotive BASIC

Lokomotiv BASIS
Lokomotiv BASIC amstrad cpc.PNG
Først dukket opp 1984 ; For 37 år siden  ( 1984 )
OS AMSDOS
Tillatelse Proprietær
Påvirket av

Locomotive Basic er en proprietær dialekt av BASIC-programmeringsspråket skrevet av Locomotive Software Amstrad CPC (hvor det ble innebygd på ROM ) og det senere Locomotive BASIC-2 som et GEM-program på Amstrad PC1512 og 1640. Det var viktigste etterkommer av Mallard BASIC , tolken for CP / M som følger med Amstrad PCW .

Det er to versjoner av Locomotive BASIC: 1.0 som bare fulgte med CPC-modellen 464, og 1.1 som fulgte med alle andre versjoner. BASIC 1.1 ble også levert med Amstrad CPC Plus- serien maskiner, som en del av den medfølgende spillpatronen.

Utvikling

Utviklingen var basert på eksisterende arbeid som nylig ble utført ved å skrive Mallard BASIC for Acorn Computers Z80 addon for BBC Micro. Det rapporteres at det har tatt rundt 12 uker å forbedre den eksisterende koden, og ble "veldig påvirket" av BBC BASIC , selv om det ble lagt til flere funksjoner for å gjøre ting som ville ha krevd monteringsspråk på BBC.

Funksjoner

Det var en ganske enkel, men kraftig BASIC-implementering etter dagens standard, med dedikerte kommandoer for håndtering av grafikk (som DRAW, PLOT, INK og PAPIR i alle versjoner; pluss FILL i v1.1), til og med mulig å lage flere skjermer, vinduer og lignende, selv om fargesystemet og paletthåndteringen var vanskelig. En tabell med numeriske koder for de 27 systemfargene ble trykt over det innebygde 3 "diskdekselet på 664 og senere maskiner. Enkelt som det skiller seg ut, men blant andre BASICs av tiden ved å tilby en tidtaker -basert programvareavbruddsmekanisme ved bruk av kommandoene HVERT eller ETTER; dette tilbød en tidsbestemt gjentakelse eller engangsoppringing henholdsvis til BASIC-linjenummeret du velger.

Også sammenlignet med andre hjemmecomputere på den tiden, ga Amstrad via Locomotive BASIC et relativt høyt nivå av kontroll over CPC-lydbrikken, en AY-3-8912 med 3 melodiske kanaler og 1 støykanal . Den samme brikken ble også brukt på ZX Spectrums av senmodell , samt Atari ST- og MSX- datamaskiner, men ingen av dem hadde en så komplett innebygd SOUND-kommando. Mange ting, fra valg av en bestemt kanal eller en kombinasjon av kanaler, innstilling av konvolutter, volum, tonehøyde, støy og så videre kan gjøres med en enkelt SOUND-kommando, med opptil 7 parametere. Gitt, spesielt komplekse og / eller lavnivåteknikker kunne ikke gjøres med BASIC på grunn av at de krever mer presis eller direkte tilgang til maskinvaren, for eksempel spesielt kompleks musikk fra sporere (inkludert simulerte akkorder ved hjelp av arpeggios osv.), Avspilling av digitalt samplede lyder som i spillet RoboCop for eksempel, og så videre.

Disk-, bånd- og filadministrasjon ble administrert av BASIC selv, og var vanligvis gode nok til enkel filadministrasjon, med kommandoer som GET, PUT, ERASE, SAVE, MERGE, RUN, CAT, LOAD osv. Faktisk i løpet av disse årene , fungerte BASIC som standard med hver billig hjemmecomputer også som et mer eller mindre enkelt operativsystem .

Også tilgjengelige var noen spesielle kommandoer for minnetildeling og håndtering, som MEMORY og en parametrisk LOAD-kommando, som for eksempel tillater å laste en fil som inneholder "rå" bildedata i videominnet, slik at den vises, med et par BASIC bruksanvisning. Hvis du legger til riktig (e) minneadresse (r) som parameter i kommandoene LOAD eller SAVE, kan du enkelt laste inn ukomprimerte 16 KB skjermbilder. Å RINGE til en annen adresse ga en tvungen tilbakestilling av systemet (ring 0), den berømte "Trykk på hvilken som helst tast" (ring & bb18) eller for å eliminere flimmer i animasjon ved å la deg synkronisere med skjermens rasterskanning via "sync frame-flyback" (call & bd19 ); dette fikk sin egen dedikerte kommando i Basic 1.1 - RAMME. Med PEEK og POKE ga CALL et grensesnitt for montering av språkprogrammering fra BASIC.

Moderne rivaler

Lokomotiv BASIC sammenlignet med Commodore 64 's BASIC ( Commodore BASIC ), som ikke hadde noen dedikerte kommandoer for grafikk eller lyd, tillot å gjøre stort sett alt som var innenfor maskinens standardfunksjoner. Dette var ikke uviktig, da noen andre tidsmaskiner som brukte full grafikk eller lyd var begrenset til montørprogrammerere . MSX, Spectrum og noen andre tilbød et lignende, mer eller mindre komplett kommandosett for lyd- og grafikkfunksjonene. De eneste tingene som gikk tydelig utover BASIC-funksjonene, var overscan-modusene som ble brukt i spill og demoer, grafikkmodus med 27 farger, avspilling av digital lyd og jevn rulling.

I motsetning til Sinclair BASIC eller Commodore 64 BASIC, som hadde forskjellige hurtigtaster eller spesialtaster for valg av symboler eller farger, ble BASIC-nøkkelord for lokomotiv skrevet inn og tolken ble analysert , gjenkjent og tokenisert dem. Imidlertid var det forkortelser som "?" for "SKRIV UT" og noen få snarveier. Programmer kan lagres på kompaktkassett eller diskett og hentes som binære filer eller ASCII- filer.

Referanser

Eksterne linker