Το βασικό είναι να ορίσεις τους καταχωρητές R12 και R13 του CRTC στην αρχή της οθόνης. Μπορείς να το κάνεις αυτό από τη BASIC ως εξής:
OUT &BC00,12:OUT &BD00,&30:OUT &BC00,13:OUT &BD00,10
Το σημαντικό που πρέπει να θυμάσαι εδώ είναι ότι αν πληκτρολογήσεις πολλές τέτοιες εντολές, η BASIC θα κάνει scroll στην οθόνη, οπότε μπορεί να είναι δύσκολο να δεις τι συμβαίνει. Επομένως, βάλε αυτή τη γραμμή σε ένα πρόγραμμα BASIC και άλλαξε την τελευταία τιμή εκεί, το «10», ώστε να καταλάβεις λίγο καλύτερα πώς λειτουργεί.
Αλλάζοντας τα R12 και R13, αλλάζεις το σημείο από το οποίο εμφανίζεται η απεικόνιση της οθόνης. Στη συνέχεια, με βάση το πλάτος της οθόνης, αναδιπλώνεται στην επόμενη γραμμή και ούτω καθεξής. Όταν φτάσει στο τέλος της οθόνης, αναδιπλώνεται ξανά στην αρχή, οπότε αν αυξήσεις τον αριθμό για τα R13 και R12 (αλλά θυμήσου να προσθέσεις +&30 εδώ για να παραμείνει στην περιοχή &c000-&ffff), τότε μπορείς να δεις πώς λειτουργούν οι αριθμοί. Πρόσθεση, αφαίρεση, πόσο να μετακινήσεις ολόκληρες γραμμές κ.λπ.
Αυτό που κάνει στη συνέχεια το Plus είναι να παρέχει δύο ακόμη καταχωρητές. Έτσι, μπορείς να μετατοπίσεις την οθόνη σε pixel οριζόντια και κάθετα. Ουσιαστικά αλλάζεις την τιμή μετατόπισης από 0 έως 15. Μετά την επαναφέρεις στο 0 και ενημερώνεις τα R12 και R13. Κάνοντας αυτό, πετυχαίνεις ομαλό pixel scroll (soft pixel scroll). Το ίδιο μοτίβο μπορεί να χρησιμοποιηθεί και κατακόρυφα με την τιμή του vertical soft scroll.
Μόλις το καταφέρεις αυτό, έχεις κάνει scroll στην οθόνη. Το επόμενο βήμα είναι να ενημερώσεις τα γραφικά.
Όταν κάνεις οριζόντιο scroll, ενημερώνεις μια στήλη γραφικών στη μία πλευρά της οθόνης —κάτι που δεν έχει ιδιαίτερη σημασία ποια θα είναι, λόγω του τρόπου με τον οποίο αναδιπλώνεται η οθόνη— και εισάγεις τα νέα γραφικά εκεί. Αν κάνεις scroll και εισάγεις νέα γραφικά, μπορείς στη συνέχεια να κάνεις scroll σε έναν ολόκληρο χάρτη.
Αν θέλεις να κάνεις κάθετο scroll, ενημερώνεις πάλι μία μόνο γραμμή, είτε στο επάνω είτε στο κάτω μέρος —και πάλι δεν έχει τόση σημασία ποια— και εισάγεις νέα γραφικά για να κάνεις scroll στον χάρτη.
Οπότε, μόλις τα κάνεις όλα αυτά, στο Plus μπορείς ελεύθερα και χωρίς κανένα πρόβλημα να τοποθετήσεις hardware sprites όπου θέλεις από πάνω.
Αν γράφεις για CPC, τότε υπολογίζεις με βάση τη βάση της οθόνης (screen base) και τις συντεταγμένες x,y του sprite σου το πού θα το σχεδιάσεις. Το σχεδιάζεις όπως θα έκανες για μια στατική οθόνη (αν και υπάρχει ένα σημείο όπου το INC HL δεν προχωράει στο επόμενο byte της οθόνης όπως αναμένεται· μπορείς να μελετήσεις το disassembly του SCR_NEXT_BYTE στο firmware για να δεις μία μέθοδο, ενώ μια άλλη είναι να σχεδιάσεις το sprite σε στήλες και να το αποφύγεις, υπάρχουν διάφοροι τρόποι).
Αφού σχεδιάσεις το sprite, θα χρειαστεί να το σβήσεις. Και πάλι υπάρχουν διάφορες μέθοδοι: θα μπορούσες να ξανασχεδιάσεις τα πλακίδια (tiles) από πίσω, να αντιγράψεις την οθόνη κατά τη σχεδίαση και να την επαναφέρεις, να την αντιγράψεις από μια άλλη, «καθαρή» έκδοση της οθόνης… ποικίλλει.
Το πιο ομαλό scroll στον CPC (χωρίς τη χρήση του Plus) μπορεί να γίνει με διάφορους τρόπους· μην περιμένεις όμως να φτάσεις εύκολα την ομαλότητα του Plus οριζόντια, ενώ κάθετα μπορεί να επιτευχθεί με διάφορους τρόπους.
Υπάρχουν συγκεκριμένα σημεία στα οποία χρειάζεσαι βοήθεια; Πες μου και ελπίζω να βρούμε μια άκρη ώστε να γίνουν όλα ξεκάθαρα.