Η έκδοση 0.6 του xSysInfo κυκλοφόρησε και φέρνει πάνω από 140 αλλαγές σε σχέση με την 0.2a. Για όσους γνωρίζουν το AmigaOS και το κλασικό SysInfo, το xSysInfo είναι ένα ξεχωριστό project που κάνει κάτι παρόμοιο: συγκεντρώνει πληροφορίες για το σύστημα, τρέχει benchmark και βοηθά να δεις τι ακριβώς υπάρχει μέσα στο μηχάνημα. Στη νέα έκδοση, όμως, το βάρος πέφτει κυρίως στην πιο σωστή ανίχνευση hardware και στη συμβατότητα με παλιότερα Amiga setups.
Το xSysInfo είναι utility για AmigaOS που εμφανίζει αναλυτικά στοιχεία για CPU, μνήμη, drives, expansion boards και cache. Δεν είναι βασισμένο στο κλασικό SysInfo, αλλά αποτελεί ανεξάρτητο project με δική του υλοποίηση.
Σύμφωνα με το αρχείο του έργου, μπορεί να δουλέψει από shell, σε window ή σε ξεχωριστή οθόνη, ανάλογα με το περιβάλλον. Υποστηρίζει επίσης localization, ώστε να προσαρμόζεται σε διαφορετικές γλώσσες.
Τι αλλάζει στην έκδοση 0.6
Η ομάδα ανάπτυξης ξεχωρίζει τέσσερις βασικές αλλαγές:
- πλήρη συμβατότητα με Kickstart 1.3
- μέτρηση συχνότητας CPU και FPU
- καταγραφή MMU page tables
- πιο αξιόπιστη ανίχνευση hardware
Πέρα από αυτά, το release note μιλά για πάνω από 140 επιμέρους βελτιώσεις, διορθώσεις και αναδιαρθρώσεις σε όλο το πρόγραμμα.
Υποστήριξη για Kickstart 1.3
Το xSysInfo 0.6 μπορεί πλέον να εκκινήσει σωστά και σε συστήματα με Kickstart 1.3. Αυτό σημαίνει ότι δεν περιορίζεται μόνο σε νεότερα Amiga setups, αλλά δουλεύει και σε πιο παλιές διαμορφώσεις με text-mode CLI output, εναλλακτικούς μηχανισμούς για τον timer και ασφαλείς αντικαταστάσεις για port/IO σε V36+ όταν χρειάζεται.
Με απλά λόγια, το πρόγραμμα έγινε πιο ευέλικτο εκεί όπου συνήθως εμφανίζονται τα περισσότερα προβλήματα: στην παλιά συμβατότητα.
Νέα μέτρηση CPU και FPU
Η έκδοση προσθέτει αρχική μέτρηση συχνότητας για επεξεργαστές από 68000 έως 68080. Όλες οι μετρήσεις βασίζονται πλέον στο EClock, ενώ έγιναν και ειδικές προσαρμογές για πιο σωστά αποτελέσματα.
Ανάμεσα στις αλλαγές ξεχωρίζουν:
- ανίχνευση super-scalar mode στο 68080 PCR
- διόρθωση για MMU-aware 68060
- αναγνώριση Apollo 68080
Στο benchmark τμήμα έγιναν επίσης παρεμβάσεις ώστε οι τιμές να είναι πιο σταθερές και συγκρίσιμες, με νέο χειρισμό για MFLOPS, καλύτερη αναφορά συχνότητας και διόρθωση σε παλιότερα test σενάρια.
MMU και page tables
Το xSysInfo 0.6 κάνει πλέον πλήρη καταγραφή των MMU page tables, μαζί με property flags. Η ανίχνευση βασίζεται στην υλοποίηση του Thomas Richter και υπάρχει ενσωμάτωση με το mmu.library.
Προστέθηκε και fallback για Kickstart 1.x, ώστε το πρόγραμμα να παραμένει λειτουργικό και σε ακόμα παλιότερες εκδόσεις του συστήματος.
Καλύτερη αναγνώριση hardware
Μεγάλο μέρος της δουλειάς αφορά την ίδια την αναγνώριση των chip και των controllers. Στο release note αναφέρονται ξαναγραμμένα ή βελτιωμένα τμήματα για Gary, Gayle, SDMAC, Ramsey, Agnus, Alice, Paula, Denise και τον τύπο του Zorro bus.
Ανάμεσα στις νέες δυνατότητες ξεχωρίζουν:
- ανάγνωση battery-backed memory
- ανίχνευση Emu68 μέσω
devicetree.resource - versioning για soft-kicked ROM
- υποστήριξη για νέες παραλλαγές ECS Agnus
Νέες λειτουργίες στο interface
Η έκδοση 0.6 φέρνει και αρκετές πρακτικές αλλαγές στον τρόπο χρήσης του προγράμματος, τόσο από το GUI όσο και από το CLI:
- επιλογή για extended hardware info
- κουμπιά για interactive cache toggle
- headless/text mode για benchmark output
- υποστήριξη
locale.librarycatalogs και μεταφράσεων - εμφάνιση battery-backed memory
- λίστα MMU scan με ένδειξη για property flags
- toggle για super-scalar mode
Υπάρχει επίσης το showattn, εργαλείο για έλεγχο CPU attribute flags, καθώς και το TinySetPatch, μια μικρή αντικατάσταση του SetPatch για bootable disks.
Τι άλλαξε στο benchmark
Η ενότητα benchmark δέχτηκε αρκετές διορθώσεις και ανακατασκευές:
- ενοποιήθηκαν όλα τα timings στο EClock
- ξαναγράφτηκε το MFLOPS μέρος με inline
fdbeq/ assemblyDoFlops - έγινε βαθμονόμηση CPU frequency για 68000 έως 68060 και για 68080
- προστέθηκε στρατηγική διπλασιασμού του loop multiplier
- μπήκε microhz timing fallback για Kick 1.3
- διορθώθηκε init error σε επαναλαμβανόμενα Dhrystone runs
- διορθώθηκε
etimerrequest που χρησιμοποιούσε λάθος message port - ενημερώθηκαν τα reference values για A4000
- προστέθηκε reference για 68060 @ 50 MHz
- διορθώθηκε division by zero στη βαθμονόμηση του 68060
Διορθώσεις σε CPU και cache
Έγιναν επίσης σημαντικές διορθώσεις στην ανίχνευση CPU και στη διαχείριση cache:
- σωστή ανίχνευση 68EC020
- διόρθωση στο relabeling των CPU strings για LC/EC εκδόσεις
- διόρθωση στο MMU detection για 68030
- πιο αυστηρός έλεγχος του Gary probe στο A500
- σωστή διατήρηση της ετικέτας 68080 MMU
- ανάγνωση του Ramsey revision σε supervisor mode
- διόρθωση σε Emu68 CPU και A4000D SDMAC detection
- επαναφορά της προστασίας DSACK timeout στο SDMAC detection
- προσθήκη των ECS Agnus variants στο hardware export
- sanity checks στο FPU detection
- ένδειξη FPU enabled/disabled στο GUI
- εσωτερική ανάγνωση VBR χωρίς εξάρτηση από
identify.library
Στο cache κομμάτι, επέστρεψαν τα 68040/060 cache toggles και η μετάφραση των CACR bits. Η πρόσβαση έγινε πιο άμεση, με αντικατάσταση της CacheControl(), ενώ προστέθηκε και έλεγχος ασφαλείας για 68000/010 μαζί με cache flush για 68040 όταν γίνεται πρόσβαση στο CACR.
Αλλαγές στο GUI
Το γραφικό περιβάλλον βελτιώθηκε σε αρκετά σημεία:
- κεντράρισμα τίτλων σε full-screen προβολή
- χρήση του inner window height στο Workbench
- ασφαλής χαρτογράφηση Workbench pens στο Kick 1.3
- μορφοποίηση του Alice revision όπως στο CPU revision
- διόρθωση στη θέση της ένδειξης SuperScalar
- διόρθωση στο event loop του filename requester
- ξεχωριστή εμφάνιση των memory speed τιμών, όπως μετρήθηκαν
- λευκή επισήμανση στις τιμές benchmark αποτελεσμάτων
- στρογγυλοποίηση για μεγάλα MIPS/MFLOPS values
- απενεργοποίηση rounding πάνω από 100 MHz
- χρήση του A3000 ως reference για shrink-mode speed bar
- βελτίωση στο redraw των memory region και drive επιλογών
- διόρθωση στο flickering του software panel
- αλλαγές στο column layout
- αντικατάσταση των cache status labels με interactive toggle buttons
- νέο cycle button widget για toggle controls
SCSI, drives και build σύστημα
Στο κομμάτι των δίσκων και του SCSI έγιναν επίσης χρήσιμες διορθώσεις:
- διόρθωση στο CDB length
- αποστολή TEST UNIT READY για new-style commands
WaitTOFανάμεσα σεCloseDeviceκαιOpenDeviceστα inquiry καιread_capacity- αντικατάσταση των V36+ port/IO functions για συμβατότητα με Kick 1.3
- αντικατάσταση του
strcatμεsnprintf
Στο build σύστημα προστέθηκε υποδομή για Kick 1.3 compatibility, υποστήριξη για mmu.library headers και link, build συμβατό με DevPac, αυτόματη ανίχνευση του NDK include path από το toolchain και μετάβαση του CI σε gcc 13.3. Παράλληλα διορθώθηκαν αρκετά compiler warnings.
Λοιπές διορθώσεις
Υπάρχουν και αρκετές μικρότερες αλλαγές που λύνουν πρακτικά προβλήματα:
- ασφαλές startup από Workbench σε v36+ συστήματα
- ασφαλές κλείσιμο παραθύρου
- διόρθωση στην αντιστροφή του battmem amnesia bit
- καλύτερος χειρισμός αποτυχίας στο άνοιγμα του battmem resource
- διόρθωση στον υπολογισμό μνήμης
- workaround για το
uaehfbug - επιλογή Topaz 8 όταν το default font είναι πολύ ψηλό
- ενημερωμένο OpenPCI hash
- ενημερωμένο
icontool - σωστά license και SPDX headers
Διαθεσιμότητα
Η νέα έκδοση είναι διαθέσιμη από τη σελίδα του release στο GitHub: Release xSysInfo v0.6. Εκεί υπάρχει και ο σύνδεσμος για το πλήρες changelog από την 0.2a έως την 0.6.