Commodore 64, Tape Interface

Στην προσπάθειά μου να κάνω πιο εύκολη την πρόσβαση στις βιβλιοθήκες προγραμμάτων για C64, βρέθηκα μπροστά σε ένα πρόβλημα! Τα αρχεία .ΤΑΡ ή .Τ64 για C64 δεν φορτώνονται όπως στα ΖΧ!!!(Από cd-player ή mp3-player). Από τον C64 «λείπει» κάτι…  Εψαξα λοιπόν στο ΝΕΤ και βρήκα ένα σχεδιάγραμμα που μπορεί να συνδέσει οποιαδήποτε πηγή ήχου στον C64. Ο “φίλος” μας όμως, νομίζει ότι απευθύνεται σε ηλεκτρονικούς και δεν έχει σχεδόν καθόλου περιγραφή… Παρακάτω θα βρείτε περισσότερες πληροφορίες, που απέκτησα φτιάχνοντας ο ίδιος την κατασκευή αυτή.

Σχέδιο:
Κάντε "κλικ" για μεγέθυνση


Υλικά:
1 x Αντίσταση 15 ΚΩ(*)
2 x Αντιστάσεις 1.2 ΚΩ
2 x Αντιστάσεις 100 ΚΩ
1 x Αντιστάσεις 1 ΚΩ
1 x Πυκνωτής 47 nF
1 x Πυκνωτής 1 nF
1 x Chip OP-741
1 x Chip CD-4049UB

2 x LED, ένα πράσινο (LED1) και ένα κόκκινο (LED2)


(*) Προτείνω κατάργηση αυτής της αντίστασης (R1) εφ’ όσον η πηγή ήχου μας έχει ρυθμιστικό έντασης, ή αντικατάσταση με ροοστάτη 0-22 KΩ όπως έβαλα εγώ. Με CD-player ή mp3-player πρέπει να το έχω στο max…(Περίπου 0Ω)

Chip’s pin-out:
Στο 7 είναι τα +5 volt και στο 4 η γείωση.
Ta A1, A2 και A3, μπορούν να είναι οποιαδήποτε «ζευγάρια» φαίνονται παραπάνω, π.χ. εγώ συνέδεσα για Α1, Α2, Α3 τα 9-10, 11-12, 14-15 αντίστοιχα. Στο 1 τα +5volt και στο 8 η γείωση.


TIPs:
1. Όταν το πράσινο LED σβήνει πατάτε το pause και όταν ξανανάψει το ξαναπατάτε, όπως το δικό του κασετόφωνο που κάνει παύσεις.

2. Ρυθμίστε την ένταση ήχου μέχρι το σημείο που το κόκκινο LED θα μένει μόνιμα αναμμένο, μην το «παρακάνετε» όμως… Οριακά να μένει μόνιμα ανοικτό όταν υπάρχει ήχος.

3. Προτιμάτε τα αρχεία Τ64, είναι ψηφιακά και είναι fast-load. Η μετατροπή σε WAV μπορεί να γίνει με το πρόγραμμα WavPrg23, που βρίσκεται εδώ:

 4. Αν το πρόγραμμα που θέλετε δεν υπάρχει σε Τ64 (Οσα φορτώνονται τμηματικά δεν μπορούν να γίνουν Τ64), μπορείτε να φιλτράρεται με μεγάλη επιτυχία τα αρχεία ΤΑΡ με το TAPClean, που βρίσκεται εδώ:
(επειδή τα αρχεία ΤΑΡ είναι ηχογραφήσεις από τις κανονικές κασέτες, συνήθως είναι κακής ποιότητας τα παραγόμενα WAV.)

5. Το βύσμα που συνδέετε στον C64 δεν υπάρχει (με 6 ΡΙΝ), παίρνουμε μεγαλύτερο και το κόβουμε, αυτά που βρήκα τα διάλεξα οπτικά και γράφουν επάνω LW-S18A2G, δεν ξέρω γιατί έχουν φτιαχτεί!

Ο φίλος Ηλίας-Raxxla, μου έστειλε φωτογραφίες από την δική του κατασκευή, μαζί με προτεινόμενες ρυθμίσεις για το WavPrg23: (Ευχαριστώ Ηλία :))


  • 22050 KHz, 
  • inverse signal, 
  • square waveform (default), 
  • fast loader.

Μερικές φώτο από την δική του κατασκευή:























 

ΖΧ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