Αφιέρωμα στον ΤΙ-99/4Α και τα εφηβικά μου προγράμματα!

sonic2000gr

RetroWannaBe
Joined
6 Δεκ 2009
Μηνύματα
67
Αντιδράσεις
8
Σχεδόν κάθε χρόνο βγάζω τα ρετρό μηχανήματα μου από το ντουλάπι για ένα στοιχειώδες service και πολλές φορές φωτογράφιση ή βιντεοσκόπηση. Οι περισσότεροι θα έχουν δει τα αντίστοιχα βίντεο μου στο youtube. Πράγματι και φέτος τα έβγαλα - εκτός από τον TI-99 που είναι και το θέμα μας εδώ - και έβγαλα και μερικές φωτογραφίες που δημοσίευσα στο FB. Δεν βλέπω πλέον την ανάγκη να γυρίσω βίντεο γιατί κατά πάσα πιθανότητα θα λέω τα ίδια και τα ίδια.

Όμως από όλα τα μηχανήματα που έχω, το ένα που σαφως ξεχωρίζει είναι ο ΤΙ-99:

- Ήταν το πρώτο μου μηχάνημα

- Το ένα από τα τρία TI-99 που έχω είναι το *original* που είχα αγοράσει το 1984 (!)

- Σε αυτό πάνω έμαθα προγραμματισμό σε BASIC / Extended BASIC και μετά ήρθαν τα υπόλοιπα μηχανήματα, γλώσσες, assembly...

Σαν αποτέλεσμα, στο μηχάνημα αυτό έχω γράψει πλήθος δικών μου προγραμμάτων (αλλά και προγράμματα από listings περιοδικών) και ευτυχώς σώζονται αρκετά από αυτά σε κασέτες (οι οποιες για κάποιο λόγο... λειτουργούν ακομα).

Πριν από αρκετά χρόνια και προβλέποντας οτι κάποια στιγμή οι κασέτες ή/και τα κασετόφωνα θα σταματήσουν να λειτουργούν προχώρησα στην ψηφιοποίηση αρκετών - αν και μάλλον όχι όλων - των προγραμμάτων χρησιμοποιώντας ένα πρόγραμμα που λέγεται CS1er ώστε πλέον να μπορούν να εκτελεστούν σε ένα εξομοιωτή (αλλά και να γίνουν remastered audio και να ξαναφορτωθούν από την κάρτα ήχου σε ένα αληθινό TI-99).

Σκοπός μου σε αυτό το thread - αν υπάρχει το αντίστοιχο ενδιαφέρον - είναι να σας παρουασίασω μερικά από τα προγράμματα μου (αλλά και προγράμματα από περιοδικά που βρίσκονται ακόμα στις κασέτες μου) δίνοντας φωτογραφίες, περιγραφή, αναμνήσεις αλλά και το ίδιο το πρόγραμμα για να τρέξετε σε κάποιο εξομοιωτή.

Για το σκοπό μου χρησιμοποιώ τον εξομοιωτή classic 99 ο οποίος είναι πολύ καλός και απλούστατος στη χρήση. Τα αρχεία που θα δίνω μπορείτε να τα βάλετε στον κατάλογο που προορίζεται για το DSK1 (οδηγός δισκέτας που ποτέ βέβαια δεν είχα...). Απλες οδηγίες χρήσης μπορείτε να βρειτε σε αυτό το άρθρο μου στο deltahacker - όπου υπάρχει και ο Enigma simulator.

Ξεκινάω λοιπόν με ένα πρόγραμμα μου, παραλλαγή του Auto Character Definition που υπάρχει στο User's manual. To auto character definition μας επιτρέπει να δημιουργήσουμε ένα χαρακτήρα (UDG) και μας δινει τον δεκαεξαδικό αριθμό που πρέπει να χρησιμοποιήσουμε στην εντολή CALL CHAR της BASIC για να τον ορίσουμε στο πρόγραμμα μας.

Κατά αντιστοιχία, το Sprite Definer - η δική μου εκδοχή - κάνει το ίδιο πράγμα με 4 χαρακτήρες ταυτόχρονα, σε διάταξη 2Χ2. Η διάταξη αυτή αντιπροσωπεύει τα μεγάλα sprites στην Extended BASIC του ΤΙ-99.

Για να το εκτελέσετε, κατεβάστε το από εδώ: sprdef.zip. Αποσυμπιέστε το και βάλτε το αρχείο SPRDEF1 στον κατάλογο που αντιστοιχεί στο DSK1 του emulator.

Μπείτε στην Extended BASIC και γραψτε OLD DSK1.SPRDEF1 και μετά RUN

Ενα screenshot είναι το παρακάτω:

Προβολή συνημμένου 137131

και τμήμα από το listing:

Προβολή συνημμένου 137132

Ελπίζω να σας αρέσει η ιδέα μου... Για να σας δελεάσω, θα βγάλω και τον πραγματικό TI-99 και θα ψάξω για τις λεγόμενες "χαμένες κασέτες", με προγράμματα που ελπίζω ότι υπάρχουν και δεν τα έχω ακόμα ψηφιοποιήσει :)

Και τώρα μπορείτε να με βομβαρδίσετε με απορίες και ερωτήσεις!
 
Ωραίος!!! :thumbup:

Είναι ένα απ'τα πράγματα που θέλω να κάνω κάποια στιγμή... Να κατεβάσω από την ντουλάπα τον 800XL και να φορτώσω στο κασσετόφωνο τα προγράμματα που έφτιαχνα τότε σε BASIC...

Θα γίνει σίγουρα... Ελπίζω μόνο οι κασσέτες να είναι ΟΚ, μετά από τόσα χρόνια...
 
Αν μας αρέσει η ιδέα σου?!?!?! Πλάκα κάνεις?!?! Κρεμόμαστε από τα χείλη σου και την αφήγησή σου! :)

Ευχαριστούμε που τα μοιράζεσαι όλα αυτά μαζί μας! :flower:
 
Μπράβο σου ! Πολύ ωραίος ! :thumbup:
 
Αφού είδαμε λοιπόν πως σχεδιάζουμε χαρακτήρες / ομαδες χαρακτήρων, να δούμε πως τους χρησιμοποιούμε.

Αν έχουμε την Extended BASIC, τα πράγματα είναι σχετικά απλά γιατί μας δίνονται εντολές με τις οποίς δημουργούμε sprite και τα κινούμε στην οθόνη. Μάλιστα η Extended BASIC εχει τη δυνατότητα να ορίσουμε εμείς ταχύτητες για τα sprites και αυτά να κινούνται χωρίς επιπλέον παρέμβαση από εμάς και χωρίς να σταματάει η εκτέλεση του προγράμματος μας.

Αυτό βέβαια είναι μια πολύ ισχυρή δυνατότητα αλλά δημιουργεί και κάποιες τραγελαφικές καταστάσεις καθώς προσπαθούμε να ανιχνεύσουμε τη σύγκρουση δύο κινούμενων αντικειμένων: Αν τη στιγμή που γίνεται το πρόγραμμα μας δεν εκτελεί την αντίστοιχη εντολη ανίχνευσης συγκρούσεων (CALL COINC στην Extended BASIC, από το Coincidence = σύμπτωση), η βολή περνάει μέσα από τον απέθαντο... εξωγήινο. Αυτό φαίνεται στο παρακάτω "demo" που έγραψα προσπαθώντας να καταλάβω τη συμπεριφορά των συγκρούσεων. Το διαστημόπλοιο κινείται με τα βελάκια (στον εξομοιωτή) και ρίχνει με το space (η κανονική έκδοση χρησιμοποιούσε joystick). Παρατηρήστε πως αρκετές φορές η βολή περνάει μέσα από τον εξωγήινο (που μοιάζει με... κρεμμύδι χιχι) και δεν γίνεται τίποτα.

Κατεβάστε το από εδώ και εκτελέστε το στην Extended BASIC (φορτώστε το με OLD DSK1.SPRITE3 και RUN)

2.jpg

Μικρό τμήμα από το listing:

1.jpg

Και αν δεν έχουμε την Extended BASIC τι γίνεται;

Η Extended BASIC ήταν ενα cartridge αρκετά ακριβό και χρειάστηκε να περάσει ακόμα ένας χρόνος για να την αγοράσω (και μάλιστα μεταχειρισμένη). Μέχρι την Extended BASIC δεν μπορεί κανείς να δει τις πραγματικες δυνατότητες του μηχανήματος (!) Ωστόσο, με κάποια ενδιαφέροντα κόλπα μπορεί κανείς να πετύχει σχετικά ομαλή κίνηση χρησιμοποιώντας χαρακτήρες. Η σχετική τεχνική πιστεύω είχε δημοσιευθεί σε κάποιο τεύχος του Pixel και με σχετικό πρόγραμμα για Spectrum (?) και από εκεί την εφάρμοσα και εγώ στο παρακάτω demo.

Κατεβάστε το από εδώ. Φορτώστε το στην απλή TI BASIC (δεν τρέχει στην Extended!) με OLD DSK1.ANIM2 και RUN

3.jpg

και μικρό κομμάτι από το listing:

4.jpg

Μέχρι που διάβασα για τη συγκεκριμένη τεχνική, το μόνο animation που μπορούσα να κάνω στην απλή TI BASIC βασίζονταν σε κίνηση ενός χαρακτήρα από τη μια θέση στην άλλη - μια καθόλου ομαλή κίνηση. Δυστυχώς λόγω της υπερβολικά χαμηλής ταχύτητας της TI BASIC, ούτε το παραπάνω μπορούσε να χρησιμοποιηθεί για πρακτικά προγράμματα.
 
Πολύ ωραίος!! Αυτό που λες με την ετήσια συντήρηση πρέπει να το κάνω κι εγώ. Κάποτε θα πάψει να μου παίζει η οθόνη του mac plus και θα κλαίω με μαύρο δάκρυ. :eek:
 
Πολυ ωραιο θεμα,ανταξιο του Retromaniax,thank you.
 
Σας ευχαριστω για τα καλά σας λόγια, θα κάνω ένα ποστ την ημέρα,

καθώς ανακαλύπτω ξανά τα παλιά μου προγράμματα!
 
Θέλω να κάνω μια πολύ χαζή ερώτηση, οπότε a priori ζητάω την κατανόησή σας! Ποια η διαφορά της Basic, της GW Basic (αυτήν έκανα εγώ), της TI Basic & της Extended Basic? Ειδικά δε την τελευταία, νομίζω ότι πρώτη φορά την ακούω.
 
Eξαιρετικος sonic2000!!Θελουμε και αλλο!!!

D@redevil είπε:
Θέλω να κάνω μια πολύ χαζή ερώτηση, οπότε a priori ζητάω την κατανόησή σας! Ποια η διαφορά της Basic, της GW Basic (αυτήν έκανα εγώ), της TI Basic & της Extended Basic? Ειδικά δε την τελευταία, νομίζω ότι πρώτη φορά την ακούω.
Αα....καλα...εσυ εισαι πολυυυ νεουδι!!!! :p Η Basic μετα την δημιουργια της,απεκτησε διάφορες εκδόσεις,γιατι ο καθε κατασκευαστης προσεθετε ή τροποποιουσε εντολες προκειμενου να την προσαρμοσει καλυτερα στο δικο του μηχανημα.Το προβλημα ηταν οτι εκτος απο προγραμματα του στυλ:

10 FOR X=1 TO 10

20 PRINT X*3

30 NEXT X

...oι περισσοτεροι υπολογιστες ηταν ασυμβατοι μεταξυ τους ,αφου ηθελες πολυ δουλεια για να μετατρεψεις ενα προγραμμα με γραφικα απο amstrad σε spectrum πχ..

Η GW basic δημιουργηθηκε απο την M$ και ηταν μια χαρα γλωσσα (και σχεδον ιδια με αυτη του TRS-80 color computer,του Dragon και του MSX).Για να ριξουν το κοστος,καποιοι κατασκευαστες -οπως η ΤΙ ή η Radio Shack με το TRS-80- εδιναν τον υπολογιστη με την standard basic,που ομως ειχε λιγοτερες δυνατοτητες με αποτελεσμα να πρεπει να αγορασεις την extended για να εχεις προσβαση σε αυτες.Πχ στο color computer με την standard basic δεν μπορουσες να κανεις ουτε ενα κυκλο ,οποτε επρεπε να παρεις την extended (αλλιως θα επρεπε να καταφυγεις σε γλωσσα μηχανης :xm: ).

Παραδειγμα διαφορας στην τιμη:

178.jpg

πηγη

Επισης να προσθεσω οτι εαν ειχες την...ατυχια να αγορασεις υπολογιστη απο τσιγκουνηδες οπως ο Tramiel (λεγε με commodore 64:p),ε..εκει δεν ειχε standard και extended ,απλα ηταν μια γλωσσα μηχανης με μερικες εντολες Basic (χε,χε την ειπα την κακια μου βραδιατικα!!)
 
Τελευταία επεξεργασία από έναν συντονιστή:
Ωραίος ρε μάγκα, συνέχισε να μας τροφοδοτείς! Πόσο χρονών ήσουν όταν τα έγραφες; Τελικά εργάστηκες ως προγραμματιστής μεγαλώνοντας;
 
alkis21 είπε:
Ωραίος ρε μάγκα, συνέχισε να μας τροφοδοτείς! Πόσο χρονών ήσουν όταν τα έγραφες; Τελικά εργάστηκες ως προγραμματιστής μεγαλώνοντας;
Τα προγράμματα που βλεπετε τα έγραψα από 15 ως περίπου 18 χρονών. (Μετά ακολούθησαν άλλα φυσικά, σε άλλα μηχανήματα :D )

Και ναι, σπούδασα ηλεκτρονικά και υπολογιστές, έγραφα και γράφω ακόμα προγράμματα αλλά τώρα είμαι στον κλάδο της εκπαίδευσης οπότε διδάσκω και προγραμματισμό...

Σχετικά με την ερώτηση για την ΤΙ BASIC και την Extended:

H TI Basic είναι η εκδοχή της BASIC που έχει φτιάξει η ΤΙ για τον 99/4Α. Βασίζεται στο πρότυπο ANSI Minimal Basic και έτσι τηρεί κάποιες ελάχιστες απαιτήσεις. Την έχουν επεκτείνει με μια σειρά από ενσωματωμένα υποπρογράμματα (χονδρικά κάποιες εντολές που ξεκινάνε με την λέξη CALL) για να της προσθέσουν γραφικά, ήχο, χρώματα κλπ.

Ωστόσο οι δυνατότητες της ειναι αρκετά μικρές και δεν εκμεταλλεύεται τις ικανότητες του ΤΙ-99. (Η ταχύτητα επίσης ειναι απελπιστικη...)

Η Extended BASIC είναι ένα cartridge που προστίθεται στην κονσόλα κα επεκτείνει σημαντική την ισχύ της BASIC

- Δυνατότητες για Sprites

- Δυνατότητες για δημιιουργία δικών μας υποπρογραμματων με τοπικές μεταβλητές (χρόνια μπροστά από την GW BASIC!)

- Αρκετά ταχύτερη

- Δυνατότητα χρήσης της μονάδας επέκτασης μνημης

- Δυνατότητα χρήσης του Speech synthesizer

- Πολλά ακόμα...

Θα βγάλω μερικές φωτογραφίες από αυτά σε επόμενα ποστ για να έχουμε μια αναφορά :)
 
Κύριε Resurrector & Sonic, άπειρα ευχαριστώ! Ψήνομαι από περιέργεια να δω τι άλλα καλούδια έχω να μάθω από αυτό το θρεντ! :flower:
 
Παρακαλω Μαριανα!! :thanx2: Και εγω περιμενω την συνεχεια του thread...
 
Μια που βλέπω και ψήνεστε, να μερικές φωτογραφίες από το πρακτικά πλήρες documentation set που έχει ένας TIer για να γράψει σε BASIC / Extended BASIC. Λειπουν μόνο τα δύο reference cards, αλλα δεν θα αντεξω να κατεβάσω τόσα κουτιά βραδιάτικα :)

Τα δύο extended BASIC carts (ή Solid State Software Command Modules όπω τα έλεγε η ΤΙ :cool: ) είναι το ένα δικό μου το πρωτότυπο (το μπεζ) και το μαύρο ένα που αγόρασα το 2001 από το ebay για να συνοδεύσει το μαύρο μου ΤΙ-99:

DSC_5145.jpg

Τα τρία βιβλία που ακολουθούν έρχονται με τον υπολογιστή και το cartridge. To πρώτο βιβλίο είναι της Extended BASIC και είναι όπως φαντάζεστε το πρωτότυπο μου από τότε (ντυμένο από τότε, όπως και τα υπόλοιπα - ευτυχώς):

DSC_5148.jpg

Στο εξώφυλλο ήδη μπορείτε να διαβάσετε τις φοβερές νέες δυνατότητες που δίνει σε σχέση με την ΤΙ BASIC!

To επόμενο βιβλίο είναι το User's Reference Guide, πολύ επαγγελματικά γραμμένο. Εξηγεί τόσο τις συνδέσεις και τα τμηματα του υπολογιστή όσο και τη γλώσσα TI BASIC για την οποία υπάρχει αναλυτική αναφορά στις εντολές. Στο τέλος του βιβλίου υπάρχουν και κάποια παραδειγματα προγραμμάτων (όπως η αρχική έκδοση του Autochar) και ένα παιχνίδι, το Graphics Match (περισσότερα γι'αυτό αργότερα). Ο κώδικας και από τα δύο "ανοίγει" πραγματικά τα μάτια δείχνοντας φοβερά κόλπα σε ένα αρχάριο!

DSC_5149.jpg

Και τέλος ένα βιβλίο με απίστευτη παιδαγωγική αξία, το οποίο είναι οδηγός εκμάθησης BASIC για αρχάριους, όπως πρέπει να είναι: επεξηγηματικός, απλός, με παραρδείγματα που περιέχουν χρώματα, σχήματα, animation, ήχους. Απλά απίθανο! Μόλις "αποφοιτούσες" από αυτό ήσουν έτοιμος να μάθεις και να εκμεταλλευτείς περισσότερες εντολές από το User's Reference Manual:

DSC_5150.jpg

Σε μια καλή μου ρετροεποχή, σκάναρα και εκανα OCR όλο το βιβλίο της Extended BASIC και το έστειλα στην κοινότητα. Η αρχική μορφή ήταν MS Word, αλλα το μετέτρεψαν και σε PDF. Έχω τηρήσει ευλαβικά τη σελιδοποίηση, είναι σαν το πρωτότυπο! Είχε ανέβει εδώ: http://www.99er.net/docs.html αλλά πλέον βλέπω ότι τα links δεν δουλεύουν :(
 
( Εκτος απο εδω >>>http://allmvp.dyndns.org/994asoft.html )

sonic2000gr είπε:
Σε μια καλή μου ρετροεποχή, σκάναρα και εκανα OCR όλο το βιβλίο της Extended BASIC και το έστειλα στην κοινότητα. Η αρχική μορφή ήταν MS Word, αλλα το μετέτρεψαν και σε PDF. Έχω τηρήσει ευλαβικά τη σελιδοποίηση, είναι σαν το πρωτότυπο!


Είχε ανέβει εδώ:
http://www.99er.net/docs.html αλλά πλέον βλέπω ότι τα links δεν δουλεύουν :(
Μηπως

http://web.archive.org/web/20150703164639/http://www.99er.net/download2/index.php?act=view&id=138

(κατεβαινει κανονικα,αλιευτηκε απο εδω )
 
Τελευταία επεξεργασία από έναν συντονιστή:
Nemo είπε:
Στην πραγματικότητα το link είναι http://museum.freebsdgr.org/994asoft.html και πρόκειται για το προσωπικό μου μουσειακό site, που τρέχει στον οικιακό μου server και δεν θα χαθεί, αλλά κριμα που το 99er.net χάνεται σιγά - σιγά καθώς φαίνεται...

Τέλος πάντων, ας συνεχίσουμε με δύο ακόμα προγράμματα, κατά σύμπτωση το ένα ειναι το TI Invaders που φαίνεται και στην παραπάνω σελίδα!

Είναι ένα πρόγραμμα για TI BASIC (όχι extended) και αφού το κατεβάσετε από εδώ μπορείτε να το φορτώσετε με OLD DSK1.INVADEX και RUN:

ti-invaders.jpg

invader1.jpg

Ενδιαφέρον ειναι το γεγονος ότι λέγεται ΤΙ INVADERS αλλά μετα βίας καταφέρνει να δείξει... ένα invader. Ωστόσο το πρόγραμμα αποτελεί... άθλο για την αργή TI BASIC καθώς καταφέρνει να κινεί ταυτοχρονα τον εξωγήινο και το δικό μας σκάφος, που σημαίνει ότι καταφερνει να διαβάζει το πληκτρολόγιο συνέχεια και να παρεμβάλλει τις εντολές κινησης του σκαφους μας ανάμεσα σε αυτές του εξωγήινου. Φυσικά το gameplay είναι τόσο... συναρπαστικό που εγγυάται οτι θα κοιμηθήτε τα 5 πρώτα λεπτά. Αριστερά - δεξιά με πλήκτρα S και D, fire με το space. :cool:

Φαντάζομαι θα θυμάστε οι περισσότεροι πως όλα τα παιδιά την εποχή εκεινή για να "ψησουμε" τους γονείς μας να μας πάρουν υπολογιστή είχαμε το φοβερό επιχείρημα οτι "θα μας βοηθάει στα μαθήματα". Συνήθως αυτό χτύπαγε καμπανάκι στους γονείς (που ακόμα ενδιαφέρονταν τότε για το τι κάνουν τα παιδιά τους στο σχολείο, άλλη μεγάλη συζήτηση αυτή...) και με λίγη καλή πίστη δούλευε (ποιος ξέρει πόσα Spectrums, Amstrads και Commodores έχουν αγοραστεί έτσι). Ε λοιπόν, έγω πράγματι έγραψα προγράμματα που βασίζονταν σε σχολικά μαθήματα. Ξεκινάω εδώ με το πρώτο, ένα πρόγραμμα τριωνύμου.

Κατεβάστε το από εδώ και φορτώστε το στην απλή TI BASIC με OLD DSK1.TRIONYM και RUN:

trionym-menu.jpg

trionym-listing.jpg

Το ενδιαφέρον με το συγκεκριμένο πρόγραμμα είναι ότι δεν επιλύει απλώς το τριώνυμο αλλά έχει τη δυνατότητα να κάνει και μελέτη προσήμου ριζών / προσήμου τριωνύμου!

Έχω γράψει και άλλα προγραμματα μαθηματικών και φυσικής που θα δείξω σε επόμενα ποστς.

trionym-menu.bmp
 

Συνημμένα

  • trionym-menu.bmp
    165,8 KB · Προβολές: 2
Να ζητήσω μια πολύ μεγάλη χάρη? Θα μπορούσες αν έχεις χρόνο και διάθεση να μου εξηγήσεις τι κάνουν οι εντολές που βλέπουμε πιο πάνω? Οκ, για την CALL απάντησες ήδη, αλλά όλα αυτά τα char τι ρόλο παίζουν?
 
D@redevil είπε:
Να ζητήσω μια πολύ μεγάλη χάρη? Θα μπορούσες αν έχεις χρόνο και διάθεση να μου εξηγήσεις τι κάνουν οι εντολές που βλέπουμε πιο πάνω? Οκ, για την CALL απάντησες ήδη, αλλά όλα αυτά τα char τι ρόλο παίζουν?
Όπως είπα σε προηγούμενο ποστ, η CALL χρησιμοποιείται για να καλέσουμε υποπρογράμματα τα οποία είναι ενσωματωμένα στην TI BASIC και επεκτείνουν τη λειτουργια της σε σχεση με την ANSI minimal BASIC από την οποία προέρχεται. Στην Extended BASIC έχουμε επίσης τη δυνατότητα να φτιάξουμε δικά μας υποπρογράμματα τα οποία να καλούμε με την CALL. Η TI BASIC έχουν μια σειρά από βασικά υποπρογράμματα που έχουν να κάνουν με εικόνα, χαρακτήρες, χρώματα ήχο:

- CALL CLEAR: καθαρίζει την οθόνη (CLS σε άλλες BASIC)

- CALL CHAR: καθορίζει τη μορφή ενός χαρακτήρα επιτρέποντας μας να σχεδιάσουμε δικούς μας χαρακτήρες (π.χ. ελληνικά, μπάλες, διαστημόπλοια!)

- CALL COLOR: Οριζει χρώματα για κείμενο / χαρακτήρες

- CALL SCREEN: Ορίζει το χρώμα της οθόνης

- CALL HCHAR: Τοποθετεί ένα χαρακτήρα σε συγκεκριμένη θέση στην οθόνη και προαιρετικά τον επαναλαμβάνει οριζόντια

- CALL VCHAR: Όπως παραπάνω, αλλα προαιρετικά τον επαναλαμβάνει κάθετα

- CALL GCHAR: Διαβάζει χαρακτήρα που βρίσκεται σε συγκεκριμένη θέση στην οθόνη

- CALL SOUND: Παίζει ήχο σε οποιοδήποτε από τα τρία (ή και στα τρία) καναλια ήχου και το ένα καναλι θορυβου

- CALL JOYST: Διαβάζει τη θέση του μοχλού (joystick)

Η Extended BASIC προσθέτει και άλλες εντολές, με χαρακτηριστικότερη την CALL SPRITE για δημιουργία κινούμενου αντικειμένου.

Για να γίνω τώρα ακόμα πιο vintage, να κανω ενα παράδειγμα της CALL CHAR σε χαρτι. Φυσικά για ένα χαρακτηρα σχεδιάζαμε στο AUTOCHAR πρόγραμμα ενώ για μέχρι 2Χ2 στο sprite definer που έδειξα στο πρώτο ποστ. Για μεγαλύτερες ομάδες χαρακτήρων που θα εμφανίζαμε ενωμενους, σε μιλιμετρέ (!!) χαρτί...

Εδώ θα δείξω τη λογική για ένα χαρακτήρα στο χαρτί, το κλασικό μπαλακι που έχουμε σε προγράμματα όπως το bouncing ball:

DSC_5153.jpg

Ο χαρακτήρας μας σχεδιάζεται σε ένα πλέγμα 8Χ8. Η κατακόρυφη μπλέ γραμμή χωριζει την καθε οριζόντια γραμμή σε δύο τμήματα των 4 bit. Γράφουμε 1 όπου το τετραγωνάκι είναι γεματο και 0 όπου είναι άδειο. Έτσι η πρωτη γραμμή έχει τους αριθμους 0011 και 1100. Μετατρέποντας αυτούς τους αριθμούς στο δεκαεξαδικό, εχουμε το 3 και το C. (15 χρονών έπαιζα ήδη δυαδικο και δεκαεξαδικό στα δάκτυλα εξαιτίας αυτού, ενώ είχα μάθει απέξω και όλες τις δυνάμεις του δύο μέχρι το 2^24).

Συνεχίζοντας για όλες τις γραμμές προκύπτει τελικά η σειρά:

3C7EFFFFFFFF7E3C.

Έστω ότι θελουμε να ορισουμε το χαρακτήρα 128 ώστε να πάρει τη μορφη αυτής της μπάλας και να την τοποθετήσουμε στην οθόνη στη θέση 12,15 (γραμμή, στήλη):

10 CALL CLEAR

20 CALL CHAR(128,"3C7EFFFFFFFF7E3C")

30 CALL HCHAR(12,15,128)

...

Ελπίζω το παράδειγμα να ειναι κατανοητό ;)
 
Ωραία ανάλυση Sonic!

Είμαι περίεργος άραγε γιατί το σπάει ανά 4bits.
 
Πίσω
Μπλουζα