APPLICATIONSPROGRAMMATION ★ Deutsche Meldungen ★

Deutsche Fehlermeldungen (Computer Technik)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 ★ 

CPC 464 drückt Fehler ‘allgemeinverständlich' aus

Das vorgestellte Programm ersetzt auf dem Schneider CPC 464 die englischen Fehlermeldungen durch deutsche, was für Computer-Neulinge oft eine große Arbeitserleichterung bedeutet. Schließlich sind die oft sehr jugendlichen Computer-Fans der englischen Sprache noch nicht so mächtig (bis auf Peek, Poke, Print und so weiter). Auch wird bei jeder Fehlermeldung ein Warnton ausgegeben. Fortgeschrittenen Programmierern kann die Funktionsweise des Programms wertvolle Programmiertips geben.

Da das Programm in Maschinencode geschrieben ist, gibt es zwei Wege bei der Programmeingabe: Eintippen des Quellcodes für einen Assembler oder Abtippen des BASIC-Laders.

Der BASIC-Lader plaziert das Maschinenprogramm immer unter dem aktuellen HIMEM. Somit bleibt für BASIC der maximale Speicherplatz frei: Sie müssen nicht einmal 1 KByte opfern! Im ganzen Maschinenprogramm befinden sich nur drei absolute Sprünge innerhalb des Programms, die der BASIC-Loader automatisch korrigiert. Steht das Maschinenprogramm im Speicher, werden fast alle englischen Fehlermeldungen durch ihre deutschsprachigen Pendants ersetzt. ‘Fast' heißt, daß zum Beispiel ‘Break' nicht ersetzt wird, da hier die Fehlerausgabe anders funktioniert.

Wollen Sie wieder auf die Ausgabe der originalen Fehlermel-
dungen umschalten, genügt der Befehl POKE &AC04,&C9. Danach kann man mit POKE &AC04,&C3 wiederum auf deutsche Texte zurückschalten. Eine Vergleichsliste der deutschen und englischen Meldungen können Sie im Quellcode des Programms finden; bestimmte Fehlerausgaben können durch den ERROR-Befehl erreicht werden, zum Beispiel wird bei ERROR 24 'Dateiende erreicht' ausgegeben.

Umleitung

Eine recht nützliche Eigenart des BASIC-Interpreters im CPC 464 sind die sogenannten ‘Umleitungen' (englisch ‘Indi-rections'). Dies sind Speicher-steilen im RAM. die aus dem Interpreter heraus an wichtigen Stellen angesprungen werden und normalerweise nur aus einem RET-Rücksprungbefehl bestehen. Da diese Indireclions aber im RAM stehen, kann man sie so verändern, daß sie auf eigene Maschinenprogramme zeigen. Hiermit kann der BASIC-Interpreter also völlig umgebaut werden.

Auch vor der Ausgabe eines Fehlers springt der Computer an der Adresse 0CA94h in eine Fehler-Indirection an der Adresse 0AC04h. Hier greift das Programm an: Es schreibt den Sprung JP NEWERR dorthin und bewirkt somit, daß alle zukünftigen Fehlermeldungen abgefangen und an die neue Fehlerausgabe umgeleitet werden.

Mil einem Disassembler oder einem ROM-Listing sucht man sich nun die Tabelle der Fehlermeldungen: Sie liegt im Bereich von 0CC5Bh bis 0CE66h. Sucht man weiter, so kann man feststellen, daß in der Adresse 0CC45h in ein Register die Basisadresse dieser Fehlermeldungen geladen wird:

LD DE,0CC5Bh

Verfolgt man den Programmcode weiter, so gelangt man direkt vor der Fehlertabelle an einen RET-Rücksprung befehl in Adresse 0CC5Ah. Daraus läßt sich schließen, daß dieses Programmsegment ein Unterprogramm ist. das logischerweise irgendwo im Bereich zwischen 0C000h und 0FFFFh mit CALL 0CC45h aufgerufen werden muß. Zur Freude des Programmierers geschieht dies nur einmal, nämlich in 0CAD0h. Dies bedeutet, daß der Bereich vom Aufruf der Fehler-lndirection bis zum Sprung in den Bildschirmeditor, der ja nach einer Fehlermeldung automatisch angesprungen wird, kopiert werden muß. Ebenso muß natürlich auch das wichtige Unterprogramm zur Fehlerausgabe im Bereich 0CC45h bis 0CC5Ah in das Programm übernommen werden.

Unterschiede zwischen Original-ROM-Programm und der neuen Ausgabe-Routine bestehen nur in der internen Adressierung, vor allem in der Veränderung des Zeigers hin auf die neue Fehlertabelle.

C'T 8605

★ PUBLISHER: Computer Technik (c't)
★ YEARE: 1985 , 1986
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ AUTHOR: Martin KOTULLA
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» Deutsche  Fehlermeldungen    (Computer  Technik)    (ASM-SOURCE)    GERMAN    LISTINGDATE: 2024-03-07
DL: 15
TYPE: PDF
SiZE: 634Ko
NOTE: Supplied by archive.org ; 2 pages/PDFlib v1.6

» Deutsche  Fehlermeldungen    (Computer  Technik)    GERMAN    LISTINGDATE: 2024-03-07
DL: 20
TYPE: PDF
SiZE: 653Ko
NOTE: Supplied by archive.org ; 2 pages/PDFlib v1.6

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

Lien(s):
» Applications » Computer Calender (Amstrad Action)
» Applications » Bildschirmverzerrer (CPC Amstrad International)
» Applications » Nullstellenprogramm mit Errarbearbeitung fuer CPC 464 (Happy Computer)
» Applications » Debug: Traitement Erreur (Amstrad Magazine)
» Applications » Rsx - Clock - Interrupt - Uhr für den CPC 464 (CPC Amstrad International)
» Applications » Fensterrahmen (Schneider Magazin)
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 031 millisecondes et consultée 83 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.