APPLICATIONSPROGRAMMATION ★ CALL 0 (SCHNEIDER AKTIV SPECIAL) ★

Call 0 (Schneider Aktiv Special)Applications Programmation
★ 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 ★ 

Maschinensprachenprogrammierer werden's wissen: Wenn man sich z.B. bei dieser Zeile 40 CALL HIMEM

vertippt und statt einem ‘M‘ versehentlich ein ‘N‘ eingibt, ist das Dilemme groß, denn der Computer springt dann nicht wie gewünscht die höchste von Basic belegbare Adresse an, sondern Speicherzelle 0, da er ‘HINEM‘ (oder ‘HIMEN‘) als Variable ansieht, die aber den Wert 0 hat, falls sie vorher noch nicht gebraucht wurde. Und was bei einem CALL 0 passiert, weiß ja wohl jeder — nämlich ein System-Reset, was eventuell verheerende Folgen haben kann. Stellen Sie sich mal vor, Sie geben ein Programm ein, sind fast fertig, vertippen sich, ohne es zu merken, und auf einmal ist nach dem Starten des Programms alles verschwunden und der CPC befindet sich im Einschaltzustand!

Das dreiteilige Programm “CALL 0“ verhindert dieses. Geben Sie zunächst korrekt Listing 1 (abspeichern mit “CALL0.BAS“) oder, falls Sie einen Assembler besitzen sollten, Listing 2 ein (SAVEn mit “CALL0.ASM“ und Opcod e mit “CALL0.BIN“). Danach Listing 3 eintippen und mit “CALL0.L0A“ auf Disk/Kassette bringen. Starten Sie Listing 1 im Falle, daß es statt Listing 2 eingegeben wurde. Es erstellt den MC-Code ab Speicherzelle &AF00 im RAM des CPC. Das hat folgende Vorteile:

  • Der gesamte freie Speicher für Basic von über 42K bleibt erhalten.
  • Die Routine geht nur verloren, wenn der Reset-Knopf betätigt oder der CPC ganz ausgeschaltet wird. Sie werden sehen: Bei dem sog. 3-Finger-Griff (SHIFT-CTRL-ESC) befindet sich der Code immer noch am gleichen Fleck (ab &AF00).

Danach Listing 3 starten. Dieses Programm lädt nicht nur den MC-Teil. Es POKEt auch in Zeile 50 die Zellen 0,1,2 mit neuen Werten, so daß der CPC bei einem versehentlichen CALL 0 sofort die MC-Routine anspringt; wobei ich abschließend hoffe, daß sie auch für Maschinensprache-Anfänger durch die großzügigen Kommentare in Listing 2 zu verstehen ist, die hinter den Semicolons der einzelnen Zeilen stehen, jedoch nicht eingegeben werden müssen.

Variablenliste:

adr Anfangsadresse der MC-Routine
last Letzte Adresse der MC-Routine
sum Wert eines Bytes
checksum Wert einer DATA-Zeile zeile DATA-Zeile
schritt Zeilenabstand
i Schleifenvariable

Strukturierung der Programme:

a) Listing 1:

10-1 50 Copyright-Vermerk
160-370 Generieren und abspeichern des MC-Codes
380-480 MC-Datas

b) Listing 2:

40-100 RAM-Einsprünge und Startadresse setzen
110-180 Bildschirmaufbau
190-220 Tastaturabfrage
230-290 Testen, ob “J“ oder “N“ gedrückt wurde. Falls nicht, Piepston ausgeben und zurück nach Zeile 190 springen
300-310 Ja (“J“) wurde eingetippt, daher erfolgt ein System-Reset
320-350 Nein (“N“) wurde eingegeben. Antwortsatz ausgeben
360-420 Programmende mit Rücksprung zu Basic
430-470 PRINT Routine
480-520 Definition der Bemerkungen

c) Listing 3 ist nicht unterteilbar (ein Block)!

(Jens Kahle) , SA

★ PUBLISHER: Schneider Aktiv
★ YEAR: 1987
★ CONFIG: 64K + AMSDOS
★ LiCENCE: LISTING
★ COLLECTION: SCHNEIDER AKTIV SPECIAL 1987
★ LANGUAGE:
★ AUTHOR: Jens Kahle
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Call  0    (Schneider  Aktiv  Special)    LISTING    GERMANDATE: 2022-08-10
DL: 113
TYPE: PDF
SiZE: 615Ko
NOTE: Supplied by www.acpc.me ; 3 pages/PDFlib v1.6

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

Lien(s):
» Applications » Call Cost (Amstrad Computer User)
» Applications » RSX Call (Happy Computer)
» Applications » Call (Happy Computer)
» Applications » Instant Recall
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, 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 024 millisecondes et consultée 400 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.