CODINGLISTINGS ★ Die SCROLL-Routine von ”Energy Ball” (siehe S. 49-51) ★

Die SCROLL-Routine von ''Energy Ball'' (Schneider Magazin)Coding Listings
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Im folgenden finden Sie eine Dokumentation zum Assemblerlisting. Das ruckeifreie Scrolling wurde durch Nutzung des CPC-Hardware-Scrollings erreicht. Da die internen Betriebssystemroutinen für dieses Vorhaben jedoch zu langsam waren, mußten eigene, schnellere Routinen entwickelt werden.

Die so entstandene Routine hat folgende Aufgaben: Zunächst sind verschiedene Bildschirm-Offsets bei jedem Scrolling jeweils um 80 Bytes zu erniedrigen. Danach wird die nächste auszugebende Zeile aus dem Speicher geholt und in einem Pseudobereich generiert, d.h. in Sprites umgesetzt. Gleichzeitig wird eine Fehlertabelle auf den neuesten Stand gebracht. Zum Schluß beginnt die eigentliche Aufgabe. SCROLL wartet auf den nächsten Strahlrücklauf, kopiert die Score-Anzeige und die neue Zeile in dazu berechnete Bereiche des Bildschirms und scrollt mit Hilfe einiger OUT-Befehle auf die Adressen &BCXX und &BDXX (Video-Controller 6845 CTRC) den Bildschirm um eine Zeile nach unten. Allerdings ist diese SCROLL-Routine immer noch zu langsam; die ersten sechs Buchstaben der Score-Anzeige sind bei jedem Scroll-Vorgang in der letzten Zeile zu sehen. Deshalb wurde der Bildschirm auf 24 Zeilen verkleinert. Nun folgen einige Erläuterungen zum Assemblerlisting der SCROLL-Routine mit den entsprechenden Zeilen nummern. 1000-1240 Die Bildschirm-Offsets werden durch Addition mit &FFB0 um 80 Bytes verringert.

  • 1250-1450 Die Fehlertabelle wird erneuert und die nächste Zeile aus dem Speicher geholt.
  • 1460 Die nächste Zeile wird generiert.
  • 1470-1530 Die Ausgabenummer des Balls wird um eins erhöht. (Es gibt insgesamt acht Sprites für die Animation des Balls.)
  • 1540-1570 Die Routine wartet auf den nächsten Strahlrücklauf.
  • 1580-1640 Die Score-Anzeige und die nächste Zeile werden in den Bildschirm kopiert.
  • 1650 Der Energy Ball wird gelöscht.
  • 1660-1710 Der Bildschirm wird gescrollt und der Energy Ball erneut ausgegeben.
  • 1720-1780 Die Zeitverzögerung wird geholt und heruntergezählt.

Schneider Magazin

★ PUBLISHER: Schneider Magazin
★ YEAR: 1988
★ CONFIG: 64K + AMSDOS
★ LANGAGE: ???
★ LiCENCE: LISTING
★ AUTHOR: Ingo Kubbilun
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Scroll-Energy  Ball    (Schneider  Magazin)    LISTING    GERMANDATE: 2021-02-02
DL: 203
TYPE: PDF
SiZE: 437Ko
NOTE: 4 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » Graphic - Scroll Demo (The Amstrad User)
» Coding Src's » Vertical Message Scroll Routine (Jason Brooks)
» Coding » Logon System ACPC n°44 - 3D Scroll demo
» Coding » Crtc - Scrolling (SOS Programmeurs)
» Coding Src's » Scroll plein ecran en rasters
» Coding » AMSLIVE n°04 - Asic - Scrollhard
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 287 millisecondes et consultée 897 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.