EP(C000)ASM;PROGRAMM "EPROMMER" FUER KC85/3-MODUL ; ; ;AUFTRAGGEBER:VEB MIKROELEKTRONIK ; "W.PIECK" MUEHLHAUSEN ;AUFTRAGNEHMER:VEB APPLIKATIONSZENTRUM ; MIKROELEKTRONIK BERLIN ; IfAM BERLIN ; ABT.IAA ; TEL.5800261/49 ; ;VERSION 1.0 ; ;STRUKTURBYTE: D9 ; ;STARTADRESSE: C000H ; ; ; ;DAS NACHSTEHENDE PROGRAMM IST ALS ;ROM- UND RAMVERSION LAUFFAEHIG. DIE ;RAMVERSION (BANDVERSION) BELEGT DEN ;ARBEITSRAMBEREICH VON 400H BIS 22FFH. ; ;ALLE MENUPROGRAMME DES "EPROMMER" ;SIND HINTER DEM "IRM" LAUFFAEHIG, WENN ;EIN RAM-MODUL "M O11" IM ADR.-BEREICH ;4000-7FFFH ZUGEWIESEN WURDE. ; ;DAS PROGRAMM "EPROMMER" BENUTZT DIE ;ARBEITSZELLEN: ; ; 008H - 03FH LAUT UP.ABLAUF ; ; UNTERPROGAMM "TAPE" ; ; 200H - 27FH KASSETTENPUFFER ; 280H - 285H BERECHNUNG ; UP.STARTADRESSE ; LT." UEBERSICHTEN" ; UND RUECKKEHR INS ; UNTERPROGRAMM "TAPE" ; ; ;DAS PROGRAMM "EPROMMER" GESTATTET DEN ;TEST NACHSTEHENDER UNTERPROGRAMMTEILE: ; ; "READ" ; "PROGRAMMING" ; ;MIT HILFE DER CODE-ABLAGE: 01-05 IN DER ;ARBEITSZELLE 36H (K28) KANN DER PRUEF- ;ZYKLUS VORBEREITET WERDEN. ;(DAS EINSCHREIBEN DER CODE ERFOLGT AUS ;MENUUNTERPROGRAMM "DISPLAY") ; ;CODE: 01 TESTET DEN LESEZYKLUS EINES ; EPROM'S ; 02 TESTET DEN PROGRAMMIERZYKLUS ; (1ms IMPULSE) ; 03 TESTET UEBERPROGRAMMIERZYKLUS ; (2ms IMPULSE) ; 04 TESTET 50ms IMPULSE ; 05 TESTET KONTROLLESEZYKLUS ; ;NACH DER EINGABE DER CODE ERFOLGT DER ;START AUS DEM MENUTEIL DES HAUPTPRO- ;GRAMMS. DER TEST KANN MIT DER BETAETI- ;GUNG DER TASTE "break" UNTERBROCHEN ;WERDEN. ; ; ; ; ; ORG 0C000H ; ; LD A,(K30) ;PROGRAMMFORTS. CP 1 ;N.UP-AUSFUEHRG. JP Z TAPCS ;SAVE CP 5 JP Z TAPCL ;LOAD JP ANF ; ; DEFW 7F7FH DEFM 'EPROMMER' DEFB 1 ; ;ALLGEMEINER VEREINBARUNGSTEIL ; P1DA EQU 0B8H;PIO1 DATENW.ADR. PORT A P1DB EQU 0B9H P1SA EQU 0BAH;PIO1 STEUERW.ADR.PORT A P1SB EQU 0BBH P2DA EQU 0BCH P2DB EQU 0BDH P2SA EQU 0BEH P2SB EQU 0BFH UP EQU 0F003H FA EQU (0B79CH) ;FENSTERANFANG FG EQU (0B79EH) ;FENSTERGROESSE CA EQU (0B7A0H) ;CURSORPOSITION CO EQU (0B7A3H) ;FARBE ; ; ADR EQU 0C0H; hw.-T.TABELLE (ASHEX) ; ;VEREINBARUNGSTEIL DER ARBEITSZELLEN ; K1 EQU 8 ;CUR.ADR EP.-TYP K3 EQU 22H ;ASCIZ.ADR>GUELT K4 EQU 20H ;ZELLE F.ALLG.A. K5 EQU 32H ;DIFFER.FB-FA K6 EQU 2EH ;PRUFSUMME K7 EQU 0AH ;CUR.ADR Vpp K8 EQU 0CH ;EPROMTYP 0-5 K9 EQU 0DH ;MENUTYP 0-7 K11 EQU 0EH ;Vpp 0-2 K13 EQU 18H ;ASCI-FENST.A K14 EQU 1CH ;ASCI-FENST.B K15 EQU 24H ;ASCI-FENST.C K16 EQU 10H ;FENST.A HEXWERT K17 EQU 12H ;FENST.B HEXWERT K18 EQU 14H ;FENST.C HEXWERT K19 EQU 16H ;FENST.D HEXWERT K20 EQU 28H ;UML.A.ASCI/DISP K21 EQU 30H ;IMPULSZAEHLER K22 EQU 2CH ;STARTADR PRUEFS K23 EQU 0FH ;FARBBYTE K24 EQU 3EH ;ZEITK.>IMPULS K25 EQU 38H ;ZK.1ms K26 EQU 3AH ;ZK.2ms K27 EQU 3CH ;ZK.50ms K28 EQU 36H ;PROG.-TEST-NR. K29 EQU 281H ;UP.-STARTADR K30 EQU 34H ;UP-NR.LT TAB. K31 EQU 280H ;CODE "CALL" K32 EQU 283H ;CODE "JP" K33 EQU 284H ;LOW-TEIL ADR K34 EQU 285H ;HIGH-TEIL ADR K35 EQU 37H ;ZK.TAST.-EING. JP ANF1 ; ;UP ZUR UMWANDLUNG VON 4 ASCI-ZEICHEN ;IN DIE HEXADEZIMALE DARSTELLUNG ; ASHEX LD H,ADR LD B,21H ;ZEIGER ; ;AUF TABELLE DER HEXADEZIMALCODE ; ;BERECHNUNGSBEISPIEL: ; ;REG. A:=30H ASCII-CODE("0"); ; ;(ZEIGER) REG. L:=A+B ="low" TEIL ZEIGER ; REG. H ="high"TEIL ZEIGER ;TABADR > C051H <0> ; LD A,(IY+03H) ADD B LD L,A LD A,(HL) LD E,A LD A,(IY+02H) ADD B LD L,A LD A,(HL) SLA A SLA A SLA A SLA A ADD E LD E,A LD A,(IY+01H) ADD B LD L,A LD A,(HL) LD D,A LD A,(IY) ADD B LD L,A LD A,(HL) SLA A SLA A SLA A SLA A ADD D LD D,A RET DEFB 0 DEFB 1 DEFB 2 DEFB 3 DEFB 4 DEFB 5 DEFB 6 DEFB 7 DEFB 8 DEFB 9 NOP NOP NOP NOP NOP NOP NOP DEFB 0AH DEFB 0BH DEFB 0CH DEFB 0DH DEFB 0EH DEFB 0FH ; ;TABELLE DER STEUERKODE FUER DIE ;BEARBEITUNG DER EPROM-TYPENAUSWAHL ; TAB16C DEFB 3EH DEFB 32H DEFB 33H DEFB 32H DEFB 32H DEFB 32H DEFB 0B2H DEFB 0BEH DEFB 3FH TAB16B DEFB 3EH DEFB 3AH DEFB 3BH DEFB 3AH DEFB 3AH DEFB 3AH DEFB 0BAH DEFB 0BEH DEFB 3FH TAB16A DEFB 3EH DEFB 36H DEFB 37H DEFB 36H DEFB 36H DEFB 36H DEFB 0B6H DEFB 0BEH DEFB 3FH TAB32C DEFB 9FH ;93H DEFB 53H DEFB 52H DEFB 53H DEFB 13H DEFB 93H DEFB 92H DEFB 9EH DEFB 1FH TAB32B DEFB 9FH ;9BH DEFB 5BH DEFB 5AH DEFB 5BH DEFB 1BH DEFB 9BH DEFB 9AH DEFB 9EH DEFB 1FH TAB32A DEFB 9FH ;97H DEFB 57H DEFB 56H DEFB 57H DEFB 17H DEFB 97H DEFB 96H DEFB 9EH DEFB 1FH TAB64C DEFB 1FH DEFB 12H DEFB 12H DEFB 12H DEFB 12H DEFB 12H DEFB 92H DEFB 9EH DEFB 1FH TAB64B DEFB 1FH DEFB 1AH DEFB 1AH DEFB 1AH DEFB 1AH DEFB 1AH DEFB 9AH DEFB 9EH DEFB 1FH TAB64A DEFB 1FH DEFB 16H DEFB 16H DEFB 16H DEFB 16H DEFB 16H DEFB 96H DEFB 9EH DEFB 1FH TAB128C DEFB 1DH DEFB 10H DEFB 10H DEFB 10H DEFB 10H DEFB 10H DEFB 90H DEFB 9CH DEFB 1DH TAB128B DEFB 1DH DEFB 18H DEFB 18H DEFB 18H DEFB 18H DEFB 18H DEFB 98H DEFB 9CH DEFB 1DH TAB128A DEFB 1DH DEFB 14H DEFB 14H DEFB 14H DEFB 14H DEFB 14H DEFB 94H DEFB 9CH DEFB 1DH TAB256C DEFB 1DH DEFB 11H DEFB 10H DEFB 11H DEFB 11H DEFB 91H DEFB 90H DEFB 9CH DEFB 1DH TAB256B DEFB 1DH DEFB 19H DEFB 18H DEFB 19H DEFB 19H DEFB 99H DEFB 98H DEFB 9CH DEFB 1DH TAB256A DEFB 1DH DEFB 15H DEFB 14H DEFB 15H DEFB 15H DEFB 95H DEFB 94H DEFB 9CH DEFB 1DH TAB256AC DEFB 1DH DEFB 11H DEFB 10H DEFB 11H DEFB 11H DEFB 11H DEFB 91H DEFB 9CH DEFB 1DH TAB256AB DEFB 1DH DEFB 19H DEFB 18H DEFB 19H DEFB 19H DEFB 19H DEFB 99H DEFB 9CH DEFB 1DH TAB256AA DEFB 1DH DEFB 15H DEFB 14H DEFB 15H DEFB 15H DEFB 15H DEFB 95H DEFB 9CH DEFB 1DH ; ;BEGINN DES HAUPTPROGRAMMS ; ANF1 LD A,0CDH ;CODE "CALL" LD (K31),A LD A,0C3H ;CODE "JP" LD (K32),A LD A,0 LD (K33),A ;low-T.ADR "JP" ; LD A,0C0H ; LD (K34),A ;high-T.ADR "JP" LD A,0 LD (3FH),A LD HL,3FH ;LOESCHEN DER LD DE,3EH ;ARBEITSZELLEN LD BC,37H ;"EPROMMER" LDDR LD HL,30H ;ZK.Vpp 1ms LD (K25),HL LD HL,60H ;ZK.Vpp 2ms LD (K26),HL LD HL,0A00H ;ZK.Vpp 50ms LD (K27),HL LD HL,32H ;IMPULSZAEHLER LD (K21),HL LD A,10H ;ZK.TASTATUR LD (K35),A ;BEST.TRAEGHEIT ; ANF LD SP,1C4H EXX LD DE,0 ;DISPLAYANZ.AUS EXX LD HL,0B6F0H ;LEERZEICHEN- LD (K7),HL ;SPEICHER ZUM ;LOESCHEN ;Vpp AUSG.-FENST ; ;BILDSCHIRM LOESCHEN UND EINSTELLEN DES ;PAGEMODUS (FARBE: SW/GE) ; LD HL,0 LD FA,HL LD HL,2028H LD FG,HL LD A,6 LD CO,A CALL UP DEFB 23H DEFB 0CH DEFB 11H DEFB 0 ; ;BILDSCHIRMAUSCHRIFTEN EPROMTYPENAUSWAHL ; LD HL,7 LD CA,HL CALL UP DEFB 23H DEFM '** PROGRAMMING DEVICE **' DEFB 0 LD HL,200H LD CA,HL CALL UP DEFB 23H DEFM 'EPROM - TYPE:' DEFB 0 LD HL,401H LD CA,HL CALL UP DEFB 23H DEFM '1 = 2716' DEFB 0 LD HL,501H LD CA,HL CALL UP DEFB 23H DEFM '2 = 2732' DEFB 0 LD HL,601H LD CA,HL CALL UP DEFB 23H DEFM '3 = 2764' DEFB 0 LD HL,701H LD CA,HL CALL UP DEFB 23H DEFM '4 = 27128' DEFB 0 LD HL,801H LD CA,HL CALL UP DEFB 23H DEFM '5 = 27(C)256' DEFB 0 LD HL,901H LD CA,HL CALL UP DEFB 23H DEFM '6 = 27(C)256A' DEFB 0 LD HL,0A01H LD CA,HL CALL UP DEFB 23H DEFM '7 = EXIT' DEFB 0 ; ;FENSTERAUFRUF FUER EINGABE TYPAUSWAHL ; LD HL,400H LD FA,HL LD HL,701H LD FG,HL LD A,86H LD CO,A CALL UP DEFB 23H DEFB 0CH DEFB 11H DEFB 0 ; ;EINGABEROUTINE TYPAUSWAHL ; LD B,0 ;ZEILENZAEHLER ;IM FENSTER FST CALL UP DEFB 04H ;TAST.-EING. UP4 CP 0BH ;CURSOR "up"? JR Z FST4 ;WENN JA CP 0AH ;CURSOR "down"? JR Z FST2 ;WENN JA CP 0DH ;"enter"? JR Z FST3 ;WENN JA CALL ZKTAST ;EING.-VERZOEG. JR FST FST2 LD A,B CP 6 ;LETZTE ZEILE ;IM FENSTER ? JR Z FST ;WENN JA CALL UP ;WENN NEIN DEFB 23H DEFB 0AH ;CURSOR "down" DEFB 0 INC B ;ZAEHLER ERH. CALL ZKTAST ;EING.-VERZOEG. JR FST FST4 LD A,B CP 0 ;1.ZEILE ;IM FENSTER ? JR Z FST ;WENN JA DEC B ;ZAEHLER ERN. CALL UP DEFB 23H DEFB 0BH ;CURSOR "up" DEFB 0 CALL ZKTAST ;EING.-VERZOEG. JR FST FST3 LD A,B LD (K8),A ;AKTUELLE ZEILE ;=EPROMTYP ;ABLEGEN CP 6 ;LETZTE ZEILE ? JP Z EXIT ;WENN JA LD D,A ;UEBERG.AKTUELLE ;ZEILE IM FENST. LD E,0 ;UEBERG.AKTUELLE ;SPALTE IM FENST CALL UP DEFB 32H ;BERECHNUG ;VRAM-ADR LD (K1),HL ;ABLAGE DER ADR CALL UP DEFB 23H DEFM '*' ;KENNZEICHNUNG ;DES AUSWAHLTYPS DEFB 0 ; ;BILDSCHIRM AUSSCHRIFT "STICK EPROM" ;(INITIALISIERUNG DER PIO 1 UND 2) ; CALL H1 CALL H4 CALL H5 CALL H3 ; ;FENSTERAUFRUF FUER MENU-AUSGABE ; MENU LD SP,1C4H EXX LD DE,0 ;DISPLAYANZ AUS EXX LD HL,0 LD FA,HL LD HL,2028H LD FG,HL LD HL,1100H LD CA,HL LD A,6 LD CO,A ; ;BILDSCHIRMAUSSCHRIFT DER MENUTABELLE ; CALL UP DEFB 23H DEFM 'MENU:' DEFB 0 LD HL,1301H LD CA,HL CALL UP DEFB 23H DEFM '1 = READ' DEFB 0 LD HL,1401H LD CA,HL CALL UP DEFB 23H DEFM '2 = COMPARE' DEFB 0 LD HL,1501H LD CA,HL CALL UP DEFB 23H DEFM '3 = CHECKSUM' DEFB 0 LD HL,1601H LD CA,HL CALL UP DEFB 23H DEFM '4 = CHECK OF BYTECHANGE' DEFB 0 LD HL,1701H LD CA,HL CALL UP DEFB 23H DEFM '5 = BLANKTEST' DEFB 0 LD HL,1801H LD CA,HL CALL UP DEFB 23H DEFM '6 = PROGRAMMING' DEFB 0 LD HL,1901H LD CA,HL CALL UP DEFB 23H DEFM '7 = DISPLAY' DEFB 0 LD HL,1A01H LD CA,HL CALL UP DEFB 23H DEFM '8 = TAPE' DEFB 0 LD HL,1B01H LD CA,HL CALL UP DEFB 23H DEFM '9 = EXIT' DEFB 0 ; ;FENSTERAUFRUF FUER MENUTYPEINGABE ; LD HL,1300H LD FA,HL LD HL,901H LD FG,HL LD A,86H LD CO,A CALL UP DEFB 23H DEFB 0CH DEFB 11H DEFB 0 ; ;EINGABEROUTINE MENUTYP ; LD B,0 ;ZEILENZAEHLER ;IM AKT.FENSTER FSM CALL UP DEFB 04H ;TAST.EING. UP4 CP 3 ;TASTE "break" ? JP Z ANF ;WENN JA CP 0BH ;CURSOR "up" ? JR Z FSM4 ;WENN JA CP 0AH ;CURSOR "down" JR Z FSM2 ;WENN JA CP 0DH ;TASTE "enter" ? JR Z FSM3 ;WENN JA CALL ZKTAST ;EING.VERZOEG. JR FSM FSM2 LD A,B CP 8 ;LETZTE ZEILE ;IM FENSTER ? JR Z FSM ;WENN JA CALL UP DEFB 23H DEFB 0AH ;CURSOR "down" DEFB 0 INC B ;ZEILENZ. ERH. CALL ZKTAST ;EING. VERZOEG. JR FSM FSM4 LD A,B CP 0 ;1.ZEILE ;IM FENSTER ? JR Z FSM ;WENN JA DEC B ;ZEILENZ. ERN. CALL UP DEFB 23H DEFB 0BH ;CURSOR "up" DEFB 0 CALL ZKTAST ;EING. VERZOEG. JR FSM FSM3 LD A,B LD (K9),A ;ABSPEICHERN ;DER AKTUELLEN ;CUR. POS. IM F. CP 8 ;LETZTE ZEILE ? JP Z EXIT ;WENN JA CALL UP DEFB 23H DEFM '*' ;AKT. CURSORPOS. DEFB 0 ;KENNZEICHNEN LD A,80H ;ZK.FUER UP14 CALL UP DEFB 14H ;"wait" UP14 LD A,(K9) ;UEBERG.CURSORP. CP 0 ;1. ZEILE ? JR Z MAO4 ;WENN JA CP 1 ;2. ZEILE ? JR Z MAO5 ;WENN JA CP 2 ;3. ZEILE ? JR Z MAO6 ;WENN JA CP 3 ;4. ZEILE ? JR Z MAO7 ;WENN JA CP 4 ;5. ZEILE ? JR Z MAO8 ;WENN JA CP 5 ;6. ZEILE ? JR Z MAO9 ;WENN JA CP 6 ;7. ZEILE ? JR Z MA1O ;WENN JA CP 7 ;8. ZEILE ? JR Z MA11 ;WENN JA CP 8 ;9. ZEILE ? JP Z MENU ;WENN JA ; ;FENSTERAUFRUF PROGRAMMENDE UND RUECK- ;KEHR INS >CAOS< BETRIEBSSYSTEM ; EXIT LD HL,0 LD FA,HL LD HL,2028H LD FG,HL LD HL,0 LD CA,HL LD A,7 ;FARBE SW/WS LD CO,A CALL UP DEFB 23H DEFB 12H ;SCROLLING-MODUS DEFB 0CH ;BILDSCH.LOESCH. DEFB 0 LD HL,100H LD FA,HL LD HL,1E28H LD FG,HL LD HL,0 LD CA,HL CALL UP DEFB 12H ;"loop" UP12 RET ; ;SPRUNGTABELLE ; MAO4 JP LESEN MAO5 JP COMPARE MAO6 JP CHECKSU MAO7 JP CHECK MAO8 JP BLANK MAO9 JP SCHREIBEN MA1O JP DISPLAY MA11 JP TAPE ; ;ENDE DES HAUPTPROGRAMMS ; ; ; ;UNTERPROGRAMM EPROM >LESEN ("READ") ; LESEN LD A,6 ;FARBE SW/GE LD CO,A CALL FA1000 ;FENSTERAUFRUF ;Z.10H; SP.0 CALL DA7 ;EPROMTYPABFRAGE ;128,256,256A ? ;WENN JA > (1) ;WENN NEIN > (2) ; ; (1) AUSSCHRIFT "EXPAMDERAM (Y/N)" ;TASTATUREINGABE "Y/N" ;"Y" > MODULZUWEISUNG DURCH ; ROGRAMMFORTSETZUNG ;"N" > UP-ENDE ; ; (2);PROGRAMMFORTSETZUNG ; CALL FA1000 CALL LESEIN ;FENSTEREINGABEN ; ;IN DIE FENSTER A,B UND C ;KONTOLLE DER DATENGUELTIGKEIT ;ANZEIGEAUFFORDERUNG ;"STICK EPROM" ERLISCHT ; CALL BLESEN ;EPROM LESEN ; ;EPROMTYPABFRAGE UND UEBERGABE ;DER STARTADR. DER STEUERCODE- ;TABELLE FUER EPROMAUSWAHLTYP ;ZUSCHALTUNG Vcc ;EINLESEN EPROMINHALT IN DEN RAM ; CALL DAPRUEF ;PRUEFSUMMEN- ;BILDUG IM EPROM ; ;BEENDIGUNG DES UP.-LESEN ; ; CALL H1 ;FENSTERAUFRUF CALL H4 ;INITIALISIERUNG ;PIO'S ; ;BILDSCHIRMAUSSCHRIFT ;"STICK EPROM" ;INITIALISIERUG DER PIO 1 UND 2 ;(ABSCHALTEN DER SPANNUNG Vcc) ; CALL H5 ;FARBSTEUERUNG ;BLINKEN CALL H3 ;AUSG. EPROMTYP ; ;UNTERPROGRAMM-ENDEABFRAGE ; LD A,6 ;FARBE SW,GE LD (K23),A CALL DEYN ;UP EINGABE"Y/N" L3 CP 59H ;ENDE JP Z DEABC2 ;WENN JA >"MENU" CP 4EH ;PROGRAMMWIEDER- ;HOLUNG JP Z LDISPL ;WENN JA > ;"DISPLAYANZEIGE CALL DEYN JR L3 ; ;UP.BLESEN IM UP.LESEN ; BLESEN LD A,(K8) CP 0 JR Z L2716 CP 1 JR Z L2732 CP 2 JR Z L2764 CP 3 JR Z L27128 CP 4 JR Z L27256 CP 5 JR Z L27256 LD HL,ANF EX (SP),HL RET L2716 LD IY,TAB16C LD A,(K9) CP 0H JP Z L27XX LL1 CP 1 JP Z CMP ;COMPARE CP 2 JP Z CHSU ;CHECKSUM CP 3 JP Z C1 ;CHECK CP 4 JP Z B2 ;BLANK CP 6 JP Z D4 ;DISROM LD HL,ANF EX (SP),HL RET L2732 LD IY,TAB32C LD A,(K9) CP 0 JP Z L27XX JR LL1 L2764 LD IY,TAB64C LD A,(K9) CP 0 JP Z L27XX JR LL1 L27128 LD IY,TAB128C LD A,(K9) CP 0 JP Z L27XX JR LL1 L27256 LD IY,TAB256A LD A,(K9) CP 0 JP Z L27XX JR LL1 ; ;EPROM-LESEROUTINE ; L27XX LD A,0FFH OUT P2SA OUT P2SA LD A,(IY+8) OUT P2DB LD A,10H CALL UP DEFB 14H ;EINSCHWINGZEIT LD HL,(K18) ;SENKE LD DE,(K16) ;QUELLE LD BC,(K5) ;BYTEZAHL L16 LD A,E OUT P1DA CALL PGME ;PGM EIN? OUT P1DB LD A,(IY+7) OUT P2DB CALL IRMA IN A,P2DA LD (HL),A CALL IRME LD A,(IY+8) OUT P2DB LD A,B OR C JR Z LEND CALL UP DEFB 2AH ;BREAK ? (TEST) JP C ANF2 LD A,(K28) CP 1 ;PROG.-TEST 1 ? JR Z L16 INC HL INC DE DEC BC JR L16 LEND LD A,(IY+8) OUT P2DB RET ; ;UP.LESEIN IM UP.LESEN ; LESEIN CALL DA1 DEABC CALL DA2 CALL FEROM CALL FA1601 CALL DA3 CALL FA1606 CALL DA200 CALL FE1606 CALL DE1606 CALL GULC CALL SUBBA CALL ADDHLC CALL DA160DD LD HL,(K16) ;PF ROM(RAM K18) LD (K22),HL CALL H1 CALL H6 CALL H7 CALL H3 RET DEFB 23H DEFM 'ROM : -' DEFB 0 RET ; ;DISPLAY-ROUTINE IM UP. LESEN ; ;FENSTERAUFRUF FUER BILDSCHIRM- ;AUSGABE ; LDISPL LD HL,1D01H LD FA,HL LD HL,128H LD FG,HL LD HL,0 LD CA,HL CALL UP DEFB 23H DEFM 'DISPLAY (Y/N):' DEFB 0 ; ;FENSTERAUFRUF FUER DATENEINGABE ; LD HL,1D0FH LD FA,HL LD HL,101H LD FG,HL LD HL,0 LD CA,HL CALL UP DEFB 4 ;TASTATUREINGABE ;UP4 L4 CP 59H ;TASTE "Y" ? JP Z D1 ;WENN JA CP 4EH ;TASTE "N" ? JP Z LESEN ;WENN JA CALL DEYN JR L4 ; ;FENSTER FUER BILDSCHIRMAUSGABE ; D1 LD HL,1E01H LD FA,HL LD HL,128H LD FG,HL LD HL,0 LD CA,HL CALL UP DEFB 23H DEFM 'FROM ADR:' DEFB 0 ; ;FENSTER FUER DATENEINGABE ; EXX LD DE,1 ;DISPLAYANZ EIN EXX LD HL,1E0AH LD FA,HL LD HL,104H LD FG,HL LD HL,0 LD CA,HL CALL DE140D ;ADRESSEINGABE CALL GUL118 ;TEST AUF ;GUELTIGKEIT CALL ASH118 ;WANDLUNG DER ;EINGABEDATEN ;IN E. HEXADEZI- ;MALWERT LD HL,1E0AH LD FA,HL LD HL,105H LD FG,HL LD HL,0 LD CA,HL LD HL,(K17) CALL HEXASC ;AUSG.D.ADRESSE ; ;FENSTERAUFRUF FUER DATENAUSGABE ;DES EPROMINHALTES ; LD HL,0100H LD FA,HL LD HL,0C28H LD FG,HL LD HL,0 LD CA,HL CALL UP DEFB 23H DEFB 0CH DEFB 12H DEFB 0 ; ;PROGRAMMAUSFUEHRUNG "DISPLAY" ;IM UP. LESEN ; CALL DISRAM JP D1 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ