★ CODING ★ LISTINGS ★ SCROLL MESSAGE : LAUFSCHRIFTEN IN ASSEMBLER (CPC AMSTRAD INTERNATIONAL) ★ |
Scroll Message : Laufschriften in Assembler (CPC Amstrad International) | Coding Listings |
Ready to use Tip (geschrieben mit dem HISOFT DEVPAC-Assembler GENA3.1) Spieleprogrammierer, die komplette Games oder Teile (Unterprogramm-Routinen) in Maschinensprache schreiben, brauchen auch irgendwann einmal ein (Unter-) Programm, das eine beliebig lange Laufschrift auf dem Bildschirm ausgibt. Um eine ausreichende Geschwindigkeit zu erzielen, ist man zwangsläufig auf die Maschinensprache-Ebene angewiesen. Wenn man das Ganze mit direkter Bildschirm- und Speichermanipulation, oder mit OUTs und ähnlichen Scherzen realisiert, so erreicht man akzeptable Laufzeiten und fließende Bewegungen (zum Beispiel: Manie Miner, Kong Strikes Back oder Ghostbusters), doch sind solche Verfahren äußerst komplex und schwieriger zu programmieren (und auch zu erklären!). Oder sie sind ausreichend schnell, aber unflexibel (zum Beispiel: DATA BECKER; CPC Tips & Tricks Band 2, Seite 170 ff.). Hier zunächst wieder einmal eine relativ einfache Lösung, bei der die Geschwindigkeit noch akzeptabel ist:
Um dieses Unterprogramm in eigenen Spielen (oder auch Anwendungen) zu benutzen, sind hier noch einige Tips: — Benutzte Register beim Einsprung: — Ab der in HL angegebenen Adresse muß der Text im Speicher stehen: Man sollte vor dem eigentlichen Text so-viele Leerzeichen anfügen wie in BC (Textlänge) angegeben, genauso am Ende des Textes. Das hat den Vorteil, daß der gewünschte Text rechts hereingescrollt wird und wieder links komplett hinaus gescrollt wird, so daß dieser Bildschirmabschnitt wieder so vorliegt, wie vorher. — In einem Spiel empfiehlt es sich, abzufragen, ob eine Taste gedrückt worden ist: Dies könnte man in Zeile 1585 ändern. So könnte Sich einer, der ein Spielchen wagen will, und ewig vor einer Laufschrift hockt, zu Tode langweilen. Ein Beispiel für eine kurze Anwendung: Fügen Sie bitte ein: 1011 bsp: ld hl,text |
|
|