Γνωστά Bugs
Γενικά Προβλήματα
- Υπάρχει ένα γενικό πρόβλημα με όλο το επιπλέον hardware που είναι
συνδεδεμένο στην Amiga και που δημιουργεί Interrupts σε τυχαίους ή συγκεκριμένους
χρόνους. Σαν παράδειγμα είναι η κάρτα δικτύου μου (Hydra). Αν έχω το TCP/IP
stack μου να τρέχει, σχεδόν όλα τα εγκατεστημένα προγράμματα θα παγώσουν
μετά από λίγο χρόνο γιατί η κάρτα δημιουργεί PORTS interrupts (του ίδιου τύπου
με αυτά που δημιουργούνται από το πληκτρολόγιο) που δεν μπορούν να
απαντηθούν σωστά από το εγκατεστημένο πρόγραμμα. Αυτό συμβαίνει γιατί
μόλις το αίτημα απαντηθεί με ένα rte, έρχεται το επόμενο interrupt.
Για την αποφυγή αυτού του προβλήματος, το TCP/IP stack πρέπει να είναι σταματημένο
πριν την εκκίνησητου WHDLoad.
Στην ίδια κατηγορία είναι και τα USB-stacks (χρησιμοποιήστε "AddUSBHardware REMOVE ALL"
για το Poseidon) και το Voodoo interrupt των μητρικών Mediator (πρέπει να ορίσετε το
"VoodooInt = No"). Ξεκινώντας από την έκδοση 16.8 του WHDLoad υπάρχει μία λύση για
τα interrupts που δημιουργούνται από τα Mediator, οπότε δεν χρειάζονται ειδικές
ρυθμίσεις.
- Εάν χρησιμοποιείτε το λογισμικό Picasso96 πρέπει να βεβαιωθείτε ότι η
επιλογή FakeNativeModes είναι ρυθμισμένη στο NO (tooltype στον monitor driver).
Διαφορετικά θα υπάρχουν γραφικά παράσιτα και ίσως crash.
- Υπάρχουν μερικοί σπάνιοι συνδυασμοί hardware που δεν υποστηρίζουν λειτουργίες του WHDload
σχετιζόμενες με MMU. Τα μόνα συστήματα που επηρρεάζονται είναι με 68030. Η επιλογή
MMU/S δεν πρέπει να ενεργοποιηθεί σε αυτά τα συστήματα!
Αν ενεργοποιηθεί, το WHDLoad θα παγώσει ολόκληρο το μηχάνημα. Μέχρι τώρα
το ακόλουθο hardware είναι γνωστό ότι δημιουργεί τέτοια προβλήματα: κάρτες επιταχυντών "Apollo
A630", "Apollo 1230", "Elbox 1230" και "Magnum MK2".
- Φαίνονται να υπάρχουν προβλήματα με επεκτάσεις RAM μέσω PCMCIA σε A1200.
Το WHDLoad ίσως εμφανίσει επιλογείς σφάλματος όπως Dos error #235 (executable not valid)
on loading "xxx.slave". Οι λόγοι φαίνονται να είναι ότι η μνήμη είναι λανθασμένα
δηλωμένη στις λίστες μνήμης συστήματος, γιατί το WHDLoad προσπαθεί να κατανέμει
μνήμη χρησιμοποιώντας τη σημαία MEMF_REVERSE και παίρνει μια άκυρη επιστρεφόμενη τιμή (δείκτης σε μη
υπαρκτή μνήμη). Δεν είναι γνωστό αν αυτό συμβαίνει μόνο σε συγκεκριμένες κάρτες ή κάτω
από συγκεκριμένους συνδυασμούς.
Σχετικά με προγραμματιστές
- Η λειτουργία της εναλλαγής μεταξύ του λειτουργικού συστήματος (OS) και
του εγκατεστημένου προγράμματος δεν είναι εντελώς αξιόπιστη. Το πρόβλημα είναι ότι οι περισσότεροι Custom
καταχωρητές και μερικοί Cia καταχωρητές δεν μπορούν να διαβαστούν και οπότε δεν μπορούν να αποθηκευτούν
και να επανέλθουν. Το WHDLoad από μόνο του δεν αλλάζει αυτούς τους καταχωρητές, αλλά όταν αλλάζει
από το εγκατεστημένο πρόγραμμα στο λειτουργικό (π.χ. για να διαβάσει ένα αρχείο από το δίσκο)
το λειτουργικό μπορεί να αλλάξει μερικούς από αυτούς τους καταχωρητές. Αν το εγκατεστημένο πρόγραμμα
βασίζεται σε όλους τους καταχωρητές να μείνουν ίδιοι, αυτό θα δημιουργήσει προβλήματα.
Είναι γνωστό ότι το λειτουργικό αλλάζει τουλάχιστον τους cop2lc, bltafwm και
bltalwm, και ίσως και άλλους. Σαν μία λύση στο πρόβλημα υπάρχει μία πιθανότητα
να επανέλθουν οι αλλαγμένοι καταχωρητές κατά τη διάρκεια της εναλλαγής. Δείτε τα
AutoDocs/WHDLTAG_CBSWITCH_SET για περισσότερες
πληροφορίες.