c64c arduino quad kernel+reset mod

subzero79

Retro Mentor
Messages
1,188
Reaction score
1,258
Points
113
αυτος ειναι ενας οδηγος για το πως θα φτιαξουμε ενα reset mod με τετραπλο κερνελ για τον c64c υπαρχει ο οδηγος για το παλιο μοντελλο απο τον φιλο μας ADRIAN BLACK


Αυτα που θα χρειαστουμε ειναι
1)arduino mini pro
2)27c512 eprom or w27c512
3)κολλητηρι
4)προγραμματιστη επρομ
καλωδιο
5)το προγραμμα arduino ide μαζι με το scketch που επισυναπτω
6)το αρχειο που θα καψουμε στην επρομ(επισυναπτετε)

προγραμματιζουμε το arduino nano με το επισυναπρομενο αρχειο inoarduino.jpg


καιμε με τον προγραμματιστη μας το αρχειο 4.bin στην επρομ
ανοι γουμε τον c64c
και βρισκουμε τα κατωθι σημεια
exromexrom.jpg

reset line restore line

reset restore.jpg
r3=reset r11= restore

τοποθετουμε την 27c512 στην βαση του κερνελ αλλα αφηνουμε εξω απο το σοκετ τα πινακια a14 a15W27C512-pinout.jpg

δινουμε ρευμα στο arduino απο το πιν 28 της επρομ gnd στην γειωση και συνδεουμε
pin 3 on exrom point
pin 5 στο Α15 της επρομ
πιν 6 στο α14 της επρομ
πιν 7 στο σημειο ρεσετ
πιν 8 στο σημειο του πληκτρου restore
to pin 4 παει στο θετικο στην ανοδο ενος λεντ σε σειρα με μια αντισταση 330 ωμ ενω η καθοδος του λεντ παει στην γειωση.
20190706_154834.jpg20190706_154832.jpg20190706_154827.jpg

αν τα εχετε κανει ολα σωστα καθε φορα που θαπατατε ρεσετ παρατεταμενα το λεντ θα αναβοσβηνει δειχνοντα σας σε ποιο bank ειστε και μετα θα κανει μια συντομη λαμψη πηγαινωντας στο επομενο
 

Attachments

geoanas

Commodore Vampire
Staff member
Messages
7,220
Reaction score
5,978
Points
223
Μπράβο βρε George! Έπραξες άγια και τα συγκέντρωσες όλα εδώ πέρα! Το συγκεκριμένο είναι σίγουρα κάτι που σκοπεύω να κάνω στο μέλλον. Thanks for the infoz! :)
 

subzero79

Retro Mentor
Messages
1,188
Reaction score
1,258
Points
113
Μπράβο βρε George! Έπραξες άγια και τα συγκέντρωσες όλα εδώ πέρα! Το συγκεκριμένο είναι σίγουρα κάτι που σκοπεύω να κάνω στο μέλλον. Thanks for the infoz! :)
Σου εχω έτοιμο κιτακι δωρο
 
Last edited:

Pablo Sanchez

Retro Member
Messages
121
Reaction score
184
Points
43
Καλημέρα παιδιά!, έκανα έναν adaptor όπως εκείνο που είχα κάνει για EEPROM 27C256 (Arduino Kernal Selector) αλλά για EEPROM W27C512 όπως κι εσύ αναφέρεις στο παρόν άρθρο, η διαφορά είναι μόνο ότι στο D6 και D5 στο arduino συνδέω το A15 και A14 αντίστοιχα, όπως κι εσύ αναφέρεις στο δικό σου concept. Έκαψρα το 4.bin και είχα ήδη στο arduino το προγραμματάκι που κι εσύ έχεις στο δικό σου.

Όμως δεν κατάφερα να δουλεύουν τα kernals που είχα μέσα, απλά εμφανιζέται μία μαύρη οθόνη, ενώ με τον adaptor για 27C256 όλα είναι ΟΚ.

Το πρώτο που αναρωτιέμαι είναι αν για W27C512 φτάνει μόνο να έχεις Α14,Α15 ή θα πρέπει να βάλεις και Α13 για να γίνει το select του kernal από το arduino, με ότι αλλαγές χρειαστούν κι εκεί στο script.

Σε σένα από ότι λες σου έφτασαν τις 2 γραμμές για διευθύνση (A14, A15). Αν μπορείτε να μου καθοδηγήσετε για να δούμε πως να το κάνω σωστά.

Ευχαριτώ πολύ!
 
Last edited:

subzero79

Retro Mentor
Messages
1,188
Reaction score
1,258
Points
113
δουλευει μονο σε c64c
για απλο 64 ρη βαλε 27c256
 

Pablo Sanchez

Retro Member
Messages
121
Reaction score
184
Points
43
Καλησπέρα, ο λόγος δηλαδή είναι ότι έχω κλασικό C64 μοντέλο; Γιατι το arduino και ο adaptor δεν έχουν σχέση με το μοντέλο, θα σου ανεβάσω φωτογραφίες το απόγευμα για να σου δείξω τι έκανα, και μου λες...

Σε ευχαριστώ!
 

subzero79

Retro Mentor
Messages
1,188
Reaction score
1,258
Points
113
Αλλιώς πρέπει να κάψεις 2 φορές το κάθε κερνελ μιας και η χωρητικότητα per bank είναι διπλασια
 

Pablo Sanchez

Retro Member
Messages
121
Reaction score
184
Points
43
Να ρωτήσω κάτι, εφόσον χωράνε 8 kernels, δεν θα μπορούσα να κάψω 8 διαφορετικά kernels και με τις 3 γραμμές διευθύνσεων (A13,A14,A15) και μία γραμμή ακόμα προς το arduino (D5,D6,D7) να γινόταν επιλογή ενός από τα 8 kernels; Έτσι όπως το έκανα εγώ νομίζω θα είναι πάντα:

A13A14A15
LOW (0)LOW (0)LOW (0)
LOW (0)HIGH (1)LOW (0)
LOW (0)LOW (0)HIGH (1)
LOW (0)HIGH (1)HIGH (1)

Άρα λογικά μόνο 4 kernels θα μπορούσε να κάνει select αλλά επειδή χρησιμοποιώ A14 και Α15 για την επιλογή, ουσιαστικά είναι:

000: 0
010: 2
100: 4
110: 6

ενώ με A13, A14 μόνο, όπως το έχω στον adaptor για 27C256 θα ήταν:

00: 0
01: 1
10: 2
11: 3

Το οποίο βγάζει περισσότερο νόημα (διορθώστε μου αν κάνω λάθος).

Αν γράφω 2 φορές το κάθε κερνελ τότε μάλλον με το A14 και Α15 που αλλάζουν και το Α13 που μένει 0 πάντα... ίσως και να δούλευε. Το θέμα είναι γιατί έστω το πρώτο ROM όταν όλα είναι 0 (A13,A14,A15) δεν γίνεται load... αφού το περιεχόμενο του W27C512 στα πρώτα 8kb είναι ένα ROM...

@subzero79 Όταν λες η χωρητικότητα per bank είναι διπλάσια, εννοείς ότι στο c64c έχει ROM 16kb; μήπως γιαυτο δεν παίζει σε μένα, αυτό λες λογικά. θα δοκιμάσω τότε να κάνω αυτό που λες, με τα διπλά Kernel, και θα σου ενημερώσω!

Σας ευχαριστώ!
 
Last edited:

subzero79

Retro Mentor
Messages
1,188
Reaction score
1,258
Points
113
Να ρωτήσω κάτι, εφόσον χωράνε 8 kernels, δεν θα μπορούσα να κάψω 8 διαφορετικά kernels και με τις 3 γραμμές διευθύνσεων (A13,A14,A15) και μία γραμμή ακόμα προς το arduino (D5,D6,D7) να γινόταν επιλογή ενός από τα 8 kernels; Έτσι όπως το έκανα εγώ νομίζω θα είναι πάντα:

A13A14A15
LOW (0)LOW (0)LOW (0)
LOW (0)HIGH (1)LOW (0)
LOW (0)LOW (0)HIGH (1)
LOW (0)HIGH (1)HIGH (1)

Άρα λογικά μόνο 4 kernels θα μπορούσε να κάνει select αλλά επειδή χρησιμοποιώ A14 και Α15 για την επιλογή, ουσιαστικά είναι:

000: 0
010: 2
100: 4
110: 6

ενώ με A13, A14 μόνο, όπως το έχω στον adaptor για 27C256 θα ήταν:

00: 0
01: 1
10: 2
11: 3

Το οποίο βγάζει περισσότερο νόημα (διορθώστε μου αν κάνω λάθος).

Αν γράφω 2 φορές το κάθε κερνελ τότε μάλλον με το A14 και Α15 που αλλάζουν και το Α13 που μένει 0 πάντα... ίσως και να δούλευε. Το θέμα είναι γιατί έστω το πρώτο ROM όταν όλα είναι 0 (A13,A14,A15) δεν γίνεται load... αφού το περιεχόμενο του W27C512 στα πρώτα 8kb είναι ένα ROM...

@subzero79 Όταν λες η χωρητικότητα per bank είναι διπλάσια, εννοείς ότι στο c64c έχει ROM 16kb; μήπως γιαυτο δεν παίζει σε μένα, αυτό λες λογικά. θα δοκιμάσω τότε να κάνω αυτό που λες, με τα διπλά Kernel, και θα σου ενημερώσω!

Σας ευχαριστώ!
ακριβως εχεις 4 χ16 κιλομπαιτ
οχι 4 χ8
αρα πρεπει να κανεις το καθε κερνελ 16 κβ και να το γραψεις δηλαδη εστω οτι εχεις τ αρχεια 1 2 3 4
κανεισ 1+1++2+2+3+3+4+4 και το γραφεισ στην 512 512/8 16 kilobyte ana image
 

Pablo Sanchez

Retro Member
Messages
121
Reaction score
184
Points
43
Γεια σας!, παρόλο που έκανα την εγγραφή ενός ίδιο kernel 8 φορές στο w27c512, δεν κατάφερα να γίνει load κανένα...

Νομίζω κάτι δεν κάνω σωστά στο adaptor... Σας αφήνω μερικές φωτογραφίες, εχτές μέτρησα τα pins Vcc, GND και ήταν οκ, είδα ότι έχει continuity σε όλα τα pins και επίσης μέτρησα A13,A14,A15, στις γραμμές A14,A15 γινόταν εναλλάξ 0V και 4.7V για 0 και 1 αντίστοιχα, ενώ στο A13 που δεν το είχα συνδέσει πουθενά, είχε μέτρηση 2.4V (ενώ κανονικά θα έπρεπε να έχει 0V), θα κάνω μία δοκιμή να γειώσω το A13 για να είναι καθαρά 0V.

Αν έχετε καμία ιδέα, δεκτή!
 

Attachments

Last edited:

subzero79

Retro Mentor
Messages
1,188
Reaction score
1,258
Points
113
αντισταση μαγκα 4.8 κιλο στην γειωση
 

Pablo Sanchez

Retro Member
Messages
121
Reaction score
184
Points
43
Ναι αυτό δούλεψε, έβαλα το a13 στο gnd και δούλεψε μια χαρά. Βέβαια δεν έκανε καλή επαφή ο αντάπτορας και δεν λειτούργησε αμέσως... Θα κάνω ένα καινούργιο κάποια στιγμή.

Σας αφήνω μερικές φωτογραφίες.

Ευχαριστώ!
 

Attachments

Top