Dies ist eine alte Version des Dokuments!
Monitor
AS V1.41r8 - Quelle LC80.ASM - Seite 1 - 31.8.2003 15:48:46 1/ 0 : CPU z80 2/ 0 : 3/ 0 : =2H ROM_: EQU 2 ; EIN ROM -> 1 4/ 0 : ; ZWEI ROM -> 2 5/ 0 : 6/ 0 : ; PIO-PORTS: 7/ 0 : 8/ 0 : =F4H SEGMENT EQU 0F4H ;AUSGABE-PORT SEGMENTANSTEUERUNG 9/ 0 : =F6H PIO1AC EQU 0F6H 10/ 0 : 11/ 0 : =F5H DIGITAP EQU 0F5H ;B2...B7=DIGITANST. UND TASTENMATRIX 12/ 0 : ;B0=TAPE-IN, B1=TAPE-OUT 13/ 0 : =F7H PIO1BC EQU 0F7H 14/ 0 : 15/ 0 : =F8H USERPORT EQU 0F8H ;U8ER-PORT, FREI VERFUEGBAR 16/ 0 : =FAH PI02AC EQU 0FAH 17/ 0 : 18/ 0 : =F9H KEYIN EQU 0F9H ;B4...B7=EINGAENGE TASTEN-ABFRAGE 19/ 0 : ;B0...B3 FUER USER NUTZBAR 20/ 0 : =FBH PIO2BC EQU 0FBH 21/ 0 : 22/ 0 : ; CTC-ADRESSEN 23/ 0 : =ECH CTC0 EQU 0ECH 24/ 0 : =EDH CTC1 EQU 0EDH 25/ 0 : =EEH CTC2 EQU 0EEH 26/ 0 : =EFH CTC3 EQU 0EFH 27/ 0 : 28/ 0 : ;VEREINBARUNGEN BEI ERWEITERUNGEN 29/ 0 : =0H INTVEK EQU 00H ;INT-VECT. FUER CTC 30/ 0 : =23H HIINT EQU 23H ;CPU-I-REG 31/ 0 : 32/ 0 : 33/ 0 : ;***************************************************** 34/ 0 : ; 35/ 0 : ORG 0000H 36/ 0 : START: 37/ 0 : 06 00 LD B,00H ;EIN8CHALTVERZOEGERUNG 38/ 2 : 10 FE DJNZ $ 39/ 4 : 18 35 JR BEGIN 40/ 6 : 41/ 8 : ORG 08H 42/ 8 : RST1: 43/ 8 : C3 08 23 JP 2308H 44/ B : 45/ 10 : ORG 10H 46/ 10 : RST2: 47/ 10 : C3 10 23 JP 2310H 48/ 13 : 49/ 18 : ORG 18H 50/ 18 : RST3: 51/ 18 : C3 18 23 JP 2318H 52/ 1B : 53/ 20 : ORG 20H 54/ 20 : RST4: 55/ 20 : C3 20 23 JP 2320H 56/ 23 : 57/ 28 : ORG 28H 58/ 28 : RST5: 59/ 28 : C3 28 23 JP 2328H 60/ 2B : 61/ 30 : ORG 30H 62/ 30 : RST6: 63/ 30 : C3 30 23 JP 2330H 64/ 33 : 65/ 38 : ORG 38H 66/ 38 : RST7: 67/ 38 : C3 38 23 JP 2338H 68/ 3B : 69/ 3B : ;----------------------------------------------------- 70/ 3B : BEGIN: 71/ 3B : 3A FC 23 LD A,(INIFLAG) ;RAM LOESCHEN, WENN ERSTEINSCHALTUNG 72/ 3E : FE 80 CP 80H 73/ 40 : 28 29 JR Z,NOFF 74/ 42 : 21 00 20 LD HL,2000H 75/ 45 : 11 01 20 LD DE,2001H 76/ 48 : 01 FF 0F LD BC,0FFFH 77/ 4B : 36 FF LD (HL),0FFH 78/ 4D : ED B0 LDIR 79/ 4F : 01 03 00 LD BC,RSTLGT ;STANDARD-RST38-PROG. LADEN 80/ 52 : 11 38 23 LD DE,2338H 81/ 55 : 21 11 01 LD HL,RSTUP 82/ 58 : ED B0 LDIR 83/ 5A : 01 03 00 LD BC,NMILGT ;STANDARD-NMI-PROG. LADEN 84/ 5D : 11 40 23 LD DE,2340H 85/ 60 : 21 EB 00 LD HL,NMIUP 86/ 63 : 18 04 JR NMI+3 87/ 65 : 88/ 65 : ;-------------------- NMI-FKT. ANSPRINGEN ---------- 89/ 66 : ORG 0066H 90/ 66 : NMI: 91/ 66 : C3 40 23 JP 2340H 92/ 69 : 93/ 69 : ;--------------------------------------------------------- 94/ 69 : ED B0 LDIR 95/ 6B : NOFF: 96/ 6B : 31 EA 23 LD SP,SPINI ;SP AUF ANFANGSWERT 97/ 6E : CD CA 00 CALL IOINIT 98/ 71 : CD 99 00 CALL MEMTES 99/ 74 : ;--------------------- TEST, OB ERSTEINSCHALTUNG ---- 100/ 74 : 3A FC 23 LD A,(INIFLAG) 101/ 77 : FE 80 CP 80H 102/ 79 : C4 9C 02 CALL NZ,INI ;MUSIK U. GRAPHIK, WENN ERSTEINSCH. 103/ 7C : ;--------------------- RESETZUSTAND HERSTELLEN ------ 104/ 7C : 21 00 20 LD HL,2000H 105/ 7F : 22 F8 23 LD (USERPC),HL ;USER-PC AUF ANFANGSWERT 106/ 82 : AF XOR A 107/ 83 : 32 FD 23 LD (FUFEFLAG),A;FUNKTIONS- UND FEHLERFLAG LOESCHEN 108/ 86 : DD 21 74 09 LD IX,DISP1 ; "LC80"-TEXT 109/ 8A : ;--------------------- TEXT, ADR.- U. TAPE-CODE LOE. 110/ 8A : SETSTO: 111/ 8A : AF XOR A 112/ 8B : 32 FB 23 LD (ATCODE),A 113/ 8E : 114/ 8E : ;--------------------- HAUPTPROGRAMM ---------------- 115/ 8E : MAIN: 116/ 8E : 31 EA 23 LD SP,SPINI ;USER-PC AUF ANFANGSWERT 117/ 91 : CD 5A 08 CALL DAK1 ;ANZEIGE UND TASTATURABFRAGE 118/ 94 : CD 1B 01 CALL KEYEXC ;TASTENBEHANDLUNG 119/ 97 : 18 F5 JR MAIN 120/ 99 : 121/ 99 : ;--------------------- SPEICHERTEST ------------------ 122/ 99 : MEMTES: 123/ 99 : 01 04 00 LD BC,0004H ;1 K RAM 124/ 9C : 21 00 20 LD HL,2000H ;ADR RAM 125/ 9F : RAMSL: 126/ 9F : CD 52 08 CALL RAMCHK 127/ A2 : 28 01 JR Z, RAMOK 128/ A4 : 76 HALT 129/ A5 : RAMOK: 130/ A5 : 23 INC HL 131/ A6 : 10 F7 DJNZ RAMSL 132/ A8 : 0D DEC C 133/ A9 : 20 F4 JR NZ,RAMSL 134/ AB : AF XOR A 135/ AC : 21 00 00 LD HL,0 ;ADR 1. ROM/EPROM 136/ AF : 01 04 00 LD BC,0004H ;1 K 137/ B2 : CD C2 00 CALL ROMSL 138/ B5 : 139/ B5 : =>FALSE IF ROM_=1 140/ B5 : LD HL,0400H ;WEITER 1. ROM 141/ B5 : ENDIF 142/ B5 : 143/ B5 : =>TRUE IF ROM_=2 144/ B5 : 21 00 08 LD HL,0800H ;ADR 2. ROM 145/ B8 : ENDIF 146/ B8 : 147/ B8 : 01 04 FF LD BC,0FF04H ;1K - 1BYTE 148/ BB : CD C2 00 CALL ROMSL 149/ BE : BE CP (HL) 150/ BF : C8 RET Z 151/ C0 : 76 HALT 152/ C1 : C9 RET 153/ C2 : 154/ C2 : ROMSL: 155/ C2 : 86 ADD A,(HL) 156/ C3 : 23 INC HL 157/ C4 : 10 FC DJNZ ROMSL 158/ C6 : 0D DEC C 159/ C7 : 20 F9 JR NZ,ROMSL 160/ C9 : C9 RET 161/ CA : 162/ CA : ;---------------------- IO-INITIALISIERUNG ----------- 163/ CA : IOINIT: ;PIO-INITIALISIERUNG 164/ CA : 3E CF LD A,0CFH ;MODE 3 165/ CC : D3 F6 OUT (PIO1AC),A ;SEGMENT-PORT 166/ CE : 3E FF LD A,0FFH 167/ D0 : D3 F4 OUT (SEGMENT),A;ALLE SEGMENTE AUSSCHALTEN 168/ D2 : 3E 00 LD A,0 ;E-A-DEFINITION 169/ D4 : D3 F6 OUT (PIO1AC),A 170/ D6 : 171/ D6 : 3E CF LD A,0CFH 172/ D8 : D3 F7 OUT (PIO1BC),A ;DIGIT-AUSG. 173/ DA : ;B2...B7 = D-LSD,D-MSD,A-LSD...A-MSD 174/ DA : 3E FF LD A,0FFH ;ALLE TREIBER SPERREN 175/ DC : D3 F5 OUT (DIGITAP),A 176/ DE : 3E 01 LD A,1 ;B0-EINGANG, B1...B7-AUSGAENGE 177/ E0 : D3 F7 OUT (PIO1BC),A 178/ E2 : 179/ E2 : 3E CF LD A,0CFH 180/ E4 : D3 FB OUT (PIO2BC),A ;TASTEN-EINGAENGE B4...B7 181/ E6 : 3E FF LD A,0FFH 182/ E8 : D3 FB OUT (PIO2BC),A 183/ EA : C9 RET 184/ EB : 185/ EB : ;----------------------------------------------------- 186/ EB : NMIUP: ;NMI-UNTERPROGRAMM 187/ EB : C3 EE 00 JP NMIUP1 188/ EE : =3H NMILGT EQU $-NMIUP 189/ EE : 190/ EE : NMIUP1: 191/ EE : F5 PUSH AF 192/ EF : C5 PUSH BC 193/ F0 : 08 EX AF,AF' 194/ F1 : D9 EXX 195/ F2 : F5 PUSH AF 196/ F3 : C5 PUSH BC 197/ F4 : D5 PUSH DE 198/ F5 : E5 PUSH HL 199/ F6 : D9 EXX 200/ F7 : DD E5 PUSH IX 201/ F9 : 06 28 LD B,40 ;ANZEIGEZEIT "INT" 202/ FB : DD 21 99 09 LD IX,DISP5 203/ FF : NMISL: 204/ FF : CD 83 08 CALL DAK2 205/ 102 : 10 FB DJNZ NMISL 206/ 104 : DD E1 POP IX 207/ 106 : D9 EXX 208/ 107 : E1 POP HL 209/ 108 : D1 POP DE 210/ 109 : C1 POP BC 211/ 10A : F1 POP AF 212/ 10B : D9 EXX 213/ 10C : 08 EX AF,AF' 214/ 10D : C1 POP BC 215/ 10E : F1 POP AF 216/ 10F : ED 45 RETN 217/ 111 : 218/ 111 : ;----------------------------------------------------- 219/ 111 : RSTUP: 220/ 111 : C3 14 01 JP RSTUP1 221/ 114 : =3H RSTLGT EQU $-RSTUP 222/ 114 : 223/ 114 : RSTUP1: 224/ 114 : DD 21 9F 09 LD IX,DISP6 225/ 118 : C3 8A 00 JP SETSTO 226/ 11B : 227/ 11B : ;--------------------- TASTENBEHANDLUNGSPROGRAMM ---- 228/ 11B : ; EINTRITT: INTERNER TASTENCODE IN A 229/ 11B : KEYEXC: 230/ 11B : FE 10 CP 10H ;TEST, OB FUNKTIONSTASTE 231/ 11D : 38 24 JR C,KHEX ;SPR., WENN ZIFFERNTASTE 232/ 11F : 21 FD 23 LD HL,FUFEFLAG ;FLAG "FUNKTIONSTASTE" SETZEN 233/ 122 : CB C6 SET 0,(HL) 234/ 124 : D6 10 SUB 10H ;OBERE ZIFFER DES CODES LOESCHEN 235/ 126 : FE 08 CP 08H ;TEST DER FUNKTIONSGRUPPE 236/ 128 : 21 AB 09 LD HL,KSUFUN 237/ 12B : DA 87 02 JP C,BRANCH ; WENN "+","-","EXEC" O. "DATA"-TASTE 238/ 12E : 239/ 12E : ;ADR- ODER TAPE-TASTEN 240/ 12E : DD 21 F2 23 LD IX,DATLED ;ADR. FUER DATEN- U. ADR.-ANZEIGE 241/ 132 : D6 08 SUB 08H 242/ 134 : 21 FB 23 LD HL,ATCODE 243/ 137 : 77 LD (HL),A ;UMGERECHN. CODE HINTERLEGEN 244/ 138 : 21 FA 23 LD HL,ATFLAG 245/ 13B : 36 00 LD (HL),0 ;FLAG LOESCHEN 246/ 13D : 21 B5 09 LD HL,KFUN 247/ 140 : C3 87 02 JP BRANCH 248/ 143 : 249/ 143 : ;----------------- AUSWERTUNG ZIFFERNTASTEN --------- 250/ 143 : KHEX: 251/ 143 : 4F LD C,A ;TASTATURCODE UMSPEICHERN 252/ 144 : 21 BF 09 LD HL,HTAB 253/ 147 : BR1: 254/ 147 : 3A FB 23 LD A,(ATCODE) ;WERT FUER AUSZUF. FUNKTION 255/ 14A : C3 87 02 JP BRANCH 256/ 14D : 257/ 14D : ;--------------------- EINTR.PKTE FUER +,-,EXEC,DATA - 258/ 14D : ; (UEBER KSUFUN-TABELLE) 259/ 14D : KINC: ; "+"-TASTE 260/ 14D : 21 CB 09 LD HL,ITAB 261/ 150 : 18 F5 JR BR1 262/ 152 : 263/ 152 : KDEC: ; "-"-TASTE 264/ 152 : 21 D7 09 LD HL,DTAB 265/ 155 : 18 F0 JR BR1 266/ 157 : 267/ 157 : KEXEC: ; "EXEC"-TASTE 268/ 157 : 21 E3 09 LD HL, ETAB 269/ 15A : 18 EB JR BR1 270/ 15C : 271/ 15C : KDATA: ; "DATA"-TASTE 272/ 15C : CD 27 09 CALL TESTM ;TEST. OB ADR OD. DAT IN ATCODE 273/ 15F : CD C5 02 CALL MEMDP2 ;ADR U. DAT. ANZ., DAT. GEPUNKTET 274/ 162 : C9 RET 275/ 163 : 276/ 163 : ;--------------------- EINTR.PKTE FUER ADRS U. TAPE - 277/ 163 : ; (UEBER KFUN-TABELLE) 278/ 163 : KADRS: ; "ADRS"-TASTE 279/ 163 : CD BC 02 CALL MEMDP1 ;ADR. U. DAT. ANZ., ADR. GEPUNKTET 280/ 166 : C9 RET 281/ 167 : 282/ 167 : KTAPWR: ; "TO TAPE"- ODER "FROM TAPE"-TASTE 283/ 167 : CD E2 02 CALL STEPDP ;PARAMETER ANZEIGEN 284/ 16A : C9 RET 285/ 16B : 286/ 16B : ;--------------------- EINTR.PKTE FUER ZIFFERNEINGABEN 287/ 16B : ; (UEBER HTAB-TABELLE) 288/ 16B : HFIX: ; BEDIENUNGSFEHLER 289/ 16B : C3 96 02 JP ERRDIS 290/ 16E : 291/ 16E : HDA: ;ZIFFER ALS DATUM 292/ 16E : 2A F8 23 LD HL,(USERPC) 293/ 171 : CD 52 08 CALL RAMCHK ;TEST, OB USER-PC IM RAM-BEREICH 294/ 174 : C2 96 02 JP NZ,ERRDIS ;SPR., WENN KEIN RAM 295/ 177 : CD A8 02 CALL PRECL1 ;1 BYTE LOE., WENN FUFEFLAG NICHT 0 296/ 17A : 79 LD A,C ;EINGEG. ZIFFER 297/ 17B : ED 6F RLD ;TETRADE IN RAM SCHIEBEN 298/ 17D : CD C5 02 CALL MEMDP2 ;ANZEIGEN 299/ 180 : C9 RET 300/ 181 : 301/ 181 : HAD: ;ZIFFER ALS ADRESSE 302/ 181 : 21 F8 23 LD HL,USERPC 303/ 184 : CD B4 02 CALL PRECL2 ;2 BYTE LOE., WENN FUFEFLAG NICHT 0 304/ 187 : 79 LD A,C ;EINGEG. ZIFFER 305/ 188 : ED 6F RLD ;TETRADEN IN BEIDEN BYTE VERSCHIEBEN 306/ 18A : 23 INC HL 307/ 18B : ED 6F RLD 308/ 18D : CD BC 02 CALL MEMDP1 ;ANZEIGEN 309/ 190 : C9 RET 310/ 191 : 311/ 191 : HTAPWR: ;ZIFFER ALS PARAMETER FUER BAND 312/ 191 : CD FD 02 CALL LOCTBF ;ADR FUER PARAMETER BERECHNEN 313/ 194 : CD B4 02 CALL PRECL2 ;2 BYTE LOE., WENN FUFEFLAG NICHT 0 314/ 197 : 79 LD A,C ;EINGEG. ZIFFER 315/ 198 : ED 6F RLD ;TETRADE IN BEIDEN BYTE VERSCHIEBEN 316/ 19A : 23 INC HL 317/ 19B : ED 6F RLD 318/ 19D : CD E2 02 CALL STEPDP ;PARAMETER ANZEIGEN 319/ 1A0 : C9 RET 320/ 1A1 : 321/ 1A1 : ;---------------------- UNTEREINTRITT "+"-TASTE ---- 322/ 1A1 : ; (UEBER ITAB) 323/ 1A1 : IFIX: ;BEDIENUNGSFEHLER 324/ 1A1 : C3 96 02 JP ERRDIS 325/ 1A4 : 326/ 1A4 : ADRADD: ;ANWENDER-PC ERHOEHEN 327/ 1A4 : 2A F8 23 LD HL,(USERPC) 328/ 1A7 : 23 INC HL 329/ 1A8 : 22 F8 23 LD (USERPC),HL 330/ 1AB : CD C5 02 CALL MEMDP2 ;ANZEIGEN 331/ 1AE : C9 RET 332/ 1AF : 333/ 1AF : TPFUN1: ;BEI "TO TAPE" NAECHSTER PARAMETER 334/ 1AF : 21 FA 23 LD HL,ATFLAG 335/ 1B2 : 34 INC (HL) ;FLAS AUF NEUEN PARAMETER 336/ 1B3 : CD 07 03 CALL LOCTNA ;PARMETER 'F','S' ODER 'E' 337/ 1B6 : 20 04 JR NZ,ISTEP ;SPRUNG, WENN RICHTIG 338/ 1B8 : 35 DEC (HL) ;FLAG AUF ALTEN WERT 339/ 1B9 : C3 96 02 JP ERRDIS ;FEHLERANZEIGE 340/ 1BC : ISTEP: 341/ 1BC : CD E2 02 CALL STEPDP ;PARAMETER ANZEIGEN 342/ 1BF : C9 RET 343/ 1C0 : 344/ 1C0 : ;--------------------- UNTEREINTRITT "-"-TASTE ----- 345/ 1C0 : ; (UEBER DTAB) 346/ 1C0 : DFIX: ;BEDIENUNGSFEHLER 347/ 1C0 : C3 96 02 JP ERRDIS 348/ 1C3 : 349/ 1C3 : ADRDEC: ;ANWENDER-PC ERNIDRIGEN 350/ 1C3 : 2A F8 23 LD HL,(USERPC) 351/ 1C6 : 2B DEC HL 352/ 1C7 : 22 F8 23 LD (USERPC),HL 353/ 1CA : CD C5 02 CALL MEMDP2 ;ANZEIGEN 354/ 1CD : C9 RET 355/ 1CE : 356/ 1CE : TPTUN2: ;BEI "TO TAPE" VORHERIGER PARAMETER 357/ 1CE : 21 FA 23 LD HL,ATFLAG 358/ 1D1 : 35 DEC (HL) ;FLAG AUF VORHER. PARAMETER 359/ 1D2 : CD 07 03 CALL LOCTNA ;PARAMETER 'F', 'S' ODER 'E' 360/ 1D5 : 20 04 JR NZ,DSTEP ;SPR., WENN RICHTIG 361/ 1D7 : 34 INC (HL) ;ALTER FLAGWERT 362/ 1D8 : C3 96 02 JP ERRDIS ;FEHLERANZEIGE 363/ 1DB : DSTEP: 364/ 1DB : CD E2 02 CALL STEPDP ;PARAMETER ANZEIGEN 365/ 1DE : C9 RET 366/ 1DF : 367/ 1DF : ;--------------------- UNTEREINTRITT "EXEC"-TASTE --- 368/ 1DF : ; (UEBER ETAB) 369/ 1DF : EFIX: ;BEDIENUNGSFEHLER 370/ 1DF : C3 96 02 JP ERRDIS 371/ 1E2 : 372/ 1E2 : ADREXC: ;PROGRAMAUSFUEHRUNG AB USER-PC 373/ 1E2 : E5 PUSH HL 374/ 1E3 : 2A F8 23 LD HL,(USERPC) 375/ 1E6 : E3 EX (SP),HL 376/ 1E7 : C9 RET 377/ 1E8 : 378/ 1E8 : ENDFUN: ; DE IN USER-PC ABSP. UND ANZEIGEN 379/ 1E8 : ED 53 F8 23 LD (USERPC),DE 380/ 1EC : CD C5 02 CALL MEMDP2 381/ 1EF : C9 RET 382/ 1F0 : 383/ 1F0 : EWT: ;UEBERSPIELEN AUF BAND 384/ 1F0 : CD 88 03 CALL SUM ;PRUEFSUMME BERECHNEN 385/ 1F3 : 38 EA JR C,EFIX ;WENN ENDADR<ANF.ADR 386/ 1F5 : 32 F1 23 LD (CHKSUMH),A ;ABSPEICHERN 387/ 1F8 : 21 A0 0F LD HL,0FA0H ;AUSGABE 4000 x 1KHZ-TAKTE 388/ 1FB : ;ALS START-SYNC SIGNAL 389/ 1FB : CD 70 03 CALL SOUN1K 390/ 1FE : 21 EB 23 LD HL,FILNAME ;DESCRIPTOR UEBERTRAGEN 391/ 201 : 01 07 00 LD BC,0007H ;7 BYTE 392/ 204 : CD 1B 08 CALL TAPOUT 393/ 207 : 21 A0 0F LD HL,0FA0H ;AUSGABE 4000 x 2KHZ-TAKTE 394/ 20A : ;ALS MITTEL-SYNC SIGNAL 395/ 20A : CD 74 03 CALL SOUN2K 396/ 20D : CD 95 03 CALL GETPTR ;LAENGE DES BLOCKES BER. 397/ 210 : CD 1B 08 CALL TAPOUT ;DATE UEBERTRAGEN 398/ 213 : 21 A0 0F LD HL,0FA0H ;AUSGABE 4000 x 2KHZ-TAKTE 399/ 216 : ;ALS END SYNC. SIGNAL 400/ 216 : CD 74 03 CALL SOUN2K 401/ 219 : ENDTAP: 402/ 219 : ED 5B EF 23 LD DE,(ENDADRH);STARTADR 403/ 21D : 18 C9 JR ENDFUN ;ABSP. UND ANZEIGEN 404/ 21F : 405/ 21F : ;----------------- FEHLERTEXT LADEN, SPR. Z. ANZEIGE - 406/ 21F : ERROR: 407/ 21F : DD 21 A5 09 LD IX,ERR ;ADR FEHLERTEXT 408/ 223 : C3 8A 00 JP SETSTO ;SPR. ZUR ANZEIGE 409/ 226 : 410/ 226 : ;----------------- DATEN VOM BAND LESEN -------- 411/ 226 : LOAD: 412/ 226 : 2A EB 23 LD HL,(FILNAME) 413/ 229 : 22 FE 23 LD (FILE2),HL 414/ 22C : 3E EF LD A,0EFH ;DEZIMALPUNKTE EIN 415/ 22E : 32 EA 23 LD (TAPDIS),A 416/ 231 : LEAD: 417/ 231 : 3A EA 23 LD A,(TAPDIS) 418/ 234 : D3 F4 OUT (SEGMENT),A 419/ 236 : 21 E8 03 LD HL,1000 420/ 239 : LEAD1: 421/ 239 : CD 00 08 CALL PERIOD ;EMPANGSFREQUENZ FESTSTELLEN 422/ 23C : 38 F3 JR C,LEAD ;WDHLG., SOLANGE NICHT 1 KHZ 423/ 23E : 2B DEC HL ;TEST, OB 1000 MAL 1 KHZ 424/ 23F : 7C LD A,H 425/ 240 : B5 OR L 426/ 241 : 20 F6 JR NZ,LEAD1 ;WDHLG., BIS 1000 x 1 KHZ 427/ 243 : LEAD2: 428/ 243 : CD 00 08 CALL PERIOD 429/ 246 : 30 FB JR NC,LEAD2 ;WDHLG., SOLANGE NOCH 1 KHZ 430/ 248 : 21 EB 23 LD HL,FILNAME ;ADR FUER HINTERLEGUNG DESCRIPTOR 431/ 24B : 01 07 00 LD BC,0007H 432/ 24E : CD A7 03 CALL TAPEIN ;7 BYTE LESEN 433/ 251 : 38 DE JR C,LEAD ;SPR., WENN UEBERTRAGUNGSFEHLER 434/ 253 : ED 5B EB 23 LD DE,(FILNAME) 435/ 257 : CD B7 08 CALL ADRSDP ;EMPFANGENEN FILENAMEN DARSTELLEN 436/ 25A : 06 4B LD B,75 437/ 25C : FILEDP: 438/ 25C : CD 83 08 CALL DAK2 ;ANZEIGEN 439/ 25F : 10 FB DJNZ FILEDP 440/ 261 : 2A FE 23 LD HL,(FILE2) ;SOLL-NAMEN LESEN 441/ 264 : B7 OR A 442/ 265 : ED 52 SBC HL,DE 443/ 267 : 3E F7 LD A,0F7H ;"-"-ZEICHEN 444/ 269 : 32 EA 23 LD (TAPDIS),A 445/ 26C : 20 C3 JR NZ,LEAD ;SPR., WENN FALSCHER FILENAME 446/ 26E : 3E FE LD A,0FEH ; "'"-ZEICHEN EIN 447/ 270 : D3 F4 OUT (SEGMENT),A 448/ 272 : CD 95 03 CALL GETPTR ;LAENGE DES BLOCKES BER. 449/ 275 : 38 A8 JR C,ERROR ;WENN ENDADR<ANF.ADR 450/ 277 : CD A7 03 CALL TAPEIN ;DATENSATZ EINLESEN 451/ 27A : 38 A3 JR C,ERROR ;SPR., WENN UEBERTR.FEHLER 452/ 27C : CD 88 03 CALL SUM ;PRUEFSUMME BER. 453/ 27F : 21 F1 23 LD HL,CHKSUMH 454/ 282 : BE CP (HL) ;VERGLEICH MIT UEBERTR. PRUEFS. 455/ 283 : 20 9A JR NZ,ERROR ;SPR., WENN FEHLER 456/ 285 : 18 92 JR ENDTAP 457/ 287 : 458/ 287 : ;----------------- FUNKTIONSTASTEN AUSWERTEN ------- 459/ 287 : BRANCH: 460/ 287 : 5E LD E,(HL) ;ADR DES FUNKTIONSPROGRAMMTEILS 461/ 288 : 23 INC HL 462/ 289 : 56 LD D,(HL) 463/ 28A : 23 INC HL 464/ 28B : D5 PUSH DE 465/ 28C : 5F LD E,A 466/ 28D : 16 00 LD D,0 467/ 28F : 19 ADD HL,DE 468/ 290 : D1 POP DE 469/ 291 : 6E LD L,(HL) 470/ 292 : 26 00 LD H,0 471/ 294 : 19 ADD HL,DE ;ADR DES GEW. PROG. TEILS 472/ 295 : E9 JP (HL) 473/ 296 : 474/ 296 : ;----------------- - 475/ 296 : ERRDIS: 476/ 296 : 21 FD 23 LD HL,FUFEFLAG 477/ 299 : CB FE SET 7,(HL) 478/ 29B : C9 RET 479/ 29C : 480/ 29C : ;----------------- MUSIK UND GRAPHIK BEI ERSTEINSCH. - 481/ 29C : INI: 482/ 29C : 3E 80 LD A,80H 483/ 29E : 32 FC 23 LD (INIFLAG),A ;FLAG AUF INITIALISIERT SETZEN 484/ 2A1 : CD EA 08 CALL MONMUS ; MUSIKPROGRAMM 485/ 2A4 : CD 1B 03 CALL INIDIP ; ANFANGSGRAPHIK 486/ 2A7 : C9 RET 487/ 2A8 : 488/ 2A8 : ;----------------------------------------------------- 489/ 2A8 : PRECL1: 490/ 2A8 : 3A FD 23 LD A,(FUFEFLAG) 491/ 2AB : B7 OR A 492/ 2AC : C8 RET Z ;RET., WENN KEIN FLAG 493/ 2AD : 3E 00 LD A,0 494/ 2AF : 77 LD (HL),A ;ZELLE LOESCHEN 495/ 2B0 : 32 FD 23 LD (FUFEFLAG),A;FLAG LOESCHEN 496/ 2B3 : C9 RET 497/ 2B4 : 498/ 2B4 : ;---------------------- 2 BYTE IM RAM LOESCHEN ------ 499/ 2B4 : PRECL2: 500/ 2B4 : CD A8 02 CALL PRECL1 ;1 BYTE LOE., WENN FUFEFLAG NICHT 0 501/ 2B7 : C8 RET Z ;RET., WENN KEIN FLAG 502/ 2B8 : 23 INC HL 503/ 2B9 : 77 LD (HL),A ;NAECHSTE ZELLE LOESCHEN 504/ 2BA : 2B DEC HL 505/ 2BB : C9 RET 506/ 2BC : 507/ 2BC : ;--------------------- ADR U. DAT ANZ., ADR GEPUNKTET- 508/ 2BC : MEMDP1: 509/ 2BC : 3E 01 LD A,01H ;CODE "ADRESSE" 510/ 2BE : 06 04 LD B,04H ;ANZ. ADRESSSTELLEN 511/ 2C0 : 21 F4 23 LD HL,ADRLED 512/ 2C3 : 18 07 JR SAV12 513/ 2C5 : 514/ 2C5 : ;--------------------- ADR U. DAT ANZ.,ADR GEPUNKTET - 515/ 2C5 : MEMDP2: 516/ 2C5 : 3E 02 LD A,02H ;CODE "DATEN" 517/ 2C7 : 06 02 LD B,02H ;ANZAHL DATENSTELLEN 518/ 2C9 : 21 F2 23 LD HL,DATLED 519/ 2CC : SAV12: 520/ 2CC : 32 FB 23 LD (ATCODE),A ;CODE ABSPEICHERN 521/ 2CF : D9 EXX 522/ 2D0 : ED 5B F8 23 LD DE,(USERPC) ;ANWENDERADR ANZEIGEN 523/ 2D4 : CD B7 08 CALL ADRSDP 524/ 2D7 : 1A LD A,(DE) ;INHALT DER ADRESS. RAM-ZELLE 525/ 2D8 : CD C3 08 CALL DADP ;DATUM ANZEIGEN 526/ 2DB : D9 EXX 527/ 2DC : SETPT: 528/ 2DC : CB E6 SET 4,(HL) ; DEZIMALPUNKTE SETZEN 529/ 2DE : 23 INC HL 530/ 2DF : 10 FB DJNZ SETPT ;WDHLG., BIS ALLE DEZIMALPUNKTEPT 531/ 2E1 : C9 RET 532/ 2E2 : 533/ 2E2 : ;--------------------- PARAMETER ANZEIGEN ---------- 534/ 2E2 : STEPDP: 535/ 2E2 : CD FD 02 CALL LOCTBF ;PARAMETERADR. BERECHNEN 536/ 2E5 : 5E LD E,(HL) ;INHALT DER ADRES. ZELLE NACH DE 537/ 2E6 : 23 INC HL 538/ 2E7 : 56 LD D,(HL) 539/ 2E8 : CD B7 08 CALL ADRSDP ;DARSTELLEN 540/ 2EB : 21 F4 23 LD HL,ADRLED ;ADR PUNKTIEREN 541/ 2EE : 06 04 LD B,04H 542/ 2F0 : CD DC 02 CALL SETPT 543/ 2F3 : CD 07 03 CALL LOCTNA ;ZEICHEN FUER PARAMETERANZ. NACH A 544/ 2F6 : 6F LD L,A 545/ 2F7 : 26 08 LD H,08H ;"-"-ZEICHEN 546/ 2F9 : 22 F2 23 LD (DATLED),HL ;IN DATENANZ. DARSTELLEN 547/ 2FC : C9 RET 548/ 2FD : 549/ 2FD : ;--------------------- PARAMETERADR. BERECHNEN ---- 550/ 2FD : ;EINTTRIT: ---- 551/ 2FD : ;AUSTRITT: ADR IN HL 552/ 2FD : ;ZERSTOERT: A 553/ 2FD : LOCTBF: 554/ 2FD : 3A FA 23 LD A, (ATFLAG) ;PARAMETERCODE 555/ 300 : 87 ADD A,A ; x 2 556/ 301 : 21 EB 23 LD HL,FILNAME 557/ 304 : 85 ADD A,L ; + DESCRIPTOR-AREA 558/ 305 : 6F LD L,A 559/ 306 : C9 RET 560/ 307 : 561/ 307 : ;--------------------- ZEICHEN FUER PARAMETERANZEIGE -- 562/ 307 : ;EINTRITT: 563/ 307 : ;AUSTRITT: ZEICHEN IN A 564/ 307 : ;ZERSTOERT: DE 565/ 307 : LOCTNA: 566/ 307 : 3A FB 23 LD A,(ATCODE) ; CODE "FROM TAPE" ODER "TO TAPE" 567/ 30A : D6 04 SUB 04H ; - 4 568/ 30C : 87 ADD A,A 569/ 30D : 87 ADD A,A ; x 4 570/ 30E : 11 89 09 LD DE,DISP4 ; ANZEIGETEXT 571/ 311 : 83 ADD A,E 572/ 312 : 5F LD E,A ;NEUE ADR NACH DE (FROM ODER TO) 573/ 313 : 3A FA 23 LD A,(ATFLAG) ;CODE FUER PARAMETER 574/ 316 : 83 ADD A,E 575/ 317 : 5F LD E,A ;ADRESSE ZEICHEN 576/ 318 : 1A LD A,(DE) 577/ 319 : B7 OR A 578/ 31A : C9 RET 579/ 31B : 580/ 31B : ;--------------------- GRAPHIK FUER ANFANGS-ANZEIGE -- 581/ 31B : INIDIP: 582/ 31B : 0E 05 LD C,05H ;ANZAHL DER WDHLG. 583/ 31D : 21 83 09 LD HL,DISP3 ;TEXT "HALLO " 584/ 320 : E5 PUSH HL 585/ 321 : DD 21 7D 09 LD IX,DISP2 ;TEXT " USER " 586/ 325 : A1: 587/ 325 : CD 5E 03 CALL SOU1K 588/ 328 : DD E3 EX (SP),IX ;ADRESS-AUSTAUSCH 589/ 32A : 06 14 LD B,20 590/ 32C : A2: 591/ 32C : CD 83 08 CALL DAK2 592/ 32F : 10 FB DJNZ A2 593/ 331 : CD 67 03 CALL SOU2K 594/ 334 : 06 14 LD B,20 595/ 336 : A3: 596/ 336 : CD 83 08 CALL DAK2 597/ 339 : 10 FB DJNZ A3 598/ 33B : 0D DEC C 599/ 33C : 20 E7 JR NZ,A1 600/ 33E : 601/ 33E : 0E 15 LD C,21 602/ 340 : DD 21 89 09 LD IX,DISP4 603/ 344 : BLOOP: 604/ 344 : 06 0B LD B,11 605/ 346 : B1: 606/ 346 : CD 83 08 CALL DAK2 607/ 349 : 10 FB DJNZ B1 608/ 34B : CB 41 BIT 0,C 609/ 34D : 20 05 JR NZ,B2 610/ 34F : CD 67 03 CALL SOU2K 611/ 352 : 18 03 JR B3 612/ 354 : B2: 613/ 354 : CD 5E 03 CALL SOU1K 614/ 357 : B3: 615/ 357 : DD 2B DEC IX 616/ 359 : 0D DEC C 617/ 35A : 20 E8 JR NZ,BLOOP 618/ 35C : 619/ 35C : E1 POP HL ;STACK-KOR. 620/ 35D : C9 RET 621/ 35E : 622/ 35E : ;---------------------- 1KHZ 80ms ---------------- 623/ 35E : SOU1K: 624/ 35E : D9 EXX 625/ 35F : 21 50 00 LD HL,80 626/ 362 : CD 70 03 CALL SOUN1K 627/ 365 : D9 EXX 628/ 366 : C9 RET 629/ 367 : 630/ 367 : ;--------------------- 2KHZ 80ms ----------------- 631/ 367 : SOU2K: 632/ 367 : D9 EXX 633/ 368 : 21 A0 00 LD HL,160 634/ 36B : CD 74 03 CALL SOUN2K 635/ 36E : D9 EXX 636/ 36F : C9 RET 637/ 370 : 638/ 370 : ;--------------------- TONSIGNAL 1KHZ -------------- 639/ 370 : SOUN1K: 640/ 370 : 0E 20 LD C,32 641/ 372 : 18 02 JR SOUND 642/ 374 : 643/ 374 : ;--------------------- TONSIGNAL 2KHZ -------------- 644/ 374 : SOUN2K: 645/ 374 : 0E 0F LD C,15 646/ 376 : 647/ 376 : SOUND: 648/ 376 : 29 ADD HL,HL ; x 2 WEGEN H- UND L-TEIL DES TAKTES 649/ 377 : 11 01 00 LD DE,0001H ;FUER ZAEHLUNG 650/ 37A : 3E FF LD A,0FFH ;TAPE.OUT=H, ANZEIGE AUS 651/ 37C : SQWAVE: 652/ 37C : D3 F5 OUT (DIGITAP),A 653/ 37E : 41 LD B,C 654/ 37F : 10 FE DJNZ $ ;ZEITVERZ. 655/ 381 : EE 02 XOR 2 ;TAPE.OUT=L 656/ 383 : ED 52 SBC HL,DE 657/ 385 : 20 F5 JR NZ,SQWAVE ;WDHLG., BIS ALLE TAKTE 658/ 387 : C9 RET 659/ 388 : 660/ 388 : ;--------------------- PRUEFSUMME ---------------- 661/ 388 : ;EINTRITT: - 662/ 388 : ;AUSTRITT: SUMME IN A 663/ 388 : SUM: 664/ 388 : CD 95 03 CALL GETPTR 665/ 38B : D8 RET C ;RET., WENN FEHLER 666/ 38C : AF XOR A 667/ 38D : SUMCAL: 668/ 38D : 86 ADD A,(HL) ;AUFSUMMIEREN 669/ 38E : ED A1 CPI ;NAECHSTE ADR 670/ 390 : EA 8D 03 JP PE,SUMCAL ;WDHLG., BIS ALLE BYTES 671/ 393 : B7 OR A 672/ 394 : C9 RET 673/ 395 : 674/ 395 : ;--------------------- SPEICHERLAENGE BER. --------- 675/ 395 : ;EINTRITT: 676/ 395 : ;AUSTRITT: LAENGE IN BC 677/ 395 : ; BEI FEHLER CY=1 678/ 395 : GETPTR: 679/ 395 : 21 ED 23 LD HL,STARTADR ;DESCRIPTORAREA 680/ 398 : 5E LD E,(HL) ;STARTADR 681/ 399 : 23 INC HL 682/ 39A : 56 LD D,(HL) 683/ 39B : 23 INC HL 684/ 39C : 4E LD C,(HL) ;ENDADR (C ZWI.SP. WEG. ADR IN HL) 685/ 39D : 23 INC HL 686/ 39E : 66 LD H,(HL) 687/ 39F : 69 LD L,C 688/ 3A0 : B7 OR A ;CY LOESCHEN 689/ 3A1 : ED 52 SBC HL, DE ;ABSTAND 690/ 3A3 : 4D LD C,L ;NACH BC LADEN 691/ 3A4 : 44 LD B,H 692/ 3A5 : EB EX DE,HL 693/ 3A6 : C9 RET 694/ 3A7 : 695/ 3A7 : ;---------------------- LESEN VOM BAND ------------- 696/ 3A7 : ;EINTRITT: ZIELANFANGSADR IN HL 697/ 3A7 : ; LAENGE IN BC 698/ 3A7 : ;AUSTRITT: 699/ 3A7 : TAPEIN: 700/ 3A7 : AF XOR A 701/ 3A8 : 08 EX AF,AF' 702/ 3A9 : TLOOP: 703/ 3A9 : CD B4 03 CALL GTBYTE ;1 BYTE LESEN 704/ 3AC : 73 LD (HL),E ;ABSPEICHERN 705/ 3AD : ED A1 CPI ;NAECHSTE ADR 706/ 3AF : EA A9 03 JP PE,TLOOP ;WDHLG., BIS ALLE BYTE 707/ 3B2 : 08 EX AF,AF' 708/ 3B3 : C9 RET 709/ 3B4 : 710/ 3B4 : ;-------------------- 1 BYTE VOM BAND LESEN ---- 711/ 3B4 : ;EINTRITT: 712/ 3B4 : ;AUSTRITT: DATENBYTE IN E 713/ 3B4 : GTBYTE: 714/ 3B4 : CD C5 03 CALL GETBIT ;STARTBIT 715/ 3B7 : 16 08 LD D,08H ;8 BIT 716/ 3B9 : GLOOP: 717/ 3B9 : CD C5 03 CALL GETBIT ;DATENBIT LESEN 718/ 3BC : CB 1B RR E ;IN E SCHIEBEN 719/ 3BE : 15 DEC D 720/ 3BF : 20 F8 JR NZ,GLOOP ;WDHLG., BIS 8 BIT 721/ 3C1 : CD C5 03 CALL GETBIT ;STOPBIT 722/ 3C4 : C9 RET 723/ 3C5 : 724/ 3C5 : ;-------------------- 1 BIT VOM BAND LESEN --------- 725/ 3C5 : ;EINTRITT: 726/ 3C5 : ;AUSTRITT: BIT IN CY 727/ 3C5 : GETBIT: 728/ 3C5 : D9 EXX 729/ 3C6 : 21 00 00 LD HL,0000 730/ 3C9 : COUNT: 731/ 3C9 : CD 00 08 CALL PERIOD ;TAKTLAENGE 732/ 3CC : 14 INC D 733/ 3CD : 15 DEC D ;Z-FLAG SETZEN/RUECKSETZEN 734/ 3CE : 20 11 JR NZ,TERR ;SPR., WENN ZU GROSS (FEHLER) 735/ 3D0 : 38 06 JR C,SHORTP ;SPR., WENN 1 KHZ 736/ 3D2 : ;FREQU. IST 2 KHZ 737/ 3D2 : 2D DEC L ;L=L-2 738/ 3D3 : 2D DEC L 739/ 3D4 : CB C4 SET 0,H ;H=1 740/ 3D6 : 18 F1 JR COUNT ;WDHLG. 741/ 3D8 : SHORTP: 742/ 3D8 : ;FREQU. IST 1 KHZ 743/ 3D8 : 2C INC L ;L=L+1 744/ 3D9 : CB 44 BIT 0,H 745/ 3DB : 28 EC JR Z,COUNT ;SPR., WENN NOCH NICHT 2 KHZ EMPFANGEN 746/ 3DD : CB 15 RL L ;BIT IN CY 747/ 3DF : D9 EXX 748/ 3E0 : C9 RET 749/ 3E1 : TERR: 750/ 3E1 : ;FREQUENZ AUSSER ERLAUBTEM BEREICH 751/ 3E1 : 08 EX AF,AF' 752/ 3E2 : 37 SCF 753/ 3E3 : 08 EX AF,AF' 754/ 3E4 : D9 EXX 755/ 3E5 : C9 RET 756/ 3E6 : 757/ 3E6 : ;--------------------- ADR 2. ROM/EPROM -------------- 758/ 400 : ORG 0400H 759/ 400 : 760/ 400 : =>TRUE IF ROM_=2 761/ 400 : FF DEFB 0FFH 762/ 800 : ORG 0800H 763/ 800 : ENDIF 764/ 800 : 765/ 800 : ;--------------------- TAKTLAENGE VOM BAND-SIGNAL ---- 766/ 800 : ;EINTRITT: ---- 767/ 800 : ;AUSTRITT: CY=O --> 1 KHZ 768/ 800 : ; CY=1 --> 2 KHZ 769/ 800 : PERIOD: 770/ 800 : 11 00 00 LD DE,0000 ;ZAEHLER = 0 771/ 803 : CHK0: 772/ 803 : DB F5 IN A,(DIGITAP) ;EINLESEN 773/ 805 : 13 INC DE ;ZAEHLER ERHOEHEN 774/ 806 : 1F RRA 775/ 807 : 38 FA JR C,CHK0 ;WDHLG., WENN EINGANG H 776/ 809 : 3E 00 LD A,0 ;AZEIGE FREI, TAPE.OUT = L 777/ 80B : D3 F5 OUT (DIGITAP),A 778/ 80D : CHK1: 779/ 80D : DB F5 IN A,(DIGITAP) ;EINLESEN 780/ 80F : 13 INC DE ;ZAEHLER ERHOEHEN 781/ 810 : 1F RRA 782/ 811 : 30 FA JR NC,CHK1 ;WDHLG., WENN EINGANG L 783/ 813 : 3E 02 LD A,2 ; ANZEIGE FREI, TAPE.OUT = H 784/ 815 : D3 F5 OUT (DIGITAP),A 785/ 817 : 7B LD A,E 786/ 818 : FE 16 CP 22 ;TEST <> 1,5 KHZ 787/ 81A : C9 RET 788/ 81B : 789/ 81B : ;--------------------- DATEN AUF BAND AUSGEBEN ------ 790/ 81B : ;EINTRITT: ANFANGSADR. IN HL 791/ 81B : ; ANZAHL IN BC 792/ 81B : ;AUSTRITT: 793/ 81B : TAPOUT: 794/ 81B : 5E LD E,(HL) ;BYTE NACH E 795/ 81C : CD 25 08 CALL OUTBYTE 796/ 81F : ED A1 CPI ;NAECHSTES BYTE 797/ 821 : EA 1B 08 JP PE,TAPOUT ;WDHLG., WENN NOCH BYTES ZU SENDEN 798/ 824 : C9 RET 799/ 825 : 800/ 825 : ;--------------------- EIN BYTE AUSGEBEN ---------- 801/ 825 : ;EINTRITT: BYTE IN E 802/ 825 : ;AUSTRITT: 803/ 825 : OUTBYTE: 804/ 825 : 16 08 LD D,08H ;8 BIT 805/ 827 : B7 OR A 806/ 828 : CD 38 08 CALL OUTBIT ;STARTBIT 807/ 82B : OLOOP: 808/ 82B : CB 1B RR E ;BIT IN CY 809/ 82D : CD 38 08 CALL OUTBIT ;DATENBIT AUSGEBEN 810/ 830 : 15 DEC D 811/ 831 : 20 F8 JR NZ,OLOOP ;WDHLG., BIS 8 BIT 812/ 833 : 37 SCF 813/ 834 : CD 38 08 CALL OUTBIT ;STOPBIT 814/ 837 : C9 RET 815/ 838 : 816/ 838 : ;----------------- - 817/ 838 : OUTBIT: 818/ 838 : D9 EXX ;OUTPUT 1 BIT DATA 819/ 839 : 26 00 LD H,0 820/ 83B : 38 09 JR C,OUT1 821/ 83D : OUT0: 822/ 83D : 2E 0C LD L,0CH 823/ 83F : CD 74 03 CALL SOUN2K 824/ 842 : 2E 03 LD L,03H 825/ 844 : 18 07 JR BITEND 826/ 846 : OUT1: 827/ 846 : 2E 06 LD L,06H 828/ 848 : CD 74 03 CALL SOUN2K 829/ 84B : 2E 06 LD L,06H 830/ 84D : BITEND: 831/ 84D : CD 70 03 CALL SOUN1K 832/ 850 : D9 EXX 833/ 851 : C9 RET 834/ 852 : ;---------------------- TEST, 0B (HL) RAM IST ------- 835/ 852 : ; 2 x INVERTIERTES SCHREIBEN UND 836/ 852 : ; LESEN AUS/IN DEN DURCH HL ANGEG. 837/ 852 : ; SPEICHERPLATZ UND VERGLEICHEN 838/ 852 : ; AUSGABE: Z=1, WENN RAM 839/ 852 : 840/ 852 : RAMCHK: 841/ 852 : 7E LD A,(HL) 842/ 853 : 2F CPL 843/ 854 : 77 LD (HL),A 844/ 855 : 7E LD A,(HL) 845/ 856 : 2F CPL 846/ 857 : 77 LD (HL),A 847/ 858 : BE CP (HL) 848/ 859 : C9 RET 849/ 85A : 850/ 85A : ;--------------------- LED UND TASTATUR-ABFR.-------- 851/ 85A : DAK1: 852/ 85A : DD E5 PUSH IX ;ADR ANZ.TEXT RETTEN 853/ 85C : 21 FD 23 LD HL,FUFEFLAG 854/ 85F : CB 7E BIT 7,(HL) ;FEHLERFLAG TESTEN 855/ 861 : 28 04 JR Z,SCPRE ;SPR., WENN KEIN FEHLER 856/ 863 : DD 21 A5 09 LD IX,ERR ;ADR FEHLERTEXT 857/ 867 : SCPRE: 858/ 867 : 06 06 LD B,06H 859/ 869 : SCNX: 860/ 869 : CD 83 08 CALL DAK2 861/ 86C : 30 F9 JR NC,SCPRE ;WDHLG., WENN TASTE NOCH GEDR. 862/ 86E : 10 F9 DJNZ SCNX 863/ 870 : CB BE RES 7,(HL) ;FEHLERLAG LOESCHEN 864/ 872 : DD E1 POP IX ;ALTER TEXT 865/ 874 : SCLOOP: 866/ 874 : CD 83 08 CALL DAK2 867/ 877 : 38 FB JR C,SCLOOP ;WDHLG., WENN KEINE TASTE GEDR. 868/ 879 : 21 EF 09 LD HL,KEYTAB ;TASTE NACH TABELLE UMCODIEREN 869/ 87C : 85 ADD A,L 870/ 87D : 6F LD L,A 871/ 87E : 30 01 JR NC,SCNCY 872/ 880 : 24 INC H 873/ 881 : SCNCY: 874/ 881 : 7E LD A,(HL) ;UMCODIERTER TASTENWERT 875/ 882 : C9 RET 876/ 883 : 877/ 883 : ;----------------- LED U. TASTATUR-UP -------------- 878/ 883 : DAK2: 879/ 883 : 37 SCF 880/ 884 : 08 EX AF,AF' 881/ 885 : D9 EXX 882/ 886 : 0E 00 LD C,0 ;TASTENNUMMER = 0 883/ 888 : 1E FB LD E,11111011B ;BITMUSTER FUER DIGITANSTEUERUNG 884/ 88A : KCOL: 885/ 88A : DD 7E 00 LD A,(IX) ;SEGMENTE ANSTEUERN 886/ 88D : 2F CPL 887/ 88E : D3 F4 OUT (SEGMENT),A 888/ 890 : 7B LD A,E ;DIGIT ANSTEUERN 889/ 891 : D3 F5 OUT (DIGITAP),A 890/ 893 : 06 64 LD B,100 ;ZEITVERZOEGERUNG 891/ 895 : 10 FE DJNZ $ 892/ 897 : 06 04 LD B,04H ;ZEILENZAHL TASTENMATRIX 893/ 899 : DB F9 IN A,(KEYIN) ;TASTENWERT EINLESEN 894/ 89B : 57 LD D,A ;TEST, OB TASTE GEDRUECKT 895/ 89C : KROW: 896/ 89C : CB 12 RL D 897/ 89E : 38 02 JR C,NOKEY 898/ 8A0 : 79 LD A,C 899/ 8A1 : 08 EX AF,AF' 900/ 8A2 : ;WENN TASTE: -> CY=0, A = NUMMER 901/ 8A2 : NOKEY: 902/ 8A2 : 0C INC C ;ABFRAGEZAEHLER ERHOEHEN 903/ 8A3 : 10 F7 DJNZ KROW ;WDHLG., WENN NOCH NICHT ALLE ZEILEN 904/ 8A5 : DD 23 INC IX ;NAECHSTES ZEICHEN ZUR ANZEIGE 905/ 8A7 : CB 03 RLC E 906/ 8A9 : 3E FF LD A,0FFH 907/ 8AB : D3 F5 OUT (DIGITAP),A;ANZEIGE AUS 908/ 8AD : 38 DB JR C,KCOL ;GGF. NAECHSTE SPALTE 909/ 8AF : 11 FA FF LD DE,0FFFAH 910/ 8B2 : DD 19 ADD IX,DE ;WIEDERHERST. ANF.ADR DES ANZ.TEXTES 911/ 8B4 : D9 EXX 912/ 8B5 : 08 EX AF,AF' 913/ 8B6 : C9 RET 914/ 8B7 : 915/ 8B7 : ;-------------------- ADRESSE ANZEIGEN ------------- 916/ 8B7 : ADRSDP: 917/ 8B7 : 21 F4 23 LD HL,ADRLED 918/ 8BA : 7B LD A,E ;UNTERE 2 ZIFFERN 919/ 8BB : CD D9 08 CALL TWOSEG 920/ 8BE : 7A LD A,D ;OBERE 2 ZIFFERN 921/ 8BF : CD D9 08 CALL TWOSEG 922/ 8C2 : C9 RET 923/ 8C3 : 924/ 8C3 : ;---------------------- A-REG IN DAT-ANZ-SPEICHER --- 925/ 8C3 : DADP: 926/ 8C3 : 21 F2 23 LD HL,DATLED 927/ 8C6 : CD D9 08 CALL TWOSEG 928/ 8C9 : C9 RET 929/ 8CA : 930/ 8CA : ;--------------------- - 931/ 8CA : ONESEG: 932/ 8CA : E5 PUSH HL 933/ 8CB : D5 PUSH DE 934/ 8CC : 21 07 0A LD HL,SEGTAB ;ADR DER SEGMENTTABELLE 935/ 8CF : E6 0F AND 0FH ;OBERES HALBBYTE AUSBLENDEN 936/ 8D1 : 5F LD E,A 937/ 8D2 : 16 00 LD D,0 938/ 8D4 : 19 ADD HL,DE 939/ 8D5 : D1 POP DE 940/ 8D6 : 7E LD A,(HL) ;KONVERTIERTE ZAHL NACH A 941/ 8D7 : E1 POP HL 942/ 8D8 : C9 RET 943/ 8D9 : 944/ 8D9 : ;--------------------- - 945/ 8D9 : TWOSEG: 946/ 8D9 : F5 PUSH AF 947/ 8DA : CD CA 08 CALL ONESEG ;UNTERE ZIFFER UMWANDELN 948/ 8DD : 77 LD (HL),A ;ABSPEICHERN 949/ 8DE : 23 INC HL ;ADR FUER HINTERLEGUNG OBERE ZAHL 950/ 8DF : F1 POP AF ;URSPRUENGL. ZAHL 951/ 8E0 : 0F RRCA 952/ 8E1 : 0F RRCA 953/ 8E2 : 0F RRCA 954/ 8E3 : 0F RRCA ;OBERES HALBBYTE 955/ 8E4 : CD CA 08 CALL ONESEG ;OBERE ZIFFER UMWANDELN 956/ 8E7 : 77 LD (HL),A ;ABSPEICHERN 957/ 8E8 : 23 INC HL ;ADR GGF. NAECHSTE ZIFFER 958/ 8E9 : C9 RET 959/ 8EA : 960/ 8EA : ;--------------------- MUSIKPROGRAMM ----------------- 961/ 8EA : MONMUS: 962/ 8EA : FD 21 17 0A LD IY,SONG ;ADR DER NOTEN 963/ 8EE : MUSIC: 964/ 8EE : FD E5 PUSH IY 965/ 8F0 : DD E1 POP IX 966/ 8F2 : MUSLOOP: 967/ 8F2 : DD 7E 00 LD A,(IX) 968/ 8F5 : 87 ADD A,A 969/ 8F6 : D8 RET C ;WENN WERT >= 80H 970/ 8F7 : FA EE 08 JP M,MUSIC ;WENN WERT >= 40H 971/ 8FA : 0E 00 LD C,0 972/ 8FC : CB 77 BIT 6,A 973/ 8FE : 20 02 JR NZ,PLAY ;WENN WERT >= 20H 974/ 900 : CB C9 SET 1,C ;AUSGABE-BIT 975/ 902 : PLAY: 976/ 902 : E6 3F AND 3FH 977/ 904 : 21 34 09 LD HL,FRQTAB 978/ 907 : 5F LD E,A 979/ 908 : 16 00 LD D,0 980/ 90A : 19 ADD HL,DE 981/ 90B : 5E LD E,(HL) 982/ 90C : 23 INC HL 983/ 90D : 56 LD D,(HL) 984/ 90E : DD 23 INC IX 985/ 910 : DD 66 00 LD H,(IX) 986/ 913 : 3E FF LD A,0FFH 987/ 915 : TONE: 988/ 915 : 6A LD L,D 989/ 916 : TONOUT: 990/ 916 : D3 F5 OUT (DIGITAP),A 991/ 918 : 43 LD B,E 992/ 919 : DELAY: 993/ 919 : 00 NOP 994/ 91A : 10 FD DJNZ DELAY 995/ 91C : A9 XOR C 996/ 91D : 2D DEC L 997/ 91E : 20 F6 JR NZ,TONOUT 998/ 920 : 25 DEC H 999/ 921 : 20 F2 JR NZ,TONE 1000/ 923 : DD 23 INC IX 1001/ 925 : 18 CB JR MUSLOOP 1002/ 927 : 1003/ 927 : ;--------------------- ANZEIGEMOD TESTEN ------------- 1004/ 927 : TESTM: 1005/ 927 : 3A FB 23 LD A,(ATCODE) 1006/ 92A : FE 01 CP 01H 1007/ 92C : C8 RET Z 1008/ 92D : FE 02 CP 02H 1009/ 92F : C8 RET Z 1010/ 930 : E1 POP HL ;RUECKKEHRADR. LOESCHEN 1011/ 931 : C3 96 02 JP ERRDIS 1012/ 934 : 1013/ 934 : ;--------------------- FREQUENZTABELLE --------------- 1014/ 934 : FRQTAB: 1015/ 934 : 70 18 DEFW 1870H 1016/ 936 : 6A 1A DEFW 1A6AH 1017/ 938 : 64 1B DEFW 1B64H 1018/ 93A : 5E 1D DEFW 1D5EH 1019/ 93C : 59 1E DEFW 1E59H 1020/ 93E : 54 20 DEFW 2054H 1021/ 940 : 4F 22 DEFW 224FH 1022/ 942 : 4B 24 DEFW 244BH 1023/ 944 : 46 26 DEFW 2646H 1024/ 946 : 42 29 DEFW 2942H 1025/ 948 : 3F 2B DEFW 2B3FH 1026/ 94A : 3B 2E DEFW 2E3BH 1027/ 94C : 38 31 DEFW 3138H 1028/ 94E : 35 33 DEFW 3335H 1029/ 950 : 32 37 DEFW 3732H 1030/ 952 : 2F 3A DEFW 3A2FH 1031/ 954 : 2C 3D DEFW 3D2CH 1032/ 956 : 2A 41 DEFW 412AH 1033/ 958 : 27 45 DEFW 4527H 1034/ 95A : 25 49 DEFW 4925H 1035/ 95C : 23 4D DEFW 4D23H 1036/ 95E : 21 52 DEFW 5221H 1037/ 960 : 1F 57 DEFW 571FH 1038/ 962 : 1D 5C DEFW 5C1DH 1039/ 964 : 1B 62 DEFW 621BH 1040/ 966 : 1A 67 DEFW 671AH 1041/ 968 : 18 6E DEFW 6E18H 1042/ 96A : 17 74 DEFW 7417H 1043/ 96C : 16 7B DEFW 7B16H 1044/ 96E : 14 82 DEFW 8214H 1045/ 970 : 13 8A DEFW 8A13H 1046/ 972 : 12 92 DEFW 9212H 1047/ 974 : 1048/ 974 : ;---------------------- TEXTE ------------------------ 1049/ 974 : DISP1: 1050/ 974 : E7 DEFB 0E7H ;"0" 1051/ 975 : EF DEFB 0EFH ;"8" 1052/ 976 : 08 DEFB 08H ;"ù" 1053/ 977 : C6 DEFB 0C6H ;"C" 1054/ 978 : C2 DEFB 0C2H ;"L" 1055/ 979 : 00 DEFB 00H ;" " 1056/ 97A : 00 DEFB 00H ;" " 1057/ 97B : 4E DEFB 4EH ;"F" 1058/ 97C : E7 DEFB 0E7H ;"0" 1059/ 97D : DISP2: 1060/ 97D : 00 DEFB 00H ;" " 1061/ 97E : 48 DEFB 048H ;"R" 1062/ 97F : CE DEFB 0CEH ;"E" 1063/ 980 : AE DEFB 0AEH ;"S" 1064/ 981 : E3 DEFB 0E3H ;"U" 1065/ 982 : 00 DEFB 000H ;" " 1066/ 983 : DISP3: 1067/ 983 : 00 DEFB 000H ;" " 1068/ 984 : E7 DEFB 0E7H ;"0" 1069/ 985 : C2 DEFB 0C2H ;"L" 1070/ 986 : C2 DEFB 0C2H ;"L" 1071/ 987 : 6F DEFB 06FH ;"A" 1072/ 988 : 6B DEFB 06BH ;"H" 1073/ 989 : DISP4: 1074/ 989 : 00 DEFB 00H ;" " 1075/ 98A : 00 DEFB 00H ;" " 1076/ 98B : 00 DEFB 00H ;" " 1077/ 98C : 00 DEFB 00H ;" " 1078/ 98D : 00 DEFB 00H ;" " 1079/ 98E : 00 DEFB 00H ;" " 1080/ 98F : 00 DEFB 00H ;" " 1081/ 990 : 00 DEFB 00H ;" " 1082/ 991 : 4E DEFB 04EH ;"F" 1083/ 992 : AE DEFB 0AEH ;"S" 1084/ 993 : CE DEFB 0CEH ;"E" 1085/ 994 : 00 DEFB 00H ;" " 1086/ 995 : 4E DEFB 04EH ;"F" 1087/ 996 : 00 DEFB 00H ;" " 1088/ 997 : 00 DEFB 00H ;" " 1089/ 998 : 00 DEFB 00H ;" " 1090/ 999 : DISP5: 1091/ 999 : 00 DEFB 00H ;" " 1092/ 99A : 00 DEFB 00H ;" " 1093/ 99B : CA DEFB 0CAH ;"t" 1094/ 99C : 68 DEFB 68H ;"n" 1095/ 99D : 21 DEFB 21H ;"i" 1096/ 99E : 00 DEFB 00H ;" " 1097/ 99F : DISP6: 1098/ 99F : EF DEFB 0EFH ;"8" 1099/ 9A0 : AD DEFB 0ADH ;"3" 1100/ 9A1 : 00 DEFB 00H ;" " 1101/ 9A2 : CA DEFB 0CAH ;"t" 1102/ 9A3 : AE DEFB 0AEH ;"s" 1103/ 9A4 : 48 DEFB 48H ;"r" 1104/ 9A5 : ERR: 1105/ 9A5 : 00 DEFB 00H ;" " 1106/ 9A6 : 48 DEFB 48H ;"r" 1107/ 9A7 : E8 DEFB 0E8H ;"o" 1108/ 9A8 : 48 DEFB 48H ;"e" 1109/ 9A9 : 48 DEFB 48H ;"e" 1110/ 9AA : CE DEFB 0CEH ;"E" 1111/ 9AB : 1112/ 9AB : ;--------------------- - 1113/ 9AB : KSUFUN: 1114/ 9AB : 4D 01 DEFW KINC 1115/ 9AD : 00 DEFB KINC-KINC ;"+" 1116/ 9AE : 05 DEFB KDEC-KINC ;"-" 1117/ 9AF : 0A DEFB KEXEC-KINC;"EXEC" 1118/ 9B0 : 00 DEFB 00H 1119/ 9B1 : 0F DEFB KDATA-KINC;"DATA" 1120/ 9B2 : 00 DEFB 00H 1121/ 9B3 : 00 DEFB 00H 1122/ 9B4 : 00 DEFB 00H 1123/ 9B5 : ;--------------------- - 1124/ 9B5 : KFUN: 1125/ 9B5 : 63 01 DEFW KADRS 1126/ 9B7 : 00 DEFB 00H 1127/ 9B8 : 00 DEFB KADRS-KADRS;"ADRS" 1128/ 9B9 : 00 DEFB 00H 1129/ 9BA : 00 DEFB 00H 1130/ 9BB : 00 DEFB 00H 1131/ 9BC : 00 DEFB 00H 1132/ 9BD : 04 DEFB KTAPWR-KADRS;"TO TAPE" 1133/ 9BE : 04 DEFB KTAPWR-KADRS;"FROM TAPE* 1134/ 9BF : ;--------------------- - 1135/ 9BF : HTAB: 1136/ 9BF : 6B 01 DEFW HFIX 1137/ 9C1 : 00 DEFB HFIX-HFIX ; FEHLER 1138/ 9C2 : 16 DEFB HAD-HFIX ;"ADRS" 1139/ 9C3 : 03 DEFB HDA-HFIX ; 1140/ 9C4 : 00 DEFB 00H 1141/ 9C5 : 00 DEFB 00H 1142/ 9C6 : 00 DEFB 00H 1143/ 9C7 : 26 DEFB HTAPWR-HFIX;"TO TAPE" 1144/ 9C8 : 26 DEFB HTAPWR-HFIX;"FROM TAPE" 1145/ 9C9 : 00 DEFB 00H 1146/ 9CA : 00 DEFB 00H 1147/ 9CB : ;--------------------- - 1148/ 9CB : ITAB: 1149/ 9CB : A1 01 DEFW IFIX 1150/ 9CD : 00 DEFB IFIX-IFIX ; 1151/ 9CE : 03 DEFB ADRADD-IFIX; 1152/ 9CF : 03 DEFB ADRADD-IFIX; 1153/ 9D0 : 00 DEFB 00H 1154/ 9D1 : 00 DEFB 00H 1155/ 9D2 : 00 DEFB 00H 1156/ 9D3 : 0E DEFB TPFUN1-IFIX; 1157/ 9D4 : 0E DEFB TPFUN1-IFIX; 1158/ 9D5 : 00 DEFB 00H 1159/ 9D6 : 00 DEFB 00H 1160/ 9D7 : ;--------------------- - 1161/ 9D7 : DTAB: 1162/ 9D7 : C0 01 DEFW DFIX 1163/ 9D9 : 00 DEFB 00H 1164/ 9DA : 03 DEFB ADRDEC-DFIX; 1165/ 9DB : 03 DEFB ADRDEC-DFIX; 1166/ 9DC : 00 DEFB 00H 1167/ 9DD : 00 DEFB 00H 1168/ 9DE : 00 DEFB 00H 1169/ 9DF : 0E DEFB TPTUN2-DFIX; 1170/ 9E0 : 0E DEFB TPTUN2-DFIX; 1171/ 9E1 : 00 DEFB 00H 1172/ 9E2 : 00 DEFB 00H 1173/ 9E3 : ;--------------------- - 1174/ 9E3 : ETAB: 1175/ 9E3 : DF 01 DEFW EFIX 1176/ 9E5 : 00 DEFB 00H 1177/ 9E6 : 03 DEFB ADREXC-EFIX; 1178/ 9E7 : 03 DEFB ADREXC-EFIX; 1179/ 9E8 : 00 DEFB 00H 1180/ 9E9 : 00 DEFB 00H 1181/ 9EA : 00 DEFB 00H 1182/ 9EB : 11 DEFB EWT-EFIX ; 1183/ 9EC : 47 DEFB LOAD-EFIX ; 1184/ 9ED : 00 DEFB 00H 1185/ 9EE : 00 DEFB 00H 1186/ 9EF : ;----------------- TASTATURTABELLE ------------------- 1187/ 9EF : KEYTAB: 1188/ 9EF : 12 DEFB 12H ;EXECUTE 1189/ 9F0 : 1E DEFB 1EH ;STORE 1190/ 9F1 : 1F DEFB 1FH ;LOAD 1191/ 9F2 : 00 DEFB 0 ;NICHT BELEGT 1192/ 9F3 : 00 DEFB 0 ;ZIFFERN 0...F 1193/ 9F4 : 01 DEFB 1 1194/ 9F5 : 02 DEFB 2 1195/ 9F6 : 03 DEFB 3 1196/ 9F7 : 04 DEFB 4 1197/ 9F8 : 05 DEFB 5 1198/ 9F9 : 10 DEFB 10H ;+ 1199/ 9FA : 07 DEFB 7 1200/ 9FB : 08 DEFB 8 1201/ 9FC : 09 DEFB 9 1202/ 9FD : 0E DEFB 0EH 1203/ 9FE : 0B DEFB 0BH 1204/ 9FF : 0C DEFB 0CH 1205/ A00 : 0D DEFB 0DH 1206/ A01 : 0A DEFB 0AH 1207/ A02 : 0F DEFB 0FH 1208/ A03 : 19 DEFB 19H ;ADRESS 1209/ A04 : 14 DEFB 14H ;DATA 1210/ A05 : 06 DEFB 6 1211/ A06 : 11 DEFB 11H ;- 1212/ A07 : 1213/ A07 : ;----------------------- CODE FUER HEX-ZIFFERN -------- 1214/ A07 : SEGTAB: 1215/ A07 : E7 DEFB 0E7H ; 0 1216/ A08 : 21 DEFB 21H ; 1 1217/ A09 : CD DEFB 0CDH ; 2 1218/ A0A : AD DEFB 0ADH ; 3 1219/ A0B : 2B DEFB 2BH ; 4 1220/ A0C : AE DEFB 0AEH ; 5 1221/ A0D : EE DEFB 0EEH ; 6 1222/ A0E : 25 DEFB 25H ; 7 1223/ A0F : EF DEFB 0EFH ; 8 1224/ A10 : AF DEFB 0AFH ; 9 1225/ A11 : 6F DEFB 6FH ; A 1226/ A12 : EA DEFB 0EAH ; B 1227/ A13 : C6 DEFB 0C6H ; C 1228/ A14 : E9 DEFB 0E9H ; D 1229/ A15 : CE DEFB 0CEH ; E 1230/ A16 : 4E DEFB 4EH ; F 1231/ A17 : 1232/ A17 : ;---------------------- LIED ------------------------ 1233/ A17 : SONG: 1234/ A17 : 12 02 DEFW 0212H 1235/ A19 : 20 02 DEFW 0220H 1236/ A1B : 10 02 DEFW 0210H 1237/ A1D : 20 02 DEFW 0220H 1238/ A1F : 12 02 DEFW 0212H 1239/ A21 : 20 02 DEFW 0220H 1240/ A23 : 0D 02 DEFW 020DH 1241/ A25 : 20 02 DEFW 0220H 1242/ A27 : 09 02 DEFW 0209H 1243/ A29 : 20 02 DEFW 0220H 1244/ A2B : 0D 02 DEFW 020DH 1245/ A2D : 20 02 DEFW 0220H 1246/ A2F : 06 02 DEFW 0206H 1247/ A31 : 20 06 DEFW 0620H 1248/ A33 : 12 02 DEFW 0212H 1249/ A35 : 20 02 DEFW 0220H 1250/ A37 : 10 02 DEFW 0210H 1251/ A39 : 20 02 DEFW 0220H 1252/ A3B : 12 02 DEFW 0212H 1253/ A3D : 20 02 DEFW 0220H 1254/ A3F : 0D 02 DEFW 020DH 1255/ A41 : 20 02 DEFW 0220H 1256/ A43 : 09 02 DEFW 0209H 1257/ A45 : 20 02 DEFW 0220H 1258/ A47 : 0D 02 DEFW 020DH 1259/ A49 : 20 02 DEFW 0220H 1260/ A4B : 06 02 DEFW 0206H 1261/ A4D : 20 06 DEFW 0620H 1262/ A4F : 12 02 DEFW 0212H 1263/ A51 : 20 02 DEFW 0220H 1264/ A53 : 14 02 DEFW 0214H 1265/ A55 : 20 02 DEFW 0220H 1266/ A57 : 15 02 DEFW 0215H 1267/ A59 : 20 02 DEFW 0220H 1268/ A5B : 14 02 DEFW 0214H 1269/ A5D : 20 02 DEFW 0220H 1270/ A5F : 15 02 DEFW 0215H 1271/ A61 : 20 02 DEFW 0220H 1272/ A63 : 12 02 DEFW 0212H 1273/ A65 : 20 02 DEFW 0220H 1274/ A67 : 14 02 DEFW 0214H 1275/ A69 : 20 02 DEFW 0220H 1276/ A6B : 12 02 DEFW 0212H 1277/ A6D : 20 02 DEFW 0220H 1278/ A6F : 14 02 DEFW 0214H 1279/ A71 : 20 02 DEFW 0220H 1280/ A73 : 10 02 DEFW 0210H 1281/ A75 : 20 02 DEFW 0220H 1282/ A77 : 12 02 DEFW 0212H 1283/ A79 : 20 02 DEFW 0220H 1284/ A7B : 10 02 DEFW 0210H 1285/ A7D : 20 02 DEFW 0220H 1286/ A7F : 12 02 DEFW 0212H 1287/ A81 : 20 02 DEFW 0220H 1288/ A83 : 0D 02 DEFW 020DH 1289/ A85 : 20 02 DEFW 0220H 1290/ A87 : 12 04 DEFW 0412H 1291/ A89 : 20 06 DEFW 0620H 1292/ A8B : 80 DEFB 80H 1293/ A8C : ;----------------------------------------------------- 1294/ A8C : 1295/ A8C : =>FALSE IF ROM_=1 1296/ A8C : ORG 0690H 1297/ A8C : ENDIF 1298/ A8C : 1299/ A8C : =>TRUE IF ROM_=2 1300/ A90 : ORG 0A90H 1301/ A90 : ENDIF 1302/ A90 : 1303/ A90 : START2: 1304/ A90 : 22 EC 22 LD (REGHL),HL 1305/ A93 : 21 46 0B LD HL,RETURN 1306/ A96 : 22 02 23 LD (STEPZEI),HL 1307/ A99 : STARTST: 1308/ A99 : E1 POP HL 1309/ A9A : E5 PUSH HL 1310/ A9B : ED 73 FA 22 LD (REGSP),SP 1311/ A9F : 31 E4 22 LD SP,ARBSTA 1312/ AA2 : CD 56 0B CALL REGRET 1313/ AA5 : 3A FE 22 LD A,(AREGST) 1314/ AA8 : 2F CPL 1315/ AA9 : DEANZ1: 1316/ AA9 : FD 21 E6 22 LD IY,REGRAM 1317/ AAD : DEANZ: 1318/ AAD : F5 PUSH AF 1319/ AAE : 21 CF 0B LD HL,REGSYM 1320/ AB1 : 85 ADD A,L 1321/ AB2 : 6F LD L,A 1322/ AB3 : 5E LD E,(HL) 1323/ AB4 : 23 INC HL 1324/ AB5 : 56 LD D,(HL) 1325/ AB6 : ED 53 F2 23 LD (DATLED),DE 1326/ ABA : F1 POP AF 1327/ ABB : 16 00 LD D,0 1328/ ABD : 5F LD E,A 1329/ ABE : FD 19 ADD IY,DE 1330/ AC0 : FD 5E 00 LD E,(IY+0) 1331/ AC3 : FD 56 01 LD D,(IY+1) 1332/ AC6 : ED 53 04 23 LD (AREGIN),DE 1333/ ACA : 2F CPL 1334/ ACB : 32 FE 22 LD (AREGST),A 1335/ ACE : DATLOOP: 1336/ ACE : CD B7 08 CALL ADRSDP 1337/ AD1 : DAK: 1338/ AD1 : DD 21 F2 23 LD IX,DATLED 1339/ AD5 : CD 5A 08 CALL DAK1 1340/ AD8 : FE 10 CP 10H 1341/ ADA : 38 14 JR C,HEXTAS 1342/ ADC : 28 37 JR Z, POSTAS 1343/ ADE : FE 11 CP 11H 1344/ AE0 : 28 42 JR Z,NEGTAS 1345/ AE2 : FE 12 CP 12H 1346/ AE4 : 28 23 JR Z,EXTAS 1347/ AE6 : FE 19 CP 19H 1348/ AE8 : 28 49 JR Z,ADRTAS 1349/ AEA : FE 14 CP 14H 1350/ AEC : 28 5D JR Z,DATANZ 1351/ AEE : 18 E1 JR DAK 1352/ AF0 : HEXTAS: 1353/ AF0 : 21 04 23 LD HL,AREGIN 1354/ AF3 : ED 6F RLD 1355/ AF5 : 23 INC HL 1356/ AF6 : ED 6F RLD 1357/ AF8 : ED 5B 04 23 LD DE,(AREGIN) 1358/ AFC : CD B7 08 CALL ADRSDP 1359/ AFF : 21 F4 23 LD HL,ADRLED 1360/ B02 : 06 04 LD B,4 1361/ B04 : CD DC 02 CALL SETPT 1362/ B07 : 18 C8 JR DAK 1363/ B09 : EXTAS: 1364/ B09 : ED 5B 04 23 LD DE,(AREGIN) 1365/ B0D : FD 73 00 LD (IY+0),E 1366/ B10 : FD 72 01 LD (IY+1),D 1367/ B13 : 18 B9 JR DATLOOP 1368/ B15 : POSTAS: 1369/ B15 : 3A FE 22 LD A,(AREGST) 1370/ B18 : 2F CPL 1371/ B19 : FE 16 CP 16H 1372/ B1B : 38 02 JR C,MPOS 1373/ B1D : 3E FE LD A,0FEH 1374/ B1F : MPOS: 1375/ B1F : 3C INC A 1376/ B20 : 3C INC A 1377/ B21 : C3 A9 0A JP DEANZ1 1378/ B24 : NEGTAS: 1379/ B24 : 3A FE 22 LD A,(AREGST) 1380/ B27 : 2F CPL 1381/ B28 : FE 00 CP 0 1382/ B2A : 20 02 JR NZ,MNEG 1383/ B2C : 3E 18 LD A,18H 1384/ B2E : MNEG: 1385/ B2E : 3D DEC A 1386/ B2F : 3D DEC A 1387/ B30 : C3 A9 0A JP DEANZ1 1388/ B33 : ADRTAS: 1389/ B33 : 31 E4 22 LD SP,ARBSTA 1390/ B36 : CD 71 0B CALL REGLAD 1391/ B39 : ED 7B FA 22 LD SP,(REGSP) 1392/ B3D : E1 POP HL 1393/ B3E : 2A FC 22 LD HL,(REGPC) 1394/ B41 : E5 PUSH HL 1395/ B42 : 2A 02 23 LD HL,(STEPZEI) 1396/ B45 : E9 JP (HL) 1397/ B46 : RETURN: 1398/ B46 : 2A EC 22 LD HL,(REGHL) 1399/ B49 : ED 45 RETN 1400/ B4B : DATANZ: 1401/ B4B : 2A FC 22 LD HL,(REGPC) 1402/ B4E : 7E LD A,(HL) 1403/ B4F : EB EX DE,HL 1404/ B50 : CD C3 08 CALL DADP 1405/ B53 : C3 CE 0A JP DATLOOP 1406/ B56 : REGRET: 1407/ B56 : 31 FE 22 LD SP,AREGST 1408/ B59 : E5 PUSH HL 1409/ B5A : 3B DEC SP 1410/ B5B : 3B DEC SP 1411/ B5C : FD E5 PUSH IY 1412/ B5E : DD E5 PUSH IX 1413/ B60 : D9 EXX 1414/ B61 : 08 EX AF,AF' 1415/ B62 : E5 PUSH HL 1416/ B63 : D5 PUSH DE 1417/ B64 : C5 PUSH BC 1418/ B65 : F5 PUSH AF 1419/ B66 : D9 EXX 1420/ B67 : 08 EX AF,AF' 1421/ B68 : 3B DEC SP 1422/ B69 : 3B DEC SP 1423/ B6A : D5 PUSH DE 1424/ B6B : C5 PUSH BC 1425/ B6C : F5 PUSH AF 1426/ B6D : 31 E2 22 LD SP,ARBST2 1427/ B70 : C9 RET 1428/ B71 : REGLAD: 1429/ B71 : 31 E6 22 LD SP,REGRAM 1430/ B74 : F1 POP AF 1431/ B75 : C1 POP BC 1432/ B76 : D1 POP DE 1433/ B77 : E1 POP HL 1434/ B78 : D9 EXX 1435/ B79 : 08 EX AF,AF' 1436/ B7A : F1 POP AF 1437/ B7B : C1 POP BC 1438/ B7C : D1 POP DE 1439/ B7D : E1 POP HL 1440/ B7E : D9 EXX 1441/ B7F : 08 EX AF,AF' 1442/ B80 : DD E1 POP IX 1443/ B82 : FD E1 POP IY 1444/ B84 : 31 E2 22 LD SP,ARBST2 1445/ B87 : C9 RET 1446/ B88 : 1447/ B88 : db 8 dup (?) 1448/ B90 : 1449/ B90 : STEPUP: 1450/ B90 : 2A F8 23 LD HL,(USERPC) 1451/ B93 : E5 PUSH HL 1452/ B94 : 21 C2 0B LD HL,INTROUT 1453/ B97 : 22 00 23 LD (INTTAF),HL 1454/ B9A : 3E E9 LD A,0E9H 1455/ B9C : 32 FE 22 LD (AREGST),A 1456/ B9F : 21 A5 0B LD HL,CTCPRG 1457/ BA2 : 22 02 23 LD (STEPZEI),HL 1458/ BA5 : CTCPRG: 1459/ BA5 : F5 PUSH AF 1460/ BA6 : 2A EC 22 LD HL,(REGHL) 1461/ BA9 : 3E 00 LD A,INTVEK 1462/ BAB : D3 EC OUT (CTC0),A 1463/ BAD : 3E 85 LD A,85H 1464/ BAF : D3 EC OUT (CTC0),A 1465/ BB1 : 3E 04 LD A,04H ;ZK 1466/ BB3 : D3 EC OUT (CTC0),A 1467/ BB5 : ED 5E IM 2 1468/ BB7 : 3E 23 LD A,HIINT 1469/ BB9 : ED 47 LD I,A 1470/ BBB : C6 00 ADD A,0 1471/ BBD : FB EI 1472/ BBE : 00 NOP 1473/ BBF : F1 POP AF 1474/ BC0 : ED 4D RETI 1475/ BC2 : INTROUT: 1476/ BC2 : F3 DI 1477/ BC3 : F5 PUSH AF 1478/ BC4 : 3E 03 LD A,03H 1479/ BC6 : D3 EC OUT (CTC0),A 1480/ BC8 : F1 POP AF 1481/ BC9 : 22 EC 22 LD (REGHL),HL 1482/ BCC : C3 99 0A JP STARTST 1483/ BCF : 1484/ BCF : REGSYM: 1485/ BCF : 4E DEFB 4EH 1486/ BD0 : 6F DEFB 6FH 1487/ BD1 : C6 DEFB 0C6H 1488/ BD2 : EA DEFB 0EAH 1489/ BD3 : CE DEFB 0CEH 1490/ BD4 : E9 DEFB 0E9H 1491/ BD5 : C2 DEFB 0C2H 1492/ BD6 : 6B DEFB 06BH 1493/ BD7 : 5E DEFB 05EH 1494/ BD8 : 7F DEFB 07FH 1495/ BD9 : D6 DEFB 0D6H 1496/ BDA : FA DEFB 0FAH 1497/ BDB : DE DEFB 0DEH 1498/ BDC : F9 DEFB 0F9H 1499/ BDD : D2 DEFB 0D2H 1500/ BDE : 7B DEFB 07BH 1501/ BDF : 4A DEFB 04AH 1502/ BE0 : 20 DEFB 020H 1503/ BE1 : AB DEFB 0ABH 1504/ BE2 : 20 DEFB 020H 1505/ BE3 : 4F DEFB 04FH 1506/ BE4 : AE DEFB 0AEH 1507/ BE5 : C6 DEFB 0C6H 1508/ BE6 : 4F DEFB 04FH 1509/ BE7 : 1510/ BE7 : =>FALSE IF ROM_=1 1511/ BE7 : DEFB 05BH ;PRUEFSUMMENDIFFERENZ 1512/ BE7 : ENDIF 1513/ BE7 : 1514/ BE7 : =>TRUE IF ROM_=2 1515/ BE7 : 23 DEFB 023H ;PRUEFSUMMENDIFFERENZ 1516/ BE8 : ENDIF 1517/ BE8 : 1518/ BE8 : ;--------------------------------------------------- 1519/ BE8 : =>FALSE IF ROM_=1 1520/ BE8 : ORG 07FFH 1521/ BE8 : DEFB 0A1H ;PRUEFSUMME FUER 1-ROM-VARIANTE 1522/ BE8 : ENDIF 1523/ BE8 : 1524/ BE8 : =>TRUE IF ROM_=2 1525/ BFF : ORG 0BFFH 1526/ BFF : 71 DEFB 071H ;PRUEFSUMME FUER 2-ROM-VARIANTE 1527/ C00 : ENDIF 1528/ C00 : 1529/ C00 : 1530/ C00 : ;*************************************************** 1531/ C00 : ; RAM-ZELLEN 1532/ C00 : 1533/ 22E2 : ORG 22E2H 1534/ 22E2 : 1535/ 22E2 : ARBST2: DB 2 dup (?) 1536/ 22E4 : ARBSTA: Db 2 dup (?) 1537/ 22E6 : REGRAM: Db 6 dup (?) 1538/ 22EC : REGHL: Db 14 dup (?) 1539/ 22FA : REGSP: Db 2 dup (?) 1540/ 22FC : REGPC: Db 2 dup (?) 1541/ 22FE : AREGST: Db 2 dup (?) 1542/ 2300 : INTTAF: Db 2 dup (?) 1543/ 2302 : STEPZEI: Db 2 dup (?) 1544/ 2304 : AREGIN: Db 2 dup (?) 1545/ 2306 : 1546/ 23EA : ORG 23EAH 1547/ 23EA : 1548/ 23EA : =23EAH SPINI EQU $ ;ANF.WERT FUER SP 1549/ 23EA : TAPDIS: Db 1 dup(?) ;DARZUSTELLENDES ZEICHEN BEI LOAD 1550/ 23EB : FILNAME: Db 2 dup(?) ;NAME DES ZU UEBERTR. PROG. 1551/ 23ED : STARTADR: Db 2 dup(?) 1552/ 23EF : ENDADRH: Db 2 dup(?) 1553/ 23F1 : CHKSUMH: Db 1 dup(?) 1554/ 23F2 : DATLED: Db 2 dup(?) ;DATEN-ANZ. 1555/ 23F4 : ADRLED: Db 4 dup(?) ;ADR.-ANZ. 1556/ 23F8 : USERPC: Db 2 dup(?) ;ADRESSE 1557/ 23FA : ATFLAG: Db 1 dup(?) ; 0 <-- ADRS, TO TAPE, FROM TAPE 1558/ 23FB : ATCODE: Db 1 dup(?) ; 1-ADRS, 6-TO TAPE, 7-FROM TAPE 1559/ 23FC : INIFLAG: Db 1 dup(?) ;INI-CODE 1560/ 23FD : FUFEFLAG: Db 1 dup(?) 1561/ 23FE : FILE2: Db 2 dup(?) 1562/ 2400 : 1563/ 2400 : ;***************************************************** 1564/ 2400 : END