ΖΧ81, RamPak για True Hi-Res Graphics

Είχα ακούσει για μια μικρή μετατροπή σε RamPack, που μπορούσε να γίνει αλλαγή στην ανάλυση της οθόνης, από 64x44 σε 256x192 pixels και επιπλέον την ύπαρξη ενός τρίτου χρώματος, του περίπου γκρι. Στο ΝΕΤ όμως οι πληροφορίες για το τεχνικό κομμάτι έδιναν την αίσθηση του ότι: «Είναι πολύ γνωστό και γι’ αυτό δεν το αναφέρουμε...». Περισσότερο ασχολούνται να τρέξουν κάτι τέτοιο σε emulator παρά σε αυθεντικό μηχάνημα! Βρήκα μόνο δύο σχεδιαγράμματα που δείχνουν διαφορετικές συνδέσεις... Το γιατί επέλεξα αυτή είναι μια άλλη ιστορία και δεν θέλω να μακρηγορώ!

Εισαγωγή
Το σχέδιο έχει ρίζες από το 1983, όπου κάποιοι παρατήρησαν τις διαφορές στα κυκλώματα μεταξύ του ZX Spectrum και ΖΧ81 εφοδιασμένο με επιπλέον μνήμη. Οι διαφορές είναι ελάχιστες και φαίνονται στο παρακάτω σχεδιάγραμμα, οι περισσότερες διαφορές είναι στην ROM, όπου εκεί αναλαμβάνει δουλειά το λογισμικό... Μάλιστα κυκλοφόρησαν και στην αγορά μνήμες HiRes από την Memopak μ’ αυτές τις μικροαλλαγές εφοδιασμένες με επιπλέον ROM.

Σχεδιάγραμμα

Τα εξαρτήματα που θα χρειαστούμε είναι τρία, δύο δίοδοι Γερμανίου 1Ν34Α και μια αντίσταση 4.7KΩ (έχω βάλει και 10 ΚΩ και λειτουργεί άψογα). Η αντίσταση υπάρχει στο εμπόριο, το πρόβλημα είναι στην εύρεση διόδων γερμανίου όπου έχουν καταργηθεί... Δεν δουλεύει με διόδους Πυριτίου, ή τουλάχιστον έτσι αναφέρουν οι τεχνικοί. Εγώ κατάφερα να βρω όμοια δίοδο γερμανίου με μόνο διαφορά στην αντοχή σε volt και amber, είναι η ΑΑ119 (το πώς κατέληξα σε αυτή είναι μια άλλη μεγάλη και πονεμένη ιστορία, πάντως δουλεύει...).

Προσοχή
Προσοχή χρειάζεται στην σύνδεση 23Α, υπάρχουν δύο τύποι με επιπλέον μνήμη,
Α) σε μερικές πλακέτες μνήμης δεν καταλήγει πουθενά οπότε δεν υπάρχει πρόβλημα,
Β) σε μερικές συνδέεται με ένα ολοκληρωμένο, τότε απλά κόβουμε την σύνδεση που προϋπάρχει, και αν δεν δουλεύει σωστά τότε συνδέουμε την τάση 5 Volt που φαίνεται στο σχεδιάγραμμα, όχι απ' ευθείας, αλλά παρεμβάλλοντας μια αντίσταση 10ΚΩ. Αν πάλι δεν λειτουργεί, συνδέουμε απ' ευθείας τα 5Volt, όχι νωρίτερα.

Σ’ αυτά τα βήματα κατέληξα μετά από αρκετή μελέτη... Πάντως αν είναι να γίνει «πυροτέχνημα» κάτι, είναι η μνήμη και όχι ο ΖΧ81, έτσι τουλάχιστον πιστεύουν οι τεχνικοί που ρώτησα! Οτιδήποτε βέβαια κάνετε είναι με δική σας ευθύνη! Δεν είμαι ηλεκτρονικός άρα οι γνώσεις μου είναι καθαρά από δική μου ενασχόληση!

Δοκιμή
Η ώρα της δοκιμής έφτασε, για τον σκοπό αυτό αγόρασα πολύ φθηνά μια μνήμη Special RamPack 16Κ της Audio Computers, είναι ο πιο κοντινός κλώνος της Sinclair 16Κ RamPack.
Στο κίτρινο (2) φαίνεται το σημείο που κατέληγε το 16Α
και το σημείο (1) είναι η διακοπή που έκανα στο κύκλωμα μ’ ένα πολύ μικρό τρυπανάκι.
Το 23Α σ΄ αυτή την μνήμη, δεν συνδέεται πουθενά.
Software
Στην πραγματικότητα μ' αυτή την μετατροπή δημιουργούνται 2 mode στον ΖΧ81, ένα TEXT και ένα Graphic’s. Μέχρι πρόσφατα, η χρήση γινόταν μόνο με κώδικα μηχανής. Το πρόγραμμα-οδηγός HRG-MS το έχει φτιάξει ο Matthias Swatosch, και το έχει δημοσιευμένο στην σελίδα:
http://www.swatosch.de/zx81/ 
και είναι ένα πολύ εύχρηστο interface μέσα από την BASIC.

Χρήση
Αφού φορτώσουμε το κατάλληλο πρόγραμμα HRG (ανάλογα τι μνήμη διαθέτουμε), μας προτρέπει να πατήσουμε το γράμμα «Υ» για να καλέσει την εντολή NEW. Αυτό δεν σβήνει το περιεχόμενο που έχει καταχωρηθεί.
Στην νέα οθόνη που έρχεται, τα πάντα είναι όπως τα ξέρουμε, εκτός και αν ενεργοποιήσουμε τον χώρο των γραφικών. Κάθε εντολή καλείτε με:
PRINT USR 32736, όνομα_εντολής, παράμετροι

Π.Χ. για να ενεργοποιήσουμε την οθόνη γραφικών γράφουμε:
PRINT USR 32736, ON

Υπάρχουν αρκετές εντολές διαθέσιμες σε τριάδες. Η πρώτη ομάδα ενεργοποιεί, η δεύτερη (με U) απενεργοποιεί και η τρίτη (με X) είναι τα inverse, (δηλαδή το αντίστροφο απ’ ότι είναι εκείνη την στιγμή):

ON (ενεργοποιεί τα γραφικά)
PIX,x,y (pixel)
LINE,x,y,x,y (γραμμή)
LINETO,x,y (γραμμή από εκεί που είναι έως…)
BOX,x,y,x,y (τετράγωνο)
CIRCLE,x,y,r (κύκλος)
POLY,x,y,x,y,x,y... (πολύγωνο)
TEXT (αντιγράφει το κείμενο που υπάρχει στην μνήμη γραφικών)
OVERTEXT
BANK (αν η μνήμη είναι 64Κ υπάρχουν πολλές οθόνες γραφικών διαθέσιμες, από 3 έως 7)

OFF
UNPIX,x,y
UNLINE,x,y,x,y
UNLINETO,x,y
UNBOX,x,y,x,y
UNCIRCLE,x,y,r
UNPOLY,x,y,x,y,x,y...
UNTEXT
INVERT

CLR (καθαρίζει την οθόνη)
XPIX,x,y
XLINE,x,y,x,y
XLINETO,x,y
XBOX,x,y,x,y
XCIRCLE,x,y,r
XPOLY,x,y,x,y,x,y...
XTEXT
HCOPY (εκτυπώνει την οθόνη γραφικών σε εκτυπωτή)


Με την εντολή BANK μπορούμε να έχουμε διαδοχικές εικόνες, με 64K ram, μπορούμε να δούμε κινούμενες εικόνες όπως το 64K-demo που υπάρχει στην παραπάνω σελίδα:
Βελτιώσεις...
Αυτή την στιγμή τo HRG-MS είναι στην έκδοση 2.7, και υπάρχει πλέον το Manual στα Αγγλικά. Εχουν προστεθεί και UDG’s για να μπορέσουμε να έχουμε και Ελληνικούς χαρακτήρες…
Ναι, καλά διαβάσατε, Ελληνικά γράμματα στον ΖΧ81... :D 

Ενα δείγμα είναι στην παρακάτω εικόνα (Είναι η εισαγωγική εικόνα, οι χαρακτήρες πριν και μετά την εφαρμογή εισόδου πεζών γραμμάτων):

ZX_Jim Greece

e-mail: dcotsos2015@gmail.com