Commodore BASIC

Η Commodore BASIC είναι μια διάλεκτος της γλώσσας προγραμματισμού BASIC που χρησιμοποιήθηκε στους 8-bit οικιακούς υπολογιστές της Commodore International, ξεκινώντας το 1977 με τον PET 2001 μέχρι τον C128 το 1985. Αργότερα προστέθηκε μια έκδοση που προοριζόταν για τον C65 αλλά δεν ολοκληρώθηκε ποτέ. Η BASIC βασίστηκε στο 6502-Microsoft BASIC, το οποίο είχε αδειοδοτηθεί από τη Microsoft έναντι μιας εφάπαξ πληρωμής. Ορισμένες άλλες διάλεκτοι BASIC για υπολογιστές που χρησιμοποιούν τον επεξεργαστή MOS Technology 6502, όπως το Applesoft BASIC, βασίζονται στην ίδια βάση κώδικα και επομένως μοιάζουν πολύ.

 Εκδόσεις 

 V1.0  
Η έκδοση V1.0 κυκλοφόρησε για το PET 2001 με το πληκτρολόγιο του τύπου chiclet.
 Σφάλμα: Οι συστοιχίες περιορίζονταν σε 256 στοιχεία.
 Σφάλμα: Η λειτουργία PEEK δεν λειτουργεί με διευθύνσεις πάνω από $C000. 
 Σφάλμα: Σε λειτουργία κειμένου στην οθόνη, το πλήκτρο Shift λειτουργεί αντίστροφα.

 V2.0  
Η έκδοση V2.0 κυκλοφόρησε για το PET 2001 με πληκτρολόγιο γραφομηχανής και αναβαθμισμένο ROM, καθώς και για τις σειρές CBM 3000, VIC-20 και C64.
 Τα περισσότερα σφάλματα της έκδοσης V1.0 διορθώνονται.
 Μόνο για PET/CBM: Ενσωματωμένη οθόνη RAM με την ονομασία TIM για την εμφάνιση και τον χειρισμό της RAM.
 Υποστήριξη IEEE-488.

 V4.0  
Η έκδοση V4.0 κυκλοφόρησε για τις σειρές CBM 4000, 8000 και τις μεταγενέστερες PET 2001.
 Εντολές δισκέτας: DLOAD, DSAVE, COPY, SCRATCH, 
 Μεταβλητές συστήματος για το κανάλι σφάλματος δίσκου: DS, DS$ (το DS περιέχει τον αριθμό σφάλματος, το DS$ περιέχει το μήνυμα σφάλματος σε απλό κείμενο).
 Δεδομένου ότι αυτή η έκδοση απαιτούσε περισσότερη μνήμη ROM, ανακατανεμήθηκε μια επιπλέον υποδοχή ROM ($Bxxx) σε σύγκριση με το PET 2001, έτσι ώστε να υπάρχουν μόνο δύο ελεύθερες υποδοχές για επεκτάσεις και η χωρητικότητα ROM να αυξηθεί στα 18 KB.

Έκδοση V4.0+ για τη σειρά CBM-II (CBM 500, 6x0, 7x0) 
 Χρήση του διευρυμένου χώρου διευθύνσεων μέσω bank switching: BANK
 Πρόσθεση εντολών δισκέτας όπως: BLOAD, BSAVE, DCLEAR
 Εισάγωγή λειτουργίας αναζήτησης συμβολοσειρών: INSTR
 Μορφοποιημένη εκτύπωση μέσω των εντολών: PRINT USING,PUDEF
 Δυνατότητα εναλλακτικής εκτέλεσης εντολών: ELSE
 Ανάθεση πλήκτρων λειτουργίας: KEY
 Πρόσθετη εντολή επεξεργαστή: DELETE
 Δυναμικός χειρισμός σφαλμάτων μέσω των εντολών: TRAP,DISPOSE,EL,ERR$(),RESUME

 V3.5  
Έκδοση V3.5 για τη σειρά Commodore 264 (C16, C116, Plus/4)
 Περιλαμβάνει εντολές ήχου και γραφικών.
 Έλεγχος Joystick: JOY
 Μετατροπή δεκαεξαδικών: DEC(),HEX$()
 Πιο ευέλικτη ανάγνωση δεδομένων μέσω της εντολής: RESTORE [linenumber]
 Λειτουργία αναζήτησης συμβολοσειρών: INSTR
 Μορφοποιημένη εκτύπωση μέσω των εντολών: PRINT USING,PUDEF
 Εναλλακτική εκτέλεση εντολών: ELSE
 Πρόσθετες εντολές βρόχου όπως: DO,LOOP,WHILE,UNTIL,EXIT
 Ανάθεση πλήκτρων λειτουργίας KEY
 Πρόσθετες εντολές του συντάκτη όπως AUTO,DELETE,RENUMBER
 Δυναμικός χειρισμός σφαλμάτων μέσω των εντολών TRAP,RESUME,ERR$()
 Αποσφαλμάτωση: TRON,TROFF

 V7.0  
Έκδοση V7.0 για το C128

 Πολυσέλιδο IF με τις εντολές BEGIN, BEND
 Αυξημένος αριθμός εντολών ήχου και γραφικών, καθώς και εντολές για τον έλεγχο sprite.
 Έλεγχος paddle και φωτογραφίδας: POT, PEN
 Λειτουργία XOR για αποκλειστική διάζευξη: XOR
 Δυνατότητα προσδιορισμού διεύθυνσης μεταβλητής: POINTER
 Δημιουργία παραθύρου κειμένου: WINDOW
 Εντολή παύσης: SLEEP
 Χρήση των δύο ταχυτήτων του συστήματος με τις εντολές: SLOW, FAST
 Μετάβαση σε λειτουργία C64: GO64
 Χρήση του διευρυμένου χώρου διευθύνσεων μέσω bank switching: BANK
 Χρήση επέκτασης μνήμης (REU) με τις εντολές: STASH, FETCH, SWAP
 Πρόσθετες εντολές δισκέτας: BOOT, BLOAD, BSAVE, DVERIFY, DCLEAR
 Εντολές συστήματος όπως: RREG που καθορίζει τα περιεχόμενα των καταχωρητών του επεξεργαστή μετά από SYS

 V10  
Έκδοση V10 για το C65

 Δεν ολοκληρώθηκε ποτέ πλήρως, παρουσίαζε πολλά σφάλματα. 
 Παρόμοιες λειτουργίες με την έκδοση 7.0
 Χρήση της λειτουργίας genlock: GENLOCK
 Εντολές για το ποντίκι: MOUSE, RMOUSE
 Εμφάνιση αρχείου SEQ στην οθόνη: TYPE
 Αναζήτηση/αντικατάσταση στον πηγαίο κώδικα: FIND/CHANGE
 Διαχείριση μνήμης με εκτεταμένη λειτουργία FRE για τον προσδιορισμό της ελεύθερης μνήμης
 Ορισμός χρωμάτων: PALETTE
 Εντολή για λειτουργίες DMA: DMA
 Εντολές που είχαν οριστεί αλλά δεν είχαν υλοποιηθεί: PAINT, PASTE, CUT, LOCATE, SCALE, WIDTH, QUIT, OFF, SET, VIEWPORT

 Παραπομπές 

Κατηγορία:BASIC
Κατηγορία:Commodore