Παρουσίαση Total DOS Collection Filter

freaktmp

Expert
Joined
20 Απρ 2009
Μηνύματα
9.995
Αντιδράσεις
11.119
Τα τελευταια χρονια η κορυφαια συλλογη MSDOS παιχνιδιων Total DOS Collection άλλαξε άρδην το πως και τι παιζουμε στο retro pc μας. Αν και αρχικα η χρηση των αρχειων της συλλογης σε παλιους υπολογιστες ειχε σημαντικες δυσκολιες, η κυκλοφορια του Total DOS Launcher εφερε επανασταση στον χωρο κανοντας την χρηση παιχνιδιων απο το TDC σε ρετρο υπολογιστες παιχνιδακι. Βεβαιως οσο περνουν τα χρονια, η TDC γινεται ολοενα και μεγαλυτερη και πιο πληρης και αυτο μας δημιουργει νεες δυσκολιες, αφου ειδικα για τα δημοφιλεστερα παιχνιδια μπορει να εχουμε και κανα δυο ντουζινες διαφορες εκδοσεις. Επιπλεον υπαρχουν διαφορετικες γλωσσες, σπασιματα παραλλαγες κλπ. Ολα αυτα εκτος απ'οτι καταλαμβάνουν παρα πολυ χώρο, κανουν το μενου που δημιουργει το Total DOS Launcher εξαιρετικα δυσχρηστο.

Σαν φανατικός MSDOS gamer, ψάχνω παντα για λυσεις στα θεμα αυτα. Ανα τα χρονια εχω βρει διαφορες σχετικες διαδικασιες απο το τελειως χειροκίνητο, εως κατι πιο αυτοματοποιημένο. Ολες εχουν τα υπερ και τα κατα τους, αλλα σιγουρα καμια τους δεν ειναι απλη και το χειροτερο θελουν ολες αρκετο απο τον χρονο μας.

Εμπνεύστηκα απο τον φιλο @Wally και την χρηση του ChatGPT που εκανε για να δημιουργήσει ενα batch file που του ελυσε τα χερια στην εγκατασταση του Saroo Saturn ODE. Ειπα και εγω να φτιαξω με την βοηθεια του ChatGPT ενα προγραμματακι που να κανει ολα αυτα που ηθελα σχετικα με το TDC και το TDL, αλλα να τα κανει με πρακτικα καμια επεμβαση απο εμενα. Το πρόγραμμα ειναι γραμμένο σε python και περιττό να πω οτι δεν ειμαι προγραμματιστής και δεν εχω ιδεα απο python. :bare: Προσωπικά δεν εγραψα ουτε μια τελεια στον κωδικα. o_O

Ιδού το Total DOS Collection Filter. To interface δεν θα μπορούσε να ειναι απλουστερο. Δινουμε τον φακελο στον οποιο βρισκονται τα αρχεια που θελουμε να φιλτραρουμε. Δινουμε εναν κενο φακελο στον οποιο θα αντιγραφουν τα αρχεια που περνανε απο τα φιλτρα μας. Παταμε το κουμπι Start Copy και περιμενουμε να τελειωσει.



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



Επιπλεον εχουμε ενα κουμπακι που ανοιγει ενα παραθυρο με τα φίλτρα. Δεν θα τα περιγράψω εδω, ειναι ξεκαθαρα στην εικονα. Όποιος εχει απορίες ας ρωτησει.



Τελος εχουμε ενα κουμπάκι about με το απαραίτητο shoutout στο αγαπημένο μας forum. :award:



Εχει καποια ελαχιστα error checks, πχ δεν θα επιτρεψει την αντιγραφη αν ο φακελος προορισμου δεν ειναι αδειος. Επιπλεον δεν θα κανει κατι αν δεν δηλωσουμε φακελους. Σε καθε περιπτωση δεν νομιζω οτι το προγραμμα μπορει να κανει κατι επικίνδυνο, γιατι ετσι κι αλλιως μπορει να κανει μονο copy και δεν επηρεάζει τα αρχικα δεδομενα.

Εχω κανει καμποσες δοκιμες, αλλα θεωρήστε οτι το προγραμμα ειναι alpha και χρησιμοποιώντας το εκραγει το σπιτι σας :gun: , δεν φταιω εγω. Μαζι με το εκτελεσιμο θα βρειτε και το αρχειο του κωδικα. Μπορειτε να το κανετε οτι γουστάρετε και εμενα δεν μου καιγεται καρφι. Αν κανετε αλλαγες θα ζηταγα αν ειναι δυνατο να με αναφερετε καπου, αλλα δεν χαλασουμε και τις καρδιες μας αν δεν το κανετε.

Το πρόγραμμα θα το βρειτε εδω.Το password ειναι retromaniax. Καντε του ενα test drive και αμα δειτε καποια ανώμαλη συμπεριφορά, πειτε μου να προσπαθησω να το διορθώσω.

Μελλοντικά σκεφτομαι να φτιαξω (αν και θα επρεπε καλυτερα να πω να gptισω :diablotin: ) ενα προγραμματακι που να μικραινει τα ονοματα απο τα TDC αρχεια, για να φαινονται καλυτερα στο μενου του TDL. Αμα γινει αυτο ισως επισκεφτω παλι το TDC Filter και φτιαξω μια εκδοση που να εχει περισσοτερα φιλτρα (ισως να κραταει την πιο προσφατη εκδοση απο παιχνιδια που συμπεριλαμβανουν πολλες εκδοσεις, ή να διακρινει μεταξυ installers και χυμα αρχειων κλπ) ή κατι που να μην εχει μονο hardcoded προτιμησεις, αλλα να μπορει να επιλεξει κανεις τι θελει να κραταει.
 
Τελευταία επεξεργασία:
Το επομενο προγραμμα που θα δουμε ειναι το Total DOS Collection Renamer. Δεχεται σαν εισοδο εναν φακελο με αρχεια απο την συλλογη TDC και τα μετονομαζει αφαιρωντας διαφορα δευτεροντα στοιχεια (δημιουργο, ειδος) και tags. Θα εχουμε καλυτερα αποτελεσματα αν το χρησιμοποιησουμε σε εναν φακελο που εχουν αντιγραφει τα αρχεια απο το Total DOS Collection Filter.

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

Εχουμε τρεις επιλογες. Μπορουμε να διατηρησουμε ή να αφαιρεσουμε την χρονια, το tag Shareware/Registered Shareware και τα tags για γλωσσες.



Επειδη το προγραμμα κανει μη αναστρεψιμη αλλαγη (rename) στα αρχεια μας, οταν πατησουμε το κουμπι rename files, θα μας ζητησει να επιβεβαιωσουμε την αλλαγη.



Οταν η μετονομασια ολοκληρωθει θα μας ενημερωσει.



Αν διαπιστωσει οτι ακολουθωντας τους κανονες που εχουμε επιλεξει, δυο ή περισσοτερα αρχεια εχουν το ιδιο ονομα, τοτε θα μας ενημερωσει για τα προβληματικα αρχεια και θα τα αφησει χωρις αλλαγες. Θα προχωρησει να μετονομασει τα υπολοιπα αρχεια.



Εχουμε ακομα ενα κουμπι που περιγραφει τους κανονες μετονομασιας.



Εχουμε τελος ενα κουμπι about με το απαραιτητο shoutout στο αγαπημενο μας forum. :wave:


@freaktmp license:
Εχω κανει καμποσες δοκιμες, αλλα θεωρήστε οτι το προγραμμα ειναι alpha και χρησιμοποιώντας το εκραγει το σπιτι σας :gun: , δεν φταιω εγω. Μαζι με το εκτελεσιμο θα βρειτε και το αρχειο του κωδικα. Μπορειτε να το κανετε οτι γουστάρετε και εμενα δεν μου καιγεται καρφι. Αν κανετε αλλαγες θα ζηταγα αν ειναι δυνατο να με αναφερετε καπου, αλλα δεν χαλασουμε και τις καρδιες μας αν δεν το κανετε.

Το προγραμμα θα το βρειτε εδω. Ο κωδικος ειναι retromaniax. Οπως και στο προηγουμενο προγραμμα, εγω δεν εγραψα ουτε μια τελεια. :fafoutis:

Στην συνεχεια θα δουμε ενα προγραμμα που παιρνει ενα φακελο με αρχεια (roms, disk images κλπ) και τα αντιγραφει χωριζοντας τα σε υποφακελους ονομαστικα.
 
Ενα συχνο προβλημα οταν εχουμε να κανουμε me flashcarts και διαφορα παρομοια interfaces για ρετρο υπολογιστες και κονσολες ειναι οτι εχουν περιορισμους στο ποσα αρχεια μπορουν να προσπελασουν ανα φακελο. Ετσι αν εχουμε μεγαλες συλλογες απο roms ή disk/tape images πρεπει να τις χωρισουμε σε διαφορους υποφακελους. Ο πιο συνηθισμενος διαχωρισμος ειναι αλφαβητικα, με εναν φακελο για καθε γραμμα του (αγγλικου) αλφαβητου και εναν ακομα για τους αριθμους. Βεβαιως καμια φορα ακομα και ετσι μπορουμε να εχουμε υπερβολικα πολλα αρχεια σε εναν φακελο (για τα πιο δημοφιλη γραμματα). Στο παρελθον ειχα φτιαξει ενα πολυ βασικο batch file που μεταφερει τα αρχεια σε φακελους ονομαστικα, αλλα δεν μπορει να κανει κατι για τον αριθμο των αρχειων σε καθε φακελο. Δυο ακομα περιπτωσεις (1,2) απο τις πολλες που συναντησα τετοιους περιορισμους.

Εφτιαξα λοιπον το προγραμμα Α-Ζ File Organizer. Το προγραμμα μπορει να αντιγραψει χυμα αρχεια σε υποφακελους ονομαστικα. Εχει προαιρετικη υποστηριξη για ελαχιστο και μεγιστο αριθμο αρχειων ανα φακελο. Εχει δυο μεθοδους για να αντιμετωπισει την περιπτωση να ξεπεραστει ο μεγιστος αριθμος αρχειων σε ενα υποφακελο.

Ας το δουμε πιο συγκεκριμενα. Αρχικα δινουμε στο προγραμμα τον φακελο που βρισκονται ολα τα αρχεια. Το προγραμμα θα αγνοησει υποφακελους. Δινουμε και εναν αδειο φακελο στον οποιο θα καταληξουν οι υποφακελοι με τα αρχεια. Το προγραμμα μονο αντιγραφει, οποτε δεν μπορει να δημιουργηθει απωλεια δεδομενων απο κακο χειρισμο (ή bug :fafoutis: ).



Προαιρετικα μπορουμε να δηλωσουμε ενα απο τα παρακατω πεδια. Ο ελαχιστος αριθμος αρχειων ανα φακελο βοηθαει να μην εχουμε φακελους που να εχουν ελαχιστα αρχεια μεσα. Εχω hardcoded επιλογη να μην δημιουργουνται φακελοι αν δεν υπαρχουν αρχεια μεσα. Για τα γραμματα που εχουν λιγοτερα απο τον ελαχιστο αριθμο αρχειων, τοτε γινεται συμπτηξη με τον προηγουμενο φακελο. Πχ αν εχουμε δηλωσει 7 αρχεια ανα φακελο το ελαχιστο, αν ο φακελος x εχει μονο 5 αρχεια μεσα, τοτε θα συμπτηχθει με τον φακελο w και ο φακελος w θα μετονομαστει σε wx.

Ο μεγιστος αριθμος αρχειων ανα φακελο ειναι ακριβως για τους περιορισμους στο hardware που ανεφερα παραπανω. Το προγραμμα εχει δυο διαφορετικους τροπους για να αντιμετωπισει το προβλημα αυτο. Ο προεπιλεγμενος ειναι να σπασει τον φακελο px a σε φακελους a1, a2, a3 κλπ που ο καθενας θα περιεχει τον μεγιστο αριθμο αρχειων που εχουμε δηλωσει. O δευτερος τροπος ειναι να χωρισει τα αρχεια ανα φακελο και να δει το ονομα του τελευταιου αρχειου στον φακελο. Αν πχ ειναι academy τοτε θα ονοματισει τον φακελο a-ac. Αν ο επομενος φακελος ξεκιναει απο advanced και τελειωνει σε america, τοτε ο επομενος φακελος θα ονομαστει ad-am, κλπ. Το προγραμμα θα χρησιμοποιησει τον απαραιτητο αριθμο γραμματων απο την αρχη του ονοματος του αρχειο ετσι ωστε να μην υπαρχουν μπερδεματα στα ονοματα των φακελων. Ετσι ωστε αν ενας φακελος τελειωνει με αdvanced και ο επομενος αρχιζει απο advocate τοτε θα εχουμε φακελους a-adva και advo-... Τελος, μπορουμε να εχουμε ταυτοχρονη χρηση του ελαχιστου και μεγιστου αριθμου αρχειων ανα φακελο.

Στο κατω μερος του παραθυρου εχουμε το κουμπι εκτελεσης της αντιγραφης. Οταν η αντιγραφη ολοκληρωθει θα μας ενημερωσει το προγραμμα.



Εχουμε ενα κουμπι που περιγραφει την λειτουργια του προγραμματος



Τελος εχουμε το κλασσικο about με το απαραιτητο shoutout στο αγαπημενο μας forum.



Ας δουμε δυο παραδειγματα λειτουργιας.

Με ελαχιστο αριθμο αρχειων 7 και μεγιστο 40 με την προεπιλεγμενη μεθοδο ονομασιας των φακελων.



Το τελικο αποτελεσμα.



Με ελαχιστο αριθμο αρχειων 7 και μεγιστο 40 με την δευτερη μεθοδο ονομασιας των φακελων.



Το τελικο αποτελεσμα.



@freaktmp license:
Εχω κανει καμποσες δοκιμες, αλλα θεωρήστε οτι το προγραμμα ειναι alpha και οτι αν χρησιμοποιώντας το εκραγει το σπιτι σας :gun: , δεν φταιω εγω. Μαζι με το εκτελεσιμο θα βρειτε και το αρχειο του κωδικα. Μπορειτε να το κανετε οτι γουστάρετε και εμενα δεν μου καιγεται καρφι. Αν κανετε αλλαγες θα ζηταγα αν ειναι δυνατο να με αναφερετε καπου, αλλα δεν χαλασουμε και τις καρδιες μας αν δεν το κανετε.

Το προγραμμα θα το βρειτε εδω. Ο κωδικος ειναι retromaniax. Οπως και στο προηγουμενο προγραμμα, εγω δεν εγραψα ουτε μια τελεια. :fafoutis:

Στην συνεχεια μια μικρη εκπληξη!
 
Τελευταία επεξεργασία:
Μακάρι να το είχα αυτό το πρόγραμμα όταν ταξινομούσα τα αρχεία Roms για το Retropie. Μπράβο σου! Έχω κι εγω προσπαθήσει να φτιάξω προγράμματα με το ChatGPT και ξέρω πως θέλει πολλή υπομονή.
 
Οντως, ειναι ενας idiot-savant με τεραστιες γνωσεις, αλλα πολυ χαμηλο iq, συμπεριφερεται σαν υπερβολικα προθυμο σκυλι οταν νομιζει οτι το κοιτας και μετατρεπεται σε εναν φοβερο τεμπελη οταν νομιζει οτι δεν προσεχεις! Συν οτι μια στο τοσο παθαινει και ενα εγκεφαλικο και μετα τρεχα γυρευε! :D:diablotin:

Πραγματικα τρεμω στην ιδεα οτι πλεον η microsoft χρησιμοποιει AI για να γραφει κωδικα για τα windows. :nervous::banghead:

Παντως το o4-mini μοντελο ειναι καπως πιο αποτελεσματικο για κωδικα και οχι τοσο ενοχλητικο.
 
Πίσω
Μπλουζα