UTIL: ZX Spectrum, δύο χρήσιμες ρουτίνες

Τα δικά μας προγράμματα!

Συντονιστής: Developers

Άβαταρ μέλους
ZX_Jim +
Z80 power CPU
Z80 power CPU
Δημοσιεύσεις: 1407
Εγγραφή: Παρ Σεπ 04, 2009 1:06 am
Επικοινωνία:

UTIL: ZX Spectrum, δύο χρήσιμες ρουτίνες

Μη αναγνωσμένη δημοσίευσηαπό ZX_Jim + » Πέμ Ιούλ 29, 2010 10:21 pm

Το αρχείο hrpdoub.tzx, περιέχει δύο χρήσιμες ρουτίνες για τα προγράμματα που φτιάχνουμε στον ZX Spectrum. Είναι ένα «πάντρεμα» από ρουτίνες που έχουν δημοσιευτεί στο βιβλίο «Graphics και Κίνηση στον Spectrum», του Philip Lees.


1η ρουτίνα:
Τυπώνει έναν χαρακτήρα αρχίζοντας από οποιοδήποτε pixel της οθόνης θέλουμε. Χρειάζονται οι δύο συντεταγμένες του χαρακτήρα και το code του χαρακτήρα. Αυτά, τα κάνουμε με 3 poke:
Poke 23728, κάθετη συντεταγμένη (0-192)
Poke 23729, οριζόντια συντεταγμένη (0-255)
Poke 23681, code “χαρακτήρας
Και μετά γράφουμε: randomize usr 50000 ή let xyz=usr 50000
Η μέτρηση αρχίζει από την κάτω αριστερή γωνία.

Π.Χ.
10 POKE 23728,100
20 POKE 23729,150
30 POKE 23681,CODE ”a”
40 RANDOMIZE USR 50000


2η ρουτίνα:
Τυπώνει χαρακτήρες στην οθόνη με διπλάσιο μέγεθος από το κανονικό. Χρειάζονται οι δύο συντεταγμένες του χαρακτήρα και το code του χαρακτήρα. Αυτά, τα κάνουμε πάλι με 3 poke:
Poke 23728, κάθετη συντεταγμένη (0-23)
Poke 23729, οριζόντια συντεταγμένη (0-31)
Poke 23681, code “χαρακτήρας
Και μετά γράφουμε: randomize usr 50151 ή let xyz=usr 50151
Η μέτρηση αρχίζει από την πάνω αριστερή γωνία.

Π.Χ.
10 POKE 23728,10
20 POKE 23729,15
30 POKE 23681,CODE ”a”
40 RANDOMIZE USR 50151


Tips για την χρήση τους:
Αφού φορτώσουμε τον κώδικά από το αρχείο hrpdoub.tzx (με LOAD””CODE), γράφουμε το πρόγραμμα basic που θέλουμε. Σαν πρώτη γραμμή γράφουμε:
10 CLEAR 49999 : LOAD””CODE
Αυτό, για να φορτώσει τον απαραίτητο κώδικα την επόμενη φορά που θα το φορτώσουμε.
Για να σώσουμε σε κασέτα το πρόγραμμά μας μαζί με τον κώδικα, γράφουμε:
SAVE ”όνομα” : SAVE”CODE” CODE 50000,266

Προσοχή!

Τα χρώματα που εμφανίζονται, είναι αυτά που ίσχυαν μετά το τελευταίο CLS!
Αν θέλετε να ορίσετε χρώματα, τα ορίζεται και μετά καλείται CLS, αλλιώς δεν ισχύουν οι αλλαγές...


Test:

Εικόνα

Ο κώδικας basic που εμφανίζει την παραπάνω εικόνα, είναι στο αρχείο testhrpdoub.tzx.
http://zxjim.blogspot.gr/

Άβαταρ μέλους
Anemos
AMD 4 ever?
AMD 4 ever?
Δημοσιεύσεις: 4654
Εγγραφή: Τρί Σεπ 01, 2009 12:40 am

Re: ZX Spectrum, δύο χρήσιμες ρουτίνες

Μη αναγνωσμένη δημοσίευσηαπό Anemos » Πέμ Ιούλ 29, 2010 10:36 pm

To πάντρεμα το εκανες εσυ? κατι άλλο.. για την κίνηση των χαρακτήρων απαιτείτε προγραμματισμός basic ε? βασικά κάτι σαν Demo να φτιάξεις ασ πούμε..
μπορείς να το δημιουργήσεις μεσα απ αυτήν την ρουτίνα + basic ? ακόμα και να προσθέσεις ηχο?
Η βαθιά κατάσταση που επιπλέει

Άβαταρ μέλους
Darth_Cotsos
ZX power
ZX power
Δημοσιεύσεις: 215
Εγγραφή: Κυρ Σεπ 06, 2009 9:28 pm

Re: ZX Spectrum, δύο χρήσιμες ρουτίνες

Μη αναγνωσμένη δημοσίευσηαπό Darth_Cotsos » Πέμ Ιούλ 29, 2010 10:37 pm

Γρήγορος!!!! Άντε να βάλουμε και κάνα ψιλοεφέ να γουστάρουμε!!!!!
Ελπίζω να έχει συνέχεια... :!! :!! :!! :!!
You don't know the power of the 8bit side!!!

RetroUnboxers.gr

Άβαταρ μέλους
ZX_Jim +
Z80 power CPU
Z80 power CPU
Δημοσιεύσεις: 1407
Εγγραφή: Παρ Σεπ 04, 2009 1:06 am
Επικοινωνία:

Re: ZX Spectrum, δύο χρήσιμες ρουτίνες

Μη αναγνωσμένη δημοσίευσηαπό ZX_Jim + » Πέμ Ιούλ 29, 2010 10:43 pm

To "πάντρεμα" εγώ το έκανα, ήταν πολύ εύκολο....
Οι συγκεκριμένες ρουτίνες δεν είναι κατάλληλες για scrolling... (Στο άμεσο μέλλον αυτά! :D )
Οτιδήποτε πάντως μπορείς να προσθέσεις, κίνηση μέσα από basic (αν και υπάρχει καλύτερη ρουτίνα γι' αυτό) ακόμα και ήχο καλύτερο από το beeper... ;)
http://zxjim.blogspot.gr/

Άβαταρ μέλους
ZX_Jim +
Z80 power CPU
Z80 power CPU
Δημοσιεύσεις: 1407
Εγγραφή: Παρ Σεπ 04, 2009 1:06 am
Επικοινωνία:

Re: ZX Spectrum, δύο χρήσιμες ρουτίνες

Μη αναγνωσμένη δημοσίευσηαπό ZX_Jim + » Σάβ Ιούλ 31, 2010 10:44 pm

Πρόσθεσα μια εικόνα επίδειξης και συμβουλή για διαχείριση χρωμάτων στο 1ο post.... ;)
Κατεβάστε το τελευταίο αρχείο να το δείτε στην πράξη! :)
http://zxjim.blogspot.gr/

Άβαταρ μέλους
pjlees53
Μέλος
Μέλος
Δημοσιεύσεις: 3
Εγγραφή: Πέμ Δεκ 02, 2010 12:44 pm

Re: UTIL: ZX Spectrum, δύο χρήσιμες ρουτίνες

Μη αναγνωσμένη δημοσίευσηαπό pjlees53 » Πέμ Δεκ 02, 2010 12:52 pm

Μόλις βρήκα το φόρουμ παιδιά και χαίρομαι πολύ ότι το βιβλίο μου διαβάζετε ακόμα. :D

Philip

Άβαταρ μέλους
ZX_Jim +
Z80 power CPU
Z80 power CPU
Δημοσιεύσεις: 1407
Εγγραφή: Παρ Σεπ 04, 2009 1:06 am
Επικοινωνία:

Re: UTIL: ZX Spectrum, δύο χρήσιμες ρουτίνες

Μη αναγνωσμένη δημοσίευσηαπό ZX_Jim + » Πέμ Δεκ 02, 2010 1:02 pm

Και εγώ χαίρομαι που ήρθες στην παρέα μας φίλε Philip :D
Πες μας αν θέλεις λίγα λόγια για το βιβλίο! Ηταν το μοναδικό αξιόλογο βιβλίο για τον Spectrum στα Ελληνικά! :)
http://zxjim.blogspot.gr/

Άβαταρ μέλους
Anemos
AMD 4 ever?
AMD 4 ever?
Δημοσιεύσεις: 4654
Εγγραφή: Τρί Σεπ 01, 2009 12:40 am

Re: UTIL: ZX Spectrum, δύο χρήσιμες ρουτίνες

Μη αναγνωσμένη δημοσίευσηαπό Anemos » Πέμ Δεκ 02, 2010 1:34 pm

pjlees53 έγραψε:Μόλις βρήκα το φόρουμ παιδιά και χαίρομαι πολύ ότι το βιβλίο μου διαβάζετε ακόμα. :D

Philip

Καλωσόρισες Philip
Η βαθιά κατάσταση που επιπλέει

Άβαταρ μέλους
pjlees53
Μέλος
Μέλος
Δημοσιεύσεις: 3
Εγγραφή: Πέμ Δεκ 02, 2010 12:44 pm

Re: UTIL: ZX Spectrum, δύο χρήσιμες ρουτίνες

Μη αναγνωσμένη δημοσίευσηαπό pjlees53 » Πέμ Δεκ 02, 2010 2:41 pm

Ευχαριστώ, jim, για τα καλά λόγια. Όλα αυτά τα POKE μου θυμίζουν τους παλιούς καλούς καιρούς, χωρίς οικονιμικές κρίσεις και λιτότητες. Θα πρέπει να βγάλω τα παλιά μου Spectrum από το συρτάρι για να δώ τι παίζει ακόμα και τι όχι ...

Τότε είχα γράψει μια σειρά άρθρα στο PIXEL σχετικά με GRAPHICS και ΚΙΝΗΣΗ σε BASIC, και μετά κάτι λίγα για το assembly. Μου ήρθε η σκέψη ότι με λίγη προσπάθεια θα μπορούσα να συντάξω αρκετό υλικό για ένα βιβλίο. Πήγα να συζητήσω το θέμα με τον εκδότη, τον κ. Μανούσσο, και "Πότε θα είναι έτοιμο;" ήταν η ανταπόκρισή του!Η συνέχεια είναι γνωστή.

Ακόμα πιστεύω ότι η συνάρτηση NXTLN, που υπολογίζει μια θέση στην οθόνη - και αν θυμάμαι καλά πιάνει μόνο 17 bytes (ποιός μετράει τα bytes σήμερα;) - ήταν μάλλον το καλύτερο κομμάτι προγραμματισμού που έχω κάνει ποτέ μου.

Άβαταρ μέλους
Anemos
AMD 4 ever?
AMD 4 ever?
Δημοσιεύσεις: 4654
Εγγραφή: Τρί Σεπ 01, 2009 12:40 am

Re: UTIL: ZX Spectrum, δύο χρήσιμες ρουτίνες

Μη αναγνωσμένη δημοσίευσηαπό Anemos » Πέμ Δεκ 02, 2010 2:54 pm

Το να σε έχουμε στο φόρουμ και να μιλάτε για ZX και προγραμματισμό πιστεύω ότι θα είναι ο παράδεισος του Sinclair_Jim.. :D
Όσο για αν θα δουλεύουν τα Spectrum σου αυτό άστο σε εμάς,και μιας και ο Jim είναι πιστεύω κοντινότερα σου θα στα φτιάξει δωρεάν,(αν έχουν κάποιο πρόβλημα)..
Η βαθιά κατάσταση που επιπλέει

Άβαταρ μέλους
ZX_Jim +
Z80 power CPU
Z80 power CPU
Δημοσιεύσεις: 1407
Εγγραφή: Παρ Σεπ 04, 2009 1:06 am
Επικοινωνία:

Re: UTIL: ZX Spectrum, δύο χρήσιμες ρουτίνες

Μη αναγνωσμένη δημοσίευσηαπό ZX_Jim + » Πέμ Δεκ 02, 2010 3:21 pm

Φίλε Philip έχω και κάποιες απορίες για τα sprite.... Λόγω έλλειψης χρόνου (φτιάχνω κάτι άλλα προγράμματα για ΖΧ... ;) )
Δεν έχω ασχοληθεί όσο θα ήθελα! Θα χαρώ πολύ να πάρω συμβουλές από εσένα! :)

Οσο για τα Spectrum σου όπως είπε και ο Anemos,
αναλαμβάνω να τα φτιάξω δωρεάν!
Είναι συνηθισμένα (σ' εμένα :lol: ) τα προβλήματα που παρουσιάζουν και έχω αρκετά εξαρτήματα ως ανταλλακτικά! :D
http://zxjim.blogspot.gr/

Άβαταρ μέλους
pjlees53
Μέλος
Μέλος
Δημοσιεύσεις: 3
Εγγραφή: Πέμ Δεκ 02, 2010 12:44 pm

Re: UTIL: ZX Spectrum, δύο χρήσιμες ρουτίνες

Μη αναγνωσμένη δημοσίευσηαπό pjlees53 » Παρ Δεκ 03, 2010 10:21 pm

Όσον αφορά τα sprites, θα βοηθήσω όσο μπορώ, με την επιφύλαξη ότι έχω πολύ καιρό να ασχοληθώ με τέτοια θέματα. Σήμερα ο προγραμματισμός μου περιορίζεται κυρίως σε Perl (ωραία γλώσσα!) και λίγο javascript (όπου δεν αποφεύγεται :-|).

Την άλλη βδομάδα θα πάω στην Κρήτη και θα διασώσω τα Spectrum μου απο το συρτάρι που κρύβονται τόσα χρόνια ... και βλέπουμε.

Άβαταρ μέλους
ZX_Jim +
Z80 power CPU
Z80 power CPU
Δημοσιεύσεις: 1407
Εγγραφή: Παρ Σεπ 04, 2009 1:06 am
Επικοινωνία:

Re: UTIL: ZX Spectrum, δύο χρήσιμες ρουτίνες

Μη αναγνωσμένη δημοσίευσηαπό ZX_Jim + » Σάβ Δεκ 04, 2010 12:16 am

Καλή επιτυχία με τις "ανασκαφές"... :)
Θα ανεβάσω κάποια στιγμή κάποιες σκαναρισμένες σελίδες, όπως και την ρουτίνα και απλά θα ρωτήσω πάνω στις παραμέτρους,
δεν θα σε κουράσω, απλά αφού τα έχεις όλα έτοιμα, να ασχοληθώ με τα "παρακάτω" και όχι μ' αυτά... :D

Αυτή την περίοδο με απασχολεί η δουλειά μου και δεν με αφήνει να βελτιώσω ένα τεχνικό θέμα σχετικά με τα ΖΧ48Κ (εδώ) και την ρουτίνα αυτή! :)
http://zxjim.blogspot.gr/


Επιστροφή σε “* Home Micros programming *”



Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση: 1 και 0 επισκέπτες