.binfrom 0 .binto 02000h asc_esc equ $1b asc_lf equ $0a asc_cr equ $0d asc_fs equ $1c asc_gs equ $1d asc_rs equ $1e asc_us equ $1f asc_space equ $20 ; ; ; chars_per_line equ 80 lines_per_screen equ 24 ; ; ; chars_per_screen equ chars_per_line*lines_per_screen ; * konstanten etc. ; Basisadressen der Peripheriebausteine stia equ 80h stib equ 90h gdp equ 70h readout equ 0a0h ; Leseport Rueckkanal stia_idr equ stia+0 stia_gpip equ stia+1 stia_iprb equ stia+2 stia_ipra equ stia+3 stia_isrb equ stia+4 stia_isra equ stia+5 stia_imrb equ stia+6 stia_imra equ stia+7 stia_pvr equ stia+8 stia_tabcr equ stia+9 stia_tbdr equ stia+0ah stia_tadr equ stia+0bh stia_ucr equ stia+0ch stia_rsr equ stia+0dh stia_tsr equ stia+0eh stia_udr equ stia+0fh stib_idr equ stib+0 stib_gpip equ stib+1 stib_iprb equ stib+2 stib_ipra equ stib+3 stib_isrb equ stib+4 stib_isra equ stib+5 stib_imrb equ stib+6 stib_imra equ stib+7 stib_pvr equ stib+8 stib_tabcr equ stib+9 stib_tbdr equ stib+0ah stib_tadr equ stib+0bh stib_ucr equ stib+0ch stib_rsr equ stib+0dh stib_tsr equ stib+0eh stib_udr equ stib+0fh page equ stia_gpip baud_rate_9600 equ 3 baud_rate_28800 equ 1 baud_rate_14400 equ 2 baud_rate_9600 equ 3 baud_rate_50 equ 230 baud_rate_75 equ 154 baud_rate_110 equ 105 baud_rate_300 equ 96 baud_rate_600 equ 48 baud_rate_1200 equ 24 baud_rate_2400 equ 12 baud_rate_4800 equ 6 ;stib_baud_rate equ baud_rate_9600 ; as per magazine listing stib_baud_rate equ baud_rate_1200 ; as per example ROM ; STI-R Belegung von den Portbits ; ; 7 6 5 4 3 2 1 0 ; write page read page vb -irq ; ; bei dem Befehl CLR (z. B. 4) des GDP wird die Leseseite ; beim Schreiben verwendet, wenn nicht das Bit 3 im ; Register 1 gesetzt wurde (BLK = 1 setzen). ; Bild 19. Die Belegung des RAM org 3800h crpos: defw 0 ; Intern newx: defw 0 ; Fuer drawto newy: defw 0 oldx: defw 0 oldy: defw 0 dx: defw 0 dy: defw 0 sign: defb 0 ; Vorzeichenmerker stibthere: defb 0 ; 0= STI-B nicht da vzsto: defb 0 ; Merker fuer sin, cos phianf: defw 0 phiend: defw 0 ha: defw 0 hb: defw 0 x0: defw 0 ; Fuer l-Befehl y0: defw 0 x1: defw 0 y1: defw 0 x2: defw 0 y2: defw 0 xkoor: defw 0 ykoor: defw 0 newxx: defw 0 newyy: defw 0 phi: defw 0 sitemp: defw 0 dxx: defw 0 dyy: defw 0 ssto: defw 0 yaddsto: defw 0 xdx: defw 0 ; fuer Fuell-Befehle ydy: defw 0 cirfuel: defb 0 ; Merker Ornicht fuellen xalt: defw 0 ; Tektronix Merker yalt: defw 0 tdark: defb 0 offx: defw 0 offy: defw 0 scalx: defb 0 scaly: defb 0 xgra: defw 0 ; aktuelle Position ygra: defw 0 f1on: defb 0 f1x: defw 0 f1y: defw 0 ; Position Fadenkreuz pflag: defb 0 pmode: defb 0 ; Point Modus ; ; turx: defw 0 ; Logo-Modus tury: defw 0 ; Position turphi: defw 0 tur1x: defw 0 ; alte Position tur1y: defw 0 tur1phi: defw 0 turdo: defb 0 ; Turtle schreibt teilflag: defb 0 ; 1=Teilen durch 2 ; flagtro: defb 0 ; O=nicht parallel zu STI-8 ; t1mp: defb 0 ; Merker prt2 tempx: defw 0 ; tempzeich: defb 0 ; ; optflg: defb 0 ; = 0 amerkian Zeichensatz lokal: defb 0 ; = 1 dann Lokal Modus wirksam flag: defb 0 ; Merker in getnum flip1cnt: defb 0 ; Seitenwechselrate flip1: defb 0 ; 0,1,2,3 flipcnt: defb 0 ; flip: defb 0 ; 0,1 oder 2,3 fon: defb 0 ; 1= Fadenkreuz an fax: defw 0 fay: defw 0 fap: defb 0 ; Seite 0..3 ; faxn: defw 0 fayn: defw 0 fapn: defw 0 ; fadnr: defb 0 ; Nr O= std fadw: defw 0 ; Zeiger auf Heap wfac: defb 0 ; Vergoresserungsfaktor 1..0 wrot: defb 0 ; Rotation 0..7 charline: defb 0 ; Merker 80,79 linemax: defb 0 ; Merker 24,23 synstate: defb 0 ; 0,1 fuer sync synccount: defb 0 ; Zaehler. curatt: defb 0 ; Cursorattribute curx: defb 0 ; Cursorposition x= 0..79 cury: defb 0 ; Cursorposition y= 0..23 viewpage: defb 0 ; 0,1,2,3 Leseseite wrtpage: defb 0 ; 0,2,3,4 Schreibseite getptr: defw 0 ; Ringbuffer Lesezeiger putptr: defw 0 ; Ringbuffer Schreibzeiger ring: defs 1024 ; 1K Ringbuffer linecnt: defs 24 ; Anzahl der Zeichen pro Zeile ; fuer screen lineptr: defs 24 ; Indirekte Zeilenadresse ; 0..23 screen: defs 80*24 ; Bildspeicher heapptr: defw 0 ; Zeiger auf Heap defs 200 stack: defb 0 ; Stack heap: defs 256 ; Heap Speicher fuer ; Fadenkreuzdefinition ; gdp_cmd_ equ 0 ; gdp_cmd_ equ 1 ; gdp_cmd_ equ 2 ; gdp_cmd_ equ 4 ; gdp_cmd_ equ 7 ; gdp_cmd_ equ $a ; gdp_cmd_ equ $b ; gdp_cmd_ equ $18 ; gdp_cmd_ equ $1a ; gdp_cmd_ equ $1c ; gdp_cmd_ equ $1e ; gdp_cmd_ equ $20 ; gdp_cmd_ equ $a8 ; gdp_cmd_ equ $f8 .macro gdp_cmd ld a,%%1 call cmd .endm ; ROM org 00000h start1: jp start ; Start der Termi-Software jp clear ; Loeschen einer Seite - Intern jp clrall ; Loeschen aller Seiten jp clrinvis ; Loeschen der aktuellen Schreibseite l000ch: jp moveto ; hl=x de=y jp drawto ; hl=x de=y jp setpage ; A = Schreibseite*4+Leseseite jp wait ; setzen iwarten bis GDP Empfangsbereit jp cmd ; A= Befehl an den GDP jp csts ; STI-A Zeichen da dann 0ffh in A l001eh: jp ci ; STI-A Zeichen einlesen jp co ; STI-A Zeichen in Register C ausgeben jp psts ; STI-B Status abfragen jp ri ; STI-B Zeichen einlesen jp poo ; STI-B Zeichen in Register C ausgeben jp get ; Zeichen von Ringbuffer holen, wenn da NOCARRY jp put ; Intern i Ablage eines Zeichens im Ringbuffer jp getnum ; Dezimal-/ Sedezimal-Zahl nach HL holen von Ringbuffer jp getin ; Mit Bildumschaltung Grafik -- Zeichen holen jp refresh ; Mit Bildumschaltung Text -- Zeichen holen nop ;003c 00 nop ;003d 00 nop ;003e 00 nop ;003f 00 org start1+40h interrupt_vektor_Tabelle: ; defw err ; i0 defw err ; i1 defw err ; i2 defw err ; i3 tb defw err ; Timer d defw err ; Timer c defw err ; i4 ta l004eh: defw err ; 5 defw err ; Timer b defw err ; Transmit Error defw err ; Transmitter Empty defw err ; Receiver Error defw put ; Receiver Full l005ah: defw err ; Timer a defw err ; 16 defw err ; i7 err: ; Interrupt ignorieren ei reti put: ;Zeichen im Ringbuffer ablegen push hl push de push bc push af call csts cp 0ffh ;006a fe ff jr nz,l00a0h ;006c 20 32 call ci ; Zeichen holen ld hl, (putptr) ld de,ring add hl,de ld (hl), a ; Zeichen nach Ringbuffer ld hl,(getptr) ; ld de,(putptr) ; xor a ;l0081h: sbc hl,de ld a,h and 3 ;0..3ff ld h,a or l ;0087 b5 jr z,l0095h ;0088 28 0b ( ld de,100 ; DTR schalten wenn 100 xor a ; Zeichen frei in Ringbuffer sbc hl,de bit 7,h call nz,resdtr ; Nicht Bereit l0095h: ld hl,(putptr) inc hl ld a,h and 3 ; 0..3ff ld h,a ld (putptr),hl ; l00a0h: pop af pop bc pop de pop hl ei reti setdtr: ; Bereit in a,(page) res 1,a out (page),a ret resdtr: ; Nicht Bereit in a,(page) set 1,a out (page),a l00b4h: ret ;00b4 c9 wait: in a,(gdp) ;00b5 db 70 . p and 4 jr z,wait ;00b9 28 fa ( ret ;00bb c9 cmd: ex af,af' ;00bc command is in A l00bdh: in a,(gdp) ;00bd read flag byte and 4 ;00bf check flag bit jr z,l00bdh ;00c1 wait in loop ex af,af' ;00c3 out (gdp),a ;00c4 send command ret ;00c6 clear: ex af,af' ;00c7 call wait ;00c8 cd b5 00 ex af,af' ;00cb and 0f0h ;00cc e6 f0 ld b,a ;00ce 47 G in a,(page) ;00cf db 81 and 00fh ;00d1 e6 0f or b ;00d3 b0 out (page),a ;00d4 d3 81 ld a,7 ;00d6 3e 07 out (gdp+1),a ;00d8 d3 71 gdp_cmd 4 call wait ;00df cd b5 00 ld a,3 ;00e2 3e 03 out (gdp+1),a ;00e4 d3 71 ret ;00e6 c9 clrall: ld a,0a0h ;00e7 3e a0 call clear ;00e9 cd c7 00 ld a,0f0h ;00ec 3e f0 call clear ;00ee cd c7 00 l00f1h: ld a,0 ;00f1 3e 00 call clear ;00f3 cd c7 00 l00f6h: ld a,"P" ;00f6 3e 50 call clear ;00f8 cd c7 00 ld hl,screen ;00fb 21 bc 3c copy screen ld de,03cbdh ;00fe 11 bd 3c to RAM ld bc,chars_per_screen-1 ;0101 01 7f 07 ld (hl),020h ;0104 36 20 ldir ;0106 ed b0 ld a,0 ;0108 3e 00 clear (curx) and (cury) ld (curx),a ;010a 32 84 38 ld (cury),a ;010d 32 85 38 ld hl,lineptr ;0110 21 a4 3c ld c,0 ;0113 0e 00 ld b,018h ;0115 06 18 l0117h: ld (hl),c ;0117 71 inc c ;0118 0c inc hl ;0119 23 dec b ;011a 05 jr nz,l0117h ;011b 20 fa ld hl,linecnt ;011d 21 8c 3c ld c,0 ;0120 0e 00 ld b,018h ;0122 06 18 l0124h: ld (hl),0 ;0124 36 00 inc c ;0126 0c inc hl ;0127 23 dec b ;0128 05 jr nz,l0124h ;0129 20 f9 ret ;012b c9 sub_012ch: ld a,(wrtpage) ;012c 3a 87 38 rlca ;012f 07 rlca ;0130 07 and 00ch ;0131 e6 0c ld b,a ;0133 47 G ld a,(viewpage) ;0134 3a 86 38 : . 8 and 3 ;0137 e6 03 or b ;0139 b0 rlca ;013a 07 rotate A left 4 bits rlca ;013b 07 rlca ;013c 07 rlca ;013d 07 setpage: push bc ;013e c5 and 0f0h ;013f e6 f0 ld b,a ;0141 47 G call wait ;0142 cd b5 00 in a,(page) ;0145 db 81 and 00fh ;0147 e6 0f or b ;0149 b0 out (page),a ;014a d3 81 pop bc ;014c c1 ret ;014d c9 sub_014eh: push hl ;014e e5 push de ;014f d5 ld a,(curx) ;0150 3a 84 38 : . 8 ld c,a ;0153 4f O ld l,c ;0154 69 i ld b,0 ;0155 06 00 ld h,b ;0157 60 ` add hl,hl ;0158 add hl,bc ;0159 09 add hl,hl ;015a push hl ;015b e5 ld a,(cury) ;015c 3a 85 38 : . 8 ld c,a ;015f 4f O ld l,c ;0160 69 i ld b,0 ;0161 06 00 ld h,b ;0163 60 ` add hl,hl ;0164 add hl,hl ;0165 add hl,bc ;0166 09 add hl,hl ;0167 l0168h: ld de,l00f6h ;0168 11 f6 00 ex de,hl ;016b eb xor a ;016c af sbc hl,de ;016d ed 52 ex de,hl ;016f eb pop hl ;0170 e1 call moveto ;0171 pop de ;0174 d1 pop hl ;0175 e1 ret ;0176 c9 moveto: call wait ;0177 cd b5 00 ld a,h ;017a 7c | out (gdp+8),a ;017b d3 78 . x ld a,l ;017d 7d } out (gdp+9),a ;017e d3 79 . y ld a,d ;0180 7a z out (gdp+$a),a ;0181 d3 7a . z ld a,e ;0183 7b { out (gdp+$b),a ;0184 d3 7b . { ret ;0186 c9 drawto: ld (newx),hl ;0187 22 02 38 ld (newy),de ;018a ed 53 04 38 . S . 8 call wait ;018e cd b5 00 in a,(078h) ;0191 db 78 . x bit 3,a ;0193 cb 5f . _ jr z,l0199h ;0195 28 02 ( or 0f0h ;0197 f6 f0 l0199h: ld d,a ;0199 57 W in a,(079h) ;019a db 79 . y ld e,a ;019c 5f _ ld (oldx),de ;019d ed 53 06 38 . S . 8 ld hl,(newx) ;01a1 2a 02 38 * . 8 xor a ;01a4 af sbc hl,de ;01a5 ed 52 ld (dx),hl ;01a7 22 0a 38 in a,(07ah) ;01aa db 7a . z bit 3,a ;01ac cb 5f . _ jr z,l01b2h ;01ae 28 02 ( or 0f0h ;01b0 f6 f0 l01b2h: ld d,a ;01b2 57 W in a,(07bh) ;01b3 db 7b . { ld e,a ;01b5 5f _ ld (oldy),de ;01b6 ed 53 08 38 . S . 8 ld hl,(newy) ;01ba 2a 04 38 * . 8 xor a ;01bd af sbc hl,de ;01be ed 52 ld (dy),hl ;01c0 22 0c 38 ld de,(dx) ;01c3 ed 5b 0a 38 . [ . 8 bit 7,h ;01c7 cb 7c . | jr z,l01ceh ;01c9 28 03 ( call sub_0ffeh ;01cb cd fe 0f l01ceh: bit 7,d ;01ce cb 7a . z jr z,l01d7h ;01d0 28 05 ( ex de,hl ;01d2 eb call sub_0ffeh ;01d3 cd fe 0f ex de,hl ;01d6 eb l01d7h: ld a,h ;01d7 7c | or a ;01d8 b7 jr nz,l01dfh ;01d9 20 04 ld a,d ;01db 7a z or a ;01dc b7 jr z,l020bh ;01dd 28 2c ( , l01dfh: ld hl,(newx) ;01df 2a 02 38 * . 8 ld de,(newy) ;01e2 ed 5b 04 38 . [ . 8 push hl ;01e6 e5 push de ;01e7 d5 ld hl,(dx) ;01e8 2a 0a 38 * . 8 sra h ;01eb cb 2c . , rr l ;01ed cb 1d ld de,(oldx) ;01ef ed 5b 06 38 . [ . 8 add hl,de ;01f3 19 push hl ;01f4 e5 ld hl,(dy) ;01f5 2a 0c 38 * . 8 sra h ;01f8 cb 2c . , rr l ;01fa cb 1d ld de,(oldy) ;01fc ed 5b 08 38 . [ . 8 add hl,de ;0200 19 ex de,hl ;0201 eb pop hl ;0202 e1 call drawto ;0203 pop de ;0206 d1 pop hl ;0207 e1 jp drawto ;0208 c3 87 01 l020bh: ld hl,(dx) ;020b 2a 0a 38 * . 8 ld de,(dy) ;020e ed 5b 0c 38 . [ . 8 ld b,011h ;0212 06 11 bit 7,h ;0214 cb 7c . | jr z,l021dh ;0216 28 05 ( call sub_0ffeh ;0218 cd fe 0f set 1,b ;021b cb c8 l021dh: bit 7,d ;021d cb 7a . z jr z,l0228h ;021f 28 07 ( ex de,hl ;0221 eb call sub_0ffeh ;0222 cd fe 0f ex de,hl ;0225 eb set 2,b ;0226 cb d0 l0228h: call wait ;0228 cd b5 00 ld a,l ;022b 7d } out (gdp+5),a ;022c d3 75 . u ld a,e ;022e 7b { out (gdp+7),a ;022f d3 77 . w ld a,b ;0231 78 x call cmd ;0232 cd bc 00 ret ;0235 c9 sub_0236h: ld a,0 ;0236 3e 00 > jr l023ch ;0238 18 02 sub_023ah: ld a,1 ;023a 3e 01 > l023ch: call cmd ;023c cd bc 00 ld a,2 ;023f 3e 02 > jp cmd ;0241 c3 bc 00 sub_0244h: push af ;0244 f5 call wait ;0245 cd b5 00 pop af ;0248 f1 out (gdp+2),a ;0249 d3 72 ret ;024b c9 sub_024ch: push af ;024c f5 call wait ;024d cd b5 00 pop af ;0250 f1 out (gdp+3),a ;0251 d3 73 . s ret ;0253 c9 sub_0254h: in a,(gdp) ;0254 db 70 . p and 2 ;0256 e6 02 jr z,l0269h ;0258 28 0f ( ld a,(synstate) ;025a 3a 81 38 : . 8 or a ;025d b7 jr nz,l0267h ;025e 20 07 inc a ;0260 3c < ld (synstate),a ;0261 32 81 38 scf ;0264 37 7 ccf ;0265 3f ? ret ;0266 c9 l0267h: scf ;0267 37 7 ret ;0268 c9 l0269h: ld a,(synstate) ;0269 3a 81 38 : . 8 or a ;026c b7 jp nz,l0272h ;026d c2 72 02 scf ;0270 37 7 ret ;0271 c9 l0272h: ld a,0 ;0272 3e 00 > ld (synstate),a ;0274 32 81 38 scf ;0277 37 7 ret ;0278 c9 l0279h: ; ; Bild 18. Die STI-Initialisierungstabelle ; ; initialisieren der Peripheriebausteine siolist: defb 2*18 ; Anzahl der Eintraege ; STI-A defb stia_ucr,10001000b ; /16 1 Stop 8 Bit defb stia_rsr,00000001b ; receive enable defb stia_tsr,00000101b ; transmitter enable defb stia_pvr,1 ; pointer to timer d defb stia_idr,3 ; /3 defb stia_pvr,2 ; pointer to timers defb stia_idr,3 ; /3 9600 baud defb stia_pvr,7 ; pointer to control c,d. defb stia_idr,10011001b ; /4 /4 defb stia_pvr,6 ; pointer defb stia_idr,11110010b ; I/O definieren Bit 1 = ; dtr Ausgang defb page,0 ; page O dtr high defb stia_pvr,4 defb stia_idr,00000000b ; disable rest defb stia_pvr,5 ; iera defb stia_idr,00010000b ; bit 4= 1 enable receive interupt defb stia_imra,00010000b ; imra freigeben defb stia_pvr,01000110b ; Vektor Xx40 sti1list: ; STI-B defb 2*16 ; adjust for defb stib_ucr,10001000b ; /16 1 Stop 8 Bit defb stib_rsr,00000001b ; receive enable defb stib_tsr,00000101b ; transmitter enable defb stib_pvr,1 ; pointer to timer d defb stib_idr,stib_baud_rate ; /3 defb stib_pvr,2 ; pointer to timer c defb stib_idr,stib_baud_rate ; /3 9600 baud defb stib_pvr,7 ; pointer to control C,D defb stib_idr,10011001b ; /4 /4 defb stib_pvr,6 ; pointer defb stib_idr,00000010b ; I/O definieren Bit 1 - ; dtr Ausgang defb stib_gpip,00000000b ; dtr high Freigabe defb stib_pvr,4 defb stib_idr,00000000b ; disable rest defb stib_pvr,5 ; iera defb stib_idr,00000000b ; disable ; ; ; STI-B Bits 7 6 5 4 3 2 1 0 ; sw sw sw sw sw sw dtr cts ; ; ; This is probably some kind of keyboard look-up table, ; judging by the "QWERT" string in there: ; ex af,af' ;02bf 08 ld a,(de) ;02c0 1a ld e,7 ;02c1 1e 07 dec bc ;02c3 0b ld a,(bc) ;02c4 0a ld d,00ch ;02c5 16 0c add hl,bc ;02c7 09 dec c ;02c8 0d ld l,"G" ;02c9 2e 47 . G dec a ;02cb 3d = ccf ;02cc 3f ? ld b,h ;02cd 44 D ld d,c ;02ce 51 Q ld d,a ;02cf 57 W ld b,l ;02d0 45 E ld d,d ;02d1 52 R ld d,h ;02d2 54 T ld (hl),h ;02d3 74 t ld e,c ;02d4 59 Y ld a,c ;02d5 79 y ld a,d ;02d6 7a z ld hl,(02955h) ;02d7 2a 55 29 * U ) jr z,02fdh ;02da 28 21 ( ! bad address! cp a ;02dc bf ld (bc),a ;02dd 02 ; ; Copy something to RAM ; ld de,04607h ;02de 11 07 46 F ld bc,l001eh ;02e1 01 1e 00 ldir ;02e4 ed b0 ; ; Clear many variables: ; xor a ;02e6 af ld (flagtro),a ;02e7 32 62 38 ld (synstate),a ;02ea 32 81 38 ld (fon),a ;02ed 32 6e 38 ld (fadnr),a ;02f0 32 7a 38 ld (wrot),a ;02f3 32 7e 38 ld (synccount),a ;02f6 32 82 38 ld (optflg),a ;02f9 32 67 38 2 g 8 ld (stibthere),a ;02fc 32 0f 38 l02ffh: ld (lokal),a ;02ff 32 68 38 l0302h: ld a,3 ;0302 3e 03 > ld (curatt),a ;0304 32 83 38 ld (wfac),a ;0307 32 7d 38 ld hl,heap ;030a 21 07 45 ld (heapptr),hl ;030d 22 3c 44 ld hl,start1 ;0310 21 00 00 ld (putptr),hl ;0313 22 8a 38 ld (getptr),hl ;0316 22 88 38 ld hl,l0279h ;0319 21 79 02 ld b,(hl) ;031c 46 F inc hl ;031d 23 # l031eh: ld c,(hl) ;031e 4e N inc hl ;031f 23 # outi ;0320 ed a3 dec b ;0322 05 jp nz,l031eh ;0323 c2 1e 03 ld a,2 ;0326 3e 02 > out (098h),a ;0328 d3 98 in a,(098h) ;032a db 98 and 3 ;032c e6 03 cp 2 ;032e fe 02 jp nz,l0345h ;0330 c2 45 03 ld a,1 ;0333 3e 01 > out (098h),a ;0335 d3 98 in a,(098h) ;0337 db 98 and 3 ;0339 e6 03 cp 1 ;033b fe 01 jp nz,l0345h ;033d c2 45 03 . E ld a,1 ;0340 3e 01 > ld (stibthere),a ;0342 32 0f 38 l0345h: ld hl,sti1list ;0345 21 9e 02 ! ld b,(hl) ;0348 46 F inc hl ;0349 23 # l034ah: ld c,(hl) ;034a 4e N inc hl ;034b 23 # outi ;034c ed a3 dec b ;034e 05 jp nz,l034ah ;034f c2 4a 03 . J ld a,(stibthere) ;0352 3a 0f 38 : . 8 or a ;0355 b7 jp z,l037fh ;0356 ca 7f 03 in a,(091h) ;0359 db 91 rrca ;035b 0f rrca ;035c 0f rrca ;035d 0f rrca ;035e 0f and 00fh ;035f e6 0f ld hl,bdtab ;0361 21 9f 03 ! ld c,a ;0364 4f O ld b,0 ;0365 06 00 add hl,bc ;0367 09 add hl,bc ;0368 09 ld a,"G" ;0369 3e 47 > G out (stia_pvr),a ;036b d3 88 ld a,(hl) ;036d 7e ~ out (stia),a ;036e d3 80 inc hl ;0370 23 # ld a,041h ;0371 3e 41 > A out (stia_pvr),a ;0373 d3 88 ld a,(hl) ;0375 7e ~ out (stia),a ;0376 d3 80 ld a,"B" ;0378 3e 42 > B out (stia_pvr),a ;037a d3 88 ld a,(hl) ;037c 7e ~ out (stia),a ;037d d3 80 l037fh: gdp_cmd 7 gdp_cmd 0 gdp_cmd 2 call clrall ;038e ld hl,start1 ;0391 21 00 00 ! ld (crpos),hl ;0394 22 00 38 im 2 ;0397 ed 5e . ^ ld a,0 ;0399 3e 00 > ld i,a ;039b ed 47 . G ei ;039d fb ret ;039e c9 ; Baudraten Zuordnung bdtab: defb 10011001b,1 ; /4 /1 28800 baud defb 10011001b,2 ; /4 /2 14400 baud defb 10011001b,3 ; /4 /3 9600 baud defb 10011001b,3 ; /4 /3 9600 baud defb 10011001b,3 ; /4 /3 9600 baud defb 10011001b,3 ; /4 /3 9600 baud defb 10011001b,3 ; /4 /3 9600 baud defb 10101010b,230 ; /10 /230 50 baud defb 10101010b,154 ; /10 /154 75 baud defb 10101010b,105 ; /10 /105 110 baud defb 10011001b,96 ; /4 /96 300 baud defb 10011001b,48 ; /4 /48 600 baud defb 10011001b,24 ; /4 /24 1200 baud defb 10011001b,12 ; /4 /12 2400 baud defb 10011001b,6 ; /4 /6 4800 baud defb 10011001b,3 ; /4 /3 9600 baud csts: in a,(stia_rsr) ;03bf db 8d and 080h ;03c1 e6 80 ret z ;03c3 c8 ld a,0ffh ;03c4 3e ff > ret ;03c6 c9 ci: in a,(stia_rsr) ;03c7 db 8d and 080h ;03c9 e6 80 jr z,ci ;03cb 28 fa ( in a,(stia_udr) ;03cd db 8f ret ;03cf c9 co: in a,(page) ;03d0 db 81 and 1 ;03d2 e6 01 jr nz,co ;03d4 20 fa in a,(stia_tsr) ;03d6 db 8e and 080h ;03d8 e6 80 jr z,co ;03da 28 f4 ( ld a,c ;03dc 79 y out (stia_udr),a ;03dd d3 8f ret ;03df c9 psts: ld a,(stibthere) ;03e0 3a 0f 38 : . 8 or a ;03e3 b7 ret z ;03e4 c8 in a,(09dh) ;03e5 db 9d and 080h ;03e7 e6 80 ret z ;03e9 c8 ld a,0ffh ;03ea 3e ff > ret ;03ec c9 ri: ld a,(stibthere) ;03ed 3a 0f 38 : . 8 or a ;03f0 b7 ret z ;03f1 c8 in a,(09dh) ;03f2 db 9d and 080h ;03f4 e6 80 jr z,ri ;03f6 28 f5 ( in a,(09fh) ;03f8 db 9f ret ;03fa c9 poo: ld a,(stibthere) ;03fb 3a 0f 38 : . 8 or a ;03fe b7 ret z ;03ff c8 in a,(091h) ;0400 db 91 and 1 ;0402 e6 01 jr nz,poo ;0404 20 f5 in a,(09eh) ;0406 db 9e and 080h ;0408 e6 80 jr z,poo ;040a 28 ef ( ld a,c ;040c 79 y out (09fh),a ;040d d3 9f ret ;040f c9 sub_0410h: call psts ;0410 ret z ;0413 c8 call ri ;0414 cd ed 03 cp 080h ;0417 fe 80 jr nz,l0421h ;0419 20 06 ld a,1 ;041b 3e 01 > ld (lokal),a ;041d 32 68 38 2 h 8 ret ;0420 c9 l0421h: push bc ;0421 c5 ld c,a ;0422 4f O call resdtr ;0423 cd ae 00 di ;0426 f3 call co ;0427 cd d0 03 ei ;042a fb call setdtr ;042b pop bc ;042e c1 ret ;042f c9 sub_0430h: ld a,(lokal) ;0430 3a 68 38 cp 1 ;0433 fe 01 jp nz,l043fh ;0435 c2 3f 04 call psts ;0438 scf ;043b 37 ret z ;043c c8 ccf ;043d 3f ret ;043e c9 l043fh: push hl ;043f e5 push de ;0440 d5 call sub_0410h ;0441 cd 10 04 di ;0444 f3 ld hl,(putptr) ;0445 2a 8a 38 ld de,(getptr) ;0448 ed 5b 88 38 ei ;044c fb xor a ;044d af sbc hl,de ;044e ed 52 ld a,l ;0450 7d } or h ;0451 b4 scf ;0452 37 7 jr z,l0456h ;0453 28 01 ( ccf ;0455 3f ? l0456h: pop de ;0456 d1 pop hl ;0457 e1 ret ;0458 c9 get: call sub_0430h ;0459 cd 30 04 ret c ;045c d8 ld a,(lokal) ;045d 3a 68 38 cp 1 ;0460 fe 01 jr nz,l047dh ;0462 20 19 call ri ;0464 cd ed 03 cp 081h ;0467 fe 81 jr z,l0476h ;0469 28 0b cp 080h ;046b fe 80 jr nz,l04b0h ;046d 20 41 di ;046f f3 ld hl,(putptr) ;0470 2a 8a 38 ld (getptr),hl ;0473 22 88 38 l0476h: xor a ;0476 af ld (lokal),a ;0477 32 68 38 scf ;047a 37 ei ;047b fb ret ;047c c9 l047dh: di ;047d f3 push hl ;047e e5 push de ;047f d5 ld hl,(getptr) ;0480 2a 88 38 * . 8 ld de,(putptr) ;0483 ed 5b 8a 38 . [ . 8 xor a ;0487 af sbc hl,de ;0488 ed 52 ld a,h ;048a 7c | and 3 ;048b e6 03 ld h,a ;048d 67 g ld de,l0095h+1 ;048e 11 96 00 xor a ;0491 af sbc hl,de ;0492 ed 52 bit 7,h ;0494 cb 7c . | call z,setdtr ;0496 ld hl,(getptr) ;0499 2a 88 38 * . 8 ld de,ring ;049c 11 8c 38 8 add hl,de ;049f 19 ld a,(hl) ;04a0 7e ~ push af ;04a1 f5 ld hl,(getptr) ;04a2 2a 88 38 * . 8 inc hl ;04a5 23 # ld a,h ;04a6 7c | and 3 ;04a7 e6 03 ld h,a ;04a9 67 g ld (getptr),hl ;04aa 22 88 38 pop af ;04ad f1 pop de ;04ae d1 pop hl ;04af e1 l04b0h: scf ;04b0 37 7 ccf ;04b1 3f ? push af ;04b2 f5 ld a,(flagtro) ;04b3 3a 62 38 : b 8 cp 1 ;04b6 fe 01 jr nz,l04c2h ;04b8 20 08 pop af ;04ba f1 push af ;04bb f5 push bc ;04bc c5 ld c,a ;04bd 4f O call poo ;04be cd fb 03 pop bc ;04c1 c1 l04c2h: pop af ;04c2 f1 ei ;04c3 fb ret ;04c4 c9 sub_04c5h: ld a,(cury) ;04c5 3a 85 38 : . 8 ld b,a ;04c8 47 G call sub_06aah ;04c9 cd aa 06 ld a,(curx) ;04cc 3a 84 38 : . 8 ld e,a ;04cf 5f _ ld d,0 ;04d0 16 00 add hl,de ;04d2 19 ret ;04d3 c9 sub_04d4h: call sub_04c5h ;04d4 cd c5 04 push hl ;04d7 e5 ld a,(curatt) ;04d8 3a 83 38 : . 8 and 00fh ;04db e6 0f or a ;04dd b7 jp z,l0575h ;04de ca 75 05 cp 1 ;04e1 fe 01 jp z,l04ebh ;04e3 ca eb 04 cp 2 ;04e6 fe 02 jp nz,l0534h ;04e8 c2 34 05 . 4 l04ebh: push af ;04eb f5 ld c,(hl) ;04ec 4e N push bc ;04ed c5 call sub_0236h ;04ee cd 36 02 ld a,1 ;04f1 3e 01 > ld (wrtpage),a ;04f3 32 87 38 call sub_012ch ;04f6 cd 2c 01 call sub_014eh ;04f9 cd 4e 01 . N gdp_cmd 0ah call sub_014eh ;0501 cd 4e 01 . N call sub_023ah ;0504 cd 3a 02 pop bc ;0507 c1 ld a,c ;0508 79 y call sub_05f2h ;0509 cd f2 05 pop af ;050c f1 cp 2 ;050d fe 02 jp nz,l0531h ;050f c2 31 05 . 1 push bc ;0512 c5 ld a,0 ;0513 3e 00 > ld (wrtpage),a ;0515 32 87 38 call sub_012ch ;0518 cd 2c 01 call sub_014eh ;051b cd 4e 01 . N call sub_0236h ;051e cd 36 02 gdp_cmd 0ah call sub_014eh ;0526 cd 4e 01 . N call sub_023ah ;0529 cd 3a 02 pop bc ;052c c1 ld a,c ;052d 79 y call sub_05f2h ;052e cd f2 05 l0531h: jp l0575h ;0531 c3 75 05 l0534h: cp 3 ;0534 fe 03 jp z,l053eh ;0536 ca 3e 05 . > cp 4 ;0539 fe 04 jp nz,l0575h ;053b c2 75 05 l053eh: push af ;053e f5 ld a,1 ;053f 3e 01 > ld (wrtpage),a ;0541 32 87 38 call sub_012ch ;0544 cd 2c 01 call sub_014eh ;0547 cd 4e 01 . N call sub_0236h ;054a cd 36 02 gdp_cmd 0f8h gdp_cmd 0a8h pop af ;0557 f1 cp 4 ;0558 fe 04 jp nz,l0575h ;055a c2 75 05 ld a,0 ;055d 3e 00 > ld (wrtpage),a ;055f 32 87 38 call sub_012ch ;0562 cd 2c 01 call sub_014eh ;0565 cd 4e 01 . N call sub_0236h ;0568 cd 36 02 gdp_cmd 0f8h gdp_cmd 0a8h l0575h: call sub_0430h ;0575 cd 30 04 . 0 l0578h: jp nc,l05afh ;0578 d2 af 05 call sub_0254h ;057b cd 54 02 . T jp c,l05a9h ;057e da a9 05 ld a,(synccount) ;0581 3a 82 38 : . 8 cp asc_lf ;0584 fe 0a jp nz,l05a5h ;0586 c2 a5 05 ld a,0 ;0589 3e 00 > ld (synccount),a ;058b 32 82 38 l058eh: ld a,(viewpage) ;058e 3a 86 38 : . 8 or a ;0591 b7 jp nz,l059ah ;0592 c2 9a 05 ld a,1 ;0595 3e 01 > jp l059ch ;0597 c3 9c 05 l059ah: ld a,0 ;059a 3e 00 > l059ch: ld (viewpage),a ;059c 32 86 38 call sub_012ch ;059f cd 2c 01 jp l05a9h ;05a2 c3 a9 05 l05a5h: inc a ;05a5 3c < ld (synccount),a ;05a6 32 82 38 l05a9h: call sub_0430h ;05a9 cd 30 04 . 0 jp l0578h ;05ac c3 78 05 . x l05afh: pop hl ;05af e1 ld a,0 ;05b0 3e 00 > ld (wrtpage),a ;05b2 32 87 38 ld a,0 ;05b5 3e 00 > ld (viewpage),a ;05b7 32 86 38 call sub_012ch ;05ba cd 2c 01 call sub_014eh ;05bd cd 4e 01 . N call sub_023ah ;05c0 cd 3a 02 gdp_cmd 0ah call sub_014eh ;05c8 cd 4e 01 . N call sub_0236h ;05cb cd 36 02 ld a,(hl) ;05ce 7e ~ push af ;05cf f5 call sub_05f2h ;05d0 cd f2 05 ld a,1 ;05d3 3e 01 > ld (wrtpage),a ;05d5 32 87 38 ld a,0 ;05d8 3e 00 > ld (viewpage),a ;05da 32 86 38 call sub_012ch ;05dd cd 2c 01 call sub_014eh ;05e0 cd 4e 01 . N call sub_023ah ;05e3 cd 3a 02 gdp_cmd 00ah call sub_014eh ;05eb cd 4e 01 . N call sub_0236h ;05ee cd 36 02 pop af ;05f1 f1 sub_05f2h: or a ;05f2 b7 jp p,cmd ;05f3 f2 bc 00 jp l07f2h ;05f6 c3 f2 07 clrinvis: call sub_023ah ;05f9 cd 3a 02 xor a ;05fc af call sub_024ch ;05fd cd 4c 02 xor a ;0600 af call sub_0244h ;0601 cd 44 02 . D ld de,start1 ;0604 11 00 00 ld b,4 ;0607 06 04 l0609h: ld hl,start1 ;0609 21 00 00 ! call moveto ;060c ld c,8 ;060f 0e 08 l0611h: gdp_cmd 0bh dec c ;0616 0d jp nz,l0611h ;0617 c2 11 06 ld hl,interrupt_vektor_Tabelle ;061a 21 40 00 ! @ add hl,de ;061d 19 ex de,hl ;061e eb dec b ;061f 05 jp nz,l0609h ;0620 c2 09 06 ld a,011h ;0623 3e 11 > jp sub_024ch ;0625 c3 4c 02 sub_0628h: ld a,(lineptr) ;0628 3a a4 3c : . < push af ;062b f5 ld ix,lineptr ;062c dd 21 a4 3c . ! . < ld b,017h ;0630 06 17 l0632h: ld a,(ix+1) ;0632 dd 7e 01 . ~ ld (ix+0),a ;0635 dd 77 00 inc ix ;0638 dd 23 dec b ;063a 05 jp nz,l0632h ;063b c2 32 06 . 2 pop af ;063e f1 ld (ix+0),a ;063f dd 77 00 ret ;0642 c9 l0643h: xor a ;0643 ld (viewpage),a ;0644 (viewpage) = 0 inc a ;0647 ld (wrtpage),a ;0648 (wrtpage) = 1 call sub_012ch ;064b cd 2c 01 call sub_023ah ;064e cd 3a 02 ld hl,start1 ;0651 21 00 00 ! ld de,l00f6h ;0654 11 f6 00 call moveto ;0657 call sub_0723h ;065a cd 23 07 . # call sub_0236h ;065d cd 36 02 ld hl,start1 ;0660 21 00 00 ! ld de,l00f6h ;0663 11 f6 00 call moveto ;0666 call sub_071eh ;0669 cd 1e 07 xor a ;066c ld (wrtpage),a ;066d (wrtpage) = 0 inc a ;0670 ld (viewpage),a ;0671 (viewpage) = 1 call sub_012ch ;0674 cd 2c 01 call sub_023ah ;0677 cd 3a 02 ld hl,start1 ;067a 21 00 00 ! ld de,l00f6h ;067d 11 f6 00 call moveto ;0680 call sub_0723h ;0683 cd 23 07 . # call sub_0236h ;0686 cd 36 02 ld hl,start1 ;0689 21 00 00 ! ld de,l00f6h ;068c 11 f6 00 call moveto ;068f call sub_071eh ;0692 cd 1e 07 call sub_0628h ;0695 cd 28 06 ld b,017h ;0698 06 17 call sub_06aah ;069a cd aa 06 xor a ;069d af ld (bc),a ;069e 02 ld d,h ;069f 54 T ld e,l ;06a0 5d ] inc de ;06a1 13 ld bc,l004eh+1 ;06a2 01 4f 00 ld (hl),020h ;06a5 36 20 6 ldir ;06a7 ed b0 ret ;06a9 c9 sub_06aah: push de ;06aa d5 ld e,b ;06ab 58 X ld d,0 ;06ac 16 00 ld hl,lineptr ;06ae 21 a4 3c add hl,de ;06b1 19 ld e,(hl) ;06b2 5e ^ ld hl,linecnt ;06b3 21 8c 3c add hl,de ;06b6 19 ld b,h ;06b7 44 D ld c,l ;06b8 4d M ld h,d ;06b9 62 b ld l,e ;06ba 6b k add hl,hl ;06bb add hl,hl ;06bc add hl,hl ;06bd add hl,hl ;06be ld d,h ;06bf 54 T ld e,l ;06c0 5d ] add hl,hl ;06c1 add hl,hl ;06c2 add hl,de ;06c3 19 ld de,screen ;06c4 11 bc 3c < add hl,de ;06c7 19 pop de ;06c8 d1 ret ;06c9 c9 sub_06cah: ld a,"O" ;06ca 3e 4f > O ld (charline),a ;06cc 32 7f 38 2  8 jr l06d6h ;06cf 18 05 sub_06d1h: ld a,"P" ;06d1 3e 50 > P ld (charline),a ;06d3 32 7f 38 2  8 l06d6h: call sub_04c5h ;06d6 cd c5 04 ld a,(curx) ;06d9 3a 84 38 : . 8 ld c,a ;06dc 4f O l06ddh: in a,(gdp) ;06dd db 70 . p and 4 ;06df e6 04 jr z,l06ddh ;06e1 28 fa ( ld a,(hl) ;06e3 7e ~ or a ;06e4 b7 jp p,l06eeh ;06e5 f2 ee 06 call l07f2h ;06e8 cd f2 07 jp l06f0h ;06eb c3 f0 06 l06eeh: out (gdp),a ;06ee d3 70 . p l06f0h: inc hl ;06f0 23 # inc c ;06f1 0c ld a,(charline) ;06f2 3a 7f 38 :  8 cp c ;06f5 b9 jp nz,l06ddh ;06f6 c2 dd 06 ret ;06f9 c9 sub_06fah: ld a,017h ;06fa 3e 17 > ld (linemax),a ;06fc 32 80 38 jp l0707h ;06ff c3 07 07 sub_0702h: ld a,018h ;0702 3e 18 > ld (linemax),a ;0704 32 80 38 l0707h: call sub_04c5h ;0707 cd c5 04 ld a,(bc) ;070a 0a ld (t1mp),a ;070b 32 63 38 2 c 8 ld a,(cury) ;070e 3a 85 38 : . 8 ld b,a ;0711 47 G push bc ;0712 c5 ld a,(t1mp) ;0713 3a 63 38 : c 8 ld b,a ;0716 47 G ld a,(curx) ;0717 3a 84 38 : . 8 ld c,a ;071a 4f O jp l0732h ;071b c3 32 07 . 2 sub_071eh: ld b,1 ;071e 06 01 jp l0725h ;0720 c3 25 07 sub_0723h: ld b,0 ;0723 06 00 l0725h: ld a,018h ;0725 3e 18 > ld (linemax),a ;0727 32 80 38 l072ah: push bc ;072a c5 call sub_06aah ;072b cd aa 06 ld a,(bc) ;072e 0a ld b,a ;072f 47 G ld c,0 ;0730 0e 00 l0732h: ld a,b ;0732 78 x or a ;0733 b7 jr z,l0750h ;0734 28 1a ( l0736h: in a,(gdp) ;0736 db 70 . p and 4 ;0738 e6 04 jr z,l0736h ;073a 28 fa ( ld a,(hl) ;073c 7e ~ or a ;073d b7 jp p,l0747h ;073e f2 47 07 . G call l07f2h ;0741 cd f2 07 jp l0749h ;0744 c3 49 07 . I l0747h: out (gdp),a ;0747 d3 70 . p l0749h: inc hl ;0749 23 # inc c ;074a 0c ld a,c ;074b 79 y cp b ;074c b8 jp nz,l0736h ;074d c2 36 07 l0750h: in a,(gdp) ;0750 db 70 . p and 4 ;0752 e6 04 jr z,l0750h ;0754 28 fa ( ld a,0 ;0756 3e 00 > out (gdp+8),a ;0758 d3 78 . x out (gdp+9),a ;075a d3 79 . y in a,(07ah) ;075c db 7a . z ld h,a ;075e 67 g in a,(07bh) ;075f db 7b . { ld l,a ;0761 6f o ld de,0000ah ;0762 11 0a 00 xor a ;0765 af sbc hl,de ;0766 ed 52 ld a,h ;0768 7c | out (gdp+$a),a ;0769 d3 7a . z ld a,l ;076b 7d } out (gdp+$b),a ;076c d3 7b . { pop bc ;076e c1 inc b ;076f 04 ld a,(linemax) ;0770 3a 80 38 : . 8 cp b ;0773 b8 jp nz,l072ah ;0774 c2 2a 07 . * ret ;0777 c9 ; ; A 7-byte table ; table_0778h: db $5b ; [ db $5c ; \ db $5d ; ] db $7b ; { db $7c ; | db $7d ; } db $7e ; ~ ; ; ; table_077fh: db $7d ; } db $0a db $09 db $0a db $7d ; } db $3d ; = db $42 ; B db $42 ; B db $42 ; B db $3d ; = db $7d ; } db $40 ; @ db $40 ; @ db $40 ; @ db $7d ; } db $71 ; q db $54 ; T db $54 ; T db $78 ; x db $41 ; A db $00 db $39 ; 9 db $44 ; D db $44 ; D db $39 ; 9 db $3d ; = db $40 ; @ db $40 ; @ db $7d ; } db $40 ; @ db $00 db $7f ; db $01 db $4d db $32 ; table_07a2h: db 8 ;07a2 db 8 ;07a3 db 8 ;07a4 db 8 ;07a5 db 8 ;07a6 db 0 ;07a7 00 db 0 ;07a8 00 db $ff ;07a9 ff db 0 ;07aa 00 db 0 ;07ab 00 db 8 ;07ac db 8 ;07ad db $0f ;07ae 0f db 0 ;07af 00 db 0 ;07b0 00 db 0 ;07b1 00 db 0 ;07b2 00 db $0f ;07b3 0f db 8 ;07b4 db 8 ;07b5 db 8 ;07b6 db 8 ;07b7 db $f8 ;07b8 f8 db 0 ;07b9 00 db 0 ;07ba 00 db 0 ;07bb 00 db 0 ;07bc 00 db $f8 ;07bd f8 db 8 ;07be db 8 ;07bf db 0 ;07c0 00 db 0 ;07c1 00 db 0 ;07c2 00 db 0 ;07c3 00 db 0 ;07c4 00 sub_07c5h: ld e,a ;07c5 5f _ ld a,(optflg) ;07c6 3a 67 38 : g 8 and 00fh ;07c9 e6 0f jp z,l07e9h ;07cb ca e9 07 ld a,e ;07ce 7b { ld hl,table_0778h ;07cf 21 78 07 ! x ld bc,7 ;07d2 01 07 00 cpir ;07d5 ed b1 jp nz,l07e9h ;07d7 c2 e9 07 ld a,6 ;07da 3e 06 > sub c ;07dc 91 or 080h ;07dd f6 80 ld e,a ;07df 5f _ ld a,(optflg) ;07e0 3a 67 38 : g 8 or a ;07e3 b7 ld a,e ;07e4 7b { ret p ;07e5 f0 or 8 ;07e6 f6 08 ret ;07e8 c9 l07e9h: ld a,(optflg) ;07e9 3a 67 38 : g 8 or a ;07ec b7 ld a,e ;07ed 7b { ret p ;07ee f0 or 080h ;07ef f6 80 ret ;07f1 c9 l07f2h: push bc ;07f2 c5 push de ;07f3 d5 push hl ;07f4 e5 and 07fh ;07f5 e6 7f ex af,af' ;07f7 in a,(071h) ;07f8 db 71 . q ex af,af' ;07fa ld e,a ;07fb 5f _ cp asc_space ;07fc fe 20 . jp nc,l086ch ;07fe d2 6c 08 cp 8 ;0801 fe 08 jp c,l0815h ;0803 da 15 08 call sub_088fh ;0806 cd 8f 08 loop_0809h: in a,(gdp) ;0809 db 70 . p and 4 ;080b e6 04 jr z,loop_0809h ;080d 28 fa ( ld a,1 ;080f 3e 01 > out (gdp),a ;0811 d3 70 . p res 3,e ;0813 cb 9b l0815h: ld d,0 ;0815 16 00 ld h,d ;0817 62 b ld l,e ;0818 6b k add hl,hl ;0819 add hl,hl ;081a add hl,de ;081b 19 ld de,table_077fh ;081c 11 7f 07 ld a,(optflg) ;081f 3a 67 38 : g 8 bit 1,a ;0822 cb 4f jp z,l082ah ;0824 ca 2a 08 . * ld de,table_07a2h ;0827 11 a2 07 l082ah: add hl,de ;082a 19 call sub_10d1h ;082b cd d1 10 exx ;082e d9 push de ;082f d5 push hl ;0830 e5 ld hl,(xkoor) ;0831 2a 25 38 * % 8 ld de,(ykoor) ;0834 ed 5b 27 38 . [ ' 8 exx ;0838 d9 ld b,5 ;0839 06 05 loop_083bh: ld a,(hl) ;083b 7e ~ exx ;083c d9 push de ;083d d5 ld b,a ;083e 47 G ld c,8 ;083f 0e 08 loop_0841h: rlc b ;0841 cb 00 jp nc,skip_0850h ;0843 d2 50 08 . P loop_0846h: in a,(gdp) ;0846 db 70 . p and 4 ;0848 e6 04 jr z,loop_0846h ;084a 28 fa ( ld a,080h ;084c 3e 80 > out (gdp),a ;084e d3 70 . p skip_0850h: inc de ;0850 13 call moveto ;0851 dec c ;0854 0d jp nz,loop_0841h ;0855 c2 41 08 . A pop de ;0858 d1 inc hl ;0859 23 # call moveto ;085a exx ;085d d9 inc hl ;085e 23 # djnz loop_083bh ;085f 10 da exx ;0861 d9 inc hl ;0862 23 # call moveto ;0863 pop hl ;0866 e1 pop de ;0867 d1 exx ;0868 d9 jp l0882h ;0869 c3 82 08 l086ch: call sub_088fh ;086c cd 8f 08 l086fh: in a,(gdp) ;086f db 70 . p and 4 ;0871 e6 04 jr z,l086fh ;0873 28 fa ( ld a,1 ;0875 3e 01 > out (gdp),a ;0877 d3 70 . p l0879h: in a,(gdp) ;0879 db 70 . p and 4 ;087b e6 04 jr z,l0879h ;087d 28 fa ( ld a,e ;087f 7b { out (gdp),a ;0880 d3 70 . p l0882h: in a,(gdp) ;0882 db 70 . p and 4 ;0884 e6 04 jr z,l0882h ;0886 28 fa ( ex af,af' ;0888 out (gdp+1),a ;0889 d3 71 . q pop hl ;088b e1 pop de ;088c d1 pop bc ;088d c1 ret ;088e c9 sub_088fh: push hl ;088f e5 ld hl,table_08b1h ;0890 21 b1 08 ! l0893h: in a,(gdp) ;0893 db 70 . p and 4 ;0895 e6 04 jr z,l0893h ;0897 28 fa ( ld a,(hl) ;0899 7e ~ inc hl ;089a 23 # or a ;089b b7 jr z,l08a3h ;089c 28 05 ( out (gdp),a ;089e d3 70 . p jp l0893h ;08a0 c3 93 08 l08a3h: in a,(079h) ;08a3 db 79 . y sub 7 ;08a5 d6 07 out (gdp+9),a ;08a7 d3 79 . y in a,(078h) ;08a9 db 78 . x sbc a,0 ;08ab de 00 out (gdp+8),a ;08ad d3 78 . x pop hl ;08af e1 ret ;08b0 c9 table_08b1h: db $9a db $9a db $8a db $9c db $9c db $ad db $0a db $00 getin: call sub_08c5h ;08b9 cd c5 08 jr nc,l08c2h ;08bc 30 04 0 and 07fh ;08be e6 7f scf ;08c0 37 ret ;08c1 c9 l08c2h: and 07fh ;08c2 e6 7f ret ;08c4 c9 sub_08c5h: call get ;08c5 cd 59 04 . Y l08c8h: jr nc,l0924h ;08c8 30 5a 0 Z ld a,(flip1) ;08ca 3a 6b 38 : k 8 or a ;08cd b7 jr z,l08f4h ;08ce 28 24 ( $ call sub_0254h ;08d0 cd 54 02 . T jr c,l08f4h ;08d3 38 1f 8 ld a,(flip1cnt) ;08d5 3a 6a 38 : j 8 cp 1 ;08d8 fe 01 jr nz,l08f0h ;08da 20 14 ld a,(flip1) ;08dc 3a 6b 38 : k 8 ld (flip1cnt),a ;08df 32 6a 38 2 j 8 ld a,(viewpage) ;08e2 3a 86 38 : . 8 inc a ;08e5 3c < and 3 ;08e6 e6 03 ld (viewpage),a ;08e8 32 86 38 call sub_012ch ;08eb cd 2c 01 jr l08f4h ;08ee 18 04 l08f0h: dec a ;08f0 3d = ld (flip1cnt),a ;08f1 32 6a 38 2 j 8 l08f4h: ld a,(flip) ;08f4 3a 6d 38 : m 8 or a ;08f7 b7 jr z,l091fh ;08f8 28 25 ( % call sub_0254h ;08fa cd 54 02 . T jr c,l091fh ;08fd 38 20 8 ld a,(flipcnt) ;08ff 3a 6c 38 : l 8 cp 1 ;0902 fe 01 jr nz,l091bh ;0904 20 15 ld a,(flip) ;0906 3a 6d 38 : m 8 ld (flipcnt),a ;0909 32 6c 38 2 l 8 ld a,(viewpage) ;090c 3a 86 38 : . 8 xor 1 ;090f ee 01 and 3 ;0911 e6 03 ld (viewpage),a ;0913 32 86 38 call sub_012ch ;0916 cd 2c 01 jr l091fh ;0919 18 04 l091bh: dec a ;091b 3d = ld (flipcnt),a ;091c 32 6c 38 2 l 8 l091fh: call get ;091f cd 59 04 . Y jr l08c8h ;0922 18 a4 l0924h: ret ;0924 c9 getnum: ld a,0 ;0925 3e 00 > ld (flag),a ;0927 32 69 38 2 i 8 ld hl,start1 ;092a 21 00 00 ! l092dh: call getin ;092d cp asc_space ;0930 fe 20 . jp z,l092dh ;0932 ca 2d 09 cp "-" ;0935 fe 2d jp nz,l0942h ;0937 c2 42 09 ld a,1 ;093a 3e 01 ld (flag),a ;093c 32 69 38 call getin ;093f l0942h: cp "$" ;0942 fe 24 jp nz,l09bah ;0944 c2 ba 09 call getin ;0947 cp ":" ;094a fe 3a jr nc,l0953h ;094c 30 05 cp "0" ;094e fe 30 jp nc,l0967h ;0950 d2 67 09 l0953h: cp "G" ;0953 fe 47 jr nc,l095ch ;0955 30 05 0 cp "A" ;0957 fe 41 jp nc,l0967h ;0959 d2 67 09 l095ch: cp "g" ;095c fe 67 jr nc,scf_ret ;095e 30 05 0 cp "a" ;0960 fe 61 jp nc,l0967h ;0962 d2 67 09 scf_ret: scf ;0965 37 7 ret ;0966 c9 l0967h: cp ":" ;0967 fe 3a jr nc,l0970h ;0969 30 05 cp "0" ;096b fe 30 jp nc,l0983h ;096d d2 83 09 l0970h: cp "G" ;0970 fe 47 jr nc,l0979h ;0972 30 05 cp "A" ;0974 fe 41 jp nc,l0983h ;0976 d2 83 09 l0979h: cp "g" ;0979 fe 67 jp nc,l09b7h ;097b d2 b7 09 cp "a" ;097e fe 61 jp c,l09b7h ;0980 da b7 09 l0983h: add hl,hl ;0983 add hl,hl ;0984 add hl,hl ;0985 add hl,hl ;0986 cp "G" ;0987 fe 47 jp nc,l0998h ;0989 d2 98 09 cp "A" ;098c fe 41 jp c,l0998h ;098e da 98 09 sub "A" ;0991 d6 41 add a,10 ;0993 c6 0a jp l09abh ;0995 c3 ab 09 l0998h: cp "g" ;0998 fe 67 jp nc,l09a9h ;099a d2 a9 09 cp "a" ;099d fe 61 jp c,l09a9h ;099f da a9 09 sub "a" ;09a2 d6 61 add a,10 ;09a4 c6 0a jp l09abh ;09a6 c3 ab 09 l09a9h: sub "0" ;09a9 d6 30 l09abh: and 00fh ;09ab e6 0f ld e,a ;09ad 5f _ ld d,0 ;09ae 16 00 add hl,de ;09b0 19 call getin ;09b1 jp l0967h ;09b4 c3 67 09 l09b7h: jp l09e1h ;09b7 c3 e1 09 l09bah: cp ":" ;09ba fe 3a jr nc,l09c3h ;09bc 30 05 0 cp "0" ;09be fe 30 jp nc,l09c5h ;09c0 d2 c5 09 l09c3h: scf ;09c3 37 7 ret ;09c4 c9 l09c5h: cp ":" ;09c5 fe 3a jp nc,l09e1h ;09c7 d2 e1 09 cp "0" ;09ca fe 30 jp c,l09e1h ;09cc da e1 09 ld d,h ;09cf 54 ld e,l ;09d0 5d add hl,hl ;09d1 add hl,hl ;09d2 add hl,de ;09d3 19 add hl,hl ;09d4 and 00fh ;09d5 e6 0f ld e,a ;09d7 5f ld d,0 ;09d8 16 00 add hl,de ;09da 19 call getin ;09db jp l09c5h ;09de c3 c5 09 l09e1h: push af ;09e1 f5 ld a,(flag) ;09e2 3a 69 38 cp 0 ;09e5 fe 00 jp z,l09f0h ;09e7 ca f0 09 jp c,l09f0h ;09ea da f0 09 call sub_0ffeh ;09ed cd fe 0f l09f0h: pop af ;09f0 f1 scf ;09f1 37 7 ccf ;09f2 3f ? ret ;09f3 c9 sub_09f4h: ld a,0 ;09f4 3e 00 > ld (flip),a ;09f6 32 6d 38 ld (flip1),a ;09f9 32 6b 38 2 k 8 call sub_0236h ;09fc cd 36 02 xor a ;09ff af ld (wrtpage),a ;0a00 32 87 38 ld (viewpage),a ;0a03 32 86 38 call sub_012ch ;0a06 cd 2c 01 call getin ;0a09 l0a0ch: cp "A" ;0a0c fe 41 . A jp z,esc_esc_A_Alpha_Modus ;0a0e ca 7b 0d . { cp "M" ;0a11 fe 4d . M jp nz,l0a2bh ;0a13 c2 2b 0a . + call getnum ;0a16 jp c,l0a28h ;0a19 da 28 0a push hl ;0a1c e5 call getnum ;0a1d pop de ;0a20 d1 jp c,l0a28h ;0a21 da 28 0a ex de,hl ;0a24 eb call moveto ;0a25 l0a28h: jp non_esc_char ;0a28 c3 75 0d l0a2bh: cp "D" ;0a2b fe 44 . D jp nz,l0a45h ;0a2d c2 45 0a . E call getnum ;0a30 jp c,l0a42h ;0a33 da 42 0a . B push hl ;0a36 e5 call getnum ;0a37 pop de ;0a3a d1 jp c,l0a42h ;0a3b da 42 0a . B ex de,hl ;0a3e eb call drawto ;0a3f l0a42h: jp non_esc_char ;0a42 c3 75 0d l0a45h: cp "P" ;0a45 fe 50 jp nz,l0a64h ;0a47 c2 64 0a call getnum ;0a4a jp c,l0a61h ;0a4d da 61 0a ld a,l ;0a50 7d } and 3 ;0a51 e6 03 ld (viewpage),a ;0a53 32 86 38 ld a,l ;0a56 7d } rrca ;0a57 0f rrca ;0a58 0f and 3 ;0a59 e6 03 ld (wrtpage),a ;0a5b 32 87 38 call sub_012ch ;0a5e cd 2c 01 l0a61h: jp non_esc_char ;0a61 c3 75 0d l0a64h: cp 053h ;0a64 fe 53 . S jp nz,l0a89h ;0a66 c2 89 0a call getnum ;0a69 jp c,l0a86h ;0a6c da 86 0a ld a,l ;0a6f 7d } and 3 ;0a70 e6 03 ld (viewpage),a ;0a72 32 86 38 ld a,l ;0a75 7d } rrca ;0a76 0f rrca ;0a77 0f and 3 ;0a78 e6 03 ld (wrtpage),a ;0a7a 32 87 38 l0a7dh: call sub_0254h ;0a7d cd 54 02 . T jp c,l0a7dh ;0a80 da 7d 0a . } call sub_012ch ;0a83 cd 2c 01 l0a86h: jp non_esc_char ;0a86 c3 75 0d l0a89h: cp 059h ;0a89 fe 59 . Y jp nz,l0a9eh ;0a8b c2 9e 0a call getnum ;0a8e jp c,l0a9bh ;0a91 da 9b 0a ld a,l ;0a94 7d } ld (flip),a ;0a95 32 6d 38 ld (flipcnt),a ;0a98 32 6c 38 2 l 8 l0a9bh: jp non_esc_char ;0a9b c3 75 0d l0a9eh: cp 058h ;0a9e fe 58 . X jp nz,l0ab3h ;0aa0 c2 b3 0a call getnum ;0aa3 jp c,l0ab0h ;0aa6 da b0 0a ld a,l ;0aa9 7d } ld (flip1),a ;0aaa 32 6b 38 2 k 8 ld (flip1cnt),a ;0aad 32 6a 38 2 j 8 l0ab0h: jp non_esc_char ;0ab0 c3 75 0d l0ab3h: cp "C" ;0ab3 fe 43 . C jp nz,l0ac1h ;0ab5 c2 c1 0a call clrinvis ;0ab8 cd f9 05 call sub_0236h ;0abb cd 36 02 jp non_esc_char ;0abe c3 75 0d l0ac1h: cp "Z" ;0ac1 fe 5a . Z jp nz,l0acfh ;0ac3 c2 cf 0a call clrall ;0ac6 call sub_0236h ;0ac9 cd 36 02 jp non_esc_char ;0acc c3 75 0d l0acfh: cp "G" ;0acf fe 47 . G jp nz,l0b00h ;0ad1 c2 00 0b call getnum ;0ad4 jp c,l0afdh ;0ad7 da fd 0a push hl ;0ada e5 call getnum ;0adb pop de ;0ade d1 jp c,l0afdh ;0adf da fd 0a ld a,e ;0ae2 7b { cp 010h ;0ae3 fe 10 jp nc,l0afdh ;0ae5 d2 fd 0a cp 0 ;0ae8 fe 00 jp c,l0afdh ;0aea da fd 0a ld a,h ;0aed 7c | or a ;0aee b7 jp nz,l0afdh ;0aef c2 fd 0a call wait ;0af2 cd b5 00 ld a,e ;0af5 7b { and 00fh ;0af6 e6 0f or 070h ;0af8 f6 70 . p ld c,a ;0afa 4f O out (c),l ;0afb ed 69 . i l0afdh: jp non_esc_char ;0afd c3 75 0d l0b00h: cp "B" ;0b00 fe 42 . B jp nz,l0b23h ;0b02 c2 23 0b . # call getin ;0b05 l0b08h: cp asc_cr ;0b08 fe 0d jp z,l0b20h ;0b0a ca 20 0b . cp 080h ;0b0d fe 80 jp nc,l0b1ah ;0b0f d2 1a 0b cp asc_space ;0b12 fe 20 . jp c,l0b1ah ;0b14 da 1a 0b call cmd ;0b17 cd bc 00 l0b1ah: call getin ;0b1a jp l0b08h ;0b1d c3 08 0b l0b20h: jp non_esc_char ;0b20 c3 75 0d l0b23h: cp 056h ;0b23 fe 56 . V jp nz,l0b3bh ;0b25 c2 3b 0b . ; call sub_08c5h ;0b28 cd c5 08 l0b2bh: or a ;0b2b b7 jp z,l0b38h ;0b2c ca 38 0b . 8 call cmd ;0b2f cd bc 00 call sub_08c5h ;0b32 cd c5 08 jp l0b2bh ;0b35 c3 2b 0b . + l0b38h: jp non_esc_char ;0b38 c3 75 0d l0b3bh: cp "m" ;0b3b fe 6d . m jp nz,not_asc_m ;0b3d c2 5c 0b . \ call sub_08c5h ;0b40 cd c5 08 ld h,a ;0b43 67 g push hl ;0b44 e5 call sub_08c5h ;0b45 cd c5 08 pop hl ;0b48 e1 ld l,a ;0b49 6f o push hl ;0b4a e5 call sub_08c5h ;0b4b cd c5 08 ld d,a ;0b4e 57 W push de ;0b4f d5 call sub_08c5h ;0b50 cd c5 08 pop de ;0b53 d1 ld e,a ;0b54 5f _ pop hl ;0b55 e1 call moveto ;0b56 jp non_esc_char ;0b59 c3 75 0d not_asc_m: cp "d" ;0b5c fe 64 jp nz,l0b7dh ;0b5e c2 7d 0b call sub_08c5h ;0b61 cd c5 08 ld h,a ;0b64 67 push hl ;0b65 e5 call sub_08c5h ;0b66 cd c5 08 pop hl ;0b69 e1 ld l,a ;0b6a 6f push hl ;0b6b e5 call sub_08c5h ;0b6c cd c5 08 ld d,a ;0b6f 57 push de ;0b70 d5 call sub_08c5h ;0b71 cd c5 08 pop de ;0b74 d1 ld e,a ;0b75 5f pop hl ;0b76 e1 call drawto ;0b77 jp non_esc_char ;0b7a c3 75 0d l0b7dh: cp "O" ;0b7d fe 4f jp nz,skip_0bb7h ;0b7f c2 b7 0b call getnum ;0b82 ld (ha),hl ;0b85 22 15 38 call getnum ;0b88 ld (hb),hl ;0b8b 22 17 38 call getnum ;0b8e ld (phianf),hl ;0b91 22 11 38 call getnum ;0b94 ld (phiend),hl ;0b97 22 13 38 cp asc_space ;0b9a fe 20 . jp nz,skip_0ba5h ;0b9c c2 a5 0b call getnum ;0b9f jp skip_0ba6h ;0ba2 c3 a6 0b skip_0ba5h: scf ;0ba5 37 7 skip_0ba6h: jp nc,skip_0badh ;0ba6 d2 ad 0b xor a ;0ba9 af jp skip_0baeh ;0baa c3 ae 0b skip_0badh: ld a,l ;0bad 7d } skip_0baeh: ld (cirfuel),a ;0bae 32 3d 38 call sub_10e9h ;0bb1 cd e9 10 jp non_esc_char ;0bb4 c3 75 0d skip_0bb7h: cp "R" ;0bb7 fe 52 jp nz,skip_0bfah ;0bb9 c2 fa 0b call getnum ;0bbc ld (dxx),hl ;0bbf 22 31 38 " 1 8 call getnum ;0bc2 ld (dyy),hl ;0bc5 22 33 38 " 3 8 call sub_10d1h ;0bc8 cd d1 10 ld hl,(ykoor) ;0bcb 2a 27 38 * ' 8 ld bc,(dyy) ;0bce ed 4b 33 38 . K 3 8 add hl,bc ;0bd2 09 ex de,hl ;0bd3 eb ld hl,(xkoor) ;0bd4 2a 25 38 * % 8 push hl ;0bd7 e5 push de ;0bd8 d5 call drawto ;0bd9 pop de ;0bdc d1 pop hl ;0bdd e1 ld bc,(dxx) ;0bde ed 4b 31 38 . K 1 8 add hl,bc ;0be2 09 push hl ;0be3 e5 call drawto ;0be4 pop hl ;0be7 e1 ld de,(ykoor) ;0be8 ed 5b 27 38 . [ ' 8 push de ;0bec d5 call drawto ;0bed pop de ;0bf0 d1 ld hl,(xkoor) ;0bf1 2a 25 38 * % 8 call drawto ;0bf4 jp non_esc_char ;0bf7 c3 75 0d skip_0bfah: cp "r" ;0bfa fe 72 jp nz,not_asc_q ;0bfc c2 4b 0c . K call getnum ;0bff ld (dxx),hl ;0c02 22 31 38 " 1 8 call getnum ;0c05 ld (dyy),hl ;0c08 22 33 38 " 3 8 call sub_10d1h ;0c0b cd d1 10 ld hl,(ykoor) ;0c0e 2a 27 38 * ' 8 ld bc,(dyy) ;0c11 ed 4b 33 38 . K 3 8 add hl,bc ;0c15 09 ex de,hl ;0c16 eb ld hl,(xkoor) ;0c17 2a 25 38 * % 8 ld bc,(dxx) ;0c1a ed 4b 31 38 . K 1 8 loop_0c1eh: push bc ;0c1e c5 push hl ;0c1f e5 push de ;0c20 d5 call drawto ;0c21 pop de ;0c24 d1 pop hl ;0c25 e1 inc hl ;0c26 23 # push hl ;0c27 e5 push de ;0c28 d5 ex de,hl ;0c29 eb ld bc,(dyy) ;0c2a ed 4b 33 38 . K 3 8 or a ;0c2e b7 sbc hl,bc ;0c2f ed 42 . B ex de,hl ;0c31 eb call moveto ;0c32 pop de ;0c35 d1 pop hl ;0c36 e1 pop bc ;0c37 c1 dec bc ;0c38 0b ld a,b ;0c39 78 x or c ;0c3a b1 jp nz,loop_0c1eh ;0c3b c2 1e 0c ld hl,(xkoor) ;0c3e 2a 25 38 * % 8 ld de,(ykoor) ;0c41 ed 5b 27 38 . [ ' 8 call moveto ;0c45 jp non_esc_char ;0c48 c3 75 0d not_asc_q: cp 04ch ;0c4b fe 4c jp nz,l0c88h ;0c4d c2 88 0c call getnum ;0c50 push hl ;0c53 e5 call getnum ;0c54 ex de,hl ;0c57 eb pop hl ;0c58 e1 call moveto ;0c59 call sub_10d1h ;0c5c cd d1 10 push hl ;0c5f e5 ld hl,l0c7bh ;0c60 21 7b 0c ! { ex (sp),hl ;0c63 e3 l0c64h: call getnum ;0c64 cp asc_space ;0c67 fe 20 . ret nz ;0c69 c0 push hl ;0c6a e5 call getnum ;0c6b pop de ;0c6e d1 ex de,hl ;0c6f eb push af ;0c70 f5 call drawto ;0c71 pop af ;0c74 f1 cp asc_space ;0c75 fe 20 . ret nz ;0c77 c0 jp l0c64h ;0c78 c3 64 0c . d l0c7bh: ld hl,(xkoor) ;0c7b 2a 25 38 * % 8 ld de,(ykoor) ;0c7e ed 5b 27 38 . [ ' 8 call drawto ;0c82 jp non_esc_char ;0c85 c3 75 0d l0c88h: cp 06ch ;0c88 fe 6c jp nz,l0c93h ;0c8a c2 93 0c call sub_11f5h ;0c8d cd f5 11 jp non_esc_char ;0c90 c3 75 0d l0c93h: cp "J" ;0c93 fe 4a . J jp nz,l0cbeh ;0c95 c2 be 0c call getnum ;0c98 ld (dxx),hl ;0c9b 22 31 38 " 1 8 call getnum ;0c9e ld (dyy),hl ;0ca1 22 33 38 " 3 8 call sub_10d1h ;0ca4 cd d1 10 ld hl,(ykoor) ;0ca7 2a 27 38 * ' 8 ld bc,(dyy) ;0caa ed 4b 33 38 . K 3 8 add hl,bc ;0cae 09 ex de,hl ;0caf eb ld hl,(xkoor) ;0cb0 2a 25 38 * % 8 ld bc,(dxx) ;0cb3 ed 4b 31 38 . K 1 8 add hl,bc ;0cb7 09 call drawto ;0cb8 jp non_esc_char ;0cbb c3 75 0d l0cbeh: cp 057h ;0cbe fe 57 . W jp nz,l0cc9h ;0cc0 c2 c9 0c call sub_0d87h ;0cc3 cd 87 0d jp non_esc_char ;0cc6 c3 75 0d l0cc9h: cp "F" ;0cc9 fe 46 . F jp nz,l0d3ch ;0ccb c2 3c 0d . < call getnum ;0cce jp c,l0d2eh ;0cd1 da 2e 0d push hl ;0cd4 e5 call getnum ;0cd5 pop de ;0cd8 d1 jp c,l0d2bh ;0cd9 da 2b 0d . + ld (faxn),de ;0cdc ed 53 74 38 . S t 8 ld (fayn),hl ;0ce0 22 76 38 " v 8 call getnum ;0ce3 jp c,l0d2bh ;0ce6 da 2b 0d . + ld a,(wrtpage) ;0ce9 3a 87 38 : . 8 push af ;0cec f5 ld a,l ;0ced 7d } and 3 ;0cee e6 03 ld (fapn),a ;0cf0 32 78 38 2 x 8 call sub_0eb5h ;0cf3 cd b5 0e jp c,l0d24h ;0cf6 da 24 0d . $ call sub_0eefh ;0cf9 cd ef 0e ld de,(fayn) ;0cfc ed 5b 76 38 . [ v 8 ld (fay),de ;0d00 ed 53 71 38 . S q 8 ld hl,(faxn) ;0d04 2a 74 38 * t 8 ld (fax),hl ;0d07 22 6f 38 " o 8 call moveto ;0d0a ld a,(fapn) ;0d0d 3a 78 38 : x 8 ld (fap),a ;0d10 32 73 38 2 s 8 ld (wrtpage),a ;0d13 32 87 38 call sub_012ch ;0d16 cd 2c 01 call sub_0236h ;0d19 cd 36 02 call sub_0f1ch ;0d1c cd 1c 0f ld a,1 ;0d1f 3e 01 > ld (fon),a ;0d21 32 6e 38 2 n 8 l0d24h: pop af ;0d24 f1 ld (wrtpage),a ;0d25 32 87 38 call sub_012ch ;0d28 cd 2c 01 l0d2bh: jp l0d39h ;0d2b c3 39 0d . 9 l0d2eh: call sub_0eefh ;0d2e cd ef 0e ld a,0 ;0d31 3e 00 > ld (fon),a ;0d33 32 6e 38 2 n 8 call sub_0236h ;0d36 cd 36 02 l0d39h: jp non_esc_char ;0d39 c3 75 0d l0d3ch: cp asc_esc ;0d3c jp nz,non_esc_char ;0d3e c2 75 0d call getin ;0d41 cp asc_esc ;0d44 jp nz,non_esc_char ;0d46 c2 75 0d ; ; Double escape ; call getin ;0d49 cp "A" ;0d4c fe 41 jp nz,l0d54h ;0d4e c2 54 0d . T jp esc_esc_A_Alpha_Modus ;0d51 c3 7b 0d . { l0d54h: cp "C" ;0d54 fe 43 jp nz,l0d5fh ;0d56 c2 5f 0d . _ call esc_esc_C_Durchgang_Modus ;0d59 cd 1e 1a jp non_esc_char ;0d5c c3 75 0d l0d5fh: cp "R" ;0d5f fe 52 jp nz,l0d6bh ;0d61 c2 6b 0d . k ; ; esc_esc_R_Rucksetzen: ; xor a ;0d64 af ld (flagtro),a ;0d65 32 62 38 (flagtro)=0 jp non_esc_char ;0d68 c3 75 0d l0d6bh: cp "P" ;0d6b fe 50 jp nz,non_esc_char ;0d6d c2 75 0d ; ; esc_esc_P_Parallel_Modus: ; ld a,1 ;0d70 3e 01 > ld (flagtro),a ;0d72 32 62 38 2 b 8 non_esc_char: call getin ;0d75 jp l0a0ch ;0d78 c3 0c 0a esc_esc_A_Alpha_Modus: call wait ;0d7b cd b5 00 ld a,011h ;0d7e 3e 11 > out (gdp+3),a ;0d80 d3 73 . s ld a,0 ;0d82 3e 00 > out (gdp+2),a ;0d84 d3 72 ret ;0d86 c9 sub_0d87h: call getin ;0d87 cp "A" ;0d8a fe 41 . A jp nz,l0e23h ;0d8c c2 23 0e . # call sub_0eefh ;0d8f cd ef 0e ld a,0 ;0d92 3e 00 > ld (fon),a ;0d94 32 6e 38 2 n 8 call getin ;0d97 cp 060h ;0d9a fe 60 jr nc,l0da3h ;0d9c 30 05 0 cp "@" ;0d9e fe 40 . @ jp nc,l0dadh ;0da0 d2 ad 0d l0da3h: cp "0" ;0da3 fe 30 . 0 jp z,l0dadh ;0da5 ca ad 0d cp "1" ;0da8 fe 31 . 1 jp nz,l0e0dh ;0daa c2 0d 0e l0dadh: ld hl,heap ;0dad 21 07 45 ! . E ld (fadw),hl ;0db0 22 7b 38 " { 8 l0db3h: cp "0" ;0db3 fe 30 . 0 jp nz,not_zero ;0db5 c2 be 0d ld a,3 ;0db8 3e 03 > ld (hl),a ;0dba 77 w jp l0de6h ;0dbb c3 e6 0d not_zero: cp "1" ;0dbe fe 31 . 1 jp nz,not_one ;0dc0 c2 c9 0d ld a,2 ;0dc3 3e 02 > ld (hl),a ;0dc5 77 w jp l0de6h ;0dc6 c3 e6 0d not_one: and 01fh ;0dc9 e6 1f ld b,a ;0dcb 47 G ld ix,l0ea5h ;0dcc dd 21 a5 0e . ! and 7 ;0dd0 e6 07 ld e,a ;0dd2 5f _ ld d,0 ;0dd3 16 00 add ix,de ;0dd5 dd 19 ld a,b ;0dd7 78 x and 018h ;0dd8 e6 18 or (ix+0) ;0dda dd b6 00 ld b,a ;0ddd 47 G rlca ;0dde 07 rlca ;0ddf 07 and 060h ;0de0 e6 60 or 080h ;0de2 f6 80 or b ;0de4 b0 ld (hl),a ;0de5 77 w l0de6h: inc hl ;0de6 23 # push hl ;0de7 e5 call getin ;0de8 pop hl ;0deb e1 cp 060h ;0dec fe 60 jr nc,l0df5h ;0dee 30 05 0 cp "@" ;0df0 fe 40 jp nc,l0db3h ;0df2 d2 b3 0d l0df5h: cp "0" ;0df5 fe 30 jp z,l0db3h ;0df7 ca b3 0d cp "1" ;0dfa fe 31 jp z,l0db3h ;0dfc ca b3 0d ld (hl),0 ;0dff 36 00 inc hl ;0e01 23 ld a,1 ;0e02 3e 01 ld (fadnr),a ;0e04 32 7a 38 ld (heapptr),hl ;0e07 22 3c 44 jp l0e20h ;0e0a c3 20 0e l0e0dh: ld a,(fadnr) ;0e0d 3a 7a 38 cp 1 ;0e10 fe 01 jp nz,l0e20h ;0e12 c2 20 0e ld a,0 ;0e15 3e 00 > ld (fadnr),a ;0e17 32 7a 38 ld hl,(fadw) ;0e1a 2a 7b 38 ld (heapptr),hl ;0e1d 22 3c 44 l0e20h: jp ret_0ea4h ;0e20 c3 a4 0e l0e23h: cp "B" ;0e23 fe 42 . B jp nz,not_asc_B ;0e25 c2 2e 0e call sub_0f1ch ;0e28 cd 1c 0f jp ret_0ea4h ;0e2b c3 a4 0e not_asc_B: cp "C" ;0e2e fe 43 jp nz,not_asc_C ;0e30 c2 63 0e call sub_0eefh ;0e33 cd ef 0e ld a,0 ;0e36 3e 00 ld (fon),a ;0e38 32 6e 38 call getnum ;0e3b jp c,l0e56h ;0e3e da 56 0e . V push hl ;0e41 e5 call getnum ;0e42 pop de ;0e45 d1 jp c,l0e53h ;0e46 da 53 0e . S ld a,e ;0e49 7b { ld (wfac),a ;0e4a 32 7d 38 2 } 8 ld a,l ;0e4d 7d } and 7 ;0e4e e6 07 ld (wrot),a ;0e50 32 7e 38 2 ~ 8 l0e53h: jp l0e60h ;0e53 c3 60 0e . ` l0e56h: ld a,1 ;0e56 3e 01 > ld (wfac),a ;0e58 32 7d 38 2 } 8 ld a,0 ;0e5b 3e 00 > ld (wrot),a ;0e5d 32 7e 38 2 ~ 8 l0e60h: jp ret_0ea4h ;0e60 c3 a4 0e not_asc_C: cp "D" ;0e63 fe 44 jp nz,not_asc_D ;0e65 c2 84 0e call getnum ;0e68 jp c,skip_0e81h ;0e6b da 81 0e push hl ;0e6e e5 call getnum ;0e6f loop_0e72h: jp c,l0e80h ;0e72 da 80 0e pop de ;0e75 d1 ld a,l ;0e76 7d } ld (de),a ;0e77 12 inc de ;0e78 13 push de ;0e79 d5 call getnum ;0e7a jp loop_0e72h ;0e7d c3 72 0e l0e80h: pop hl ;0e80 e1 skip_0e81h: jp ret_0ea4h ;0e81 c3 a4 0e not_asc_D: cp "E" ;0e84 fe 45 . E jp nz,not_asc_E ;0e86 c2 98 0e call getnum ;0e89 jp c,l0e95h ;0e8c da 95 0e push hl ;0e8f e5 ld hl,l0e95h ;0e90 21 95 0e ! ex (sp),hl ;0e93 e3 jp (hl) ;0e94 e9 l0e95h: jp ret_0ea4h ;0e95 c3 a4 0e not_asc_E: cp "F" ;0e98 fe 46 . F jp nz,ret_0ea4h ;0e9a c2 a4 0e call getnum ;0e9d ld c,(hl) ;0ea0 4e N call co ;0ea1 cd d0 03 ret_0ea4h: ret ;0ea4 c9 l0ea5h: nop ;0ea5 00 ld bc,l0302h ;0ea6 01 02 03 ld b,7 ;0ea9 06 07 inc b ;0eab 04 dec b ;0eac 05 l0eadh: ld bc,l0302h ;0ead 01 02 03 ld b,5 ;0eb0 06 05 nop ;0eb2 00 rlca ;0eb3 07 inc b ;0eb4 04 sub_0eb5h: ld a,(fon) ;0eb5 3a 6e 38 : n 8 or a ;0eb8 b7 jp nz,l0ebeh ;0eb9 c2 be 0e xor a ;0ebc af ret ;0ebd c9 l0ebeh: ld hl,(fax) ;0ebe 2a 6f 38 * o 8 ld de,(faxn) ;0ec1 ed 5b 74 38 . [ t 8 xor a ;0ec5 af sbc hl,de ;0ec6 ed 52 ld a,h ;0ec8 7c | or l ;0ec9 b5 jp z,l0ecfh ;0eca ca cf 0e xor a ;0ecd af ret ;0ece c9 l0ecfh: ld hl,(fay) ;0ecf 2a 71 38 * q 8 ld de,(fayn) ;0ed2 ed 5b 76 38 . [ v 8 xor a ;0ed6 af sbc hl,de ;0ed7 ed 52 ld a,h ;0ed9 7c | or l ;0eda b5 jp z,l0ee0h ;0edb ca e0 0e xor a ;0ede af ret ;0edf c9 l0ee0h: ld a,(fap) ;0ee0 3a 73 38 : s 8 ld b,a ;0ee3 47 G ld a,(fapn) ;0ee4 3a 78 38 : x 8 cp b ;0ee7 b8 jp z,l0eedh ;0ee8 ca ed 0e xor a ;0eeb af ret ;0eec c9 l0eedh: scf ;0eed 37 7 ret ;0eee c9 sub_0eefh: ld a,(fon) ;0eef 3a 6e 38 : n 8 cp 1 ;0ef2 fe 01 jp nz,l0f1bh ;0ef4 c2 1b 0f ld de,(fay) ;0ef7 ed 5b 71 38 . [ q 8 ld hl,(fax) ;0efb 2a 6f 38 * o 8 call moveto ;0efe ld a,(wrtpage) ;0f01 3a 87 38 : . 8 push af ;0f04 f5 ld a,(fap) ;0f05 3a 73 38 : s 8 ld (wrtpage),a ;0f08 32 87 38 call sub_012ch ;0f0b cd 2c 01 call sub_023ah ;0f0e cd 3a 02 call sub_0f1ch ;0f11 cd 1c 0f pop af ;0f14 f1 ld (wrtpage),a ;0f15 32 87 38 call sub_012ch ;0f18 cd 2c 01 l0f1bh: ret ;0f1b c9 sub_0f1ch: ld a,(fadnr) ;0f1c 3a 7a 38 cp 1 ;0f1f fe 01 jp nz,l0f71h ;0f21 c2 71 0f . q ld a,(wfac) ;0f24 3a 7d 38 : } 8 ld b,a ;0f27 47 G ld a,(wrot) ;0f28 3a 7e 38 : ~ 8 ld c,a ;0f2b 4f O ld hl,(fadw) ;0f2c 2a 7b 38 * { 8 l0f2fh: ld a,(hl) ;0f2f 7e ~ or a ;0f30 b7 jp z,l0f6eh ;0f31 ca 6e 0f . n push bc ;0f34 c5 ld a,(hl) ;0f35 7e ~ cp 080h ;0f36 fe 80 jp c,l0f5fh ;0f38 da 5f 0f . _ ld a,c ;0f3b 79 y or a ;0f3c b7 jp z,l0f5bh ;0f3d ca 5b 0f . [ ld a,(hl) ;0f40 7e ~ and 7 ;0f41 e6 07 l0f43h: ld ix,l0eadh ;0f43 dd 21 ad 0e . ! ld e,a ;0f47 5f _ ld d,0 ;0f48 16 00 add ix,de ;0f4a dd 19 ld a,(ix+0) ;0f4c dd 7e 00 . ~ dec c ;0f4f 0d jp nz,l0f43h ;0f50 c2 43 0f . C ld c,a ;0f53 4f O ld a,(hl) ;0f54 7e ~ and 0f8h ;0f55 e6 f8 or c ;0f57 b1 jp l0f5ch ;0f58 c3 5c 0f . \ l0f5bh: ld a,(hl) ;0f5b 7e ~ l0f5ch: jp l0f60h ;0f5c c3 60 0f . ` l0f5fh: ld a,(hl) ;0f5f 7e ~ l0f60h: inc hl ;0f60 23 # loop_0f61h: push af ;0f61 f5 call cmd ;0f62 cd bc 00 pop af ;0f65 f1 dec b ;0f66 05 jp nz,loop_0f61h ;0f67 c2 61 0f . a pop bc ;0f6a c1 jp l0f2fh ;0f6b c3 2f 0f . / l0f6eh: jp l0f74h ;0f6e c3 74 0f . t l0f71h: call sub_0f75h ;0f71 cd 75 0f l0f74h: ret ;0f74 c9 sub_0f75h: call wait ;0f75 cd b5 00 ld a,014h ;0f78 3e 14 > out (gdp+5),a ;0f7a d3 75 . u ld a,014h ;0f7c 3e 14 > out (gdp+7),a ;0f7e d3 77 . w gdp_cmd 018h ;0f80 3e 18 > gdp_cmd 01eh ;0f85 3e 1e > gdp_cmd 01eh ;0f8a 3e 1e > gdp_cmd 018h ;0f8f 3e 18 > gdp_cmd 01ah ;0f94 3e 1a > gdp_cmd 01ch ;0f99 3e 1c > gdp_cmd 01ch ;0f9e 3e 1c > gdp_cmd 01ah ;0fa3 3e 1a > ret ;0fa8 c9 sub_0fa9h: ld de,l0168h ;0fa9 11 68 01 ld a,h ;0fac 7c | or a ;0fad b7 jp m,l0fc5h ;0fae fa c5 0f push hl ;0fb1 e5 ld hl,l0fc2h ;0fb2 21 c2 0f ! ex (sp),hl ;0fb5 e3 loop_0fb6h: push hl ;0fb6 e5 xor a ;0fb7 af sbc hl,de ;0fb8 ed 52 pop hl ;0fba e1 ret m ;0fbb f8 xor a ;0fbc af sbc hl,de ;0fbd ed 52 jp loop_0fb6h ;0fbf c3 b6 0f l0fc2h: jp l0fcbh ;0fc2 c3 cb 0f l0fc5h: add hl,de ;0fc5 19 ld a,h ;0fc6 7c | or a ;0fc7 b7 jp m,l0fc5h ;0fc8 fa c5 0f l0fcbh: ret ;0fcb c9 sub_0fcch: ld c,0 ;0fcc 0e 00 ld a,d ;0fce 7a z or a ;0fcf b7 jp p,l0fdbh ;0fd0 f2 db 0f ld c,1 ;0fd3 0e 01 cpl ;0fd5 2f / ld d,a ;0fd6 57 W ld a,e ;0fd7 7b { cpl ;0fd8 2f / ld e,a ;0fd9 5f _ inc de ;0fda 13 l0fdbh: ld a,b ;0fdb 78 x xor c ;0fdc a9 ld (vzsto),a ;0fdd 32 10 38 bit 0,h ;0fe0 cb 44 . D jp nz,l1006h ;0fe2 c2 06 10 ld a,l ;0fe5 7d } ld c,8 ;0fe6 0e 08 ld hl,start1 ;0fe8 21 00 00 ! l0febh: add hl,hl ;0feb rla ;0fec 17 jp nc,l0ff3h ;0fed d2 f3 0f add hl,de ;0ff0 19 adc a,0 ;0ff1 ce 00 l0ff3h: dec c ;0ff3 0d jp nz,l0febh ;0ff4 c2 eb 0f ld l,h ;0ff7 6c l ld h,a ;0ff8 67 g loop_0ff9h: ld a,(vzsto) ;0ff9 3a 10 38 or a ;0ffc b7 ret z ;0ffd c8 sub_0ffeh: ld a,h ;0ffe 7c | cpl ;0fff 2f / ld h,a ;1000 67 g ld a,l ;1001 7d } cpl ;1002 2f / ld l,a ;1003 6f o inc hl ;1004 23 # ret ;1005 c9 l1006h: ex de,hl ;1006 eb jp loop_0ff9h ;1007 c3 f9 0f lookup_table_100ah: db $00 db $04 db $09 db $0d db $12 db $16 db $1b db $1f db $24 db $28 db $2c db $31 db $35 db $3a db $3e db $42 db $47 ; G db $4b ; K db $4f ; O db $53 ; S db $58 ; X db $5c ; \ db $60 ; ` db $64 ; d db $68 ; h db $6c ; l db $70 ; p db $74 ; t db $78 ; x db $7c ; | db $80 db $84 db $88 db $8b db $8f db $93 db $96 db $9a db $9e db $a1 db $a5 db $a8 db $ab db $af db $b2 db $b5 db $b8 db $bb db $be db $c1 db $c4 db $c7 db $ca db $cc db $cf db $d2 db $d4 db $d7 db $d9 db $db db $de db $e0 db $e2 db $e4 db $e6 db $e8 db $ea db $ec db $ed db $ef db $f1 db $f2 db $f3 db $f5 db $f6 db $f7 db $f8 db $f9 ;1058 db $fa db $fb db $fc db $fd db $fe db $fe db $ff db $ff db $ff db $00 db $00 db $00 db $00 sub_1065h: ex de,hl ;1065 eb ld hl,l005ah ;1066 21 5a 00 xor a ;1069 af sbc hl,de ;106a ed 52 bit 7,h ;106c cb 7c . | jp z,l1075h ;106e ca 75 10 ld de,l0168h ;1071 11 68 01 add hl,de ;1074 19 l1075h: ld (sitemp),hl ;1075 22 2f 38 ld b,0 ;1078 06 00 ld de,l005ah ;107a 11 5a 00 xor a ;107d af sbc hl,de ;107e ed 52 jp m,l10bdh ;1080 fa bd 10 ld de,l005ah ;1083 11 5a 00 xor a ;1086 af sbc hl,de ;1087 ed 52 jp m,l10b0h ;1089 fa b0 10 ld b,1 ;108c 06 01 ld de,l005ah ;108e 11 5a 00 xor a ;1091 af sbc hl,de ;1092 ed 52 jp m,l10a4h ;1094 fa a4 10 ld hl,l0168h ;1097 21 68 01 ld de,(sitemp) ;109a ed 5b 2f 38 xor a ;109e af sbc hl,de ;109f ed 52 jp l10adh ;10a1 c3 ad 10 l10a4h: ld hl,(sitemp) ;10a4 2a 2f 38 ld de,l00b4h ;10a7 11 b4 00 xor a ;10aa af sbc hl,de ;10ab ed 52 l10adh: jp l10bah ;10ad c3 ba 10 l10b0h: ld de,(sitemp) ;10b0 ed 5b 2f 38 ld hl,l00b4h ;10b4 21 b4 00 ! xor a ;10b7 af sbc hl,de ;10b8 ed 52 l10bah: jp l10c0h ;10ba c3 c0 10 l10bdh: ld hl,(sitemp) ;10bd 2a 2f 38 l10c0h: ld a,h ;10c0 7c | or l ;10c1 b5 ret z ;10c2 c8 ex de,hl ;10c3 eb ld hl,lookup_table_100ah ;10c4 21 0a 10 ! add hl,de ;10c7 19 ld l,(hl) ;10c8 6e n ld h,0 ;10c9 26 00 & ld a,l ;10cb 7d } or a ;10cc b7 ret nz ;10cd c0 ld h,1 ;10ce 26 01 & ret ;10d0 c9 sub_10d1h: call wait ;10d1 cd b5 00 in a,(078h) ;10d4 db 78 ld (03826h),a ;10d6 32 26 38 in a,(079h) ;10d9 db 79 ld (xkoor),a ;10db 32 25 38 in a,(07ah) ;10de db 7a ld (03828h),a ;10e0 32 28 38 in a,(07bh) ;10e3 db 7b ld (ykoor),a ;10e5 32 27 38 ret ;10e8 c9 sub_10e9h: call sub_10d1h ;10e9 cd d1 10 ld hl,(phiend) ;10ec 2a 13 38 * . 8 call sub_0fa9h ;10ef cd a9 0f ld (phiend),hl ;10f2 22 13 38 ld hl,(phianf) ;10f5 2a 11 38 * . 8 call sub_0fa9h ;10f8 cd a9 0f ld (phianf),hl ;10fb 22 11 38 call sub_1065h ;10fe cd 65 10 . e ld de,(ha) ;1101 ed 5b 15 38 . [ . 8 call sub_0fcch ;1105 cd cc 0f ex de,hl ;1108 eb ld hl,(xkoor) ;1109 2a 25 38 * % 8 xor a ;110c af sbc hl,de ;110d ed 52 ld (x0),hl ;110f 22 19 38 ld (newxx),hl ;1112 22 29 38 " ) 8 ld hl,(phianf) ;1115 2a 11 38 * . 8 call l1075h ;1118 cd 75 10 ld de,(hb) ;111b ed 5b 17 38 . [ . 8 call sub_0fcch ;111f cd cc 0f ex de,hl ;1122 eb ld hl,(ykoor) ;1123 2a 27 38 * ' 8 xor a ;1126 af sbc hl,de ;1127 ed 52 ld (y0),hl ;1129 22 1b 38 ld (newyy),hl ;112c 22 2b 38 " + 8 ld hl,(phianf) ;112f 2a 11 38 * . 8 ld (phi),hl ;1132 22 2d 38 " - 8 loop_1135h: ld hl,(newyy) ;1135 2a 2b 38 * + 8 ld (y1),hl ;1138 22 1f 38 ld hl,(newxx) ;113b 2a 29 38 * ) 8 ld (x1),hl ;113e 22 1d 38 ld hl,(phi) ;1141 2a 2d 38 * - 8 call sub_1065h ;1144 cd 65 10 . e ld de,(ha) ;1147 ed 5b 15 38 . [ . 8 call sub_0fcch ;114b cd cc 0f ld de,(x0) ;114e ed 5b 19 38 . [ . 8 add hl,de ;1152 19 ld (newxx),hl ;1153 22 29 38 " ) 8 ld hl,(phi) ;1156 2a 2d 38 * - 8 call l1075h ;1159 cd 75 10 ld de,(hb) ;115c ed 5b 17 38 . [ . 8 call sub_0fcch ;1160 cd cc 0f ld de,(y0) ;1163 ed 5b 1b 38 . [ . 8 add hl,de ;1167 19 ld (newyy),hl ;1168 22 2b 38 " + 8 ld a,(cirfuel) ;116b 3a 3d 38 : = 8 cp 1 ;116e fe 01 jp nz,l1185h ;1170 c2 85 11 ld hl,(newyy) ;1173 2a 2b 38 * + 8 ld (y2),hl ;1176 22 23 38 " # 8 ld hl,(newxx) ;1179 2a 29 38 * ) 8 ld (x2),hl ;117c 22 21 38 " ! 8 call sub_1213h ;117f cd 13 12 jp l118fh ;1182 c3 8f 11 l1185h: ld hl,(newxx) ;1185 2a 29 38 * ) 8 ld de,(newyy) ;1188 ed 5b 2b 38 . [ + 8 call drawto ;118c l118fh: ld hl,(phi) ;118f 2a 2d 38 * - 8 inc hl ;1192 23 # call sub_0fa9h ;1193 cd a9 0f ld (phi),hl ;1196 22 2d 38 " - 8 push hl ;1199 e5 ld hl,(phiend) ;119a 2a 13 38 * . 8 pop de ;119d d1 xor a ;119e af sbc hl,de ;119f ed 52 ld a,h ;11a1 7c | or l ;11a2 b5 jp nz,loop_1135h ;11a3 c2 35 11 . 5 ld hl,(phi) ;11a6 2a 2d 38 * - 8 call sub_1065h ;11a9 cd 65 10 . e ld de,(ha) ;11ac ed 5b 15 38 . [ . 8 call sub_0fcch ;11b0 cd cc 0f ld de,(x0) ;11b3 ed 5b 19 38 . [ . 8 add hl,de ;11b7 19 ld (newxx),hl ;11b8 22 29 38 " ) 8 ld hl,(phi) ;11bb 2a 2d 38 * - 8 call l1075h ;11be cd 75 10 ld de,(hb) ;11c1 ed 5b 17 38 . [ . 8 call sub_0fcch ;11c5 cd cc 0f ld de,(y0) ;11c8 ed 5b 1b 38 . [ . 8 add hl,de ;11cc 19 ld (newyy),hl ;11cd 22 2b 38 " + 8 ld a,(cirfuel) ;11d0 3a 3d 38 : = 8 cp 1 ;11d3 fe 01 jp nz,drawto_newxx_newyy ;11d5 c2 ea 11 ld hl,(newyy) ;11d8 2a 2b 38 * + 8 ld (y2),hl ;11db 22 23 38 " # 8 ld hl,(newxx) ;11de 2a 29 38 * ) 8 ld (x2),hl ;11e1 22 21 38 " ! 8 call sub_1213h ;11e4 cd 13 12 jp ret_11f4h ;11e7 c3 f4 11 drawto_newxx_newyy: ld hl,(newxx) ;11ea 2a 29 38 * ) 8 ld de,(newyy) ;11ed ed 5b 2b 38 . [ + 8 call drawto ;11f1 ret_11f4h: ret ;11f4 c9 sub_11f5h: ld ix,x0 ;11f5 dd 21 19 38 . ! . 8 ld b,6 ;11f9 06 06 loop_11fbh: push ix ;11fb dd e5 push bc ;11fd c5 call getnum ;11fe pop bc ;1201 c1 pop ix ;1202 dd e1 ret c ;1204 d8 ld (ix+0),l ;1205 dd 75 00 ld (ix+1),h ;1208 dd 74 01 . t inc ix ;120b dd 23 inc ix ;120d dd 23 dec b ;120f 05 jp nz,loop_11fbh ;1210 c2 fb 11 sub_1213h: ld hl,(x2) ;1213 2a 21 38 * ! 8 ld de,(x1) ;1216 ed 5b 1d 38 . [ . 8 call sub_12a3h ;121a cd a3 12 ld ix,(x1) ;121d dd 2a 1d 38 . * . 8 exx ;1221 d9 ld hl,(y2) ;1222 2a 23 38 * # 8 ld de,(y1) ;1225 ed 5b 1f 38 . [ . 8 call sub_12a3h ;1229 cd a3 12 exx ;122c d9 ld iy,(y1) ;122d fd 2a 1f 38 . * . 8 ld hl,start1 ;1231 21 00 00 ! push de ;1234 d5 exx ;1235 d9 pop hl ;1236 e1 xor a ;1237 af sbc hl,de ;1238 ed 52 ld a,h ;123a 7c | exx ;123b d9 or a ;123c b7 jp p,l1243h ;123d f2 43 12 . C ld hl,0ffffh ;1240 21 ff ff ! l1243h: ld (x1),ix ;1243 dd 22 1d 38 . " . 8 ld (y1),iy ;1247 fd 22 1f 38 . " . 8 push hl ;124b e5 push de ;124c d5 push bc ;124d c5 ld hl,(x0) ;124e 2a 19 38 * . 8 ld de,(y0) ;1251 ed 5b 1b 38 . [ . 8 call moveto ;1255 ld hl,(x1) ;1258 2a 1d 38 * . 8 ld de,(y1) ;125b ed 5b 1f 38 . [ . 8 call drawto ;125f pop bc ;1262 c1 pop de ;1263 d1 pop hl ;1264 e1 push bc ;1265 c5 push hl ;1266 e5 ld hl,(x1) ;1267 2a 1d 38 * . 8 ld bc,(x2) ;126a ed 4b 21 38 . K ! 8 xor a ;126e af sbc hl,bc ;126f ed 42 . B ld a,h ;1271 7c | or l ;1272 b5 pop hl ;1273 e1 pop bc ;1274 c1 jr z,l1290h ;1275 28 19 ( loop_1277h: ld a,h ;1277 7c | or a ;1278 b7 jp m,l1289h ;1279 fa 89 12 add ix,bc ;127c dd 09 push hl ;127e e5 exx ;127f d9 pop hl ;1280 e1 xor a ;1281 af sbc hl,de ;1282 ed 52 push hl ;1284 e5 exx ;1285 d9 pop hl ;1286 e1 jr l1243h ;1287 18 ba l1289h: exx ;1289 d9 add iy,bc ;128a fd 09 exx ;128c d9 add hl,de ;128d 19 jr l1243h ;128e 18 b3 l1290h: push bc ;1290 c5 push hl ;1291 e5 ld hl,(y1) ;1292 2a 1f 38 * . 8 ld bc,(y2) ;1295 ed 4b 23 38 . K # 8 xor a ;1299 af sbc hl,bc ;129a ed 42 . B ld a,h ;129c 7c | or l ;129d b5 pop hl ;129e e1 pop bc ;129f c1 jr nz,loop_1277h ;12a0 20 d5 ret ;12a2 c9 sub_12a3h: ld bc,start1+1 ;12a3 01 01 00 xor a ;12a6 af sbc hl,de ;12a7 ed 52 jp p,l12b2h ;12a9 f2 b2 12 call sub_0ffeh ;12ac cd fe 0f ld bc,0ffffh ;12af 01 ff ff l12b2h: ex de,hl ;12b2 eb ret ;12b3 c9 l12b4h: call getnum ;12b4 jp nc,l12bfh ;12b7 d2 bf 12 ld a,1 ;12ba 3e 01 > jp l12c0h ;12bc c3 c0 12 l12bfh: ld a,l ;12bf 7d } l12c0h: ld (teilflag),a ;12c0 32 61 38 2 a 8 ld a,0 ;12c3 3e 00 > ld (flip1),a ;12c5 32 6b 38 2 k 8 ld (wrtpage),a ;12c8 32 87 38 ld (viewpage),a ;12cb 32 86 38 call clrall ;12ce call sub_012ch ;12d1 cd 2c 01 ld a,1 ;12d4 3e 01 set some variables to 1 ld (flip),a ;12d6 32 6d 38 ld (flipcnt),a ;12d9 32 6c 38 ld (turdo),a ;12dc 32 60 38 ld hl,start1 ;12df 21 00 00 ld (turx),hl ;12e2 22 54 38 ld (tury),hl ;12e5 22 56 38 ld (turphi),hl ;12e8 22 58 38 ld (tur1x),hl ;12eb 22 5a 38 ld (tur1y),hl ;12ee 22 5c 38 ld (tur1phi),hl ;12f1 22 5e 38 call sub_142ch ;12f4 cd 2c 14 push hl ;12f7 e5 ld hl,l142bh ;12f8 21 2b 14 ex (sp),hl ;12fb e3 l12fch: call getin ;12fc jp c,l12fch ;12ff da fc 12 cp asc_esc ;1302 jp nz,l1350h ;1304 c2 50 13 l1307h: call getin ;1307 jp c,l1307h ;130a da 07 13 cp asc_esc ;130d jp nz,l134dh ;130f c2 4d 13 ; ; esc_esc by now ; l1312h: call getin ;1312 jp c,l1312h ;1315 da 12 13 cp "A" ;1318 fe 41 jp nz,l1321h ;131a c2 21 13 ; ; ; esc_esc_A_Alpha_Modus ; ret ;131d c9 jp l134dh ;131e c3 4d 13 l1321h: cp "G" ;1321 fe 47 jp nz,l132ch ;1323 c2 2c 13 ; ; esc_esc_G_Grafik_Modus ; call sub_09f4h ;1326 cd f4 09 jp l134dh ;1329 c3 4d 13 l132ch: cp "C" ;132c fe 43 jp nz,l1337h ;132e c2 37 13 ; ; esc_esc_C_Durchgang_Modus ; call esc_esc_C_Durchgang_Modus ;1331 cd 1e 1a jp l134dh ;1334 c3 4d 13 l1337h: cp "R" ;1337 fe 52 jp nz,l1343h ;1339 c2 43 13 xor a ;133c af ld (flagtro),a ;133d 32 62 38 (flagtro)=0 jp l134dh ;1340 c3 4d 13 l1343h: cp "P" ;1343 fe 50 jp nz,l134dh ;1345 c2 4d 13 ; ; esc_esc_P_Parallel_Modus ; ld a,1 ;1348 3e 01 ld (flagtro),a ;134a 32 62 38 (flagtro)=1 l134dh: jp l1428h ;134d c3 28 14 l1350h: cp "A" ;1350 fe 41 jp nz,l1359h ;1352 c2 59 13 ret ;1355 c9 jp l1428h ;1356 c3 28 14 l1359h: cp "Z" ;1359 fe 5a jp nz,l1364h ;135b c2 64 13 call clrall ;135e jp l1428h ;1361 c3 28 14 l1364h: cp "M" ;1364 fe 4d jp nz,l1381h ;1366 c2 81 13 call sub_14e4h ;1369 cd e4 14 ld (turx),hl ;136c 22 54 38 call sub_14e4h ;136f cd e4 14 ld (tury),hl ;1372 22 56 38 call getnum ;1375 ld (turphi),hl ;1378 22 58 38 call sub_142ch ;137b cd 2c 14 jp l1428h ;137e c3 28 14 l1381h: cp "F" ;1381 fe 46 jp nz,l13cdh ;1383 c2 cd 13 call sub_14e4h ;1386 cd e4 14 jp c,l13cah ;1389 da ca 13 push hl ;138c e5 ld hl,(turphi) ;138d 2a 58 38 call sub_1065h ;1390 cd 65 10 pop de ;1393 d1 push de ;1394 d5 call sub_0fcch ;1395 cd cc 0f ld de,(turx) ;1398 ed 5b 54 38 add hl,de ;139c 19 ld (turx),hl ;139d 22 54 38 ld hl,(turphi) ;13a0 2a 58 38 call l1075h ;13a3 cd 75 10 pop de ;13a6 d1 call sub_0fcch ;13a7 cd cc 0f ld de,(tury) ;13aa ed 5b 56 38 . [ V 8 add hl,de ;13ae 19 ld (tury),hl ;13af 22 56 38 " V 8 ld a,(turdo) ;13b2 3a 60 38 : ` 8 cp 1 ;13b5 fe 01 jp nz,l13c7h ;13b7 c2 c7 13 ld hl,(turx) ;13ba 2a 54 38 * T 8 ld de,(tury) ;13bd ed 5b 56 38 . [ V 8 call sub_14eeh ;13c1 cd ee 14 call drawto ;13c4 l13c7h: call sub_142ch ;13c7 cd 2c 14 l13cah: jp l1428h ;13ca c3 28 14 l13cdh: cp "P" ;13cd fe 50 . P jp nz,l13e6h ;13cf c2 e6 13 call getnum ;13d2 ld de,(turphi) ;13d5 ed 5b 58 38 . [ X 8 add hl,de ;13d9 19 call sub_0fa9h ;13da cd a9 0f ld (turphi),hl ;13dd 22 58 38 call sub_142ch ;13e0 cd 2c 14 jp l1428h ;13e3 c3 28 14 l13e6h: cp "D" ;13e6 fe 44 . D jp nz,l13f3h ;13e8 c2 f3 13 ld a,1 ;13eb 3e 01 > ld (turdo),a ;13ed 32 60 38 jp l1428h ;13f0 c3 28 14 l13f3h: cp "U" ;13f3 fe 55 jp nz,l1400h ;13f5 c2 00 14 ld a,0 ;13f8 3e 00 ld (turdo),a ;13fa 32 60 38 jp l1428h ;13fd c3 28 14 l1400h: cp "T" ;1400 fe 54 . T jp nz,l1428h ;1402 c2 28 14 l1405h: call getin ;1405 jp c,l1405h ;1408 da 05 14 cp "0" ;140b fe 30 jp nz,l141eh ;140d c2 1e 14 ld a,0 ;1410 3e 00 ld (flip),a ;1412 32 6d 38 ld (viewpage),a ;1415 32 86 38 call sub_012ch ;1418 cd 2c 01 jp l1428h ;141b c3 28 14 l141eh: cp "1" ;141e fe 31 jp nz,l1428h ;1420 c2 28 14 ld a,1 ;1423 3e 01 ld (flip),a ;1425 32 6d 38 l1428h: jp l12fch ;1428 c3 fc 12 l142bh: ret ;142b c9 sub_142ch: ld hl,(tur1x) ;142c 2a 5a 38 ld de,(tur1y) ;142f ed 5b 5c 38 call sub_14eeh ;1433 cd ee 14 call moveto ;1436 ld a,1 ;1439 3e 01 > ld (wrtpage),a ;143b 32 87 38 call sub_012ch ;143e cd 2c 01 call sub_023ah ;1441 cd 3a 02 call sub_146fh ;1444 cd 6f 14 ld hl,(turphi) ;1447 2a 58 38 ld (tur1phi),hl ;144a 22 5e 38 ld hl,(turx) ;144d 2a 54 38 ld (tur1x),hl ;1450 22 5a 38 ld de,(tury) ;1453 ed 5b 56 38 ld (tur1y),de ;1457 ed 53 5c 38 call sub_14eeh ;145b cd ee 14 call moveto ;145e call sub_0236h ;1461 cd 36 02 call sub_146fh ;1464 cd 6f 14 xor a ;1467 af ld (wrtpage),a ;1468 32 87 38 call sub_012ch ;146b cd 2c 01 ret ;146e c9 sub_146fh: ld hl,(tur1phi) ;146f 2a 5e 38 xor a ;1472 af ld b,010h ;1473 06 10 l1475h: sla l ;1475 cb 25 rl h ;1477 cb 14 rla ;1479 17 cp "-" ;147a fe 2d . - jp c,l1483h ;147c da 83 14 set 0,l ;147f cb c5 sub "-" ;1481 d6 2d . - l1483h: dec b ;1483 05 jp nz,l1475h ;1484 c2 75 14 ld h,0 ;1487 26 00 & ld a,l ;1489 7d } and 7 ;148a e6 07 ld l,a ;148c 6f o add hl,hl ;148d add hl,hl ;148e add hl,hl ;148f ld de,table_14a4h ;1490 11 a4 14 add hl,de ;1493 19 ld e,8 ;1494 1e 08 l1496h: ld a,(hl) ;1496 7e ~ or a ;1497 b7 jp z,l149eh ;1498 ca 9e 14 call cmd ;149b cd bc 00 l149eh: inc hl ;149e 23 # dec e ;149f 1d jp nz,l1496h ;14a0 c2 96 14 ret ;14a3 c9 table_14a4h: db $fa db $fd db $ff db $fa db 0 db 0 db 0 db 0 db $d3 db $d0 db $d0 db $d4 db $d4 db $d3 db 0 db 0 db $fe db $f9 db $fd db $fe db 0 db 0 db 0 db 0 db $d7 db $d2 db $d2 db $d0 db $d0 db $d7 db 0 db 0 db $fc db $fb db $f9 db $fc db 0 db 0 db 0 db 0 db $d5 db $d6 db $d6 db $d2 db $d2 db $d5 db 0 db 0 db $f8 db $ff db $fb db $f8 db 0 db 0 db 0 db 0 ;14dc db $d1 db $d4 db $d4 db $d6 db $d6 db $d1 db 0 db 0 sub_14e4h: call getnum ;14e4 push af ;14e7 f5 add hl,hl ;14e8 hl *= 16 add hl,hl ;14e9 add hl,hl ;14ea add hl,hl ;14eb pop af ;14ec f1 ret ;14ed c9 sub_14eeh: push bc ;14ee c5 ld b,4 ;14ef 06 04 l14f1h: sra h ;14f1 cb 2c . , rr l ;14f3 cb 1d dec b ;14f5 05 jp nz,l14f1h ;14f6 c2 f1 14 ld a,(teilflag) ;14f9 3a 61 38 : a 8 cp 1 ;14fc fe 01 jp nz,l1506h ;14fe c2 06 15 ld b,5 ;1501 06 05 jp l1508h ;1503 c3 08 15 l1506h: ld b,4 ;1506 06 04 l1508h: sra d ;1508 cb 2a . * rr e ;150a cb 1b dec b ;150c 05 jp nz,l1508h ;150d c2 08 15 pop bc ;1510 c1 ret ;1511 c9 l1512h: xor a ;1512 af ld (f1on),a ;1513 32 4d 38 ld (flip1),a ;1516 32 6b 38 2 k 8 ld (flip),a ;1519 32 6d 38 ld (wrtpage),a ;151c 32 87 38 ld (viewpage),a ;151f 32 86 38 ld hl,start1 ;1522 21 00 00 ! ld (offx),hl ;1525 22 43 38 " C 8 ld (offy),hl ;1528 22 45 38 " E 8 ld a,2 ;152b 3e 02 > ld (scaly),a ;152d 32 48 38 2 H 8 ld a,1 ;1530 3e 01 > ld (scalx),a ;1532 32 47 38 2 G 8 call getnum ;1535 jp c,l1569h ;1538 da 69 15 . i ld (offx),hl ;153b 22 43 38 " C 8 call getnum ;153e jp c,l1569h ;1541 da 69 15 . i ld (offy),hl ;1544 22 45 38 " E 8 call getnum ;1547 jp c,l1569h ;154a da 69 15 . i ld a,l ;154d 7d } ld (scalx),a ;154e 32 47 38 2 G 8 call getnum ;1551 jp c,l1569h ;1554 da 69 15 . i ld a,l ;1557 7d } ld (scaly),a ;1558 32 48 38 2 H 8 call getnum ;155b jp c,l1569h ;155e da 69 15 . i ld a,1 ;1561 3e 01 > ld (flip),a ;1563 32 6d 38 ld (flipcnt),a ;1566 32 6c 38 2 l 8 l1569h: call clrall ;1569 call sub_012ch ;156c cd 2c 01 call sub_18d1h ;156f cd d1 18 l1572h: xor a ;1572 af ld (pmode),a ;1573 32 53 38 2 S 8 l1576h: call getin ;1576 jr c,l1576h ;1579 38 fb 8 cp 080h ;157b fe 80 jr nc,l15a1h ;157d 30 22 0 " cp asc_space ;157f fe 20 jr c,l15a1h ;1581 38 1e 8 call cmd ;1583 cd bc 00 ld hl,(xalt) ;1586 2a 3e 38 * > 8 ld de,l000ch ;1589 11 0c 00 add hl,de ;158c 19 ld a,h ;158d 7c | and 3 ;158e e6 03 ld h,a ;1590 67 g ld (xalt),hl ;1591 22 3e 38 " > 8 ld de,(yalt) ;1594 ed 5b 40 38 . [ @ 8 call sub_19afh ;1598 cd af 19 call sub_16b7h ;159b cd b7 16 jp l16abh ;159e c3 ab 16 l15a1h: cp 8 ;15a1 fe 08 jr nz,l15c2h ;15a3 20 1d ld hl,(xalt) ;15a5 2a 3e 38 * > 8 ld de,l000ch ;15a8 11 0c 00 xor a ;15ab af sbc hl,de ;15ac ed 52 ld a,h ;15ae 7c | and 3 ;15af e6 03 ld h,a ;15b1 67 g ld (xalt),hl ;15b2 22 3e 38 " > 8 ld de,(yalt) ;15b5 ed 5b 40 38 . [ @ 8 call sub_19afh ;15b9 cd af 19 call sub_16b7h ;15bc cd b7 16 jp l16abh ;15bf c3 ab 16 l15c2h: cp 00bh ;15c2 fe 0b jr nz,l15e1h ;15c4 20 1b ld hl,(yalt) ;15c6 2a 40 38 * @ 8 ld de,l001eh+2 ;15c9 11 20 00 add hl,de ;15cc 19 ld a,h ;15cd 7c | and 3 ;15ce e6 03 ld h,a ;15d0 67 g ld (yalt),hl ;15d1 22 40 38 " @ 8 ex de,hl ;15d4 eb ld hl,(xalt) ;15d5 2a 3e 38 * > 8 call sub_19afh ;15d8 cd af 19 call sub_16b7h ;15db cd b7 16 jp l16abh ;15de c3 ab 16 l15e1h: cp asc_esc ;15e1 jr nz,l1651h ;15e3 20 6c l l15e5h: call getin ;15e5 jr c,l15e5h ;15e8 38 fb 8 cp 00ch ;15ea fe 0c jr nz,l15f7h ;15ec 20 09 call clrall ;15ee call sub_18d1h ;15f1 cd d1 18 jp l164eh ;15f4 c3 4e 16 . N l15f7h: cp 01ah ;15f7 fe 1a jr nz,l15feh ;15f9 20 03 jp l17f0h ;15fb c3 f0 17 l15feh: cp asc_fs ;15fe fe 1c jr nz,l1605h ;1600 20 03 jp l1822h ;1602 c3 22 18 . " l1605h: cp 5 ;1605 fe 05 jr nz,l1616h ;1607 20 0d ld hl,(xalt) ;1609 2a 3e 38 * > 8 ld de,(yalt) ;160c ed 5b 40 38 . [ @ 8 call sub_17f3h ;1610 cd f3 17 jp l164eh ;1613 c3 4e 16 . N l1616h: cp asc_esc ;1616 jr nz,l164eh ;1618 20 34 4 l161ah: call getin ;161a jr c,l161ah ;161d 38 fb 8 cp "A" ;161f fe 41 . A jr nz,l1626h ;1621 20 03 jp l16aeh ;1623 c3 ae 16 l1626h: cp "G" ;1626 fe 47 . G jr nz,l1630h ;1628 20 06 call sub_09f4h ;162a cd f4 09 jp l164eh ;162d c3 4e 16 . N l1630h: cp "C" ;1630 fe 43 . C jr nz,l163ah ;1632 20 06 call esc_esc_C_Durchgang_Modus ;1634 cd 1e 1a jp l164eh ;1637 c3 4e 16 . N l163ah: cp "R" ;163a fe 52 jr nz,l1645h ;163c 20 07 xor a ;163e af ld (flagtro),a ;163f 32 62 38 2 b 8 jp l164eh ;1642 c3 4e 16 . N l1645h: cp "P" ;1645 fe 50 . P jr nz,l164eh ;1647 20 05 ld a,1 ;1649 3e 01 > ld (flagtro),a ;164b 32 62 38 2 b 8 l164eh: jp l16abh ;164e c3 ab 16 l1651h: cp asc_cr ;1651 fe 0d jp nz,l1669h ;1653 c2 69 16 . i ld hl,start1 ;1656 21 00 00 ! ld (xalt),hl ;1659 22 3e 38 " > 8 ld de,(yalt) ;165c ed 5b 40 38 . [ @ 8 call sub_19afh ;1660 cd af 19 call sub_16b7h ;1663 cd b7 16 jp l16abh ;1666 c3 ab 16 l1669h: cp asc_lf ;1669 fe 0a jp nz,l1693h ;166b c2 93 16 ld hl,(yalt) ;166e 2a 40 38 * @ 8 ld de,l001eh+2 ;1671 11 20 00 xor a ;1674 af sbc hl,de ;1675 ed 52 bit 7,h ;1677 cb 7c . | jp z,l1682h ;1679 ca 82 16 call sub_18d1h ;167c cd d1 18 jp l1690h ;167f c3 90 16 l1682h: ld (yalt),hl ;1682 22 40 38 " @ 8 ld de,(xalt) ;1685 ed 5b 3e 38 . [ > 8 ex de,hl ;1689 eb call sub_19afh ;168a cd af 19 call sub_16b7h ;168d cd b7 16 l1690h: jp l16abh ;1690 c3 ab 16 l1693h: cp asc_fs ;1693 fe 1c jp nz,l169bh ;1695 c2 9b 16 jp l1822h ;1698 c3 22 18 . " l169bh: cp asc_gs ;169b fe 1d jp nz,l16a3h ;169d c2 a3 16 jp l1827h ;16a0 c3 27 18 . ' l16a3h: cp asc_rs ;16a3 fe 1e jp nz,l16abh ;16a5 c2 ab 16 jp l170fh ;16a8 c3 0f 17 l16abh: jp l1572h ;16ab c3 72 15 l16aeh: ld a,0 ;16ae 3e 00 > ld (flip),a ;16b0 32 6d 38 ld (flipcnt),a ;16b3 32 6c 38 2 l 8 ret ;16b6 c9 sub_16b7h: ld a,(flip) ;16b7 3a 6d 38 : m 8 or a ;16ba b7 jp nz,l16c6h ;16bb c2 c6 16 push hl ;16be e5 push de ;16bf d5 call moveto ;16c0 pop de ;16c3 d1 pop hl ;16c4 e1 ret ;16c5 c9 l16c6h: push hl ;16c6 e5 push de ;16c7 d5 ld a,1 ;16c8 3e 01 > ld (wrtpage),a ;16ca 32 87 38 call sub_012ch ;16cd cd 2c 01 ld a,(f1on) ;16d0 3a 4d 38 : M 8 cp 1 ;16d3 fe 01 jp nz,l16e8h ;16d5 c2 e8 16 call sub_023ah ;16d8 cd 3a 02 ld hl,(f1x) ;16db 2a 4e 38 * N 8 ld de,(f1y) ;16de ed 5b 50 38 . [ P 8 call moveto ;16e2 call sub_0f75h ;16e5 cd 75 0f l16e8h: pop de ;16e8 d1 pop hl ;16e9 e1 ld a,1 ;16ea 3e 01 > ld (f1on),a ;16ec 32 4d 38 ld (f1x),hl ;16ef 22 4e 38 " N 8 ld (f1y),de ;16f2 ed 53 50 38 . S P 8 call moveto ;16f6 call sub_0236h ;16f9 cd 36 02 call sub_0f75h ;16fc cd 75 0f ld a,0 ;16ff 3e 00 > ld (wrtpage),a ;1701 32 87 38 call sub_012ch ;1704 cd 2c 01 ld hl,(f1x) ;1707 2a 4e 38 * N 8 ld de,(f1y) ;170a ed 5b 50 38 . [ P 8 ret ;170e c9 l170fh: ld a,0 ;170f 3e 00 > ld (pflag),a ;1711 32 52 38 2 R 8 l1714h: call getin ;1714 jp c,l1714h ;1717 da 14 17 cp asc_cr ;171a fe 0d jp z,l1572h ;171c ca 72 15 cp asc_us ;171f fe 1f jp z,l1572h ;1721 ca 72 15 cp asc_esc ;1724 jp nz,l173ch ;1726 c2 3c 17 . < l1729h: call getin ;1729 jr c,l1729h ;172c 38 fb 8 cp 00ch ;172e fe 0c jp nz,l17edh ;1730 c2 ed 17 call clrall ;1733 call sub_18d1h ;1736 cd d1 18 jp l1572h ;1739 c3 72 15 l173ch: cp "E" ;173c fe 45 jp z,l1764h ;173e cp "D" ;1741 fe 44 jp z,l1764h ;1743 cp "F" ;1746 fe 46 jp z,l1764h ;1748 cp "B" ;174b fe 42 jp z,l1764h ;174d cp "J" ;1750 fe 4a jp z,l1764h ;1752 cp "H" ;1755 fe 48 jp z,l1764h ;1757 cp "I" ;175a fe 49 jp z,l1764h ;175c cp "A" ;175f fe 41 jp nz,l17d6h ;1761 c2 d6 17 l1764h: ld hl,(xgra) ;1764 2a 49 38 ld de,(ygra) ;1767 ed 5b 4b 38 cp "A" ;176b fe 41 jp nz,l1774h ;176d c2 74 17 inc hl ;1770 23 # jp l17b4h ;1771 c3 b4 17 l1774h: cp "E" ;1774 fe 45 . E jp nz,l177eh ;1776 c2 7e 17 . ~ inc de ;1779 13 inc hl ;177a 23 # jp l17b4h ;177b c3 b4 17 l177eh: cp "D" ;177e fe 44 . D jp nz,l1787h ;1780 c2 87 17 inc de ;1783 13 jp l17b4h ;1784 c3 b4 17 l1787h: cp "F" ;1787 fe 46 . F jp nz,l1791h ;1789 c2 91 17 inc de ;178c 13 dec hl ;178d 2b + jp l17b4h ;178e c3 b4 17 l1791h: cp "B" ;1791 fe 42 . B jp nz,l179ah ;1793 c2 9a 17 dec hl ;1796 2b + jp l17b4h ;1797 c3 b4 17 l179ah: cp "J" ;179a fe 4a . J jp nz,l17a4h ;179c c2 a4 17 dec hl ;179f 2b + dec de ;17a0 1b jp l17b4h ;17a1 c3 b4 17 l17a4h: cp "H" ;17a4 fe 48 . H jp nz,l17adh ;17a6 c2 ad 17 dec de ;17a9 1b jp l17b4h ;17aa c3 b4 17 l17adh: cp "I" ;17ad fe 49 . I jp nz,l17b4h ;17af c2 b4 17 inc hl ;17b2 23 # dec de ;17b3 1b l17b4h: ld (xalt),hl ;17b4 22 3e 38 " > 8 ld (xgra),hl ;17b7 22 49 38 " I 8 ld (yalt),de ;17ba ed 53 40 38 . S @ 8 ld (ygra),de ;17be ed 53 4b 38 . S K 8 call sub_19afh ;17c2 cd af 19 call sub_16b7h ;17c5 cd b7 16 ld a,(pflag) ;17c8 3a 52 38 : R 8 cp 1 ;17cb fe 01 jp nz,l17d3h ;17cd c2 d3 17 call drawto ;17d0 l17d3h: jp l17edh ;17d3 c3 ed 17 l17d6h: cp "P" ;17d6 fe 50 jp nz,l17e3h ;17d8 c2 e3 17 ld a,1 ;17db 3e 01 > ld (pflag),a ;17dd 32 52 38 2 R 8 jp l17edh ;17e0 c3 ed 17 l17e3h: cp asc_space ;17e3 fe 20 . jp nz,l17edh ;17e5 c2 ed 17 ld a,0 ;17e8 3e 00 > ld (pflag),a ;17ea 32 52 38 2 R 8 l17edh: jp l1714h ;17ed c3 14 17 l17f0h: jp l1572h ;17f0 c3 72 15 sub_17f3h: ld c,038h ;17f3 0e 38 . 8 call co ;17f5 cd d0 03 call sub_1804h ;17f8 cd 04 18 ex de,hl ;17fb eb call sub_1804h ;17fc cd 04 18 ld c,00dh ;17ff 0e 0d jp co ;1801 c3 d0 03 sub_1804h: push hl ;1804 e5 ld b,5 ;1805 06 05 l1807h: sra h ;1807 cb 2c . , rr l ;1809 cb 1d dec b ;180b 05 jp nz,l1807h ;180c c2 07 18 ld a,l ;180f 7d } and 01fh ;1810 e6 1f or 020h ;1812 f6 20 . ld c,a ;1814 4f O call co ;1815 cd d0 03 pop hl ;1818 e1 ld a,l ;1819 7d } and 01fh ;181a e6 1f or 020h ;181c f6 20 . ld c,a ;181e 4f O jp co ;181f c3 d0 03 l1822h: ld a,1 ;1822 3e 01 > ld (pmode),a ;1824 32 53 38 2 S 8 l1827h: xor a ;1827 af ld (tdark),a ;1828 32 42 38 2 B 8 l182bh: call getin ;182b jp c,l182bh ;182e da 2b 18 . + cp 7 ;1831 fe 07 jp nz,l183eh ;1833 c2 3e 18 . > ld a,1 ;1836 3e 01 > ld (tdark),a ;1838 32 42 38 2 B 8 jp l18ceh ;183b c3 ce 18 l183eh: cp asc_cr ;183e fe 0d jp z,l1572h ;1840 ca 72 15 cp asc_us ;1843 fe 1f jp z,l1572h ;1845 ca 72 15 cp asc_gs ;1848 fe 1d jp nz,l1855h ;184a c2 55 18 ld a,0 ;184d 3e 00 > ld (tdark),a ;184f 32 42 38 2 B 8 jp l18ceh ;1852 c3 ce 18 l1855h: cp asc_fs ;1855 fe 1c jp z,l1822h ;1857 ca 22 18 . " cp asc_rs ;185a fe 1e jp z,l170fh ;185c ca 0f 17 cp asc_esc ;185f jp nz,l1897h ;1861 c2 97 18 l1864h: call getin ;1864 jp c,l1864h ;1867 da 64 18 . d cp 00ch ;186a fe 0c jp nz,l1878h ;186c c2 78 18 . x call clrall ;186f call sub_18d1h ;1872 cd d1 18 jp l1572h ;1875 c3 72 15 l1878h: cp 5 ;1878 fe 05 jp nz,l188ah ;187a c2 8a 18 ld hl,(xgra) ;187d 2a 49 38 * I 8 ld de,(ygra) ;1880 ed 5b 4b 38 . [ K 8 call sub_17f3h ;1884 cd f3 17 jp l1894h ;1887 c3 94 18 l188ah: cp 01ah ;188a fe 1a jp z,l17f0h ;188c ca f0 17 cp asc_fs ;188f fe 1c jp z,l1822h ;1891 ca 22 18 . " l1894h: jp l18ceh ;1894 c3 ce 18 l1897h: cp 080h ;1897 fe 80 jp nc,l18ceh ;1899 d2 ce 18 cp asc_space ;189c fe 20 . jp c,l18ceh ;189e da ce 18 call sub_18ech ;18a1 cd ec 18 call sub_19afh ;18a4 cd af 19 ld a,(tdark) ;18a7 3a 42 38 : B 8 or a ;18aa b7 jp nz,l18b4h ;18ab c2 b4 18 call sub_16b7h ;18ae cd b7 16 jp l18c9h ;18b1 c3 c9 18 l18b4h: push hl ;18b4 e5 push de ;18b5 d5 ld a,(pmode) ;18b6 3a 53 38 : S 8 cp 1 ;18b9 fe 01 jp nz,l18c1h ;18bb c2 c1 18 call moveto ;18be l18c1h: call drawto ;18c1 pop de ;18c4 d1 pop hl ;18c5 e1 call sub_16b7h ;18c6 cd b7 16 l18c9h: ld a,1 ;18c9 3e 01 > ld (tdark),a ;18cb 32 42 38 2 B 8 l18ceh: jp l182bh ;18ce c3 2b 18 . + sub_18d1h: ld hl,start1 ;18d1 21 00 00 ld (xalt),hl ;18d4 22 3e 38 ld (xgra),hl ;18d7 22 49 38 ld de,l02ffh ;18da 11 ff 02 ld (yalt),de ;18dd ed 53 40 38 ld (ygra),de ;18e1 ed 53 4b 38 call sub_19afh ;18e5 cd af 19 call moveto ;18e8 ret sub_18ech: ld hl,(xgra) ;18ec 2a 49 38 * I 8 ld de,(ygra) ;18ef ed 5b 4b 38 cp "@" ;18f3 fe 40 . @ jp nc,l1900h ;18f5 d2 00 19 cp asc_space ;18f8 fe 20 . jp c,l1900h ;18fa da 00 19 jp l1916h ;18fd c3 16 19 l1900h: cp 060h ;1900 fe 60 jp nc,l190dh ;1902 d2 0d 19 cp "@" ;1905 fe 40 . @ jp c,l190dh ;1907 da 0d 19 jp l1998h ;190a c3 98 19 l190dh: cp 080h ;190d fe 80 ret nc ;190f d0 cp 060h ;1910 fe 60 ret c ;1912 d8 jp l194ch ;1913 c3 4c 19 l1916h: and 01fh ;1916 e6 1f sla e ;1918 cb 23 multiply by 8 sla e ;191a cb 23 sla e ;191c cb 23 ld d,a ;191e 57 W ld b,3 ;191f 06 03 l1921h: sra d ;1921 cb 2a . * rr e ;1923 cb 1b djnz l1921h ;1925 10 fa l1927h: call getin ;1927 jr c,l1927h ;192a 38 fb 8 cp "@" ;192c fe 40 . @ jp nc,l1939h ;192e d2 39 19 . 9 cp asc_space ;1931 fe 20 . jp c,l1939h ;1933 da 39 19 . 9 jp l197ch ;1936 c3 7c 19 . | l1939h: cp 060h ;1939 fe 60 jp nc,l1946h ;193b d2 46 19 . F cp "@" ;193e fe 40 . @ jp c,l1946h ;1940 da 46 19 . F jp l1998h ;1943 c3 98 19 l1946h: cp 080h ;1946 fe 80 ret nc ;1948 d0 cp 060h ;1949 fe 60 ret c ;194b d8 l194ch: and 01fh ;194c e6 1f ld b,a ;194e 47 G ld a,e ;194f 7b { and 0e0h ;1950 e6 e0 or b ;1952 b0 ld e,a ;1953 5f _ l1954h: call getin ;1954 jr c,l1954h ;1957 38 fb 8 cp "@" ;1959 fe 40 . @ jp nc,l1966h ;195b d2 66 19 . f cp asc_space ;195e fe 20 . jp c,l1966h ;1960 da 66 19 . f jp l197ch ;1963 c3 7c 19 . | l1966h: cp 080h ;1966 fe 80 jp nc,l1973h ;1968 d2 73 19 . s cp 060h ;196b fe 60 jp c,l1973h ;196d da 73 19 . s jp l194ch ;1970 c3 4c 19 l1973h: cp 060h ;1973 fe 60 ret nc ;1975 d0 cp "@" ;1976 fe 40 . @ ret c ;1978 d8 jp l1998h ;1979 c3 98 19 l197ch: and 01fh ;197c e6 1f sla l ;197e cb 25 multiply by 8 sla l ;1980 cb 25 sla l ;1982 cb 25 ld h,a ;1984 67 g ld b,3 ;1985 06 03 l1987h: sra h ;1987 cb 2c . , rr l ;1989 cb 1d djnz l1987h ;198b 10 fa l198dh: call getin ;198d jr c,l198dh ;1990 38 fb 8 cp 060h ;1992 fe 60 ret nc ;1994 d0 cp "@" ;1995 fe 40 . @ ret c ;1997 d8 l1998h: and 01fh ;1998 e6 1f ld b,a ;199a 47 G ld a,l ;199b 7d } and 0e0h ;199c e6 e0 or b ;199e b0 ld l,a ;199f 6f o ld (xgra),hl ;19a0 22 49 38 " I 8 ld (xalt),hl ;19a3 22 3e 38 " > 8 ld (ygra),de ;19a6 ed 53 4b 38 . S K 8 ld (yalt),de ;19aa ed 53 40 38 . S @ 8 ret ;19ae c9 sub_19afh: ld bc,(offx) ;19af ed 4b 43 38 . K C 8 add hl,bc ;19b3 09 ex de,hl ;19b4 eb ld bc,(offy) ;19b5 ed 4b 45 38 . K E 8 add hl,bc ;19b9 09 ex de,hl ;19ba eb ld a,(scalx) ;19bb 3a 47 38 : G 8 or a ;19be b7 jp z,l19cbh ;19bf ca cb 19 ld b,a ;19c2 47 G l19c3h: sra h ;19c3 cb 2c . , rr l ;19c5 cb 1d dec b ;19c7 05 jp nz,l19c3h ;19c8 c2 c3 19 l19cbh: ld a,(scaly) ;19cb 3a 48 38 : H 8 or a ;19ce b7 jp z,l19dbh ;19cf ca db 19 ld b,a ;19d2 47 G l19d3h: sra d ;19d3 cb 2a . * rr e ;19d5 cb 1b dec b ;19d7 05 jp nz,l19d3h ;19d8 c2 d3 19 l19dbh: ret ;19db c9 l19dch: ld a,(flagtro) ;19dc 3a 62 38 : b 8 or a ;19df b7 ret nz ;19e0 c0 ld a,1 ;19e1 3e 01 > ld (flagtro),a ;19e3 32 62 38 2 b 8 push hl ;19e6 e5 ld hl,l1a18h ;19e7 21 18 1a ! ex (sp),hl ;19ea e3 l19ebh: call refresh ;19eb cd 60 1a . ` jp c,l19ebh ;19ee da eb 19 cp asc_esc ;19f1 jp nz,l1a15h ;19f3 c2 15 1a l19f6h: call refresh ;19f6 cd 60 1a . ` jp c,l19f6h ;19f9 da f6 19 cp asc_esc ;19fc jp nz,l1a15h ;19fe c2 15 1a l1a01h: call refresh ;1a01 cd 60 1a . ` jp c,l1a01h ;1a04 da 01 1a cp "C" ;1a07 fe 43 . C jp nz,l1a0fh ;1a09 c2 0f 1a jp l1a15h ;1a0c c3 15 1a l1a0fh: cp "R" ;1a0f fe 52 jp nz,l1a15h ;1a11 c2 15 1a ret ;1a14 c9 l1a15h: jp l19ebh ;1a15 c3 eb 19 l1a18h: ld a,0 ;1a18 3e 00 > ld (flagtro),a ;1a1a 32 62 38 2 b 8 ret ;1a1d c9 esc_esc_C_Durchgang_Modus: ld a,(flagtro) ;1a1e 3a 62 38 : b 8 or a ;1a21 b7 ret nz ;1a22 c0 ld a,1 ;1a23 3e 01 > ld (flagtro),a ;1a25 32 62 38 2 b 8 push hl ;1a28 e5 ld hl,l1a5ah ;1a29 21 5a 1a ex (sp),hl ;1a2c e3 l1a2dh: call getin ;1a2d jp c,l1a2dh ;1a30 da 2d 1a . - cp asc_esc ;1a33 jp nz,l1a57h ;1a35 c2 57 1a l1a38h: call getin ;1a38 jp c,l1a38h ;1a3b da 38 1a . 8 cp asc_esc ;1a3e jp nz,l1a57h ;1a40 c2 57 1a l1a43h: call getin ;1a43 jp c,l1a43h ;1a46 da 43 1a . C cp "C" ;1a49 fe 43 . C jp nz,l1a51h ;1a4b c2 51 1a . Q jp l1a57h ;1a4e c3 57 1a l1a51h: cp "R" ;1a51 fe 52 jp nz,l1a57h ;1a53 c2 57 1a ret ;1a56 c9 l1a57h: jp l1a2dh ;1a57 c3 2d 1a . - l1a5ah: ld a,0 ;1a5a 3e 00 > ld (flagtro),a ;1a5c 32 62 38 2 b 8 ret ;1a5f c9 refresh: call get ;1a60 cd 59 04 . Y l1a63h: jp nc,l1a6fh ;1a63 d2 6f 1a call sub_04d4h ;1a66 cd d4 04 call get ;1a69 cd 59 04 . Y jp l1a63h ;1a6c c3 63 1a . c l1a6fh: jp nc,l1a76h ;1a6f d2 76 1a . v and 07fh ;1a72 e6 7f scf ;1a74 37 7 ret ;1a75 c9 l1a76h: and 07fh ;1a76 e6 7f ret ;1a78 c9 sub_1a79h: call refresh ;1a79 cd 60 1a . ` ld hl,04611h ;1a7c 21 11 46 ! . F cp (hl) ;1a7f be jp nz,l1a92h ;1a80 c2 92 1a call refresh ;1a83 cd 60 1a . ` cp 035h ;1a86 fe 35 . 5 ret nc ;1a88 d0 cp "0" ;1a89 fe 30 . 0 ret c ;1a8b d8 and 00fh ;1a8c e6 0f ld (curatt),a ;1a8e 32 83 38 ret ;1a91 c9 l1a92h: inc hl ;1a92 23 # cp (hl) ;1a93 be jp nz,l1a9fh ;1a94 c2 9f 1a call refresh ;1a97 cd 60 1a . ` ld a,020h ;1a9a 3e 20 > jp l1edeh ;1a9c c3 de 1e l1a9fh: inc hl ;1a9f 23 # cp (hl) ;1aa0 be jp nz,l1ac5h ;1aa1 c2 c5 1a call refresh ;1aa4 cd 60 1a . ` sub 020h ;1aa7 d6 20 . cp 018h ;1aa9 fe 18 jp nc,l1ab6h ;1aab d2 b6 1a cp 0 ;1aae fe 00 jp c,l1ab6h ;1ab0 da b6 1a ld (cury),a ;1ab3 32 85 38 l1ab6h: call refresh ;1ab6 cd 60 1a . ` sub 020h ;1ab9 d6 20 . cp "P" ;1abb fe 50 . P ret nc ;1abd d0 cp 0 ;1abe fe 00 ret c ;1ac0 d8 ld (curx),a ;1ac1 32 84 38 ret ;1ac4 c9 l1ac5h: inc hl ;1ac5 23 # cp (hl) ;1ac6 be jp nz,l1ae1h ;1ac7 c2 e1 1a ld a,(cury) ;1aca 3a 85 38 : . 8 add a,020h ;1acd c6 20 . ld c,a ;1acf 4f O call co ;1ad0 cd d0 03 ld a,(curx) ;1ad3 3a 84 38 : . 8 add a,020h ;1ad6 c6 20 . ld c,a ;1ad8 4f O call co ;1ad9 cd d0 03 ld c,00dh ;1adc 0e 0d jp co ;1ade c3 d0 03 l1ae1h: inc hl ;1ae1 23 # cp (hl) ;1ae2 be jp nz,l1af6h ;1ae3 c2 f6 1a call refresh ;1ae6 cd 60 1a . ` cp 04ch ;1ae9 fe 4c jr nz,l1af1h ;1aeb 20 04 ld a,1 ;1aed 3e 01 > jr l1af2h ;1aef 18 01 l1af1h: xor a ;1af1 af l1af2h: ld (lokal),a ;1af2 32 68 38 2 h 8 ret ;1af5 c9 l1af6h: inc hl ;1af6 23 # cp (hl) ;1af7 be jp z,l1c0bh ;1af8 ca 0b 1c inc hl ;1afb 23 # cp (hl) ;1afc be jp z,l1c7fh ;1afd ca 7f 1c inc hl ;1b00 23 # cp (hl) ;1b01 be jp z,l1d00h ;1b02 ca 00 1d inc hl ;1b05 23 # cp (hl) ;1b06 be jp z,l1d9ah ;1b07 ca 9a 1d inc hl ;1b0a 23 # cp (hl) ;1b0b be jp z,l1b81h ;1b0c ca 81 1b inc hl ;1b0f 23 # cp (hl) ;1b10 be jp z,l1b81h ;1b11 ca 81 1b inc hl ;1b14 23 # cp (hl) ;1b15 be jp z,l1bc3h ;1b16 ca c3 1b inc hl ;1b19 23 # cp (hl) ;1b1a be jp z,l1bc3h ;1b1b ca c3 1b inc hl ;1b1e 23 # cp (hl) ;1b1f be jp nz,l1b33h ;1b20 c2 33 1b . 3 call refresh ;1b23 cd 60 1a . ` and 00fh ;1b26 e6 0f ld b,a ;1b28 47 G ld a,(optflg) ;1b29 3a 67 38 : g 8 and 0f0h ;1b2c e6 f0 or b ;1b2e b0 ld (optflg),a ;1b2f 32 67 38 2 g 8 ret ;1b32 c9 l1b33h: inc hl ;1b33 23 # cp (hl) ;1b34 be jp z,l00f1h ;1b35 ca f1 00 inc hl ;1b38 23 # cp (hl) ;1b39 be jp z,04625h ;1b3a ca 25 46 F inc hl ;1b3d 23 # cp (hl) ;1b3e be jp nz,l1b48h ;1b3f c2 48 1b ld hl,optflg ;1b42 21 67 38 ! g 8 set 7,(hl) ;1b45 cb fe ret ;1b47 c9 l1b48h: inc hl ;1b48 23 # cp (hl) ;1b49 be jp nz,l1b53h ;1b4a c2 53 1b . S ld hl,optflg ;1b4d 21 67 38 ! g 8 res 7,(hl) ;1b50 cb be ret ;1b52 c9 l1b53h: cp asc_esc ;1b53 ret nz ;1b55 c0 call refresh ;1b56 cd 60 1a . ` cp "G" ;1b59 fe 47 . G jp z,sub_09f4h ;1b5b ca f4 09 cp "T" ;1b5e fe 54 . T jp z,l1512h ;1b60 ca 12 15 cp "C" ;1b63 fe 43 . C jp z,l19dch ;1b65 ca dc 19 cp "P" ;1b68 fe 50 . P jr nz,l1b72h ;1b6a 20 06 ld a,1 ;1b6c 3e 01 > ld (flagtro),a ;1b6e 32 62 38 2 b 8 ret ;1b71 c9 l1b72h: cp "R" ;1b72 fe 52 jr nz,l1b7bh ;1b74 20 05 xor a ;1b76 af ld (flagtro),a ;1b77 32 62 38 2 b 8 ret ;1b7a c9 l1b7bh: cp 04ch ;1b7b fe 4c jp z,l12b4h ;1b7d ca b4 12 ret ;1b80 c9 l1b81h: ld a,0 ;1b81 3e 00 > ld (viewpage),a ;1b83 32 86 38 ld a,1 ;1b86 3e 01 > ld (wrtpage),a ;1b88 32 87 38 call sub_012ch ;1b8b cd 2c 01 call sub_014eh ;1b8e cd 4e 01 . N call sub_023ah ;1b91 cd 3a 02 call sub_06d1h ;1b94 cd d1 06 ld a,1 ;1b97 3e 01 > ld (viewpage),a ;1b99 32 86 38 ld a,0 ;1b9c 3e 00 > ld (wrtpage),a ;1b9e 32 87 38 call sub_012ch ;1ba1 cd 2c 01 call sub_014eh ;1ba4 cd 4e 01 . N call sub_023ah ;1ba7 cd 3a 02 call sub_06d1h ;1baa cd d1 06 call sub_04c5h ;1bad cd c5 04 ld a,(curx) ;1bb0 3a 84 38 : . 8 inc a ;1bb3 3c < ld (bc),a ;1bb4 02 ld a,(curx) ;1bb5 3a 84 38 : . 8 ld b,a ;1bb8 47 G ld a,"P" ;1bb9 3e 50 > P sub b ;1bbb 90 ld b,a ;1bbc 47 G l1bbdh: ld (hl),020h ;1bbd 36 20 6 inc hl ;1bbf 23 # djnz l1bbdh ;1bc0 10 fb ret ;1bc2 c9 l1bc3h: ld a,0 ;1bc3 3e 00 > ld (viewpage),a ;1bc5 32 86 38 ld a,1 ;1bc8 3e 01 > ld (wrtpage),a ;1bca 32 87 38 call sub_012ch ;1bcd cd 2c 01 call sub_014eh ;1bd0 cd 4e 01 . N call sub_023ah ;1bd3 cd 3a 02 call sub_0702h ;1bd6 cd 02 07 ld a,1 ;1bd9 3e 01 > ld (viewpage),a ;1bdb 32 86 38 ld a,0 ;1bde 3e 00 > ld (wrtpage),a ;1be0 32 87 38 call sub_012ch ;1be3 cd 2c 01 call sub_014eh ;1be6 cd 4e 01 . N call sub_023ah ;1be9 cd 3a 02 call sub_0702h ;1bec cd 02 07 call sub_04c5h ;1bef cd c5 04 ld de,0443bh ;1bf2 11 3b 44 . ; D ex de,hl ;1bf5 eb xor a ;1bf6 af sbc hl,de ;1bf7 ed 52 push hl ;1bf9 e5 call sub_04c5h ;1bfa cd c5 04 ld d,h ;1bfd 54 T ld e,l ;1bfe 5d ] inc de ;1bff 13 ld (hl),020h ;1c00 36 20 6 pop bc ;1c02 c1 ld a,b ;1c03 78 x or c ;1c04 b1 jp z,l1c0ah ;1c05 ca 0a 1c ldir ;1c08 ed b0 l1c0ah: ret ;1c0a c9 l1c0bh: ld a,0 ;1c0b 3e 00 > ld (viewpage),a ;1c0d 32 86 38 ld a,1 ;1c10 3e 01 > ld (wrtpage),a ;1c12 32 87 38 call sub_012ch ;1c15 cd 2c 01 call sub_014eh ;1c18 cd 4e 01 . N call sub_023ah ;1c1b cd 3a 02 call sub_06d1h ;1c1e cd d1 06 call sub_014eh ;1c21 cd 4e 01 . N call sub_0236h ;1c24 cd 36 02 gdp_cmd 020h ld a,(curx) ;1c2c 3a 84 38 : . 8 cp "O" ;1c2f fe 4f jr nc,l1c36h ;1c31 30 03 0 call sub_06cah ;1c33 cd ca 06 l1c36h: ld a,1 ;1c36 3e 01 > ld (viewpage),a ;1c38 32 86 38 ld a,0 ;1c3b 3e 00 > ld (wrtpage),a ;1c3d 32 87 38 call sub_012ch ;1c40 cd 2c 01 call sub_014eh ;1c43 cd 4e 01 . N call sub_023ah ;1c46 cd 3a 02 call sub_06d1h ;1c49 cd d1 06 call sub_014eh ;1c4c cd 4e 01 . N call sub_0236h ;1c4f cd 36 02 gdp_cmd 020h ld a,(curx) ;1c57 3a 84 38 : . 8 cp "O" ;1c5a fe 4f jp nc,l1c62h ;1c5c d2 62 1c . b call sub_06cah ;1c5f cd ca 06 l1c62h: call sub_04c5h ;1c62 cd c5 04 ld a,(bc) ;1c65 0a cp "P" ;1c66 fe 50 . P jp nc,l1c6dh ;1c68 d2 6d 1c . m inc a ;1c6b 3c < ld (bc),a ;1c6c 02 l1c6dh: ld a,(curx) ;1c6d 3a 84 38 : . 8 ld b,a ;1c70 47 G ld c,020h ;1c71 0e 20 . l1c73h: ld a,(hl) ;1c73 7e ~ ld (hl),c ;1c74 71 q ld c,a ;1c75 4f O inc hl ;1c76 23 # inc b ;1c77 04 ld a,b ;1c78 78 x cp "P" ;1c79 fe 50 . P jp nz,l1c73h ;1c7b c2 73 1c . s ret ;1c7e c9 l1c7fh: ld a,0 ;1c7f 3e 00 > ld (viewpage),a ;1c81 32 86 38 ld a,1 ;1c84 3e 01 > ld (wrtpage),a ;1c86 32 87 38 call sub_012ch ;1c89 cd 2c 01 call sub_014eh ;1c8c cd 4e 01 . N call sub_023ah ;1c8f cd 3a 02 call sub_06d1h ;1c92 cd d1 06 call sub_014eh ;1c95 cd 4e 01 . N call sub_0236h ;1c98 cd 36 02 ld a,(curx) ;1c9b 3a 84 38 : . 8 push af ;1c9e f5 inc a ;1c9f 3c < cp "P" ;1ca0 fe 50 . P jp nc,l1cabh ;1ca2 d2 ab 1c ld (curx),a ;1ca5 32 84 38 call sub_06d1h ;1ca8 cd d1 06 l1cabh: pop af ;1cab f1 ld (curx),a ;1cac 32 84 38 ld a,1 ;1caf 3e 01 > ld (viewpage),a ;1cb1 32 86 38 ld a,0 ;1cb4 3e 00 > ld (wrtpage),a ;1cb6 32 87 38 call sub_012ch ;1cb9 cd 2c 01 call sub_014eh ;1cbc cd 4e 01 . N call sub_023ah ;1cbf cd 3a 02 call sub_06d1h ;1cc2 cd d1 06 call sub_014eh ;1cc5 cd 4e 01 . N call sub_0236h ;1cc8 cd 36 02 ld a,(curx) ;1ccb 3a 84 38 : . 8 push af ;1cce f5 inc a ;1ccf 3c < cp "P" ;1cd0 fe 50 . P jp nc,l1cdbh ;1cd2 d2 db 1c ld (curx),a ;1cd5 32 84 38 call sub_06d1h ;1cd8 cd d1 06 l1cdbh: pop af ;1cdb f1 ld (curx),a ;1cdc 32 84 38 call sub_04c5h ;1cdf cd c5 04 ld a,(curx) ;1ce2 3a 84 38 : . 8 ld b,a ;1ce5 47 G push hl ;1ce6 e5 pop ix ;1ce7 dd e1 l1ce9h: ld a,b ;1ce9 78 x cp "O" ;1cea fe 4f jp nc,l1cfbh ;1cec d2 fb 1c ld a,(ix+1) ;1cef dd 7e 01 . ~ ld (ix+0),a ;1cf2 dd 77 00 inc ix ;1cf5 dd 23 inc b ;1cf7 04 jp l1ce9h ;1cf8 c3 e9 1c l1cfbh: ld (ix+0),020h ;1cfb dd 36 00 20 ret ;1cff c9 l1d00h: ld a,0 ;1d00 3e 00 > ld (curx),a ;1d02 32 84 38 ld a,0 ;1d05 3e 00 > ld (viewpage),a ;1d07 32 86 38 ld a,1 ;1d0a 3e 01 > ld (wrtpage),a ;1d0c 32 87 38 call sub_012ch ;1d0f cd 2c 01 call sub_023ah ;1d12 cd 3a 02 call sub_014eh ;1d15 cd 4e 01 . N call sub_0702h ;1d18 cd 02 07 call sub_0236h ;1d1b cd 36 02 ld a,(cury) ;1d1e 3a 85 38 : . 8 cp 017h ;1d21 fe 17 jp nc,l1d35h ;1d23 d2 35 1d . 5 push af ;1d26 f5 inc a ;1d27 3c < ld (cury),a ;1d28 32 85 38 call sub_014eh ;1d2b cd 4e 01 . N pop af ;1d2e f1 ld (cury),a ;1d2f 32 85 38 call sub_06fah ;1d32 cd fa 06 l1d35h: ld a,1 ;1d35 3e 01 > ld (viewpage),a ;1d37 32 86 38 ld a,0 ;1d3a 3e 00 > ld (wrtpage),a ;1d3c 32 87 38 call sub_012ch ;1d3f cd 2c 01 call sub_023ah ;1d42 cd 3a 02 call sub_014eh ;1d45 cd 4e 01 . N call sub_0702h ;1d48 cd 02 07 call sub_0236h ;1d4b cd 36 02 ld a,(cury) ;1d4e 3a 85 38 : . 8 cp 017h ;1d51 fe 17 jp nc,l1d65h ;1d53 d2 65 1d . e push af ;1d56 f5 inc a ;1d57 3c < ld (cury),a ;1d58 32 85 38 call sub_014eh ;1d5b cd 4e 01 . N pop af ;1d5e f1 ld (cury),a ;1d5f 32 85 38 call sub_06fah ;1d62 cd fa 06 l1d65h: ld hl,lineptr ;1d65 21 a4 3c ld a,(cury) ;1d68 3a 85 38 : . 8 ld c,a ;1d6b 4f O ld b,0 ;1d6c 06 00 add hl,bc ;1d6e 09 ld a,(cury) ;1d6f 3a 85 38 : . 8 ld b,a ;1d72 47 G ld a,(03cbbh) ;1d73 3a bb 3c : . < ld c,a ;1d76 4f O l1d77h: ld a,b ;1d77 78 x cp 018h ;1d78 fe 18 jp nc,l1d85h ;1d7a d2 85 1d ld a,(hl) ;1d7d 7e ~ ld (hl),c ;1d7e 71 q ld c,a ;1d7f 4f O inc hl ;1d80 23 # inc b ;1d81 04 jp l1d77h ;1d82 c3 77 1d l1d85h: ld a,(cury) ;1d85 3a 85 38 : . 8 ld b,a ;1d88 47 G call sub_06aah ;1d89 cd aa 06 ld a,0 ;1d8c 3e 00 > ld (bc),a ;1d8e 02 ld d,h ;1d8f 54 T ld e,l ;1d90 5d ] inc de ;1d91 13 ld bc,l004eh+1 ;1d92 01 4f 00 ld (hl),020h ;1d95 36 20 6 ldir ;1d97 ed b0 ret ;1d99 c9 l1d9ah: ld a,0 ;1d9a 3e 00 > ld (curx),a ;1d9c 32 84 38 ld a,0 ;1d9f 3e 00 > ld (viewpage),a ;1da1 32 86 38 ld a,1 ;1da4 3e 01 > ld (wrtpage),a ;1da6 32 87 38 call sub_012ch ;1da9 cd 2c 01 call sub_023ah ;1dac cd 3a 02 call sub_014eh ;1daf cd 4e 01 . N call sub_0702h ;1db2 cd 02 07 call sub_0236h ;1db5 cd 36 02 call sub_014eh ;1db8 cd 4e 01 . N ld a,(cury) ;1dbb 3a 85 38 : . 8 cp 017h ;1dbe fe 17 jp nc,l1dcfh ;1dc0 d2 cf 1d push af ;1dc3 f5 inc a ;1dc4 3c < ld (cury),a ;1dc5 32 85 38 call sub_0702h ;1dc8 cd 02 07 pop af ;1dcb f1 ld (cury),a ;1dcc 32 85 38 l1dcfh: ld a,1 ;1dcf 3e 01 > ld (viewpage),a ;1dd1 32 86 38 ld a,0 ;1dd4 3e 00 > ld (wrtpage),a ;1dd6 32 87 38 call sub_012ch ;1dd9 cd 2c 01 call sub_023ah ;1ddc cd 3a 02 call sub_014eh ;1ddf cd 4e 01 . N call sub_0702h ;1de2 cd 02 07 call sub_0236h ;1de5 cd 36 02 call sub_014eh ;1de8 cd 4e 01 . N ld a,(cury) ;1deb 3a 85 38 : . 8 cp 017h ;1dee fe 17 jp nc,l1dffh ;1df0 d2 ff 1d push af ;1df3 f5 inc a ;1df4 3c < ld (cury),a ;1df5 32 85 38 call sub_0702h ;1df8 cd 02 07 pop af ;1dfb f1 ld (cury),a ;1dfc 32 85 38 l1dffh: ld hl,lineptr ;1dff 21 a4 3c ld a,(cury) ;1e02 3a 85 38 : . 8 ld c,a ;1e05 4f O ld b,0 ;1e06 06 00 add hl,bc ;1e08 09 ld a,(hl) ;1e09 7e ~ push af ;1e0a f5 push hl ;1e0b e5 pop ix ;1e0c dd e1 ld a,(cury) ;1e0e 3a 85 38 : . 8 ld b,a ;1e11 47 G l1e12h: ld a,b ;1e12 78 x cp 017h ;1e13 fe 17 jp nc,l1e24h ;1e15 d2 24 1e . $ ld a,(ix+1) ;1e18 dd 7e 01 . ~ ld (ix+0),a ;1e1b dd 77 00 inc ix ;1e1e dd 23 inc b ;1e20 04 jp l1e12h ;1e21 c3 12 1e l1e24h: pop af ;1e24 f1 ld (ix+0),a ;1e25 dd 77 00 ld b,017h ;1e28 06 17 call sub_06aah ;1e2a cd aa 06 ld a,0 ;1e2d 3e 00 > ld (bc),a ;1e2f 02 ld d,h ;1e30 54 T ld e,l ;1e31 5d ] inc de ;1e32 13 ld bc,l004eh+1 ;1e33 01 4f 00 ld (hl),020h ;1e36 36 20 6 ldir ;1e38 ed b0 ret ;1e3a c9 sub_1e3bh: ld hl,04607h ;1e3b 21 07 46 ! . F cp (hl) ;1e3e be jp nz,l1e62h ;1e3f c2 62 1e . b ld a,(curx) ;1e42 3a 84 38 : . 8 or a ;1e45 b7 jp nz,l1e5dh ;1e46 c2 5d 1e . ] ld a,(cury) ;1e49 3a 85 38 : . 8 or a ;1e4c b7 ret z ;1e4d c8 ld a,"O" ;1e4e 3e 4f > O ld (curx),a ;1e50 32 84 38 ld a,(cury) ;1e53 3a 85 38 : . 8 or a ;1e56 b7 ret z ;1e57 c8 dec a ;1e58 3d = ld (cury),a ;1e59 32 85 38 ret ;1e5c c9 l1e5dh: dec a ;1e5d 3d = ld (curx),a ;1e5e 32 84 38 ret ;1e61 c9 l1e62h: inc hl ;1e62 23 # cp (hl) ;1e63 be jp z,l00f1h ;1e64 ca f1 00 inc hl ;1e67 23 # cp (hl) ;1e68 be jp nz,l1e75h ;1e69 c2 75 1e ld a,0 ;1e6c 3e 00 > ld (curx),a ;1e6e 32 84 38 ld (cury),a ;1e71 32 85 38 ret ;1e74 c9 l1e75h: ld c,a ;1e75 4f O inc hl ;1e76 23 # cp (hl) ;1e77 be jp z,poo ;1e78 ca fb 03 inc hl ;1e7b 23 # cp (hl) ;1e7c be jp nz,l1e8ah ;1e7d c2 8a 1e ld a,(cury) ;1e80 3a 85 38 : . 8 or a ;1e83 b7 ret z ;1e84 c8 dec a ;1e85 3d = ld (cury),a ;1e86 32 85 38 ret ;1e89 c9 l1e8ah: inc hl ;1e8a 23 # cp (hl) ;1e8b be jp nz,l1e9ch ;1e8c c2 9c 1e ld a,(cury) ;1e8f 3a 85 38 : . 8 cp 017h ;1e92 fe 17 jp nc,l0643h ;1e94 d2 43 06 . C inc a ;1e97 3c < ld (cury),a ;1e98 32 85 38 ret ;1e9b c9 l1e9ch: inc hl ;1e9c 23 # cp (hl) ;1e9d be jp nz,l1each ;1e9e c2 ac 1e ld a,(cury) ;1ea1 3a 85 38 : . 8 cp 017h ;1ea4 fe 17 ret nc ;1ea6 d0 inc a ;1ea7 3c < ld (cury),a ;1ea8 32 85 38 ret ;1eab c9 l1each: inc hl ;1eac 23 # cp (hl) ;1ead be jp z,l1eb6h ;1eae ca b6 1e inc hl ;1eb1 23 # cp (hl) ;1eb2 be jp nz,l1ed5h ;1eb3 c2 d5 1e l1eb6h: ld a,(curx) ;1eb6 3a 84 38 : . 8 cp "O" ;1eb9 fe 4f jp nz,l1ed0h ;1ebb c2 d0 1e ld a,0 ;1ebe 3e 00 > ld (curx),a ;1ec0 32 84 38 ld a,(cury) ;1ec3 3a 85 38 : . 8 cp 017h ;1ec6 fe 17 jp z,l0643h ;1ec8 ca 43 06 . C inc a ;1ecb 3c < ld (cury),a ;1ecc 32 85 38 ret ;1ecf c9 l1ed0h: inc a ;1ed0 3c < ld (curx),a ;1ed1 32 84 38 ret ;1ed4 c9 l1ed5h: inc hl ;1ed5 23 # cp (hl) ;1ed6 be ret nz ;1ed7 c0 ld a,0 ;1ed8 3e 00 > ld (curx),a ;1eda 32 84 38 ret ;1edd c9 l1edeh: and 07fh ;1ede e6 7f ld b,a ;1ee0 47 G ld a,(optflg) ;1ee1 3a 67 38 : g 8 or a ;1ee4 b7 jp z,l1eefh ;1ee5 ca ef 1e ld a,b ;1ee8 78 x call sub_07c5h ;1ee9 cd c5 07 jp l1ef0h ;1eec c3 f0 1e l1eefh: ld a,b ;1eef 78 x l1ef0h: push af ;1ef0 f5 xor a ;1ef1 af ld (wrtpage),a ;1ef2 32 87 38 call sub_012ch ;1ef5 cd 2c 01 call sub_014eh ;1ef8 cd 4e 01 . N call sub_04c5h ;1efb cd c5 04 ld a,(bc) ;1efe 0a ld e,a ;1eff 5f _ ld a,(curx) ;1f00 3a 84 38 : . 8 inc a ;1f03 3c < cp e ;1f04 bb jp z,l1f0ch ;1f05 ca 0c 1f jp c,l1f0ch ;1f08 da 0c 1f ld (bc),a ;1f0b 02 l1f0ch: ld a,(hl) ;1f0c 7e ~ ld (tempzeich),a ;1f0d 32 66 38 2 f 8 cp asc_space ;1f10 fe 20 . jr z,l1f1ah ;1f12 28 06 ( call sub_023ah ;1f14 cd 3a 02 call sub_088fh ;1f17 cd 8f 08 l1f1ah: call sub_0236h ;1f1a cd 36 02 pop af ;1f1d f1 push af ;1f1e f5 ld (hl),a ;1f1f 77 w or a ;1f20 b7 jp p,l1f2ah ;1f21 f2 2a 1f . * call l07f2h ;1f24 cd f2 07 jp l1f2dh ;1f27 c3 2d 1f . - l1f2ah: call cmd ;1f2a cd bc 00 l1f2dh: ld a,1 ;1f2d 3e 01 > ld (wrtpage),a ;1f2f 32 87 38 call sub_012ch ;1f32 cd 2c 01 call sub_014eh ;1f35 cd 4e 01 . N ld a,(tempzeich) ;1f38 3a 66 38 : f 8 cp asc_space ;1f3b fe 20 . jr z,l1f48h ;1f3d 28 09 ( call sub_023ah ;1f3f cd 3a 02 call sub_088fh ;1f42 cd 8f 08 call sub_0236h ;1f45 cd 36 02 l1f48h: pop af ;1f48 f1 or a ;1f49 b7 jp p,l1f53h ;1f4a f2 53 1f . S call l07f2h ;1f4d cd f2 07 jp l1f56h ;1f50 c3 56 1f . V l1f53h: call cmd ;1f53 cd bc 00 l1f56h: ld a,(curx) ;1f56 3a 84 38 : . 8 inc a ;1f59 3c < ld (curx),a ;1f5a 32 84 38 cp "O" ;1f5d fe 4f ret z ;1f5f c8 ret c ;1f60 d8 ld a,0 ;1f61 3e 00 > ld (curx),a ;1f63 32 84 38 ld a,(cury) ;1f66 3a 85 38 : . 8 inc a ;1f69 3c < ld (cury),a ;1f6a 32 85 38 cp 017h ;1f6d fe 17 ret z ;1f6f c8 ret c ;1f70 d8 dec a ;1f71 3d = ld (cury),a ;1f72 32 85 38 jp l0643h ;1f75 c3 43 06 . C start: ld sp,stack ;1f78 31 06 45 1 . E call 002dbh ;1f7b cd db 02 push hl ;1f7e e5 ld hl,l1faah ;1f7f 21 aa 1f ! ex (sp),hl ;1f82 e3 l1f83h: call get ;1f83 cd 59 04 . Y l1f86h: jr nc,l1f90h ;1f86 30 08 0 call sub_04d4h ;1f88 cd d4 04 call get ;1f8b cd 59 04 . Y jr l1f86h ;1f8e 18 f6 l1f90h: and 07fh ;1f90 e6 7f cp asc_esc ;1f92 jr nz,l1f9bh ;1f94 20 05 call sub_1a79h ;1f96 cd 79 1a . y jr l1fa7h ;1f99 18 0c l1f9bh: cp asc_space ;1f9b fe 20 . jr nc,l1fa4h ;1f9d 30 05 0 call sub_1e3bh ;1f9f cd 3b 1e . ; jr l1fa7h ;1fa2 18 03 l1fa4h: call l1edeh ;1fa4 cd de 1e l1fa7h: jp l1f83h ;1fa7 c3 83 1f l1faah: halt ;1faa 76 v nop ;1fab 00 nop ;1fac 00 ld a,(de) ;1fad 1a ld a,(de) ;1fae 1a ld a,(de) ;1faf 1a ld a,(de) ;1fb0 1a ld a,(de) ;1fb1 1a ld a,(de) ;1fb2 1a ld a,(de) ;1fb3 1a ld a,(de) ;1fb4 1a ld a,(de) ;1fb5 1a ld a,(de) ;1fb6 1a ld a,(de) ;1fb7 1a ld a,(de) ;1fb8 1a ld a,(de) ;1fb9 1a ld a,(de) ;1fba 1a ld a,(de) ;1fbb 1a ld a,(de) ;1fbc 1a ld a,(de) ;1fbd 1a ld a,(de) ;1fbe 1a ld a,(de) ;1fbf 1a ld a,(de) ;1fc0 1a ld a,(de) ;1fc1 1a ld a,(de) ;1fc2 1a ld a,(de) ;1fc3 1a ld a,(de) ;1fc4 1a ld a,(de) ;1fc5 1a ld a,(de) ;1fc6 1a ld a,(de) ;1fc7 1a ld a,(de) ;1fc8 1a ld a,(de) ;1fc9 1a ld a,(de) ;1fca 1a ld a,(de) ;1fcb 1a ld a,(de) ;1fcc 1a ld a,(de) ;1fcd 1a ld a,(de) ;1fce 1a ld a,(de) ;1fcf 1a ld a,(de) ;1fd0 1a ld a,(de) ;1fd1 1a ld a,(de) ;1fd2 1a ld a,(de) ;1fd3 1a ld a,(de) ;1fd4 1a ld a,(de) ;1fd5 1a ld a,(de) ;1fd6 1a ld a,(de) ;1fd7 1a ld a,(de) ;1fd8 1a ld a,(de) ;1fd9 1a ld a,(de) ;1fda 1a ld a,(de) ;1fdb 1a ld a,(de) ;1fdc 1a ld a,(de) ;1fdd 1a ld a,(de) ;1fde 1a ld a,(de) ;1fdf 1a ld a,(de) ;1fe0 1a ld a,(de) ;1fe1 1a ld a,(de) ;1fe2 1a ld a,(de) ;1fe3 1a ld a,(de) ;1fe4 1a ld a,(de) ;1fe5 1a ld a,(de) ;1fe6 1a ld a,(de) ;1fe7 1a ld a,(de) ;1fe8 1a ld a,(de) ;1fe9 1a ld a,(de) ;1fea 1a ld a,(de) ;1feb 1a ld a,(de) ;1fec 1a ld a,(de) ;1fed 1a ld a,(de) ;1fee 1a ld a,(de) ;1fef 1a ld a,(de) ;1ff0 1a ld a,(de) ;1ff1 1a ld a,(de) ;1ff2 1a ld a,(de) ;1ff3 1a ld a,(de) ;1ff4 1a ld a,(de) ;1ff5 1a ld a,(de) ;1ff6 1a ld a,(de) ;1ff7 1a ld a,(de) ;1ff8 1a ld a,(de) ;1ff9 1a ld a,(de) ;1ffa 1a ld a,(de) ;1ffb 1a ld a,(de) ;1ffc 1a ld a,(de) ;1ffd 1a ld a,(de) ;1ffe 1a ld a,(de) ;1fff 1a end