Ο ακόλουθος πίνακας δείχνει τη ροή προγράμματος όταν θα εκτελεστεί μία εγκατάσταση
του WHDLoad. Ελπίζω να σας βοηθήσει να καταλάβετε πως δουλεύει το WHDLoad και πως το
WHDLoad, το Slave και το εγκατεστημένο πρόγραμμα συνεργάζονται.
Ο ΧΡΗΣΤΗΣ |
- ξεκινάει το demo ή παιχνίδι κάνοντας κλικ στο εικονίδιο Icon ή ξεκινώντας
το WHDLoad από τη γραμμή εντολών
|
Το Λειτουργικό Σύστημα |
- φορτώνει το εκτελέσιμο του WHDLoad και το ξεκινάει
|
Το WHDLoad |
- ελέγχει το περιβάλλον Software και Hardware
- φορτώνει και ελέγχει το Slave
- κατανέμει την απαιτούμενη memory για το εγκατεστημένο πρόγραμμα
- εάν η Preload/Sέχει ενεργοποιηθεί φορτώνει
τα disk images και τα αρχεία στη RAM (εφόσον υπάρχει διαθέσιμη
ελεύθερη μνήμη)
- κλείνει το OS (απενεργοποιεί το mutitasking και τα interrupts, υποβαθμίζει
το hardware γραφικών σε OCS, ξεκινά όλο το hardware με ορισμένες τιμές)
- μεταπηδάει στο Slave
|
Slave |
- φορτώνει το κυρίως εκτελέσιμο του εγκατεστημένου προγράμματος καλώντας μία συνάρτηση του
WHDLoad (π.χ. resload_DiskLoad ή resload_LoadFile)
- διορθώνει το κυρίως εκτελέσιμο (ότι το πρόγραμμα θα φορτώσει τα δεδομένα του
μέσω του Slave, να διορθώσει προβλήματα συμβατότητας, να ενεργοποιήσει μία έξοδος
από το πρόγραμμα)
- καλεί το κυρίως εκτελέσιμο
|
Εγκατεστημένο πρόγραμμα |
- θα κάνει τα πράγματά του
- στο φόρτωμα δεδομένων από το δίσκο θα καλέσει το Slave (επειδή το
Slave το έχει διορθώσει έτσι προηγουμένως), και το Slave
θα καλέσει το WHDLoad, και το WHDLoad θα ενεργοποιήσει μερικώς το OS για να
φορτώσει τα δεδομένα (μόνο αν τα δεδομένα δεν είναι ήδη με Preload'ed),μετά επιστρέφει, επιστρέφει
και το εγκατεστημένο πρόγραμμα συνεχίζει
|
Ο ΧΡΗΣΤΗΣ |
- βγαίνει από το πρόγραμμα πατώντας το QuitKey
|
το Slave |
|
το WHDLoad |
- επανενεργοποιεί το OS (επαναφέρει τους καταχωρητές hardware, την οθόνη και τη μνήμη)
- απελευθερώνει όλους τους κατανεμημένους πόρους
- και επιστρέφει στο OS
|