ARNOR Z80 ASSEMBLER version 1.15 Page 001 00002 00003 ;Der Dateinamen dieses Quellcodes ist LADE-HGB.MAX // Version vom 2019.03.20 00004 ; 00005 ;Das Programm hat 430 Zeilen. Diese Angabe erlaubt eine schnell Pruefung 00006 00007 00008 NOLIST ;Beim Assemblieren wird der Quellcode nicht aufgelistet 00009 ;Dadurch wird das Assemblieren beschleunigt 00010 00011 00012 A2A0 WRITE "-LadeHGB.COM" ;Der Befehl WRITE schreibt den generierten Maschinen-Code 00013 ;auf Diskette. Der Dateinamen ist LadeHGB.COM 00014 ;Nach dem Abspeichern bitte auf "LadeHGB.64K" umbenennen 00015 ;Die Extension ".COM" speichert ohne Header ab. 00016 ;Deshalb wird der Header hier direkt integriert... 00017 ;Die Erweiterung .64K zeigt an, dass das assemblierte 00018 ;Programm im Hauptspeicher ausgefuehrt wird. 00019 00020 ;Datei - Header f. "-LadeHGB.64K" 00021 ; 00022 ;Typ 3 Icon, 24 * 16 MODE 1 Pixel 00023 00024 A2A0 08 DB &08 ;User 00025 00026 A2A1 2D 4C 61 64 DB "-LadeHGB64K" ;Datei-Name, Extension A2A5 65 48 47 42 A2A9 36 34 4B 00027 00028 A2AC FF FF FF FF DB 255,255,255,255,255,255 A2B0 FF FF 00029 00030 A2B2 82 DB &82 ;DateiTyp Binaer, FutureOS 00031 00032 A2B3 00 DB &00 ;(X-Ausdehnung) / Beide Werte werden 00033 A2B4 00 DB &00 ;(Y-Ausdehnung)/ hier nicht verwendet 00034 00035 A2B5 00 90 DW &9000 ;Lade-Adresse Datei 00036 A2B7 C0 DB &C0 ;Lade-RAM-Block Datei 00037 00038 A2B8 80 03 DW &0380 ;LH Dateilaenge (Bits 0..15) 00039 A2BA 00 90 DW &9000 ;LH Autostart 00040 00041 A2BC 00 DB &00 ;OverByte Dateilaenge (Bits 16..23) 00042 A2BD C0 DB &C0 ;Autostart-RAM 00043 00044 A2BE 88 00 00 00 DB 136, 0, 0, 0, 0,17 A2C2 00 11 00045 A2C4 89 C2 00 00 DB 137,194, 0, 0, 52,25 A2C8 34 19 00046 A2CA 9A ED 0F 0F DB 154,237, 15, 15,123,149 A2CE 7B 95 00047 A2D0 B9 FF FF FF DB 185,255,255,255,255,217 A2D4 FF D9 00048 A2D6 B9 88 01 81 DB 185,136, 1,129,153,217 A2DA 99 D9 00049 A2DC 9A A8 40 7A DB 154,168, 64,122 00050 00051 A2E0 80 03 DW &0380 ;LH DL, IRRELEVANT 00052 00053 A2E2 03 DB &03 ;IconTyp &03, Grafik 6*2 00054 00055 A2E3 FB 1C DW &1CFB ;Pruefsumme ueber die ersten &43 (hier &9000-&9042) Bytes des Headers 00056 00057 A2E5 5F 95 DB 95,149 00058 A2E7 89 A8 E0 57 DB 137,168,224, 87, 85, 25 A2EB 55 19 00059 A2ED 89 B8 F0 11 DB 137,184,240, 17,213, 25 A2F1 D5 19 00060 A2F3 9A B8 52 90 DB 154,184, 82,144,153,149 A2F7 99 95 00061 A2F9 B9 B8 70 90 DB 185,184,112,144,153,217 A2FD 99 D9 00062 A2FF B9 FF FF FF DB 185,255,255,255,255,217 A303 FF D9 00063 A305 9A ED 0F 0F DB 154,237, 15, 15,123,149 A309 7B 95 00064 A30B 89 C2 00 00 DB 137,194, 0, 0, 52, 25 A30F 34 19 00065 A311 88 00 00 00 DB 136, 0, 0, 0, 0, 17 A315 00 11 00066 A317 FF FF FF FF DB 255,255,255,255,255,255 A31B FF FF 00067 A31D 54 46 4D DB "TFM" 00068 00069 00070 9000 (9000) ORG &9000 ;Es wird ab der Adresse &9000 assembliert 00071 ;Der Datei-Header befindet sich davor 00072 ;er taucht im fertigen Programm nicht auf 00073 00074 00075 9000 ED 4B 01 FF .LADE_HGB LD BC,(&FF01) ;Das Doppelregister BC wird aus der Adresse &FF01 00076 ;geladen. Diese 16 Bit Adresse enthaelt die Nummer 00077 ;von ROM A des FutureOS (in unteren Byte) und den 00078 ;Wert &DF (im oberen Byte). 00079 00080 9004 ED 49 OUT (C),C ;Dieser Befehl sendet den Wert des Registers C 00081 ;an die durch BC adressierte Ausgabe-Schnittstelle. 00082 ;Es wird also FutureOS ROM A eingeblendet. 00083 00084 9006 01 82 7F LD BC,&7F82 ;Die Ausgabeschnittstelle &7Fxx ist fuer die Auswahl 00085 ;von RAM, ROM und des Bildschirm-MODEs zustaendig 00086 ;Das untere ROM wird zwischen &0000 und &3FFF eingeblendet 00087 ;Und damit auch der Zeichensatz des CPC, zwischen &3800 und &3FFF 00088 00089 9009 ED 49 OUT (C),C ;Wert &82 an Port &7Fxx senden, damit oberes & unteres ROM ein. 00090 00091 900B ED 43 47 B8 LD (RAMCHAR),BC ;Der aktuelle MODE und der Status des oberen und des unteren 00092 ;ROMs wird in die RAM Variable RAMCHAR geschrieben. 00093 ;Dadurch weiss das OS ueber MODE um RAM Status bescheid. 00094 00095 900F 21 D3 90 LD HL,ESM ;Das Doppelregister HL wird mit der Adresse des auszugebenden 00096 ;Textes geladen. 00097 00098 9012 CD 8C D4 CALL TERM_2 ;Mit TERM_2 werden normale Zeichen im MODE 2 ausgegeben 00099 ;Beim Aufruf vom TERM_2 muss das Doppelregister HL mit einer 00100 ;Adresse geladen sein, die auf den darzustellenden Text zeigt 00101 00102 00103 ;Nun wird getestet ob FutureOS im SPARtan Modus arbeitet. 00104 ;Wenn ja, dann muss das OK Icon per Hand eingeblendet werden, 00105 ;denn anschliessend wird durch den API Eingang KLICK ins OS gesprungen. 00106 ;Und KLICK stellt die Icons nicht neu dar (wie z.B. TUR_D es tut). 00107 00108 9015 3A 6E B9 LD A,(KF_MED) ;Konfigurations Byte in A laden. Bit 4 bestimmt SPARtan Modus. 00109 00110 9018 CB 67 BIT 4,A ;Testen ob Bit 4 gesetzt ist. Wenn Ja, dann ist SPARtan Modus aktiv! 00111 00112 901A 28 0D JR Z,NO_SPARTAN ;Ist Bit 4 geloescht, dann ist der SPARtan Modus ausgeschalten 00113 00114 ;Der SPARtan Modue ist aktiv, OK Icon per Hand einblenden 00115 00116 901C 11 F2 C1 LD DE,&C1F2 ;Ziel-Adresse des OK Icons auf dem Bildschirm in DE laden 00117 901F 21 E1 DB LD HL,OK ;Quelle Icon-Daten des OK Icons (in ROM D) in HL laden 00118 00119 9022 DD 21 17 C0 LD IX,ICON6ON ;Adresse der OS Funktion zur Darstellung eines Icon in IX laden 00120 00121 9026 CD 3C FF CALL ROM_A2D ;OS Funktion in ROM D aufrufen, dann wieder ROM A einblenden 00122 ;Der API Eingang ROM_A2D blendet zuerst ROM D ein, dann 00123 ;wird die durch Register IX adressierte OS Funktion aufgerufen, 00124 ;und schliesslich wird ROM A (wieder) eingeblendet und 00125 ;es erfolgt der Ruecksprung zur Applikation 00126 00127 00128 ;Nun wird das OK Icon aktiviert. Dazu muss das Programm vier Variablen mit den 00129 ;entsprechenden Daten laden. Das sind die Adressen, an die gesprungen werden 00130 ;soll, sobald das OK Icon geklickt wird. Und dazu ein Pruefsumme. 00131 ;Ausserdem wird die RAM-Konfiguration angegeben, die vor dem Ruecksprung 00132 ;eingeblendet werden soll. Auch dazu kommt eine Pruefsumme. 00133 ;Alle vier Variablen haben 16 Bit. 00134 00135 9029 .NO_SPARTAN 00136 00137 9029 21 47 90 LD HL,HGB_WEITER 00137 902C 22 58 BA LD (OK_ADR),HL ;Beim klicken des OK-Icons soll an das 00138 ;Label "HGB_WEITER" gesprungen werden 00139 00140 902F 21 B8 6F LD HL,&FFFF-HGB_WEITER 00140 9032 22 5A BA LD (OK_ATE),HL ;Das ist die zugehoerige Pruefsumme 00141 ;fuer die Ruecksprung-Adresse 00142 00143 9035 21 C0 7F LD HL,&7FC0 00143 9038 22 5C BA LD (OK_BLK),HL ;Vor dem Ruecksprung soll der Hauptspeicher 00144 ;eingeblendet werden (deshalb &7FC0) 00145 00146 903B 21 3F 80 LD HL,&FFFF-&7FC0 00146 903E 22 5E BA LD (OK_BTE),HL ;Und das ist die passende Pruefsumme fuer 00147 ;die RAM Konfiguration 00148 00149 00150 9041 21 9A FE LD HL,KLICK ;Die OS Funktion KLICK ist ein Einsprung ins OS. 00151 ;Das sich KLICK in ROM D befindet, aber ROM A eingeblendet ist, 00152 ;kann KLICK nicht direkt aufgerufen werden. 00153 ;Deshalb wird Doppelregister HL mit der Adresse von KLICK geladen 00154 00155 9044 C3 12 FF JP ROM_D ;Die Systemfunktion ROM_D ist in allen vier ROMs des FutureOS 00156 ;an derselben Stelle vorhanden, man kann sie also immer aufrufen 00157 ;Die Systemfunktion ROM_D blendet zuerst das FutureOS ROM D ein und 00158 ;springt anschliessend an die Adresse, die in HL angegeben ist. 00159 00160 00161 ;-----------------------------------------------------------------------------; 00162 00163 ;Der Anwender klickt nun ein HinterGrundBild (HGB) seiner Wahl an. 00164 ;Anschliessend klickt er auf das OK-Icon. 00165 ;Das OK Icon liest die OK Variablen ein, es blendet die entsprechende RAM- 00166 ;Konfiguration ein und springt an die angegebene Zieladresse... 00167 00168 ;-----------------------------------------------------------------------------; 00169 00170 00171 ;Die Variablen des OK-Icons wurden zuvor so gesetzt, dass das OS an das LABEL 00172 ;"HGB_WEITER" springt, sobald das OK-Icon angeklickt wird. 00173 00174 9047 3E FF .HGB_WEITER LD A,&FF ;Parameter f. OS-Funktion FMD32 in ROM C. Sorgt dafuer, 00175 ;dass die erste gefundene Datei markiert bleibt. 00176 00177 9049 DD 21 98 FD LD IX,FMD32 ;Register IX wird mit der Adresse der Funktion FMD32 00178 ;geladen. FMD32 findet die erste markierte Datei. 00179 00180 904D CD 2A FF CALL ROM_A2C ;Die Funktion ROM_A2C ruft eine OS Funktion in ROM C auf, 00181 ;deren Adresse muss sich in Register IX befinden. 00182 00183 9050 7D LD A,L ; / FMD32 schreibt die Adresse der ersten markierten Datei in HL. 00184 9051 B4 OR A,H ; / Wenn das Register HL aber den Wert &0000 enthaelt, dann wurde 00185 ;/ keine markierte Datei gefunden. Hier werden H und L addiert. 00186 00187 9052 28 45 JR Z,NO_FILE ;Ist das Ergebnis dieser Addition &00, dann wurde keine Datei 00188 ;markiert. In dem Fall wird zur Fehler-Ausgabe gesprungen. 00189 00190 00191 9054 3A 9B BB LD A,(HGB_ST) ;Der Akku (Register A) wird mit dem Wert aus der OS Variable 00192 ;HGB_ST geladen. Ist diese Variable = &FF dann wurde bereits 00193 ;ein HinterGrundBild (HGB) geladen. 00194 ;Das Programm testet das, um nicht unnoetig RAM zu belegen. 00195 00196 9057 3C INC A 00196 9058 20 17 JR NZ,NO_GHB ;Wenn bisher noch kein HGB geladen ist, so wird ein 00197 ;Teil des Programms uebersprungen, bis zum LABEL NO_GHB 00198 00199 905A 3A 9A BB LD A,(HGB_RB) ;Erweiterungs-RAM (physikalischer I/O Wert) in Register A lesen 00200 00201 905D FE C0 CP A,&C0 00201 905F 28 10 JR Z,NO_GHB ;War das alte HGB im Hauptspeicher, dann unter weiter... 00202 00203 9061 47 LD B,A ;Register A in B sichern 00204 00205 9062 E6 03 AND A,&03 ;Die unteren 2 Bits (0000 00XX) von A isolieren... 00206 00207 9064 4F LD C,A ;und in Register C sichern. 00208 00209 9065 78 LD A,B ;E-RAM Konfiguration aus C in A holen 00210 00211 9066 E6 38 AND A,&38 ;Isoliere die mittleren 3 Bits (00BB B000) 00212 00213 9068 0F RRCA ;Rotieren alles Bits um Eins nach rechts (000B BB00) 00214 00215 9069 B1 OR A,C ;Und addiere die unteren beiden Bits (000B BXX) 00216 00217 906A C6 D0 ADD A,&D0 ;Addiere das untere Byte der Adresse der RAM-Variablen (XRAM_C4) 00218 00219 906C 6F LD L,A ; / Register HL zeigt nun auf eine von 32 RAM Variablen, ab Adresse 00220 906D 26 B9 LD H,&B9 ;/ &B9D0 (bis max. &B9EF). XRAM_C4 = &B9D0 00221 00222 906F 36 01 LD (HL),&01 ;In die E-RAM Variable des alten E-RAMs des alten HGB wird der 00223 ;Wert &01 geschrieben, dadurch wird es freigegeben. 00224 00225 00226 9071 CD C1 D9 .NO_GHB CALL EFER ;Aufruf des Memory-Mangers. Diese Funktion sucht nach einem 00227 ;freien 16 KB Erweiterungs-RAM Block. Die Suche beginnt oben. 00228 00229 9074 28 37 JR Z,NO_RAM ;Ist das Z-Flag gesetzt, dann wurde kein RAM gefunden -> Fehler! 00230 00231 9076 32 9A BB LD (HGB_RB),A ;Physikalisches E-RAM fuer das HGB buchen, fuer das OS 00232 ;FutureOS holt das HGB aus diesem E-RAM um es anzuzeigen 00233 00234 9079 32 4C B8 LD (AKT_RAM),A ;E-RAM auf fuer das Laden des Bildes in die entsprechende 00235 ;RAM Variable des OS schreiben. Siehe unten... 00236 907C 3E FF LD A,&FF 00237 907E 32 9B BB LD (HGB_ST),A ;Der Wert &FF teilt dem OS mit, dass ein HGB vorhanden ist 00238 00239 ;Nun kann das HGB geladen werden... 00240 00241 9081 3E 03 LD A,&03 ;Register A mit &03 laden, Typ 3 - Laden laedt in das E-RAM 00242 9083 32 DF B8 LD (REG08_3),A ;Und Lade Typ 3 in RAM Variable REG08_3 sichern 00243 00244 9086 21 00 40 LD HL,&4000 ;Die Zieladresse ist &4000 im E-RAM Block, siehe oben, AKT_RAM 00245 9089 22 E6 B8 LD (REG16_1),HL ;Und die Zieladresse in RAM Variable REG16_1 speichern 00246 00247 908C DD 21 8F FD LD IX,LADEN ;Das Register wird mit der Adresse der OS Funktion LADEN geladen 00248 9090 CD 2A FF CALL ROM_A2C ;Und mittels der OS Funktion ROM_A2C wird die in IX gespeicherte 00249 ;Adresse / Funktion aufgerufen. Anschiessend ROM A einblenden. 00250 00251 ;HIER BITTE NOCH PRUEFEN, OB DATEI KORREKT GELADEN WURDE!!! 00252 ;Wenn XXX, ist dann ist ein Fehler aufgetreten --> Sprung nach LD_ERR 00253 00254 ;Am Ende des Programms muss das Programm die Kontrolle wieder an das OS 00255 ;zurueckgeben. Dies geschieht z.B. auf folgende Weise... 00256 00257 9093 21 9D FE LD HL,TUR_E ;Die OS Funktion TUR_E ist ein Einsprung ins OS. 00258 ;Das sich TUR_E in ROM D befindet, aber ROM A eingeblendet ist, 00259 ;kann TUR_E nicht direkt aufgerufen werden. 00260 ;Deshalb wird Doppelregister HL mit der Adresse von TUR_E geladen 00261 00262 9096 C3 12 FF JP ROM_D ;Die Systemfunktion ROM_D ist in allen vier ROMs des FutureOS 00263 ;an derselben Stelle vorhanden, man kann sie also immer aufrufen 00264 ;Die Systemfunktion ROM_D blendet zuerst das FutureOS ROM D ein und 00265 ;springt anschliessend an die Adresse, die in HL angegeben ist. 00266 00267 00268 00269 ;Dieser Teil des Programms wird nur dann ausgefuehrt, wenn der Anwender kein 00270 ;Bild markiert hat. In diesem Fall wird eine Fehlermeldung ausgegeben. 00271 00272 9099 01 82 7F .NO_FILE LD BC,&7F82 ;Das untere ROM (und damit der Zeichensatz) wird... 00273 00274 909C ED 49 OUT (C),C ;eingeblendet. (Auch das obere ROM, und MODE bleibt 2). 00275 00276 00277 909E 21 0F 92 LD HL,NOFILE ;HL mit der Adresse des Textes der Fehlermeldung laden 00278 00279 90A1 CD 58 D3 CALL TERM_2I ;Mit TERM_2I werden invertierte Zeichen im MODE 2 ausgegeben 00280 ;Beim Aufruf vom TERM_2I muss das Doppelregister HL mit einer 00281 ;Adresse geladen sein, die auf den darzustellenden Text zeigt 00282 00283 00284 90A4 32 5A BA LD (OK_ATE),A ;OK-Icon abschalten, da keine Datei markiert. Applikation Ende! 00285 00286 00287 90A7 21 9A FE LD HL,KLICK ;Mittels der OS Funktion KLICK wird das Programm beendet 00288 00289 90AA C3 12 FF JP ROM_D ;Die Systemfunktion ROM_D blendet zuerst das FutureOS ROM D ein und 00290 ;springt dann an die Adresse, die in HL angegeben ist (KLICK) 00291 00292 00293 00294 ;Dieser Teil des Programms wird nur dann ausgefuehrt, wenn kein freies 00295 ;Erweiterungs-RAM vorhanden ist. Also wird eine Fehlermeldung ausgegeben. 00296 00297 90AD 01 82 7F .NO_RAM LD BC,&7F82 ;Das untere ROM (und damitder Zeichensatz) wird... 00298 00299 90B0 ED 49 OUT (C),C ;eingeblendet. (Auch das obere ROM, und MODE bleibt 2). 00300 00301 00302 90B2 21 3D 92 LD HL,NOERAM ;HL mit der Adresse des Textes der Fehlermeldung laden 00303 00304 90B5 CD 58 D3 CALL TERM_2I ;Mit TERM_2I werden invertierte Zeichen im MODE 2 ausgegeben 00305 ;Beim Aufruf vom TERM_2I muss das Doppelregister HL mit einer 00306 ;Adresse geladen sein, die auf den darzustellenden Text zeigt 00307 00308 00309 90B8 21 9A FE LD HL,KLICK ;Mittels der OS Funktion KLICK wird das Programm beendet 00310 00311 90BB C3 12 FF JP ROM_D ;Die Systemfunktion ROM_D blendet zuerst das FutureOS ROM D ein und 00312 ;springt dann an die Adresse, die in HL angegeben ist (KLICK) 00313 00314 00315 00316 ;Dieser Teil des Programms wird nur dann ausgefuehrt, wenn beim LADEN 00317 ;des HinterGrundBildes (HGB) ein Fehler aufgetreten ist. Fehlermeldung! 00318 00319 90BE 01 82 7F .LD_ERR LD BC,&7F82 ;Das untere ROM (und damit der Zeichensatz) wird... 00320 00321 90C1 ED 49 OUT (C),C ;eingeblendet. (Auch das obere ROM, und MODE bleibt 2). 00322 00323 00324 90C3 21 72 92 LD HL,LADERR ;HL mit der Adresse des Textes der Fehlermeldung laden 00325 00326 90C6 CD 58 D3 CALL TERM_2I ;Mit TERM_2I werden invertierte Zeichen im MODE 2 ausgegeben 00327 ;Beim Aufruf vom TERM_2I muss das Doppelregister HL mit einer 00328 ;Adresse geladen sein, die auf den darzustellenden Text zeigt 00329 00330 90C9 AF XOR A,A ;Den Akku leeren, d.h. Register A = &00 00331 90CA 32 9B BB LD (HGB_ST),A ;Der Wert &00 teilt dem OS mit, dass KEIN HGB vorhanden ist 00332 ;Das ist noetig, da beim LADEN ein Fehler aufgetreten ist 00333 00334 90CD 21 9A FE LD HL,KLICK ;Mittels der OS Funktion KLICK wird das Programm beendet 00335 00336 90D0 C3 12 FF JP ROM_D ;Die Systemfunktion ROM_D blendet zuerst das FutureOS ROM D ein und 00337 ;springt dann an die Adresse, die in HL angegeben ist (KLICK) 00338 00339 00340 00341 ;Auszugebender Text in diesem Programm; 00342 ;-------------------------------------; 00343 ;Der auszugebende Text besteht aus Steuerzeichen, deren Parameter-Bytes 00344 ;und aus normalen Textzeichen wie 0-9 und A-Z etc. 00345 00346 90D3 1E 10 03 .ESM DB &1E,16,3 ;Der Text beginnt mit dem Control Code &1E, er positioniert 00347 ;den Cursor auf dem Bildschirm. Dabei wird vorausgesetzt, dass 00348 ;sich der Bildschirm im 64 x 32 Modus befindet. 00349 ;Dem Control Code &1E (LOCATE) folgen zwei Bytes, die Y und X 00350 ;Positionen angeben, auf die der Cursor gesetzt werden soll. 00351 00352 90D6 4D 69 74 20 DB "Mit und wird das Verzeichnis selektiert." ;Text ausgeben 90DA 3C 53 48 49 90DE 46 54 3E 20 90E2 75 6E 64 20 90E6 3C 43 4F 4E 90EA 54 52 4F 4C 90EE 3E 20 77 69 90F2 72 64 20 64 90F6 61 73 20 56 90FA 65 72 7A 65 90FE 69 63 68 6E 9102 69 73 20 73 9106 65 6C 65 6B 910A 74 69 65 72 910E 74 2E 00353 00354 00355 9110 1E 12 06 DB &1E,18,6 ;Cursor auf 18. Zeile und 6. Spalte setzen. 00356 00357 9113 42 69 74 74 DB "Bitte selektieren Sie das zu ladende " ;dort Text ausgeben 9117 65 20 73 65 911B 6C 65 6B 74 911F 69 65 72 65 9123 6E 20 53 69 9127 65 20 64 61 912B 73 20 7A 75 912F 20 6C 61 64 9133 65 6E 64 65 9137 20 00358 00359 9138 11 48 69 6E DB &11,"HinterGrundBild",&10 ;Code &11 schaltet auf inverst. Code &10 normal. 913C 74 65 72 47 9140 72 75 6E 64 9144 42 69 6C 64 9148 10 00360 00361 9149 1E 14 06 28 DB &1E,20,6,"(Extension HGB) im Datei-Fenster des Turbo-Desktop." ;Y=20, X=6 914D 45 78 74 65 9151 6E 73 69 6F 9155 6E 20 48 47 9159 42 29 20 69 915D 6D 20 44 61 9161 74 65 69 2D 9165 46 65 6E 73 9169 74 65 72 20 916D 64 65 73 20 9171 54 75 72 62 9175 6F 2D 44 65 9179 73 6B 74 6F 917D 70 2E 00362 00363 00364 917F 1E 16 0D 4E DB &1E,22,13,"Nach der Auswahl des Hintergrundbildes" ; Y Pos. = 22, X = 13 9183 61 63 68 20 9187 64 65 72 20 918B 41 75 73 77 918F 61 68 6C 20 9193 64 65 73 20 9197 48 69 6E 74 919B 65 72 67 72 919F 75 6E 64 62 91A3 69 6C 64 65 91A7 73 00365 00366 91A8 1E 18 0F 6B DB &1E,24,15,"klicken Sie bitte auf das ",&11,"OK-Icon.",&10 91AC 6C 69 63 6B 91B0 65 6E 20 53 91B4 69 65 20 62 91B8 69 74 74 65 91BC 20 61 75 66 91C0 20 64 61 73 91C4 20 11 4F 4B 91C8 2D 49 63 6F 91CC 6E 2E 10 00367 00368 00369 91CF 1E 1A 02 49 DB &1E,26,2,"Ist keine Datei markiert, so wird diese Applikation beendet." 91D3 73 74 20 6B 91D7 65 69 6E 65 91DB 20 44 61 74 91DF 65 69 20 6D 91E3 61 72 6B 69 91E7 65 72 74 2C 91EB 20 73 6F 20 91EF 77 69 72 64 91F3 20 64 69 65 91F7 73 65 20 41 91FB 70 70 6C 69 91FF 6B 61 74 69 9203 6F 6E 20 62 9207 65 65 6E 64 920B 65 74 2E 00370 00371 920E 00 DB 0 ;Der Text wird durch ein Null-Byte beendet. 00372 00373 00374 ;Der folgende Text wird als Fehlermeldung ausgegeben, 00375 ;wenn keine Datei markiert wurde. 00376 00377 920F 1E 1E 0B 53 .NOFILE DB &1E,30,11,"Sie haben kein HinterGrundBild selektiert!",0 ;Y=30, X=11 9213 69 65 20 68 9217 61 62 65 6E 921B 20 6B 65 69 921F 6E 20 48 69 9223 6E 74 65 72 9227 47 72 75 6E 922B 64 42 69 6C 922F 64 20 73 65 9233 6C 65 6B 74 9237 69 65 72 74 923B 21 00 00378 00379 00380 ;Der folgende Text wird als Fehlermeldung ausgegeben, 00381 ;wenn kein freies Erweiterungs-RAM gefunden wurde. 00382 00383 923D 1E 1E 07 45 .NOERAM DB &1E,30,7,"Es wurde kein freies E-RAM fuer das HGB gefunden!",0 9241 73 20 77 75 9245 72 64 65 20 9249 6B 65 69 6E 924D 20 66 72 65 9251 69 65 73 20 9255 45 2D 52 41 9259 4D 20 66 75 925D 65 72 20 64 9261 61 73 20 48 9265 47 42 20 67 9269 65 66 75 6E 926D 64 65 6E 21 9271 00 00384 00385 00386 ;Der folgende Text wird als Fehlermeldung ausgegeben, 00387 ;wenn beim LADEN des HGB ein Fehler aufgetreten ist. 00388 00389 9272 1E 1E 07 42 .LADERR DB &1E,30,7,"Beim LADEN des Bildes ist ein Fehler aufgetreten!",0 9276 65 69 6D 20 927A 4C 41 44 45 927E 4E 20 64 65 9282 73 20 42 69 9286 6C 64 65 73 928A 20 69 73 74 928E 20 65 69 6E 9292 20 46 65 68 9296 6C 65 72 20 929A 61 75 66 67 929E 65 74 72 65 92A2 74 65 6E 21 92A6 00 00390 00391 00392 00393 ;Nachfolgend werden die LABELs der System-Variablen und Funktionen aufgelistet. 00394 ;Diese EQUates sind direkt von der Datei #E.D uebernommen. 00395 00396 ;EQUates der Variablen des FutureOS 00397 00398 92A7 (B847) RAMCHAR EQU &B847 ;Alle diese Variablen befinden sich im 64 KB Hauptspeicher 00399 92A7 (B84C) AKT_RAM EQU &B84C 00400 92A7 (B8DF) REG08_3 EQU &B8DF 00401 92A7 (B8E6) REG16_1 EQU &B8E6 00402 92A7 (B96E) KF_MED EQU &B96E 00403 92A7 (BA58) OK_ADR EQU &BA58 00404 92A7 (BA5A) OK_ATE EQU &BA5A 00405 92A7 (BA5C) OK_BLK EQU &BA5C 00406 92A7 (BA5E) OK_BTE EQU &BA5E 00407 92A7 (BB9A) HGB_RB EQU &BB9A 00408 92A7 (BB9B) HGB_ST EQU &BB9B 00409 00410 00411 ;EQUates der Systemfunktionen des FutureOS 00412 00413 92A7 (FF12) ROM_D EQU &FF12 ;Funktionen in allen ROMs (identischer Bereich in allen ROMs) 00414 92A7 (FF2A) ROM_A2C EQU &FF2A 00415 92A7 (FF3C) ROM_A2D EQU &FF3C 00416 00417 92A7 (D358) TERM_2I EQU &D358 ;Funktionen in ROM A 00418 92A7 (D48C) TERM_2 EQU &D48C 00419 92A7 (D9C1) EFER EQU &D9C1 00420 00421 92A7 (FD8F) LADEN EQU &FD8F ;Funktionen in ROM C 00422 92A7 (FD98) FMD32 EQU &FD98 00423 00424 92A7 (C017) ICON6ON EQU &C017 ;Funktionen in ROM D 00425 92A7 (DBE1) OK EQU &DBE1 00426 92A7 (FE9A) KLICK EQU &FE9A 00427 92A7 (FE9D) TUR_E EQU &FE9D 00428 00429 00430 LIST ;Das Auflisten des Quellcodes beim Assemblieren wieder einschalten. Denn... Errors: 00000 Warnings: 00000 SYMBOL TABLE: B84C AKT_RAM 90D3 ESM D9C1 EFER FD98 FMD32 9047 HGB_WEITER BB9A HGB_RB BB9B HGB_ST C017 ICON6ON B96E KF_MED FE9A KLICK 9000 LADE_HGB 90BE LD_ERR 9272 LADERR FD8F LADEN 9029 NO_SPARTAN 9071 NO_GHB 9099 NO_FILE 90AD NO_RAM 920F NOFILE 923D NOERAM BA58 OK_ADR BA5A OK_ATE BA5C OK_BLK BA5E OK_BTE DBE1 OK B847 RAMCHAR B8DF REG08_3 B8E6 REG16_1 FF12 ROM_D FF2A ROM_A2C FF3C ROM_A2D D358 TERM_2I D48C TERM_2 FE9D TUR_E