### WHDLoadCD32

Το WHDLoadCD32 είναι μία ειδική έκδοση του WHDLoad για χρήση σε CD³². Έχει βελτιστοποιηθεί για αυτό το hardware και για αυτό τον λόγο θα τρέξει μόνο σε ένα απλό, χωρίς επεκτάσεις CD³². Δεν θα τρέξει σε SX-32 ή άλλο μηχάνημα.

Αυτές είναι οι διαφορές από το απλό WHDLoad:

- δεν απαιτεί ή χρησιμοποιεί WHDLoad keyfile, οπότε CD με το WHDLoadCD32 μπορούν να διανέμονται ελεύθερα
- μόνο ο 68020 CPU υποστηρίζεται, αυτό σημαίνει επίσης ότι δεν υπάρχει υποστήριξη MMU
- η fast memory δεν υποστηρίζεται
- δεν υπάρχει καθόλου υποστήριξη εγγραφής, ούτε savegames, highscores ούτε coredumps (ένα CD είναι συνήθως μόνο για ανάγνωση)
- πολλές επιλογές που δεν χρειάζονται σε ένα CD³² έχουν αφαιρεθεί για να γίνει μικρότερο το εκτελέσιμο και για εξοικονόμηση μνήμης, δείτε το Χρήση και Επιλογές για το ποιές επιλογές επηρρεάζονται
- οι ακόλουθες λειτουργίες resload δεν έχουν ενσωματοθεί και η χρήση τους θα τερματίσει το WHDLoad με επιστρεφόμενη τιμή TDREASON_ILLEGALARGS:
  - resload_DiskLoadDev
  - resload_ProtectRead
  - resload_ProtectReadWrite
  - resload_ProtectWrite
  - resload_ProtectRemove
  - resload_ProtectSMC
- οι ακόλουθες λειτουργίες resload είναι dummies, δεν θα κάνουν τίποτα αλλά επιστρέφουν πάντα επιτυχία:
  - resload_SaveFile
  - resload_SaveFileOffset
  - resload_DeleteFile
- δεν υπάρχει καθόλου υποστήριξη freezer/monitor ενσωματομένη
- δεν υπάρχει καθόλου εσωτερικός έλεγχος για επαρκές μέγεθος stack όπως στο κανονικό WHDLoad, στις δοκιμές μου το προεπιλεγμένο μέγεθος των 4096 bytes πρέπει να είναι αρκετό για το WHDLoadCD32

### Συμβουλές για την χρήση του WHDLoad σε ένα CD³²

Το κυρίως πρόβλημα σε ένα CD³² είναι η περιορισμένη μνήμη. Υπάρχουν μόνο 2 MB chip μνήμης. Οπότε ο σκοπός πρέπει να είναι να έχουμε όσο το δυνατόν περισσότερη ελεύθερη μνήμη για το WHDLoad και ειδικά για τη λειτουργία PreLoad. Σιγουρευτείτε ότι κανένα άλλο πρόγραμμα δεν τρέχει όταν ξεκινάτε ένα εγκατεστημένο πρόγραμμα με το WHDLoadCD32.

- Εάν η εγκατάσταση δίνει την επιλογή ανάμεσα σε diskimages και αρχεία, χρησιμοποιήστε τα αρχεία. Επειδή πολλά μικρότερα αρχεία μπορούν ποιό εύκολα να μπουν στη cache από ότι μεγαλύτερα αρχεία.
- Εάν η εγκατάσταση παρέχει την δυνατότητα συμπίεσης αρχείων με ProPack/FImp χρησιμοποιήστε την και συμπιέστε όλα τα αρχεία (το RNC1 έχει την καλύτερη συμπίεση). Τα συμπιεσμένα αρχεία χρειάζονται λιγότερη μνήμη για την PreLoad και δεν καθυστερούν σχεδόν καθόλου το φόρτωμα.
- Χρησιμοποιήστε το AllocMemReverse πριν την εκτέλεση του WHDLoadCD32 (ή κάτι αντίστοιχου). Το AllocMemReverse είναι ένα μικρό πρόγραμμα που συμπεριλαμβάνεται στο πακέτο-dev του WHDLoad. Βάζει ένα patch στην λειτουργία exec AllocMem για να χρησιμοποιεί πάντα την ιδιότητα μνήμης MEM_REVERSE για τις κατανομές. Αυτό θα προκαλέσει την κατανομή της μνήμης από την κορυφή της ελεύθερης μνήμης προς την βάση όχι από την βάση προς την κορυφή ως συνήθως. Και αυτό θα αφήσει τις χαμηλότερες περιοχές ελεύθερες. Η ιστορία είναι, ότι το WHDLoad χρειάζεται μνήμη που να ξεκινάει στη διεύθυνση 0, την αρχή της chipmem. Όλη η μνήμη που χρησιμοποιείται σε αυτή τη χαμηλότερη περιοχή πρέπει να μετακινηθεί. Για αυτό, επιπλέον μνήμη χρειάζεται για να κρατήσει την μνήμη που μετακινείται. Όσο περισσότερη μνήμη χρησιμοποιείται στις χαμηλότερες περιοχές μνήμης, τόσο λιγότερη είναι διαθέσιμη για το εγκατεστημένο πρόγραμμα και για την προφόρτωση των αρχείων δεδομένων.
- Χρησιμοποιείτε πάντα την επιλογή Data. Η PreLoad δεν γνωρίζει ποιά αρχεία θα φορτωθούν από το εγκατεστημένο πρόγραμμα, οπότε φορτώνει όλα τα αρχεία που θα βρει. Για να αποφύγετε το φόρτωμα περιττών αρχείων δημιουργήστε έναν κατάλογο που περιέχει μόνο τα απαραίτητα αρχεία. Διαγράψτε όλα τα άχρηστα πράγματα όπως #?.info, #?.Slave, ReadMe, Manual, .... Μετά καλέστε το WHDLoad με τον κατάλογο Slave και Data ως παράμετρο, π.χ. `WHDLoadCD32 :Slaves/XYZ.Slave Data=:Data/XYZ PreLoad`. Δεν υπάρχει λόγος να αλλάξετε τον τρέχον κατάλογο πουθενά αλλού.
- Μην χρησιμοποιείτε αρχεία δεδομένων συμπιεσμένα με XPK. Η αποσυμπίεση XPK χρειάζεται πολύ μνήμη γιατί οι βιβλιοθήκες XPK πρέπει να είναι στη μνήμη, ενώ η ίδια η αποσυμπίεση χρειάζεται μνήμη και θα προκαλέσει κατακερματισμό της μνήμης.