; CPC 6128 (date 05/05/89 - CRTC type 4) - Firmware ROM
; ; La plupart des explications concernant les vecteurs systemes ; sont reprises d'Amstrad Cent Pour Cent (RIP). ; ; Le but de ce fichier et d'avoir la ROM firmware entierement ; commentee et expliquee! donc si vous ajoutez ou corrigez ; quelque chose a ce fichier,faite le savoir,criez le sur les ; toits a 1h du matin,passez a la tele,abbatez Celine Dio.. oups... ; Bref,n'hesitez pas! ; ; note:le Hacker a la facheuse tendance d'oublier les parentheses ; genre LD A,(&BE05) se transforme en LD A,&BE05... ; J'ai tente de corriger le plus possible ces erreurs mais ; ho! he! hein! bon! le source est long.... ; ; Grim/Mortel (3614 CNX*GRIM) (23 Octobre au 9 Novembre 1998) ; Color Personnal Computer fan since 1989 ! ; ; Et bien le bonjour a tous les CPCiens all arround the world! ; Vecteur Reset - Connecte Rom Basse et JP &0591 0000 LD BC,&7F89 0003 OUT (C),C 0005 JP &0591 ; Execution d'un vecteur system (FIRMWARE) 0008 JP &B98A 000B JP &B984 000E PUSH BC 000F RET 0010 JP &BA1D 0013 JP &BA17 0016 PUSH DE 0017 RET ; Execution d'un vecteur system (AMSDOS) 0018 JP &B9C7 001B JP &B9B9 001E JP (HL) 001F NOP 0020 JP &BAC6 0023 JP &B9C1 0026 NOP 0027 NOP ; Execution d'un vecteur system (Basic ?) 0028 JP &BA35 002B NOP 002C OUT (C),C 002E EXX 002F EI 0030 RST &00 0031 EXX 0032 LD HL,&002B 0035 LD (HL),C 0036 JR &0040 ; Vecteur interruptions (IM1) 0038 JP &B941 003B RET 003C NOP 003D NOP 003E NOP 003F NOP 0040 SET 2,C 0042 JR &002C ; Mise en place des ReSTarts ; recopie Rom (&0000-&0040) en Ram 0044 LD HL,&0040 0047 DEC L 0048 LD A,(HL) 0049 LD (HL),A 004A JR NZ,&0047 004C LD A,&C7 004E LD (&0030),A ; recopie Rom (&03A6-&058A) en Ram (&B900-&BAE4) 0051 LD HL,&03A6 0054 LD DE,&B900 0057 LD BC,&01E4 005A LDIR 005C DI 005D LD A,(&B8D9) 0060 LD DE,(&B8D7) ; Efface avec 0 la Ram (&B82D-&B8FA) 0064 LD B,&CD 0066 LD HL,&B82D ; buffer de &CB octets 0069 LD (HL),&00 006B INC HL 006C DJNZ &0069 006E LD B,A 006F LD C,&FF ; et CPL 0071 XOR C ; alors ? 0072 RET NZ 0073 LD B,A 0074 LD E,A 0075 LD D,A 0076 RET 0077 LD A,H 0078 OR L 0079 LD A,C 007A JR NZ,&0080 007C LD A,L 007D LD HL,&C006 0080 LD (&B8D6),A ; modifie le compteur system... 0083 LD (&B8D9),A 0086 LD (&B8D7),HL 0089 LD HL,&ABFF 008C LD DE,&0040 008F LD BC,&B0FF 0092 LD SP,&C000 0095 RST &18 0096 RST &10 0097 CP B 0098 RST &00 0099 DI ; lecture dans HLDE 009A LD DE,(&B8B6) ; du compteur system 009E LD HL,(&B8B4) 00A1 EI 00A2 RET ; Fixe le compteur system a une valeur HLDE 00A3 DI 00A4 XOR A 00A5 LD (&B8B8),A 00A8 LD (&B8B6),DE 00AC LD (&B8B4),HL 00AF EI 00B0 RET 00B1 LD HL,&B8B4 00B4 INC (HL) 00B5 INC HL 00B6 JR Z,&00B4 00B8 LD B,&F5 00BA IN A,(C) 00BC RRA 00BD JR NC,&00C7 00BF LD HL,(&B8B9) 00C2 LD A,H 00C3 OR A 00C4 CALL NZ,&0153 00C7 LD HL,(&B8BB) 00CA LD A,H 00CB OR A 00CC CALL NZ,&0153 00CF CALL &20D7 00D2 LD HL,&B8BF 00D5 DEC (HL) 00D6 RET NZ 00D7 LD (HL),&06 00D9 CALL &BDF4 00DC LD HL,(&B8BD) 00DF LD A,H 00E0 OR A 00E1 RET Z 00E2 LD HL,&B831 00E5 SET 0,(HL) 00E7 RET 00E8 DEC HL 00E9 LD (HL),&00 00EB DEC HL 00EC LD A,(&B82E) 00EF OR A 00F0 JR NZ,&00FE 00F2 LD (&B82D),HL 00F5 LD (&B82F),HL 00F8 LD HL,&B831 00FB SET 6,(HL) 00FD RET 00FE LD DE,(&B82F) 0102 LD (&B82F),HL 0105 EX DE,HL 0106 LD (HL),E 0107 INC HL 0108 LD (HL),D 0109 RET 010A LD (&B832),SP 010E LD SP,&B8B4 0111 PUSH HL 0112 PUSH DE 0113 PUSH BC 0114 LD HL,&B831 0117 BIT 6,(HL) 0119 JR Z,&0139 011B SET 7,(HL) 011D LD HL,(&B82D) 0120 LD A,H 0121 OR A 0122 JR Z,&0132 0124 LD E,(HL) 0125 INC HL 0126 LD D,(HL) 0127 LD (&B82D),DE 012B INC HL 012C CALL &0209 012F DI 0130 JR &011D 0132 LD HL,&B831 0135 BIT 0,(HL) 0137 JR Z,&0149 0139 LD (HL),&00 013B SCF 013C EX AF,AF 013D CALL &0189 0140 OR A 0141 EX AF,AF 0142 LD HL,&B831 0145 LD A,(HL) 0146 OR A 0147 JR NZ,&011B 0149 LD (HL),&00 014B POP BC 014C POP DE 014D POP HL 014E LD SP,(&B832) 0152 RET 0153 LD E,(HL) 0154 INC HL 0155 LD A,(HL) 0156 INC HL 0157 OR A 0158 JP Z,&01E2 015B LD D,A 015C PUSH DE 015D CALL &01E2 0160 POP HL 0161 JR &0153 0163 PUSH HL 0164 INC HL 0165 INC HL 0166 CALL &01D2 0169 POP HL 016A LD DE,&B8B9 016D JP &0379 0170 LD DE,&B8B9 0173 JP &0388 0176 PUSH HL 0177 INC HL 0178 INC HL 0179 CALL &01D2 017C POP HL 017D LD DE,&B8BB 0180 JP &0379 0183 LD DE,&B8BB 0186 JP &0388 0189 LD HL,(&B8BD) 018C LD A,H 018D OR A 018E RET Z 018F LD E,(HL) 0190 INC HL 0191 LD D,(HL) 0192 INC HL 0193 LD C,(HL) 0194 INC HL 0195 LD B,(HL) 0196 LD A,B 0197 OR C 0198 JR Z,&01B0 019A DEC BC 019B LD A,B 019C OR C 019D JR NZ,&01AD 019F PUSH DE 01A0 INC HL 01A1 INC HL 01A2 PUSH HL 01A3 INC HL 01A4 CALL &01E2 01A7 POP HL 01A8 LD B,(HL) 01A9 DEC HL 01AA LD C,(HL) 01AB DEC HL 01AC POP DE 01AD LD (HL),B 01AE DEC HL 01AF LD (HL),C 01B0 EX DE,HL 01B1 JR &018C 01B3 PUSH HL 01B4 INC HL 01B5 INC HL 01B6 DI 01B7 LD (HL),E 01B8 INC HL 01B9 LD (HL),D 01BA INC HL 01BB LD (HL),C 01BC INC HL 01BD LD (HL),B 01BE POP HL 01BF LD DE,&B8BD 01C2 JP &0379 01C5 LD DE,&B8BD 01C8 CALL &0388 01CB RET NC 01CC EX DE,HL 01CD INC HL 01CE LD E,(HL) 01CF INC HL 01D0 LD D,(HL) 01D1 RET 01D2 DI 01D3 INC HL 01D4 INC HL 01D5 LD (HL),&00 01D7 INC HL 01D8 LD (HL),B 01D9 INC HL 01DA LD (HL),E 01DB INC HL 01DC LD (HL),D 01DD INC HL 01DE LD (HL),C 01DF INC HL 01E0 EI 01E1 RET 01E2 INC HL 01E3 INC HL 01E4 DI 01E5 LD A,(HL) 01E6 INC (HL) 01E7 JP M,&0201 01EA OR A 01EB JR NZ,&0202 01ED INC HL 01EE LD A,(HL) 01EF DEC HL 01F0 OR A 01F1 JP P,&022E 01F4 EX AF,AF 01F5 JR NC,&0208 01F7 EX AF,AF 01F8 ADD A,A 01F9 JP P,&00E8 01FC DEC (HL) 01FD INC HL 01FE INC HL 01FF JR &0222 0201 DEC (HL) 0202 EX AF,AF 0203 JR C,&0206 0205 EI 0206 EX AF,AF 0207 RET 0208 EX AF,AF 0209 EI 020A LD A,(HL) 020B DEC A 020C RET M 020D PUSH HL 020E CALL &021B 0211 POP HL 0212 DEC (HL) 0213 RET Z 0214 JP P,&020D 0217 INC (HL) 0218 RET 0219 INC HL 021A INC HL 021B INC HL 021C LD A,(HL) 021D INC HL 021E RRA 021F JP NC,&B9C1 0222 LD E,(HL) 0223 INC HL 0224 LD D,(HL) 0225 EX DE,HL 0226 JP (HL) 0227 LD HL,&0000 022A LD (&B8C1),HL 022D RET 022E PUSH HL 022F LD B,A 0230 LD DE,&B8C3 0233 EX DE,HL 0234 DEC HL 0235 DEC HL 0236 LD D,(HL) 0237 DEC HL 0238 LD E,(HL) 0239 LD A,D 023A OR A 023B JR Z,&0244 023D INC DE 023E INC DE 023F INC DE 0240 LD A,(DE) 0241 CP B 0242 JR NC,&0233 0244 POP DE 0245 DEC DE 0246 INC HL 0247 LD A,(HL) 0248 LD (DE),A 0249 DEC DE 024A LD (HL),D 024B DEC HL 024C LD A,(HL) 024D LD (DE),A 024E LD (HL),E 024F EX AF,AF 0250 JR C,&0253 0252 EI 0253 EX AF,AF 0254 RET 0255 DI 0256 LD HL,(&B8C0) 0259 LD A,H 025A OR A 025B JR Z,&0274 025D PUSH HL 025E LD E,(HL) 025F INC HL 0260 LD D,(HL) 0261 INC HL 0262 INC HL 0263 LD A,&B8C2 0266 CP (HL) 0267 JR NC,&0273 0269 PUSH AF 026A LD A,(HL) 026B LD &B8C2,A 026E LD (&B8C0),DE 0272 POP AF 0273 POP HL 0274 EI 0275 RET 0276 LD &B8C2,A 0279 INC HL 027A INC HL 027B DEC (HL) 027C RET Z 027D DI 027E JP P,&022E 0281 INC (HL) 0282 EI 0283 RET 0284 CALL &028D 0287 LD DE,&B8C0 028A JP &0388 028D INC HL 028E INC HL 028F LD (HL),&C0 0291 DEC HL 0292 DEC HL 0293 RET 0294 LD HL,&B8C2 0297 SET 5,(HL) 0299 RET 029A LD HL,&B8C2 029D RES 5,(HL) 029F RET 02A0 PUSH HL 02A1 LD DE,(&B8D3) 02A5 LD (&B8D3),HL 02A8 LD (HL),E 02A9 INC HL 02AA LD (HL),D 02AB INC HL 02AC LD (HL),C 02AD INC HL 02AE LD (HL),B 02AF POP HL 02B0 RET 02B1 LD DE,&B8C3 02B4 LD BC,&0010 02B7 CALL &BAA1 02BA EX DE,HL 02BB DEC HL 02BC SET 7,(HL) 02BE LD HL,(&B8D3) 02C1 LD A,L 02C2 JR &02D4 02C4 PUSH HL 02C5 INC HL 02C6 INC HL 02C7 LD C,(HL) 02C8 INC HL 02C9 LD B,(HL) 02CA CALL &02F1 02CD POP DE 02CE RET C 02CF EX DE,HL 02D0 LD A,(HL) 02D1 INC HL 02D2 LD H,(HL) 02D3 LD L,A 02D4 OR H 02D5 JR NZ,&02C4 02D7 LD C,&FF 02D9 INC C 02DA CALL &BA7E 02DD PUSH AF 02DE AND &03 02E0 LD B,A 02E1 CALL Z,&02F1 02E4 CALL C,&061C 02E7 POP AF 02E8 ADD A,A 02E9 JR NC,&02D9 02EB LD A,C 02EC CP &10 02EE JR C,&02D9 02F0 RET 02F1 LD HL,&C004 02F4 LD A,B 02F5 OR A 02F6 JR Z,&02FC 02F8 LD H,B 02F9 LD L,C 02FA LD C,&FF 02FC CALL &BA79 02FF PUSH BC 0300 LD E,(HL) 0301 INC HL 0302 LD D,(HL) 0303 INC HL 0304 EX DE,HL 0305 JR &031E 0307 LD BC,&B8C3 030A LD A,(BC) 030B CP (HL) 030C JR NZ,&0316 030E INC HL 030F INC BC 0310 ADD A,A 0311 JR NC,&030A 0313 EX DE,HL 0314 JR &0322 0316 LD A,(HL) 0317 INC HL 0318 ADD A,A 0319 JR NC,&0316 031B INC DE 031C INC DE 031D INC DE 031E LD A,(HL) 031F OR A 0320 JR NZ,&0307 0322 POP BC 0323 JP &BA87 0326 LD C,&0F 0328 CALL &0330 032B DEC C 032C JP P,&0328 032F RET 0330 LD A,&B8D9 0333 CP C 0334 RET Z 0335 LD A,C 0336 CP &10 0338 RET NC 0339 CALL &BA79 033C LD A,&C000 033F AND &03 0341 DEC A 0342 JR NZ,&0366 0344 PUSH BC 0345 SCF 0346 CALL &C006 0349 JR NC,&0365 034B PUSH DE 034C INC HL 034D EX DE,HL 034E LD HL,&B8DA 0351 LD BC,(&B8D6) 0355 LD B,&00 0357 ADD HL,BC 0358 ADD HL,BC 0359 LD (HL),E 035A INC HL 035B LD (HL),D 035C LD HL,&FFFC 035F ADD HL,DE 0360 CALL &02A0 0363 DEC HL 0364 POP DE 0365 POP BC 0366 JP &BA87 0369 LD A,(HL) 036A CP E 036B INC HL 036C LD A,(HL) 036D DEC HL 036E JR NZ,&0373 0370 CP D 0371 SCF 0372 RET Z 0373 OR A 0374 RET Z 0375 LD L,(HL) 0376 LD H,A 0377 JR &0369 0379 EX DE,HL 037A DI 037B CALL &0369 037E JR C,&0386 0380 LD (HL),E 0381 INC HL 0382 LD (HL),D 0383 INC DE 0384 XOR A 0385 LD (DE),A 0386 EI 0387 RET 0388 EX DE,HL 0389 DI 038A CALL &0369 038D JR NC,&0395 038F LD A,(DE) 0390 LD (HL),A 0391 INC DE 0392 INC HL 0393 LD A,(DE) 0394 LD (HL),A 0395 EI 0396 RET 0397 DI 0398 EXX 0399 LD HL,&B8D5 039C LD D,(HL) 039D LD (HL),A 039E OR &C0 03A0 OUT (C),A 03A2 LD A,D 03A3 EXX 03A4 EI 03A5 RET 03A6 JP &BA5F 03A9 JP &BA66 03AC JP &BA51 03AF JP &BA58 03B2 JP &BA70 03B5 JP &BA79 03B8 JP &BA9D 03BB JP &BA7E 03BE JP &BA87 03C1 JP &BAA1 03C4 JP &BAA7 03C7 LD A,(&B8C1) 03CA OR A 03CB RET Z 03CC PUSH HL 03CD DI 03CE JR &03D6 03D0 LD HL,&B8BF 03D3 LD (HL),&01 03D5 RET 03D6 LD HL,(&B8C0) 03D9 LD A,H 03DA OR A 03DB JR Z,&03E4 03DD INC HL 03DE INC HL 03DF INC HL 03E0 LD A,(&B8C2) 03E3 CP (HL) 03E4 POP HL 03E5 EI 03E6 RET 03E7 DI 03E8 EX AF,AF 03E9 JR C,&041E 03EB EXX 03EC LD A,C 03ED SCF 03EE EI 03EF EX AF,AF 03F0 DI 03F1 PUSH AF 03F2 RES 2,C 03F4 OUT (C),C 03F6 CALL &00B1 03F9 OR A 03FA EX AF,AF 03FB LD C,A 03FC LD B,&7F 03FE LD A,(&B831) 0401 OR A 0402 JR Z,&0418 0404 JP M,&B972 0407 LD A,C 0408 AND &0C 040A PUSH AF 040B RES 2,C 040D EXX 040E CALL &010A 0411 EXX 0412 POP HL 0413 LD A,C 0414 AND &F3 0416 OR H 0417 LD C,A 0418 OUT (C),C 041A EXX 041B POP AF 041C EI 041D RET 041E EX AF,AF 041F POP HL 0420 PUSH AF 0421 SET 2,C 0423 OUT (C),C 0425 CALL &003B 0428 JR &03F9 042A DI 042B PUSH HL 042C EXX 042D POP DE 042E JR &0436 0430 DI 0431 EXX 0432 POP HL 0433 LD E,(HL) 0434 INC HL 0435 LD D,(HL) 0436 EX AF,AF 0437 LD A,D 0438 RES 7,D 043A RES 6,D 043C RLCA 043D RLCA 043E RLCA 043F RLCA 0440 XOR C 0441 AND &0C 0443 XOR C 0444 PUSH BC 0445 CALL &B9B0 0448 DI 0449 EXX 044A EX AF,AF 044B LD A,C 044C POP BC 044D AND &03 044F RES 1,C 0451 RES 0,C 0453 OR C 0454 JR &0457 0456 PUSH DE 0457 LD C,A 0458 OUT (C),C 045A OR A 045B EX AF,AF 045C EXX 045D EI 045E RET 045F DI 0460 EX AF,AF 0461 LD A,C 0462 PUSH HL 0463 EXX 0464 POP DE 0465 JR &047C 0467 DI 0468 PUSH HL 0469 EXX 046A POP HL 046B JR &0476 046D DI 046E EXX 046F POP HL 0470 LD E,(HL) 0471 INC HL 0472 LD D,(HL) 0473 INC HL 0474 PUSH HL 0475 EX DE,HL 0476 LD E,(HL) 0477 INC HL 0478 LD D,(HL) 0479 INC HL 047A EX AF,AF 047B LD A,(HL) 047C CP &FC 047E JR NC,&043E 0480 LD B,&DF 0482 OUT (C),A 0484 LD HL,&B8D6 0487 LD B,(HL) 0488 LD (HL),A 0489 PUSH BC 048A PUSH IY 048C CP &10 048E JR NC,&049F 0490 ADD A,A 0491 ADD A,&DA 0493 LD L,A 0494 ADC A,&B8 0496 SUB L 0497 LD H,A 0498 LD A,(HL) 0499 INC HL 049A LD H,(HL) 049B LD L,A 049C PUSH HL 049D POP IY 049F LD B,&7F 04A1 LD A,C 04A2 SET 2,A 04A4 RES 3,A 04A6 CALL &B9B0 04A9 POP IY 04AB DI 04AC EXX 04AD EX AF,AF 04AE LD E,C 04AF POP BC 04B0 LD A,B 04B1 LD B,&DF 04B3 OUT (C),A 04B5 LD (&B8D6),A 04B8 LD B,&7F 04BA LD A,E 04BB JR &044D 04BD DI 04BE PUSH HL 04BF EXX 04C0 POP DE 04C1 JR &04CB 04C3 DI 04C4 EXX 04C5 POP HL 04C6 LD E,(HL) 04C7 INC HL 04C8 LD D,(HL) 04C9 INC HL 04CA PUSH HL 04CB EX AF,AF 04CC LD A,D 04CD SET 7,D 04CF SET 6,D 04D1 AND &C0 04D3 RLCA 04D4 RLCA 04D5 LD HL,&B8D9 04D8 ADD A,(HL) 04D9 JR &0480 04DB DI 04DC EXX 04DD POP HL 04DE LD E,(HL) 04DF INC HL 04E0 LD D,(HL) 04E1 RES 2,C 04E3 OUT (C),C 04E5 LD (&BA46),DE 04E9 EXX 04EA EI 04EB CALL &BA45 04EE DI 04EF EXX 04F0 SET 2,C 04F2 OUT (C),C 04F4 EXX 04F5 EI 04F6 RET 04F7 DI 04F8 EXX 04F9 LD A,C 04FA RES 2,C 04FC JR &0511 04FE DI 04FF EXX 0500 LD A,C 0501 SET 2,C 0503 JR &0511 0505 DI 0506 EXX 0507 LD A,C 0508 RES 3,C 050A JR &0511 050C DI 050D EXX 050E LD A,C 050F SET 3,C 0511 OUT (C),C 0513 EXX 0514 EI 0515 RET 0516 DI 0517 EXX 0518 XOR C 0519 AND &0C 051B XOR C 051C LD C,A 051D JR &0511 051F CALL &BA5F 0522 JR &0533 0524 CALL &BA79 0527 LD A,(&C000) 052A LD HL,(&C001) 052D PUSH AF 052E LD A,B 052F CALL &BA70 0532 POP AF 0533 PUSH HL 0534 DI 0535 LD B,&DF 0537 OUT (C),C 0539 LD HL,&B8D6 053C LD B,(HL) 053D LD (HL),C 053E LD C,B 053F LD B,A 0540 EI 0541 POP HL 0542 RET 0543 LD A,(&B8D6) 0546 RET 0547 CALL &BAAD 054A LDIR 054C RET 054D CALL &BAAD 0550 LDDR 0552 RET 0553 DI 0554 EXX 0555 POP HL 0556 PUSH BC 0557 SET 2,C 0559 SET 3,C 055B OUT (C),C 055D CALL &BAC2 0560 DI 0561 EXX 0562 POP BC 0563 OUT (C),C 0565 EXX 0566 EI 0567 RET 0568 PUSH HL 0569 EXX 056A EI 056B RET 056C DI 056D EXX 056E LD E,C 056F SET 2,E 0571 SET 3,E 0573 OUT (C),E 0575 EXX 0576 LD A,(HL) 0577 EXX 0578 OUT (C),C 057A EXX 057B EI 057C RET 057D EXX 057E LD A,C 057F OR &0C 0581 OUT (C),A 0583 LD A,(IX+&00) 0586 OUT (C),C 0588 EXX 0589 RET 058A LD H,&C7 058C RST &00 058D RST &00 058E RST &00 058F RST &00 0590 RST &00 ; Initialisation complete du CPC : ; installe le systeme,init du PPI , l'imprimante ; Fixe les Reg du CRTC en fonction du pays (50Hz/60Hz) ; etc... etc.. 0591 DI 0592 LD BC,&F782 ; PPI Port A en Sortie 0595 OUT (C),C 0597 LD BC,&F400 ; Port A = 0 059A OUT (C),C 059C LD BC,&F600 ; Validation Port A=0 059F OUT (C),C 05A1 LD BC,&EF7F ; Imprimante data d0 a d6 = 1 05A4 OUT (C),C 05A6 LD B,&F5 05A8 IN A,(C) 05AA AND &10 ; test du bit 4 du Port B 05AC LD HL,&05D5 05AF JR NZ,&05B4 ; Bit 4=1 -> 50Hz Europe 05B1 LD HL,&05E5 ; sinon 60Hz USA:NTSC 05B4 LD BC,&BC0F 05B7 OUT (C),C 05B9 DEC HL 05BA LD A,(HL) 05BB INC B 05BC OUT (C),A 05BE DEC B 05BF DEC C 05C0 JP P,&05B7 05C3 JR &05E5 ; Table de valeurs standard des reg. CRTC ; 50Hz 05C5 DEFB 63,&28,&2e,&8e,&26,0,&19,&1e 05CD DEFB 0,7,0,0,&30,0,&c0 05D4 DEFB 0 ; 60Hz 05D5 DEFB 63,&28,&2e,&8e,&1f,6,&19,&1b 05DD DEFB 0,7,0,0,&30,0,&c0 05E4 DEFB 0 05E5 LD DE,&0677 05E8 LD HL,&0000 05EB JR &061F 05ED LD SP,&C000 05F0 PUSH HL 05F1 CALL &1FE9 05F4 DI 05F5 LD BC,&F8FF 05F8 OUT (C),C 05FA CALL &005C 05FD POP HL 05FE PUSH DE 05FF PUSH BC 0600 PUSH HL 0601 CALL &1B98 0604 CALL &1084 0607 CALL &0AD0 060A CALL &BA5F 060D POP HL 060E CALL &001E 0611 POP BC 0612 POP DE 0613 JR C,&061C 0615 EX DE,HL 0616 LD C,B 0617 LD DE,&06F9 061A JR &061F 061C LD DE,&0737 061F DI 0620 IM 1 0622 EXX 0623 LD BC,&DF00 0626 OUT (C),C 0628 LD BC,&F8FF 062B OUT (C),C 062D LD BC,&7FC0 0630 OUT (C),C 0632 LD BC,&FA7E 0635 XOR A 0636 OUT (C),A 0638 LD HL,&B100 063B LD DE,&B101 063E LD BC,&07F9 0641 LD (HL),A 0642 LDIR 0644 LD BC,&7F89 0647 OUT (C),C 0649 EXX 064A XOR A 064B EX AF,AF 064C LD SP,&C000 064F PUSH HL 0650 PUSH BC 0651 PUSH DE 0652 CALL &0044 0655 CALL &08BD 0658 CALL &1B5C 065B CALL &1FE9 065E CALL &0ABF 0661 CALL &1074 0664 CALL &15A8 0667 CALL &24BC 066A CALL &07E0 066D EI 066E POP HL 066F CALL &001E 0672 POP BC 0673 POP HL 0674 JP &0077 0677 LD HL,&0202 067A CALL &1170 067D CALL &0723 0680 CALL &06FC 0683 LD HL,&0688 0686 JR &06FC 0688 DEFM " 128K Microcomputer (f3)" 06A1 DEFB &1F,2,4 06A4 DEFM "Copyright" 06AD DEFB &1F,2,4 06B0 DEFM "©1985 Amstrad Consumer Electronics pcl" 06D6 DEFB &1F,12,5 06D9 DEFM "and Locomotive Software Ltd." 06F5 DEFB &1F,1,7 06F8 DEFB 0 06F9 LD HL,&0705 ; affiche un texte ascii termine par 0 06FC LD A,(HL) 06FD INC HL 06FE OR A 06FF RET Z 0700 CALL &13FE ; &13FE = vecteur &BB5A 0703 JR &06FC 0705 DEFM *** PROGRAM LOAD FAILLED *** 0720 DEFB &0D,&0A,0 0723 LD B,&F5 ; Determine le fabriquant 0725 IN A,(C) ; en fonction des bits b3 a b1 0727 CPL ; du Port B du PPI 0728 AND &0E 072A RRCA 072B LD HL,&0738 072E INC A 072F LD B,A 0730 LD A,(HL) 0731 INC HL 0732 OR A 0733 JR NZ,&0730 0735 DJNZ &0730 0737 RET ; liste des noms des fabriquants 0738 DEFM "Arnold" 073E DEFB 0 073F DEFM "Amstrad" 0746 DEFB 0 0747 DEFM "Orion" 074C DEFB 0 074D DEFM "Schneider" 0756 DEFB 0 0757 DEFM "Awa" 075A DEFB 0 075B DEFM "Solavox" 0762 DEFB 0 0763 DEFM "Saisho" 0769 DEFB 0 076A DEFM "Triumph" 0771 DEFB 0 0772 DEFM "Isp" 0775 DEFB 0 0776 CP &03 0778 RET NC 0779 DI 077A EXX 077B RES 1,C 077D RES 0,C 077F OR C 0780 LD C,A 0781 OUT (C),C 0783 EI 0784 EXX 0785 RET ; Selectionne la couleur du Border et des 15 encres ; DE=table des couleurs (Border,ink 0,...,ink 15) ; en valeur hard (bit 6=0) 0786 PUSH HL 0787 LD HL,&0000 078A JR &0790 ; Selectionne la couleur des 15 encres ; DE=table des couleurs (ink 0,...,ink 15) ; en valeur hard (bit 6=0) 078C PUSH HL 078D LD HL,&0001 0790 PUSH DE 0791 PUSH BC 0792 EX DE,HL 0793 LD BC,&7F10 0796 CALL &07AA 0799 INC HL 079A LD C,&00 079C CALL &07AA 079F ADD HL,DE 07A0 INC C 07A1 LD A,C 07A2 CP &10 07A4 JR NZ,&079C 07A6 POP BC 07A7 POP DE 07A8 POP HL 07A9 RET ; Attribution d'une couleur a une encre/border ; BC=&7F00+No de l'encre ; (HL)=valeur de la couleur (en hard) 07AA OUT (C),C ; Valide l'encre 07AC LD A,(HL) ; lit la couleur 07AD AND &1F ; b7 ŕ b5 = 0 07AF OR &40 ; b5=1 07B1 OUT (C),A : paf! 07B3 RET ; Attente de la VBL 07B4 PUSH AF 07B5 PUSH BC 07B6 LD B,&F5 07B8 IN A,(C) 07BA RRA 07BB JR NC,&07B8 07BD POP BC 07BE POP AF 07BF RET ; Transforme adresse ecran et No de page ; en Offset CRTC (R12 et R13) ; HL=Adresse ecran ; A =No Page video (0,1,2 ou 3) 16Kb 07C0 PUSH BC 07C1 RRCA 07C2 RRCA 07C3 AND &30 07C5 LD C,A 07C6 LD A,H 07C7 RRA 07C8 AND &03 07CA OR C 07CB LD BC,&BC0C 07CE OUT (C),C 07D0 INC B 07D1 OUT (C),A 07D3 DEC B 07D4 INC C 07D5 OUT (C),C 07D7 INC B 07D8 LD A,H 07D9 RRA 07DA LD A,L 07DB RRA 07DC OUT (C),A 07DE POP BC 07DF RET 07E0 LD HL,&07F7 07E3 LD DE,&B804 07E6 LD BC,&0015 07E9 LDIR 07EB LD HL,&07F1 07EE JP &0AB4 07F1 DEFB &03 07F2 DEFW &BDF1 07F4 JP &0835 07F7 DEFB &0A,&A0,&5E,&A1,&5C,&A2,&7B,&A3,&23,&A6,&40,&AB,&7C,&AC,&7D,&AD 0807 LD A,(HL) 0808 XOR (HL) 0809 LD E,L 080A XOR A 080B LD E,E 080C RST &20 080D ADD A,A 080E INC A 080F LD C,A 0810 LD B,&00 0812 LD DE,&B804 0815 CP &2A 0817 CALL C,&BAA1 081A RET 081B PUSH BC 081C PUSH HL 081D LD HL,&B804 0820 LD B,(HL) 0821 INC B 0822 DEC B 0823 JR Z,&082F 0825 INC HL 0826 CP (HL) 0827 INC HL 0828 JR NZ,&0822 082A LD A,(HL) 082B CP &FF 082D JR Z,&0832 082F CALL &BDF1 0832 POP HL 0833 POP BC 0834 RET ; Test si l'imprimante et prete ; (signal BUSY testé 256*64 maxi) ; si oui envoie d'un code ASCII ; A=Code ASCII 0835 LD BC,&0032 0838 CALL &0858 083B JR NC,&0844 083D DJNZ &0838 083F DEC C 0840 JR NZ,&0838 0842 OR A 0843 RET A=Code ASCII a envoyer a l'imprimante 0844 PUSH BC 0845 LD B,&EF 0847 AND &7F 0849 OUT (C),A 084B OR &80 084D DI 084E OUT (C),A 0850 AND &7F 0852 EI 0853 OUT (C),A 0855 POP BC 0856 SCF 0857 RET ; Teste le Busy de l'imprimante 0858 PUSH BC 0859 LD C,A 085A LD B,&F5 085C IN A,(C) 085E RLA 085F RLA 0860 LD A,C 0861 POP BC 0862 RET ; Ecriture d'un Reg du AY3-8912 ; A=No du Reg ; C=Valeur a ecrire 0863 DI 0864 LD B,&F4 0866 OUT (C),A 0868 LD B,&F6 086A IN A,(C) 086C OR &C0 086E OUT (C),A 0870 AND &3F 0872 OUT (C),A 0874 LD B,&F4 0876 OUT (C),C 0878 LD B,&F6 087A LD C,A 087B OR &80 087D OUT (C),A 087F OUT (C),C 0881 EI 0882 RET ; Lecture des 10 colonnes clavier ; avec conservation des antecedants... ; ; HL=adresse du buffer de 10 octets pour la lecture des colonnes ; DE=adresse du buffer de 10 octets pour les lectures anterieures 0883 LD BC,&F40E ; Reg14 AY3 0886 OUT (C),C 0888 LD B,&F6 088A IN A,(C) 088C AND &30 088E LD C,A 088F OR &C0 0891 OUT (C),A 0893 OUT (C),C 0895 INC B 0896 LD A,&92 0898 OUT (C),A 089A PUSH BC 089B SET 6,C 089D LD B,&F6 089F OUT (C),C 08A1 LD B,&F4 08A3 IN A,(C) ; lecture colonne 08A5 LD B,(HL) ; recupere ancienne valeur 08A6 LD (HL),A ; sauve nouvelle valeur 08A7 AND B ; modifie ancienne valeur 08A8 CPL ; en fonction de la nouvelle 08A9 LD (DE),A ; sauve ancienne valeur modifie! 08AA INC HL 08AB INC DE 08AC INC C 08AD LD A,C 08AE AND &0F 08B0 CP &0A 08B2 JR NZ,&089D 08B4 POP BC 08B5 LD A,&82 08B7 OUT (C),A 08B9 DEC B 08BA OUT (C),C 08BC RET ; Creation des vecteurs system &BB00-&BDC1 ; grace a la table d'adresse juste apres... 08BD LD HL,&08DE ; table d'adresses 08C0 LD DE,&BB00 ; adresse d'implantation 08C3 LD BC,&CBCF ; &CB vecteurs / &CF opcode de RST &08 08C6 CALL &08CC 08C9 LD BC,&20EF ; &20 vecteurs / &EF opcode de RST &28 08CC LD A,C 08CD LD (DE),A 08CE INC DE 08CF LDI 08D1 INC BC 08D2 CPL 08D3 RLCA 08D4 RLCA 08D5 AND &80 08D7 OR (HL) 08D8 LD (DE),A 08D9 INC DE 08DA INC HL 08DB DJNZ &08CC 08DD RET ; Table d'adresse servant a la creation des ; appels aux vecteurs systeme en Rom (236 vecteurs) ; adresse ROM ; adresse d'appel en RAM - description rapide 08DE DEFW &1B5C ; &BB00 Initialise le clavier 08E0 DEFW &1B98 ; &BB03 08E2 DEFW &1BBF ; &BB06 Attente d'une touche 08E4 DEFW &1BC5 ; &BB09 Test de touche 08E6 DEFW &1BFA ; &BB0C 08E8 DEFW &1C46 ; &BB0F 08EA DEFW &1CB3 ; &BB12 08EC DEFW &01C4 ; &BB15 08EE DEFW &1CDB ; &BB18 Attente d'une touche 08F0 DEFW &1CE1 ; &BB1B Test de touche 08F2 DEFW &1E45 ; &BB1E 08F4 DEFW &1D38 ; &BB21 Demande l'etat de CAPSLOCK et SHIFT 08F6 DEFW &1DE5 ; &BB24 Test l'etat des joysticks 1 et 2 08F8 DEFW &1ED8 ; &BB27 08FA DEFW &1EC4 ; &BB2A 08FC DEFW &1EDD ; &BB2D 08FE DEFW &1EC9 ; &BB30 0900 DEFW &1EE2 ; &BB33 0902 DEFW &1ECE ; &BB36 0904 DEFW &1E34 ; &BB39 0906 DEFW &1E2F ; &BB3C 0908 DEFW &1DF6 ; &BB3F SPEED KEY (delais de reponse et de repetition) 090A DEFW &1DF2 ; &BB42 090C DEFW &1DFA ; &BB45 090E DEFW &01EB ; &BB48 Desactive la touche ESC 0910 DEFW &1E19 ; &BB4B 0912 DEFW &1074 ; &BB4E 0914 DEFW &1084 ; &BB51 0916 DEFW &1459 ; &BB54 0918 DEFW &1452 ; &BB57 091A DEFW &13FE ; &BB5A Affiche un caractere ASCII a la position courante 091C DEFW &1335 ; &BB5D 091E DEFW &13AC ; &BB60 Lit un caractere a la position courante du curseur 0920 DEFW &13A8 ; &BB63 0922 DEFW &1208 ; &BB66 Fixe les limites d'une fenetre texte (WINDOW) 0924 DEFW &1252 ; &BB69 Demande les dimension de la fenetre texte 0926 DEFW &154F ; &BB6C Efface le contenu de la fenetre texte courante 0928 DEFW &115A ; &BB6F Deplace le curseur sur un numero de colonne 092A DEFW &1165 ; &BB72 Deplace le curseur sur un numero de ligne 092C DEFW &1170 ; &BB75 Positionne le curseur (LOCATE) 092E DEFW &117C ; &BB78 Demande la position courante du curseur texte 0930 DEFW &1286 ; &BB7B 0932 DEFW &1297 ; &BB7E 0934 DEFW &1276 ; &BB81 0936 DEFW &127E ; &BB84 0938 DEFW &11CA ; &BB87 093A DEFW &1265 ; &BB8A 093C DEFW &1265 ; &BB8D 093E DEFW &12A6 ; &BB90 Fixe le stylo d'ecriture (PEN) 0940 DEFW &12BA ; &BB93 Lit le numero de stylo utilise pour l'ecriture 0942 DEFW &12AB ; &BB96 Fixe le stylo de fond (PAPER) 0944 DEFW &12C0 ; &BB99 Lit le numero de stylo utilise pour le fond 0946 DEFW &12C6 ; &BB9C Echange les encres de stylo et de fond (CHR$(24)) 0948 DEFW &137B ; &BB9F Place le mode d'ecriture opaque/transparent 094A DEFW &1388 ; &BBA2 094C DEFW &12D4 ; &BBA5 094E DEFW &12F2 ; &BBA8 Redefinit la matrice d'un caractere ascii (SYMBOL) 0950 DEFW &12FE ; &BBAB 0952 DEFW &132B ; &BBAE 0954 DEFW &14D4 ; &BBB1 0956 DEFW &10E4 ; &BBB4 0958 DEFW &0113 ; &BBB7 095A DEFW &15A8 ; &BBBA Initialisation du gestionnaire graphique 095C DEFW &15D7 ; &BBBD RAZ du gestionnaire 095E DEFW &15FE ; &BBC0 Positionnement absolu du curseur gfx (MOVE) 0960 DEFW &15FB ; &BBC3 Positionnement relatif du curseur gfx (MOVER) 0962 DEFW &0166 ; &BBC6 Lecture de la position du curseur gfx (XPOS,YPOS) 0964 DEFW &016E ; &BBC9 Positionnement de l'origine (ORIGIN) 0966 DEFW &161C ; &BBCC Lecture de l'origine du curseur gfx 0968 DEFW &16A5 ; &BBCF Fixe les limites horizontales de la fenetre gfx 096A DEFW &16EA ; &BBD2 Fixe les limites verticales de la fenetre gfx 096C DEFW &1717 ; &BBD5 Lecture des limites Horizontales de la fenetre gfx 096E DEFW &172D ; &BBD8 Lecture des limites verticales de la fenetre gfx 0970 DEFW &1736 ; &BBDB Efface la fentre graphique 0972 DEFW &1767 ; &BBDE Fixe la couleur des traces 0974 DEFW &1775 ; &BBE1 Lecture de la couleur des traces 0976 DEFW &176E ; &BBE4 Fixe la couleur du fond 0978 DEFW &177A ; &BBE7 Lecture de la couleur du fond 097A DEFW &1783 ; &BBEA Positionnement absolu d'un point a l'ecran 097C DEFW &1780 ; &BBED Positionnement relatif d'un point a l'ecran 097E DEFW &1797 ; &BBF0 teste l'encre d'un point (X,Y) absolue 0980 DEFW &1794 ; &BBF3 teste l'encre d'un point (X,Y) relatif 0982 DEFW &17A9 ; &BBF6 Trace une droite en absolu 0984 DEFW &17A6 ; &BBF9 Trace une droite en relatif 0986 DEFW &1940 ; &BBFC Ecriture d'un caractere en mode gfx a la pos courante 0988 DEFW &0ABF ; &BBFF Initialisation totale du gestionnaire ecran 098A DEFW &0AD0 ; &BC02 Initialisation partielle 098C DEFW &0B37 ; &BC05 Fixe l'offset de la memoire video 098E DEFW &0B3C ; &BC08 Fixe l'adresse de l'ecran 0990 DEFW &0B56 ; &BC0B lecture de l'adresse ecran 0992 DEFW &0AE9 ; &BC0E Fixe le mode video (MODE) 0994 DEFW &00BC ; &BC11 Lit le mode video courant 0996 DEFW &0B17 ; &BC14 Efface l'ecran (CLS) 0998 DEFW &0B5D ; &BC17 Lecture de la surface ecran en caracteres 099A DEFW &0B6A ; &BC1A Calcule l'adresse d'un caractere 099C DEFW &0BAF ; &BC1D Calcule l'adresse d'un point gfx 099E DEFW &0C05 ; &BC20 Calcule l'adresse ecran de l'octet situe a droite 09A0 DEFW &0C11 ; &BC23 Calcule l'adresse ecran de l'octet situe a gauche 09A2 DEFW &0C1F ; &BC26 Calcule l'adresse ecran de l'octet situe dessous 09A4 DEFW &0C39 ; &BC29 Calcule l'adresse ecran de l'octet situe dessus 09A6 DEFW &0C8E ; &BC2C Remplit un octet en fct d'un No de couleur 09A8 DEFW &0CA7 ; &BC2F Renvoie un No de couleur en fct d'un octet 09AA DEFW &0CF2 ; &BC32 Fixe une encre (INK) 09AC DEFW &0D1A ; &BC35 Lecture d'une encre 09AE DEFW &0CF7 ; &BC38 Fixe la couleur du Border (BORDER) 09B0 DEFW &0D1F ; &BC3B Lecture des couleurs du Border 09B2 DEFW &0CEA ; &BC3E Fixe la duree de clignotement des couleurs (SPEEDINK) 09B6 DEFW &0CEE ; &BC41 Lecture des durees de clignotement 09B8 DEFW &0DB9 ; &BC44 Remplissage d'un rectangle (par coordonnees) 09BA DEFW &0DBD ; &BC47 Remplissage d'un rectangle (pas adresses) 09BC DEFW &0DE5 ; &BC4A Inversion des couleurs d'un caractere 09BE DEFW &0E44 ; &BC4D Scroll hard vertical de l'ecran 09C0 DEFW &0EF9 ; &BC50 Scroll soft vertical d'une fenetre 09C2 DEFW &0F2A ; &BC53 Convertion d'une matrice de caractere en fct du mode video 09C4 DEFW &0C55 ; &BC56 Convertion d'un caractere ecran en matrice binaire 09C6 DEFW &0C74 ; &BC59 Fixe le mode d'affichage graphique 09C8 DEFW &0C93 ; &BC5C affiche un point a l'ecran (PLOT) 09CA DEFW &0F9B ; &BC5F Trace une ligne horizontale 09CC DEFW &24BC ; &BC62 Trace une ligne verticale 09CE DEFW &24CE ; &BC65 Initialisation du gestionnaire K7 09D0 DEFW &24E1 ; &BC68 Fixe la vitesse d'ecriture K7 09D2 DEFW &2BBB ; &BC6B Affichage des messages 09D4 DEFW &2BBF ; &BC6E Mise en route du moteur K7 09D6 DEFW &2BC1 ; &BC71 Arret du moteur K7 09D8 DEFW &24E5 ; &BC74 Restauration de l'etat du moteur K7 09DA DEFW &2550 ; &BC77 Lecture du 1er bloc d'un fichier... 09DC DEFW &2557 ; &BC7A Fermeture du fichier 09DE DEFW &25A0 ; &BC7D Abandon de la lecture et fermeture du fichier actif 09E0 DEFW &2618 ; &BC80 Lecture d'un octet 09E2 DEFW &0267 ; &BC83 Transfert d'un fichier en memoire 09E4 DEFW &0263 ; &BC86 Annulation de la lecture d'un octet 09E6 DEFW &24FE ; &BC89 test de la fin de fichier 09E8 DEFW &257F ; &BC8C Ouverture d'un fichier en sortie 09EA DEFW &2599 ; &BC8F Fermeture propre d'un fichier de sorties 09EC DEFW &25C6 ; &BC92 Fermeture immediate de fichier de sorties 09EE DEFW &2653 ; &BC95 Ecriture d'un caractere dans le fichier de sortie 09F0 DEFW &2692 ; &BC98 Transfere une zone memoire vers la K7 09F2 DEFW &29AF ; &BC9B Generation du catalogue 09F4 DEFW &29A6 ; &BC9E Ecriture d'un enregistrement sur bande 09F6 DEFW &29C1 ; &BCA1 lecture d'un enregistrement K7 09F8 DEFW &1FE9 ; &BCA4 Comparaison de donnees entre la RAM et le fichier 09FA DEFW &2114 ; &BCA7 Initialise le gestionnaire sonore 09FC DEFW &21CE ; &BCAA Place un son sur un canal (SOUND) 09FE DEFW &21EB ; &BCAD Teste l'etat des canaux sonores (SQ) 0A00 DEFW &21AC ; &BCB0 Prepare l'execution d'un interruption... 0A02 DEFW &2050 ; &BCB3 0A04 DEFW &206B ; &BCB6 Arrete tous les sons 0A06 DEFW &2495 ; &BCB9 Libere tous les sons 0A08 DEFW &249A ; &BCBC Creation d'une enveloppe de volume (ENV) 0A0A DEFW &24A6 ; &BCBF Creation d'une enveloppe de frequence (ENT) 0A0C DEFW &24AB ; &BCC2 Donne l'adresse des donnees d'une env. de volume 0A0E DEFW &005C ; &BCC5 Donne l'adresse des donnees d'une env. de frequence 0A10 DEFW &0326 ; &BCC8 Remise en forme des interruptions/Chronometre 0A12 DEFW &0330 ; &BCCB Recherche et init de toutes les ROM de 2nd plan 0A14 DEFW &02A0 ; &BCCE Initialisation d'une ROM de 2nd plan 0A16 DEFW &02B1 ; &BCD1 Installation d'une RSX 0A18 DEFW &0163 ; &BCD4 Recherche d'une RSX dans les ROM 0A1A DEFW &016A ; &BCD7 0A1C DEFW &0170 ; &BCDA 0A1E DEFW &0176 ; &BCDD 0A20 DEFW &017D ; &BCE0 0A22 DEFW &0183 ; &BCE3 Pose un bloc dans la liste d'interruption rapide 0A24 DEFW &01B3 ; &BCE6 Enleve un bloc de la liste d'interruption rapide 0A26 DEFW &01C5 ; &BCE9 Pose un bloc dans la liste d'interruption normale 0A28 DEFW &01D2 ; &BCEC Enleve un bloc de la liste d'interruption normale 0A2A DEFW &01E2 ; &BCEF Initialise un bloc 0A2C DEFW &0227 ; &BCF2 Active un bloc 0A2E DEFW &0284 ; &BCF5 Fait le menage dans les listes 0A30 DEFW &0255 ; &BCF8 Detruit un bloc 0A32 DEFW &0219 ; &BCFB Recherche du prochain bloc actif 0A34 DEFW &0276 ; &BCFE Traite un bloc 0A36 DEFW &0294 ; &BD01 Termine le traitement d'un bloc 0A38 DEFW &029A ; &BD04 Interdiction des evenements temporises normaux 0A3A DEFW &028D ; &BD07 Autorise les evenement temporises normaux 0A3C DEFW &0099 ; &BD0A Interdit un evenement 0A3E DEFW &00A3 ; &BD0D Donne le temps ecoule (1/300s) depuis l'allumage 0A40 DEFW &05ED ; &BD10 Positionne le compteur interne (timer 32bit) 0A42 DEFW &061C ; &BD13 Charge un programme en RAM et l'execute 0A44 DEFW &07B4 ; &BD16 Lance un programme d'une ROM de 2nd plan 0A46 DEFW &0776 ; &BD19 Synchro Verticale (VBL ou VBI) 0A48 DEFW &07C0 ; &BD1C Fixe le mode ecran 0A4A DEFW &0786 ; &BD1F Fixe l'offset video 0A4C DEFW &078C ; &BD22 Standardisation de la palette sans le border 0A4E DEFW &07E0 ; &BD25 Standardisation de la palette avec le border 0A50 DEFW &081B ; &BD28 Initialisation vers l'imprimante (PRINT #8) 0A52 DEFW &0858 ; &BD2B Envoi d'un caractere a l'imprimante (teste BUSY) 0A54 DEFW &0844 ; &BD2E Test de l'imprimante 0A56 DEFW &0863 ; &BD31 Envoi d'un caractere a l'imprimante 0A58 DEFW &08BD ; &BD34 Ecrit un registre du PSG 0A5A DEFW &1D3C ; &BD37 Reinitialise les blocs de saut standard (?) 0A5C DEFW &1BFE ; &BD3A 0A5E DEFW &1460 ; &BD3D 0A60 DEFW &15EC ; &BD40 0A62 DEFW &19D5 ; &BD43 0A64 DEFW &17B0 ; &BD46 0A66 DEFW &17AC ; &BD49 0A68 DEFW &162A ; &BD4C 0A6A DEFW &19D9 ; &BD4F 0A6C DEFW &0B45 ; &BD52 0A6E DEFW &008C ; &BD55 0A70 DEFW &0397 ; &BD58 0A72 DEFW &02C2 ; &BD5B 0A74 DEFW &2F91 ; &BD5E 0A76 DEFW &2F9F ; &BD61 (vecteurs appele par RST &28) 0A78 DEFW &2FC8 ; &BD64 ? 0A7A DEFW &2FD9 ; &BD67 ? 0A7C DEFW &0301 ; &BD6A ... 0A7E DEFW &3014 ; &BD6D 0A80 DEFW &3055 ; &BD70 0A82 DEFW &305F ; &BD73 0A84 DEFW &30C6 ; &BD76 0A86 DEFW &34A2 ; &BD79 0A88 DEFW &3159 ; &BD7C 0A8A DEFW &349E ; &BD7F 0A8C DEFW &3577 ; &BD85 0A8E DEFW &0364 ; &BD85 0A90 DEFW &3188 ; &BD88 0A92 DEFW &36DF ; &BD8B 0A94 DEFW &3731 ; &BD8E 0A96 DEFW &3727 ; &BD91 0A98 DEFW &3345 ; &BD94 0A9A DEFW &2F73 ; &BD97 0A9C DEFW &32AC ; &BD9A 0A9E DEFW &32AF ; &BD9D 0AA0 DEFW &31B6 ; &BDA0 0AA2 DEFW &31B1 ; &BDA3 0AA4 DEFW &322F ; &BDA6 0AA6 DEFW &3353 ; &BDA9 0AA8 DEFW &3349 ; &BDAC 0AAA DEFW &33C8 ; &BDAF 0AAC DEFW &33D8 ; &BDB2 0AAE DEFW &2FD1 ; &BDB5 0AB0 DEFW &3136 ; &BDB8 0AB2 DEFW &3143 ; &BDBB 0AB4 LD C,(HL) 0AB5 LD B,&00 0AB7 INC HL 0AB8 LD E,(HL) 0AB9 INC HL 0ABA LD D,(HL) 0ABB INC HL 0ABC LDIR 0ABE RET 0ABF LD DE,&1052 0AC2 CALL &0786 0AC5 LD A,&C0 0AC7 LD (&B7C6),A 0ACA CALL &0AD0 0ACD JP &0B12 0AD0 XOR A 0AD1 CALL &0C55 0AD4 LD HL,&0ADD 0AD7 CALL &0AB4 0ADA JP &0CD8 0ADD ADD HL,BC 0ADE PUSH HL 0ADF CP L 0AE0 JP &0C8A 0AE3 JP &0C71 0AE6 JP &0B17 ; &BC0E - Change le mode ecran et CLS 0AE9 AND &03 0AEB CP &03 0AED RET NC 0AEE PUSH AF 0AEF CALL &0D55 0AF2 POP DE 0AF3 CALL &10B3 0AF6 PUSH AF 0AF7 CALL &15CE 0AFA PUSH HL 0AFB LD A,D 0AFC CALL &0B31 0AFF CALL &BDEB ; (jp &b17) 0B02 POP HL 0B03 CALL &15AE 0B06 POP AF 0B07 CALL &10D1 0B0A JR &0B2E 0B0C LD A,&B7C3 0B0F CP &01 0B11 RET 0B12 LD A,&01 0B14 CALL &0B31 0B17 CALL &0D55 0B1A LD HL,&0000 0B1D CALL &0B37 0B20 LD HL,(&B7C5) 0B23 LD L,&00 0B25 LD D,H 0B26 LD E,&01 0B28 LD BC,&3FFF 0B2B LD (HL),L 0B2C LDIR 0B2E JP &0D42 0B31 LD (&B7C3),A 0B34 JP &0776 0B37 LD A,(&B7C6) 0B3A JR &0B3F 0B3C LD HL,(&B7C4) 0B3F CALL &0B45 0B42 JP &07C0 0B45 AND &C0 0B47 LD (&B7C6),A 0B4A PUSH AF 0B4B LD A,H 0B4C AND &07 0B4E LD H,A 0B4F RES 0,L 0B51 LD (&B7C4),HL 0B54 POP AF 0B55 RET 0B56 LD HL,(&B7C4) 0B59 LD A,(&B7C6) 0B5C RET 0B5D CALL &0B0C 0B60 LD BC,&1318 0B63 RET C 0B64 LD B,&27 0B66 RET Z 0B67 LD B,&4F 0B69 RET 0B6A PUSH DE 0B6B CALL &0B0C 0B6E LD B,&04 0B70 JR C,&0B77 0B72 LD B,&02 0B74 JR Z,&0B77 0B76 DEC B 0B77 PUSH BC 0B78 LD E,H 0B79 LD D,&00 0B7B LD H,D 0B7C PUSH DE 0B7D LD D,H 0B7E LD E,L 0B7F ADD HL,HL 0B80 ADD HL,HL 0B81 ADD HL,DE 0B82 ADD HL,HL 0B83 ADD HL,HL 0B84 ADD HL,HL 0B85 ADD HL,HL 0B86 POP DE 0B87 ADD HL,DE 0B88 DJNZ &0B87 0B8A LD DE,(&B7C4) 0B8E ADD HL,DE 0B8F LD A,H 0B90 AND &07 0B92 LD H,A 0B93 LD A,(&B7C6) 0B96 ADD A,H 0B97 LD H,A 0B98 POP BC 0B99 POP DE 0B9A RET 0B9B LD A,E 0B9C SUB L 0B9D INC A 0B9E ADD A,A 0B9F ADD A,A 0BA0 ADD A,A 0BA1 LD E,A 0BA2 LD A,D 0BA3 SUB H 0BA4 INC A 0BA5 LD D,A 0BA6 CALL &0B6A 0BA9 XOR A 0BAA ADD A,D 0BAB DJNZ &0BAA 0BAD LD D,A 0BAE RET 0BAF PUSH DE 0BB0 EX DE,HL 0BB1 LD HL,&00C7 0BB4 OR A 0BB5 SBC HL,DE 0BB7 LD A,L 0BB8 AND &07 0BBA ADD A,A 0BBB ADD A,A 0BBC ADD A,A 0BBD LD C,A 0BBE LD A,L 0BBF AND &F8 0BC1 LD L,A 0BC2 LD D,H 0BC3 LD E,L 0BC4 ADD HL,HL 0BC5 ADD HL,HL 0BC6 ADD HL,DE 0BC7 ADD HL,HL 0BC8 POP DE 0BC9 PUSH BC 0BCA CALL &0BF6 0BCD LD A,B 0BCE AND E 0BCF JR Z,&0BD6 0BD1 RRC C 0BD3 DEC A 0BD4 JR NZ,&0BD1 0BD6 EX (SP),HL 0BD7 LD H,C 0BD8 LD C,L 0BD9 EX (SP),HL 0BDA LD A,B 0BDB RRCA 0BDC SRL D 0BDE RR E 0BE0 RRCA 0BE1 JR C,&0BDC 0BE3 ADD HL,DE 0BE4 LD DE,(&B7C4) 0BE8 ADD HL,DE 0BE9 LD A,H 0BEA AND &07 0BEC LD H,A 0BED LD A,(&B7C6) 0BF0 ADD A,H 0BF1 ADD A,C 0BF2 LD H,A 0BF3 POP DE 0BF4 LD C,D 0BF5 RET 0BF6 CALL &0B0C 0BF9 LD BC,&01AA 0BFC RET C 0BFD LD BC,&0388 0C00 RET Z 0C01 LD BC,&0780 0C04 RET ; &BC20 ; Calcule l'adresse ecran de l'octet ; situe a droite de celui dont on ; passe l'adresse dans HL 0C05 INC L 0C06 RET NZ 0C07 INC H 0C08 LD A,H 0C09 AND &07 0C0B RET NZ 0C0C LD A,H 0C0D SUB &08 0C0F LD H,A 0C10 RET ; &BC23 ; Calcule l'adresse ecran de l'octet ; situe a gauche de celui dont on ; passe l'adresse dans HL 0C11 LD A,L 0C12 DEC L 0C13 OR A 0C14 RET NZ 0C15 LD A,H 0C16 DEC H 0C17 AND &07 0C19 RET NZ 0C1A LD A,H 0C1B ADD A,&08 0C1D LD H,A 0C1E RET ; &BC26 ; Calcule l'adresse ecran de l'octet ; situe au dessous de celui dont on ; passe l'adresse dans HL 0C1F LD A,H 0C20 ADD A,&08 0C22 LD H,A 0C23 AND &38 0C25 RET NZ 0C26 LD A,H 0C27 SUB &40 0C29 LD H,A 0C2A LD A,L 0C2B ADD A,&50 0C2D LD L,A 0C2E RET NC 0C2F INC H 0C30 LD A,H 0C31 AND &07 0C33 RET NZ 0C34 LD A,H 0C35 SUB &08 0C37 LD H,A 0C38 RET ; &BC29 ; Calcule l'adresse ecran de l'octet ; situe au dessus de celui dont on ; passe l'adresse dans HL 0C39 LD A,H 0C3A SUB &08 0C3C LD H,A 0C3D AND &38 0C3F CP &38 0C41 RET NZ 0C42 LD A,H 0C43 ADD A,&40 0C45 LD H,A 0C46 LD A,L 0C47 SUB &50 0C49 LD L,A 0C4A RET NC 0C4B LD A,H 0C4C DEC H 0C4D AND &07 0C4F RET NZ 0C50 LD A,H 0C51 ADD A,&08 0C53 LD H,A 0C54 RET ; &BC56 ; Convertion d'un caractere a l'ecran ; en une matrice binaire de 8 octets ; A=masque de l'encre d'ecriture du caractere ; H et l = Colonne et Ligne du caractere 0C55 AND &03 0C57 LD HL,&0C74 0C5A JR Z,&0C68 0C5C CP &02 0C5E LD L,&7A 0C60 JR C,&0C68 0C62 LD L,&7F 0C64 JR Z,&0C68 0C66 LD L,&85 0C68 LD A,&C3 0C6A LD (&B7C7),A 0C6D LD (&B7C8),HL 0C70 RET 0C71 JP &B7C7 ; (jp &c74) !!!! 0C74 LD A,B 0C75 XOR (HL) 0C76 AND C 0C77 XOR (HL) 0C78 LD (HL),A 0C79 RET 0C7A LD A,B 0C7B AND C 0C7C XOR (HL) 0C7D LD (HL),A 0C7E RET 0C7F LD A,C 0C80 CPL 0C81 OR B 0C82 AND (HL) 0C83 LD (HL),A 0C84 RET 0C85 LD A,B 0C86 AND C 0C87 OR (HL) 0C88 LD (HL),A 0C89 RET 0C8A LD A,(HL) 0C8B JP &0CB2 ; &BC2C ; remplit un octet de la couleur ; precisee dans A 0C8E PUSH BC 0C8F PUSH DE 0C90 CALL &0CC8 ; &BC5C ; Affiche un point ; B=masque de l'encre ; C=masque du point ; HL=adresse ecran 0C93 LD E,A 0C94 CALL &0BF6 0C97 LD B,&08 0C99 RRC E 0C9B RLA 0C9C RRC C 0C9E JR C,&0CA2 0CA0 RLC E 0CA2 DJNZ &0C99 0CA4 POP DE 0CA5 POP BC 0CA6 RET ; &BC2F ; renvoie un No de couleur en ; fonction de la valeur d'un octet 0CA7 PUSH BC 0CA8 PUSH AF 0CA9 CALL &0BF6 0CAC POP AF 0CAD CALL &0CB2 0CB0 POP BC 0CB1 RET 0CB2 PUSH DE 0CB3 LD DE,&0008 0CB6 RRCA 0CB7 RL D 0CB9 RRC C 0CBB JR C,&0CBF 0CBD RR D 0CBF DEC E 0CC0 JR NZ,&0CB6 0CC2 LD A,D 0CC3 CALL &0CC8 0CC6 POP DE 0CC7 RET 0CC8 LD D,A 0CC9 CALL &0B0C 0CCC LD A,D 0CCD RET NC 0CCE RRCA 0CCF RRCA 0CD0 ADC A,&00 0CD2 RRCA 0CD3 SBC A,A 0CD4 AND &06 0CD6 XOR D 0CD7 RET 0CD8 LD HL,&1052 0CDB LD DE,&B7D4 0CDE LD BC,&0022 0CE1 LDIR 0CE3 XOR A 0CE4 LD (&B7F6),A 0CE7 LD HL,&0A0A ; &BC3E ; positionne la duree de clignotement ; des couleurs du Border avec H et L 0CEA LD (&B7D2),HL 0CED RET ; &BC41 ; lecture des durees de clignotements ; du Border. 0CEE LD HL,(&B7D2) 0CF1 RET ; &BC32 ; installe une encre ; A=No de l'encre ; B et C le No des couleurs 0CF2 AND &0F 0CF4 INC A 0CF5 JR &0CF8 ; &BC38 ; installe la couleur du Border ; B et C = No des couleurs 0CF7 XOR A 0CF8 LD E,A 0CF9 LD A,B 0CFA CALL &0D10 0CFD LD B,(HL) 0CFE LD A,C 0CFF CALL &0D10 0D02 LD C,(HL) 0D03 LD A,E 0D04 CALL &0D35 0D07 LD (HL),C 0D08 EX DE,HL 0D09 LD (HL),B 0D0A LD A,&FF 0D0C LD (&B7F7),A 0D0F RET 0D10 AND &1F 0D12 ADD A,&99 0D14 LD L,A 0D15 ADC A,&0D 0D17 SUB L 0D18 LD H,A 0D19 RET ; &BC35 ; lecture des couleurs d'un encre ; A=No de l'encre a lire 0D1A AND &0F 0D1C INC A 0D1D JR &0D20 ; &BC3B ; lecture des couleurs du Border 0D1F XOR A 0D20 CALL &0D35 0D23 LD A,(DE) 0D24 LD E,(HL) 0D25 CALL &0D2A 0D28 LD B,C 0D29 LD A,E 0D2A LD C,&00 0D2C LD HL,&0D99 0D2F CP (HL) 0D30 RET Z 0D31 INC HL 0D32 INC C 0D33 JR &0D2F 0D35 LD E,A 0D36 LD D,&00 0D38 LD HL,&B7E5 0D3B ADD HL,DE 0D3C EX DE,HL 0D3D LD HL,&FFEF 0D40 ADD HL,DE 0D41 RET 0D42 LD HL,&B7F9 0D45 PUSH HL 0D46 CALL &0170 0D49 CALL &0D73 0D4C LD DE,&0D61 0D4F LD B,&81 0D51 POP HL 0D52 JP &0163 0D55 LD HL,&B7F9 0D58 CALL &0170 0D5B CALL &0D87 0D5E JP &0786 0D61 LD HL,&B7F8 0D64 DEC (HL) 0D65 JR Z,&0D73 0D67 DEC HL 0D68 LD A,(HL) 0D69 OR A 0D6A RET Z 0D6B CALL &0D87 0D6E CALL &078C 0D71 JR &0D82 0D73 CALL &0D87 0D76 LD (&B7F8),A 0D79 CALL &078C 0D7C LD HL,&B7F6 0D7F LD A,(HL) 0D80 CPL 0D81 LD (HL),A 0D82 XOR A 0D83 LD (&B7F7),A 0D86 RET 0D87 LD DE,&B7E5 0D8A LD A,(&B7F6) 0D8D OR A 0D8E LD A,(&B7D3) 0D91 RET Z 0D92 LD DE,&B7D4 0D95 LD A,(&B7D2) 0D98 RET Table des couleurs hard (bit 6=0) dans l'ordre de leur valeur soft (0 ŕ 32 dont 27 reelement differentes) 0D99 DEFB &14,&04,&15,&1C,&18,&1D,&0C,&05 0DA1 DEFB &0D,&16,&06,&17,&1E,&00,&1F,&0E 0DA9 DEFB &07,&0F,&12,&02,&13,&1A,&19,&1B 0DB1 DEFB &0A,&03,&0B,&01,&08,&09,&10,&11 ; &BC44 ; Remplissage d'un rectangle ; A=masque de remplissage ; H=colonne de gauche ; D=colonne de droite ; L=ligne superieure ; E=ligne inferieure 0DB9 LD C,A 0DBA CALL &0B9B ; &BC47 idem &BC44 sauf que l'on passe ; l'adresse ecran ; A=masque de remplisage ; HL=adresse ecran du bord haut gauche ; D=Nombre d'octet ; E=Nombre de ligne 0DBD PUSH HL 0DBE LD A,D 0DBF CALL &0EEE 0DC2 JR NC,&0DCD 0DC4 LD B,D 0DC5 LD (HL),C 0DC6 CALL &0C05 0DC9 DJNZ &0DC5 0DCB JR &0DDD 0DCD PUSH BC 0DCE PUSH DE 0DCF LD (HL),C 0DD0 DEC D 0DD1 JR Z,&0DDB 0DD3 LD C,D 0DD4 LD B,&00 0DD6 LD D,H 0DD7 LD E,L 0DD8 INC DE 0DD9 LDIR 0DDB POP DE 0DDC POP BC 0DDD POP HL 0DDE CALL &0C1F 0DE1 DEC E 0DE2 JR NZ,&0DBD 0DE4 RET ; &BC4A ; Inversion des couleurs d'un caractere ; B=masque de la couleur du fond ; C=masque de la couleur de l'encre ; H=Colonne ecran ; L=ligne ecran 0DE5 LD A,B 0DE6 XOR C 0DE7 LD C,A 0DE8 CALL &0B6A 0DEB LD D,&08 0DED PUSH HL 0DEE PUSH BC 0DEF LD A,(HL) 0DF0 XOR C 0DF1 LD (HL),A 0DF2 CALL &0C05 0DF5 DJNZ &0DEF 0DF7 POP BC 0DF8 POP HL 0DF9 CALL &0C1F 0DFC DEC D 0DFD JR NZ,&0DED 0DFF RET 0E00 LD C,A 0E01 PUSH BC 0E02 LD DE,&FFD0 0E05 LD B,&30 0E07 CALL &0E2A 0E0A POP BC 0E0B CALL &07B4 0E0E LD A,B 0E0F OR A 0E10 JR NZ,&0E1F 0E12 LD DE,&FFB0 0E15 CALL &0E3D 0E18 LD DE,&0000 0E1B LD B,&20 0E1D JR &0E2A 0E1F LD DE,&0050 0E22 CALL &0E3D 0E25 LD DE,&FFB0 0E28 LD B,&20 0E2A LD HL,(&B7C4) 0E2D ADD HL,DE 0E2E LD A,H 0E2F AND &07 0E31 LD H,A 0E32 LD A,&B7C6 0E35 ADD A,H 0E36 LD H,A 0E37 LD D,B 0E38 LD E,&08 0E3A JP &0DBD 0E3D LD HL,(&B7C4) 0E40 ADD HL,DE 0E41 JP &0B37 ; &BC4D ; Scroll hard vertical ; B=0 pour descendre ; sinon sa monte 0E44 PUSH AF 0E45 LD A,B 0E46 OR A 0E47 JR Z,&0E79 0E49 PUSH HL 0E4A CALL &0B9B 0E4D EX (SP),HL 0E4E INC L 0E4F CALL &0B6A 0E52 LD C,D 0E53 LD A,E 0E54 SUB &08 0E56 LD B,A 0E57 JR Z,&0E70 0E59 POP DE 0E5A CALL &07B4 0E5D PUSH BC 0E5E PUSH HL 0E5F PUSH DE 0E60 CALL &0EAA 0E63 POP HL 0E64 CALL &0C1F 0E67 EX DE,HL 0E68 POP HL 0E69 CALL &0C1F 0E6C POP BC 0E6D DJNZ &0E5D 0E6F PUSH DE 0E70 POP HL 0E71 LD D,C 0E72 LD E,&08 0E74 POP AF 0E75 LD C,A 0E76 JP &0DBD 0E79 PUSH HL 0E7A PUSH DE 0E7B CALL &0B9B 0E7E LD C,D 0E7F LD A,E 0E80 SUB &08 0E82 LD B,A 0E83 POP DE 0E84 EX (SP),HL 0E85 JR Z,&0E70 0E87 PUSH BC 0E88 LD L,E 0E89 LD D,H 0E8A INC E 0E8B CALL &0B6A 0E8E EX DE,HL 0E8F CALL &0B6A 0E92 POP BC 0E93 CALL &07B4 0E96 CALL &0C39 0E99 PUSH HL 0E9A EX DE,HL 0E9B CALL &0C39 0E9E PUSH HL 0E9F PUSH BC 0EA0 CALL &0EAA 0EA3 POP BC 0EA4 POP DE 0EA5 POP HL 0EA6 DJNZ &0E96 0EA8 JR &0E70 0EAA LD B,&00 0EAC CALL &0EEC 0EAF JR C,&0EC7 0EB1 CALL &0EEC 0EB4 JR NC,&0EDB 0EB6 PUSH BC 0EB7 XOR A 0EB8 SUB L 0EB9 LD C,A 0EBA LDIR 0EBC POP BC 0EBD CPL 0EBE INC A 0EBF ADD A,C 0EC0 LD C,A 0EC1 LD A,H 0EC2 SUB &08 0EC4 LD H,A 0EC5 JR &0EDB 0EC7 CALL &0EEC 0ECA JR C,&0EDE 0ECC PUSH BC 0ECD XOR A 0ECE SUB E 0ECF LD C,A 0ED0 LDIR 0ED2 POP BC 0ED3 CPL 0ED4 INC A 0ED5 ADD A,C 0ED6 LD C,A 0ED7 LD A,D 0ED8 SUB &08 0EDA LD D,A 0EDB LDIR 0EDD RET 0EDE LD B,C 0EDF LD A,(HL) 0EE0 LD (DE),A 0EE1 CALL &0C05 0EE4 EX DE,HL 0EE5 CALL &0C05 0EE8 EX DE,HL 0EE9 DJNZ &0EDF 0EEB RET 0EEC LD A,C 0EED EX DE,HL 0EEE DEC A 0EEF ADD A,L 0EF0 RET NC 0EF1 LD A,H 0EF2 AND &07 0EF4 XOR &07 0EF6 RET NZ 0EF7 SCF 0EF8 RET ; &BC50 ; Scroll soft d'une fenetre ; B=0 pour scrolling-down sinon up ; A=masque de la couleur ded l'encre... ; H et D = Colonne gauche et droite ; L et E = Ligne haute et basse 0EF9 CALL &0B0C 0EFC JR C,&0F0B 0EFE JR Z,&0F06 0F00 LD BC,&0008 0F03 LDIR 0F05 RET 0F06 LD BC,&0288 0F09 JR &0F0E 0F0B LD BC,&04AA 0F0E LD A,&08 0F10 PUSH AF 0F11 PUSH HL 0F12 LD L,(HL) 0F13 LD H,B 0F14 XOR A 0F15 RLC L 0F17 JR NC,&0F1A 0F19 OR C 0F1A RRC C 0F1C JR NC,&0F15 0F1E LD (DE),A 0F1F INC DE 0F20 DJNZ &0F14 0F22 LD B,H 0F23 POP HL 0F24 INC HL 0F25 POP AF 0F26 DEC A 0F27 JR NZ,&0F10 0F29 RET ; &BC53 ; Conversion de la matrice d'un caractere ; standard en une autre compatible avec le ; mode courant. ; HL=adr. matrice standard ; DE=adr. matrice destination (32 octets max ; en mode 0) 0F2A LD C,A 0F2B CALL &0B6A 0F2E CALL &0B0C 0F31 LD B,&08 0F33 JR C,&0F6B 0F35 JR Z,&0F42 0F37 LD A,(HL) 0F38 XOR C 0F39 CPL 0F3A LD (DE),A 0F3B INC DE 0F3C CALL &0C1F 0F3F DJNZ &0F37 0F41 RET 0F42 PUSH BC 0F43 PUSH HL 0F44 PUSH DE 0F45 CALL &0F5A 0F48 CALL &0C05 0F4B CALL &0F5A 0F4E LD A,E 0F4F POP DE 0F50 LD (DE),A 0F51 INC DE 0F52 POP HL 0F53 CALL &0C1F 0F56 POP BC 0F57 DJNZ &0F42 0F59 RET 0F5A LD D,&88 0F5C LD B,&04 0F5E LD A,(HL) 0F5F XOR C 0F60 AND D 0F61 JR NZ,&0F64 0F63 SCF 0F64 RL E 0F66 RRC D 0F68 DJNZ &0F5E 0F6A RET 0F6B PUSH BC 0F6C PUSH HL 0F6D PUSH DE 0F6E LD B,&04 0F70 LD A,(HL) 0F71 XOR C 0F72 AND &AA 0F74 JR NZ,&0F77 0F76 SCF 0F77 RL E 0F79 LD A,(HL) 0F7A XOR C 0F7B AND &55 0F7D JR NZ,&0F80 0F7F SCF 0F80 RL E 0F82 CALL &0C05 0F85 DJNZ &0F70 0F87 LD A,E 0F88 POP DE 0F89 LD (DE),A 0F8A INC DE 0F8B POP HL 0F8C CALL &0C1F 0F8F POP BC 0F90 DJNZ &0F6B 0F92 RET 0F93 CALL &0FAD 0F96 CALL &0FC2 0F99 JR &0FA1 ; &BC5F ; Tracage d'une ligne horizontale ; A=masque de l'encre ; DE et BC = Abscisse de depart et d'arrivee ; HL = No de ligne 0F9B CALL &0FAD 0F9E CALL &1016 0FA1 LD HL,(&B802) 0FA4 LD A,L 0FA5 LD &B6A3,A 0FA8 LD A,H 0FA9 LD &B6B3,A 0FAC RET 0FAD PUSH HL 0FAE LD HL,(&B6A3) 0FB1 LD &B6A3,A 0FB4 LD A,&B6B3 0FB7 LD H,A 0FB8 LD A,&FF 0FBA LD &B6B3,A 0FBD LD (&B802),HL 0FC0 POP HL 0FC1 RET 0FC2 SCF 0FC3 CALL &103B 0FC6 RLC B 0FC8 LD A,C 0FC9 JR NC,&0FDE 0FCB DEC E 0FCC JR NZ,&0FD1 0FCE DEC D 0FCF JR Z,&0FFD 0FD1 RRC C 0FD3 JR C,&0FFD 0FD5 BIT 7,B 0FD7 JR Z,&0FFD 0FD9 OR C 0FDA RLC B 0FDC JR &0FCB 0FDE DEC E 0FDF JR NZ,&0FE4 0FE1 DEC D 0FE2 JR Z,&0FF1 0FE4 RRC C 0FE6 JR C,&0FF1 0FE8 BIT 7,B 0FEA JR NZ,&0FF1 0FEC OR C 0FED RLC B 0FEF JR &0FDE 0FF1 PUSH BC 0FF2 LD C,A 0FF3 LD A,&B6A4 0FF6 LD B,A 0FF7 LD A,&B6B4 0FFA OR A 0FFB JR &1004 0FFD PUSH BC 0FFE LD C,A 0FFF LD A,&B6A3 1002 LD B,A 1003 XOR A 1004 CALL Z,&BDE8 1007 POP BC 1008 BIT 7,C 100A CALL NZ,&0C05 100D LD A,D 100E OR E 100F JR NZ,&0FC6 1011 LD A,B 1012 LD &B6B3,A 1015 RET 1016 OR A 1017 CALL &103B 101A RLC B 101C LD A,&B6A3 101F JR C,&102A 1021 LD A,&B6B4 1024 OR A 1025 JR NZ,&1030 1027 LD A,&B6A4 102A PUSH BC 102B LD B,A 102C CALL &BDE8 102F POP BC 1030 CALL &0C39 1033 DEC E 1034 JR NZ,&101A 1036 DEC D 1037 JR NZ,&101A 1039 JR &1011 103B PUSH HL 103C JR NC,&1040 103E LD H,D 103F LD L,E 1040 OR A 1041 SBC HL,BC 1043 CALL &1939 1046 INC H 1047 INC L 1048 EX (SP),HL 1049 CALL &0BAF 104C LD A,&B6B3 104F LD B,A 1050 POP DE 1051 RET 1052 INC B 1053 INC B 1054 LD A,(BC) 1055 INC DE 1056 INC C 1057 DEC BC 1058 INC D 1059 DEC D 105A DEC C 105B LD B,&1E 105D RRA 105E RLCA 105F LD (DE),A 1060 ADD HL,DE 1061 INC B 1062 RLA 1063 INC B 1064 INC B 1065 LD A,(BC) 1066 INC DE 1067 INC C 1068 DEC BC 1069 INC D 106A DEC D 106B DEC C 106C LD B,&1E 106E RRA 106F RLCA 1070 LD (DE),A 1071 ADD HL,DE 1072 LD A,(BC) 1073 RLCA 1074 CALL &1084 1077 XOR A 1078 LD &B735,A 107B LD HL,&0001 107E CALL &1139 1081 JP &109F 1084 LD HL,&108D 1087 CALL &0AB4 108A JP &1464 108D RRCA 108E CALL &C3BD 1091 LD E,A 1092 LD (DE),A 1093 JP &125F 1096 JP &134B 1099 JP &13BE 109C JP &140A 109F LD A,&08 10A1 LD DE,&B6B6 10A4 LD HL,&B726 10A7 LD BC,&000E 10AA LDIR 10AC DEC A 10AD JR NZ,&10A4 10AF LD &B6B5,A 10B2 RET 10B3 LD A,&B6B5 10B6 LD C,A 10B7 LD B,&08 10B9 LD A,B 10BA DEC A 10BB CALL &10E4 10BE CALL &BDD0 10C1 CALL &12C0 10C4 LD &B730,A 10C7 CALL &12BA 10CA LD &B72F,A 10CD DJNZ &10B9 10CF LD A,C 10D0 RET 10D1 LD C,A 10D2 LD B,&08 10D4 LD A,B 10D5 DEC A 10D6 CALL &10E4 10D9 PUSH BC 10DA LD HL,(&B72F) 10DD CALL &1139 10E0 POP BC 10E1 DJNZ &10D4 10E3 LD A,C 10E4 AND &07 10E6 LD HL,&B6B5 10E9 CP (HL) 10EA RET Z 10EB PUSH BC 10EC PUSH DE 10ED LD C,(HL) 10EE LD (HL),A 10EF LD B,A 10F0 LD A,C 10F1 CALL &1126 10F4 CALL &111E 10F7 LD A,B 10F8 CALL &1126 10FB EX DE,HL 10FC CALL &111E 10FF LD A,C 1100 POP DE 1101 POP BC 1102 RET 1103 LD A,&B6B5 1106 PUSH AF 1107 LD A,C 1108 CALL &10E4 110B LD A,B 110C LD &B6B5,A 110F CALL &1126 1112 PUSH DE 1113 LD A,C 1114 CALL &1126 1117 POP HL 1118 CALL &111E 111B POP AF 111C JR &10E4 111E PUSH BC 111F LD BC,&000E 1122 LDIR 1124 POP BC 1125 RET 1126 AND &07 1128 LD E,A 1129 ADD A,A 112A ADD A,E 112B ADD A,A 112C ADD A,E 112D ADD A,A 112E ADD A,&B6 1130 LD E,A 1131 ADC A,&B6 1133 SUB E 1134 LD D,A 1135 LD HL,&B726 1138 RET 1139 EX DE,HL 113A LD A,&83 113C LD &B72E,A 113F LD A,D 1140 CALL &12AB 1143 LD A,E 1144 CALL &12A6 1147 XOR A 1148 CALL &13A8 114B CALL &137B 114E LD HL,&0000 1151 LD DE,&7F7F 1154 CALL &1208 1157 JP &1459 115A DEC A 115B LD HL,&B72A 115E ADD A,(HL) 115F LD HL,(&B726) 1162 LD H,A 1163 JR &1173 1165 DEC A 1166 LD HL,&B729 1169 ADD A,(HL) 116A LD HL,(&B726) 116D LD L,A 116E JR &1173 1170 CALL &1186 1173 CALL &BDD0 1176 LD (&B726),HL 1179 JP &BDCD 117C LD HL,(&B726) 117F CALL &1193 1182 LD A,&B72D 1185 RET 1186 LD A,&B729 1189 DEC A 118A ADD A,L 118B LD L,A 118C LD A,&B72A 118F DEC A 1190 ADD A,H 1191 LD H,A 1192 RET 1193 LD A,&B729 1196 SUB L 1197 CPL 1198 INC A 1199 INC A 119A LD L,A 119B LD A,&B72A 119E SUB H 119F CPL 11A0 INC A 11A1 INC A 11A2 LD H,A 11A3 RET 11A4 CALL &BDD0 11A7 LD HL,(&B726) 11AA CALL &11D6 11AD LD (&B726),HL 11B0 RET C 11B1 PUSH HL 11B2 LD HL,&B72D 11B5 LD A,B 11B6 ADD A,A 11B7 INC A 11B8 ADD A,(HL) 11B9 LD (HL),A 11BA CALL &1252 11BD LD A,&B730 11C0 PUSH AF 11C1 CALL C,&0E44 11C4 POP AF 11C5 CALL NC,&0E00 11C8 POP HL 11C9 RET 11CA CALL &1186 11CD CALL &11D6 11D0 PUSH AF 11D1 CALL &1193 11D4 POP AF 11D5 RET 11D6 LD A,&B72C 11D9 CP H 11DA JP P,&11E2 11DD LD A,&B72A 11E0 LD H,A 11E1 INC L 11E2 LD A,&B72A 11E5 DEC A 11E6 CP H 11E7 JP M,&11EF 11EA LD A,&B72C 11ED LD H,A 11EE DEC L 11EF LD A,&B729 11F2 DEC A 11F3 CP L 11F4 JP P,&1202 11F7 LD A,&B72B 11FA CP L 11FB SCF 11FC RET P 11FD LD L,A 11FE LD B,&FF 1200 OR A 1201 RET 1202 INC A 1203 LD L,A 1204 LD B,&00 1206 OR A 1207 RET 1208 CALL &0B5D 120B LD A,H 120C CALL &1240 120F LD H,A 1210 LD A,D 1211 CALL &1240 1214 LD D,A 1215 CP H 1216 JR NC,&121A 1218 LD D,H 1219 LD H,A 121A LD A,L 121B CALL &1249 121E LD L,A 121F LD A,E 1220 CALL &1249 1223 LD E,A 1224 CP L 1225 JR NC,&1229 1227 LD E,L 1228 LD L,A 1229 LD (&B729),HL 122C LD (&B72B),DE 1230 LD A,H 1231 OR L 1232 JR NZ,&123A 1234 LD A,D 1235 XOR B 1236 JR NZ,&123A 1238 LD A,E 1239 XOR C 123A LD &B728,A 123D JP &1173 1240 OR A 1241 JP P,&1245 1244 XOR A 1245 CP B 1246 RET C 1247 LD A,B 1248 RET 1249 OR A 124A JP P,&124E 124D XOR A 124E CP C 124F RET C 1250 LD A,C 1251 RET ; &BB69 - dimension de la fenetre courante 1252 LD HL,(&B729) 1255 LD DE,(&B72B) 1259 LD A,&B728 125C ADD A,&FF 125E RET 125F LD A,&B72E 1262 AND &03 1264 RET NZ 1265 PUSH BC 1266 PUSH DE 1267 PUSH HL 1268 CALL &11A7 126B LD BC,(&B72F) 126F CALL &0DE5 1272 POP HL 1273 POP DE 1274 POP BC 1275 RET 1276 PUSH AF 1277 LD A,&FD 1279 CALL &1288 127C POP AF 127D RET 127E PUSH AF 127F LD A,&02 1281 CALL &1299 1284 POP AF 1285 RET 1286 LD A,&FE 1288 PUSH AF 1289 CALL &BDD0 128C POP AF 128D PUSH HL 128E LD HL,&B72E 1291 AND (HL) 1292 LD (HL),A 1293 POP HL 1294 JP &BDCD 1297 LD A,&01 1299 PUSH AF 129A CALL &BDD0 129D POP AF 129E PUSH HL 129F LD HL,&B72E 12A2 OR (HL) 12A3 LD (HL),A 12A4 POP HL 12A5 RET 12A6 LD HL,&B72F 12A9 JR &12AE 12AB LD HL,&B730 12AE PUSH AF 12AF CALL &BDD0 12B2 POP AF 12B3 CALL &0C8E 12B6 LD (HL),A 12B7 JP &BDCD 12BA LD A,&B72F 12BD JP &0CA7 12C0 LD A,&B730 12C3 JP &0CA7 12C6 CALL &BDD0 12C9 LD HL,(&B72F) 12CC LD A,H 12CD LD H,L 12CE LD L,A 12CF LD (&B72F),HL 12D2 JR &12B7 12D4 PUSH DE 12D5 LD E,A 12D6 CALL &132B 12D9 JR NC,&12E4 12DB LD D,A 12DC LD A,E 12DD SUB D 12DE CCF 12DF JR NC,&12E4 12E1 LD E,A 12E2 JR &12E7 12E4 LD HL,&3800 12E7 PUSH AF 12E8 LD D,&00 12EA EX DE,HL 12EB ADD HL,HL 12EC ADD HL,HL 12ED ADD HL,HL 12EE ADD HL,DE 12EF POP AF 12F0 POP DE 12F1 RET 12F2 EX DE,HL 12F3 CALL &12D4 12F6 RET NC 12F7 EX DE,HL 12F8 LD BC,&0008 12FB LDIR 12FD RET 12FE PUSH HL 12FF LD A,D 1300 OR A 1301 LD D,&00 1303 JR NZ,&131E 1305 DEC D 1306 PUSH DE 1307 LD C,E 1308 EX DE,HL 1309 LD A,C 130A CALL &12D4 130D LD A,H 130E XOR D 130F JR NZ,&1315 1311 LD A,L 1312 XOR E 1313 JR Z,&131D 1315 PUSH BC 1316 CALL &12F8 1319 POP BC 131A INC C 131B JR NZ,&1309 131D POP DE 131E CALL &132B 1321 LD (&B734),DE 1325 POP DE 1326 LD (&B736),DE 132A RET 132B LD HL,(&B734) 132E LD A,H 132F RRCA 1330 LD A,L 1331 LD HL,(&B736) 1334 RET 1335 LD B,A 1336 LD A,&B72E 1339 RLCA 133A RET C 133B PUSH BC 133C CALL &11A4 133F INC H 1340 LD (&B726),HL 1343 DEC H 1344 POP AF 1345 CALL &BDD3 1348 JP &BDCD 134B PUSH HL 134C CALL &12D4 134F LD DE,&B738 1352 PUSH DE 1353 CALL &0EF9 1356 POP DE 1357 POP HL 1358 CALL &0B6A 135B LD C,&08 135D PUSH BC 135E PUSH HL 135F PUSH BC 1360 PUSH DE 1361 EX DE,HL 1362 LD C,(HL) 1363 CALL &1377 1366 CALL &0C05 1369 POP DE 136A INC DE 136B POP BC 136C DJNZ &135F 136E POP HL 136F CALL &0C1F 1372 POP BC 1373 DEC C 1374 JR NZ,&135D 1376 RET 1377 LD HL,(&B731) 137A JP (HL) 137B LD HL,&1392 137E OR A 137F JR Z,&1384 1381 LD HL,&13A0 1384 LD (&B731),HL 1387 RET 1388 LD HL,(&B731) 138B LD DE,&EC6E 138E ADD HL,DE 138F LD A,H 1390 OR L 1391 RET 1392 LD HL,(&B72F) 1395 LD A,C 1396 CPL 1397 AND H 1398 LD B,A 1399 LD A,C 139A AND L 139B OR B 139C LD C,&FF 139E JR &13A3 13A0 LD A,&B72F 13A3 LD B,A 13A4 EX DE,HL 13A5 JP &0C74 13A8 LD &B733,A 13AB RET ; &BB60 - COPYCHR$ comme basic 13AC PUSH HL 13AD PUSH DE 13AE PUSH BC 13AF CALL &11A4 13B2 CALL &BDD6 13B5 PUSH AF 13B6 CALL &BDCD 13B9 POP AF 13BA POP BC 13BB POP DE 13BC POP HL 13BD RET 13BE LD A,&B730 13C1 LD DE,&B738 13C4 PUSH HL 13C5 PUSH DE 13C6 CALL &0F2A 13C9 POP DE 13CA PUSH DE 13CB LD B,&08 13CD LD A,(DE) 13CE CPL 13CF LD (DE),A 13D0 INC DE 13D1 DJNZ &13CD 13D3 CALL &13E1 13D6 POP DE 13D7 POP HL 13D8 JR NC,&13DB 13DA RET NZ 13DB LD A,&B72F 13DE CALL &0F2A 13E1 LD C,&00 13E3 LD A,C 13E4 CALL &12D4 13E7 LD DE,&B738 13EA LD B,&08 13EC LD A,(DE) 13ED CP (HL) 13EE JR NZ,&13F9 13F0 INC HL 13F1 INC DE 13F2 DJNZ &13EC 13F4 LD A,C 13F5 CP &8F 13F7 SCF 13F8 RET 13F9 INC C 13FA JR NZ,&13E3 13FC XOR A 13FD RET ; &BB5A ; affiche un caractere ascii 13FE PUSH AF 13FF PUSH BC 1400 PUSH DE 1401 PUSH HL 1402 CALL &BDD9 ; (jp &140A) 1405 POP HL 1406 POP DE 1407 POP BC 1408 POP AF 1409 RET ; (&BB5A) direct (Registres Z80 pas sauvegarde) ; Code ascii du caractere dans A 140A LD C,A 140B LD A,(&B733) 140E OR A 140F LD A,C 1410 JP NZ,&1940 1413 LD HL,&B758 1416 LD B,(HL) 1417 LD A,B 1418 CP &0A 141A JR NC,&144D 141C OR A 141D JR NZ,&1425 141F LD A,C 1420 CP &20 1422 JP NC,&1335 1425 INC B 1426 LD (HL),B 1427 LD E,B 1428 LD D,&00 142A ADD HL,DE 142B LD (HL),C 142C LD A,&B759 142F LD E,A 1430 LD HL,&B763 1433 ADD HL,DE 1434 ADD HL,DE 1435 ADD HL,DE 1436 LD A,(HL) 1437 AND &0F 1439 CP B 143A RET NC 143B LD A,(&B72E) 143E AND (HL) 143F RLCA 1440 JR C,&144D 1442 INC HL 1443 LD E,(HL) 1444 INC HL 1445 LD D,(HL) 1446 LD HL,&B759 1449 LD A,C 144A CALL &0016 144D XOR A 144E LD (&B758),A 1451 RET 1452 LD A,&81 1454 CALL &1299 1457 JR &144D 1459 LD A,&7E 145B CALL &1288 145E JR &144D 1460 LD A,(&B72E) 1463 RET 1464 XOR A 1465 LD (&B758),A 1468 LD HL,&1474 146B LD DE,&B763 146E LD BC,&0060 1471 LDIR 1473 RET 1474 ADD A,B 1475 INC DE 1476 DEC D 1477 ADD A,C 1478 DEC (HL) 1479 INC DE 147A ADD A,B 147B SUB A 147C LD (DE),A 147D ADD A,B 147E ADD A,(HL) 147F LD (DE),A 1480 ADD A,C 1481 JP (HL) 1482 LD A,(BC) 1483 ADD A,C 1484 LD B,B 1485 ADD HL,DE 1486 NOP 1487 LD E,C 1488 INC D 1489 ADD A,B 148A POP HL 148B INC D 148C ADD A,B 148D ADD HL,DE 148E DEC D 148F ADD A,B 1490 LD E,&15 1492 ADD A,B 1493 INC HL 1494 DEC D 1495 ADD A,B 1496 JR Z,&14AD 1498 ADD A,B 1499 LD C,A 149A DEC D 149B ADD A,B 149C CCF 149D DEC D 149E ADD A,C 149F XOR E 14A0 LD (DE),A 14A1 ADD A,C 14A2 AND (HL) 14A3 LD (DE),A 14A4 ADD A,B 14A5 LD E,(HL) 14A6 DEC D 14A7 ADD A,B 14A8 SBC A,C 14A9 DEC D 14AA ADD A,B 14AB ADC A,A 14AC DEC D 14AD ADD A,B 14AE LD A,B 14AF DEC D 14B0 ADD A,B 14B1 LD H,L 14B2 DEC D 14B3 ADD A,B 14B4 LD D,D 14B5 INC D 14B6 ADD A,C 14B7 CALL PE,&8114 14BA LD D,L 14BB INC C 14BC ADD A,B 14BD ADD A,&12 14BF ADC A,C 14C0 DEC C 14C1 DEC D 14C2 ADD A,H 14C3 LD BC,&0015 14C6 EX DE,HL 14C7 INC D 14C8 ADD A,E 14C9 POP AF 14CA INC D 14CB ADD A,D 14CC JP M,&8014 14CF ADD HL,SP 14D0 DEC D 14D1 ADD A,D 14D2 LD B,A 14D3 DEC D 14D4 LD HL,&B763 14D7 RET 14D8 ADD A,A 14D9 NOP 14DA NOP 14DB LD E,D 14DC NOP 14DD NOP 14DE DEC BC 14DF INC D 14E0 NOP 14E1 PUSH IX 14E3 LD HL,&14D8 14E6 CALL &2114 14E9 POP IX 14EB RET 14EC RRCA 14ED SBC A,A 14EE JP &137B 14F1 INC HL 14F2 LD A,(HL) 14F3 INC HL 14F4 LD B,(HL) 14F5 INC HL 14F6 LD C,(HL) 14F7 JP &0CF2 14FA INC HL 14FB LD B,(HL) 14FC INC HL 14FD LD C,(HL) 14FE JP &0CF7 1501 INC HL 1502 LD D,(HL) 1503 INC HL 1504 LD A,(HL) 1505 INC HL 1506 LD E,(HL) 1507 INC HL 1508 LD L,(HL) 1509 LD H,A 150A JP &1208 150D INC HL 150E LD A,(HL) 150F INC HL 1510 JP &12F2 1513 CALL &11A4 1516 JP &BDCD 1519 LD DE,&FF00 151C JR &152B 151E LD DE,&0100 1521 JR &152B 1523 LD DE,&0001 1526 JR &152B 1528 LD DE,&00FF 152B PUSH DE 152C CALL &11A4 152F POP DE 1530 LD A,L 1531 ADD A,E 1532 LD L,A 1533 LD A,H 1534 ADD A,D 1535 LD H,A 1536 JP &1176 1539 LD HL,(&B729) 153C JP &1173 153F CALL &11A4 1542 LD A,&B72A 1545 JR &1535 1547 INC HL 1548 LD D,(HL) 1549 INC HL 154A LD E,(HL) 154B EX DE,HL 154C JP &1170 ; &BB6C - CLS sur la fenetre courante ; comme en BASIC 154F CALL &BDD0 1552 LD HL,(&B729) 1555 LD (&B726),HL 1558 LD DE,(&B72B) 155C JR &15A2 155E CALL &11A4 1561 LD D,H 1562 LD E,L 1563 JR &15A2 1565 CALL &158F 1568 LD HL,(&B729) 156B LD DE,(&B72B) 156F LD A,&B726 1572 LD L,A 1573 INC L 1574 CP E 1575 RET NC 1576 JR &1589 1578 CALL &1599 157B LD HL,(&B729) 157E LD A,&B72C 1581 LD D,A 1582 LD A,&B726 1585 DEC A 1586 LD E,A 1587 CP L 1588 RET C 1589 LD A,&B730 158C JP &0DB9 158F CALL &11A4 1592 LD E,L 1593 LD A,&B72C 1596 LD D,A 1597 JR &15A2 1599 CALL &11A4 159C EX DE,HL 159D LD L,E 159E LD A,&B72A 15A1 LD H,A 15A2 CALL &1589 15A5 JP &BDCD 15A8 CALL &15D7 15AB LD HL,&0001 15AE LD A,H 15AF CALL &176E 15B2 LD A,L 15B3 CALL &1767 15B6 LD HL,&0000 15B9 LD D,H 15BA LD E,L 15BB CALL &160E 15BE LD DE,&8000 15C1 LD HL,&7FFF 15C4 PUSH HL 15C5 PUSH DE 15C6 CALL &16A5 15C9 POP HL 15CA POP DE 15CB JP &16EA 15CE CALL &177A 15D1 LD H,A 15D2 CALL &1775 15D5 LD L,A 15D6 RET 15D7 CALL &15F0 15DA LD HL,&15E0 15DD JP &0AB4 15E0 ADD HL,BC 15E1 CALL C,&C3BD 15E4 ADD A,(HL) 15E5 RLA 15E6 JP &179A 15E9 JP &17B4 15EC XOR A 15ED CALL &0C55 15F0 XOR A 15F1 CALL &19D5 15F4 CPL 15F5 CALL &17B0 15F8 JP &17AC 15FB CALL &165D 15FE LD (&B697),DE 1602 LD (&B699),HL 1605 RET 1606 LD DE,(&B697) 160A LD HL,(&B699) 160D RET 160E LD (&B693),DE 1612 LD (&B695),HL 1615 LD DE,&0000 1618 LD H,D 1619 LD L,E 161A JR &15FE 161C LD DE,(&B693) 1620 LD HL,(&B695) 1623 RET 1624 CALL &1606 1627 CALL &15FE 162A PUSH HL 162B CALL &0B0C 162E NEG 1630 SBC A,&FD 1632 LD H,&00 1634 LD L,A 1635 BIT 7,D 1637 JR Z,&163C 1639 EX DE,HL 163A ADD HL,DE 163B EX DE,HL 163C CPL 163D AND E 163E LD E,A 163F LD A,L 1640 LD HL,(&B693) 1643 ADD HL,DE 1644 RRCA 1645 CALL C,&16E5 1648 RRCA 1649 CALL C,&16E5 164C POP DE 164D PUSH HL 164E LD A,D 164F RLCA 1650 JR NC,&1653 1652 INC DE 1653 RES 0,E 1655 LD HL,(&B695) 1658 ADD HL,DE 1659 POP DE 165A JP &16E5 165D PUSH HL 165E LD HL,(&B697) 1661 ADD HL,DE 1662 POP DE 1663 PUSH HL 1664 LD HL,(&B699) 1667 ADD HL,DE 1668 POP DE 1669 RET 166A LD HL,(&B69B) 166D SCF 166E SBC HL,DE 1670 JP P,&167E 1673 LD HL,(&B69D) 1676 OR A 1677 SBC HL,DE 1679 SCF 167A RET P 167B OR &FF 167D RET 167E XOR A 167F RET 1680 LD HL,(&B69F) 1683 OR A 1684 SBC HL,DE 1686 JP M,&167B 1689 LD HL,(&B6A1) 168C SCF 168D SBC HL,DE 168F JP P,&167E 1692 SCF 1693 RET 1694 CALL &1627 1697 PUSH HL 1698 CALL &166A 169B POP HL 169C RET NC 169D PUSH DE 169E EX DE,HL 169F CALL &1680 16A2 EX DE,HL 16A3 POP DE 16A4 RET 16A5 PUSH HL 16A6 CALL &16D1 16A9 POP DE 16AA PUSH HL 16AB CALL &16D1 16AE POP DE 16AF LD A,E 16B0 SUB L 16B1 LD A,D 16B2 SBC A,H 16B3 JR C,&16B6 16B5 EX DE,HL 16B6 LD A,E 16B7 AND &F8 16B9 LD E,A 16BA LD A,L 16BB OR &07 16BD LD L,A 16BE CALL &0B0C 16C1 DEC A 16C2 CALL M,&16E1 16C5 DEC A 16C6 CALL M,&16E1 16C9 LD (&B69B),DE 16CD LD (&B69D),HL 16D0 RET 16D1 LD A,D 16D2 OR A 16D3 LD HL,&0000 16D6 RET M 16D7 LD HL,&027F 16DA LD A,E 16DB SUB L 16DC LD A,D 16DD SBC A,H 16DE RET NC 16DF EX DE,HL 16E0 RET 16E1 SRA D 16E3 RR E 16E5 SRA H 16E7 RR L 16E9 RET 16EA PUSH HL 16EB CALL &1703 16EE POP DE 16EF PUSH HL 16F0 CALL &1703 16F3 POP DE 16F4 LD A,L 16F5 SUB E 16F6 LD A,H 16F7 SBC A,D 16F8 JR C,&16FB 16FA EX DE,HL 16FB LD (&B69F),DE 16FF LD (&B6A1),HL 1702 RET 1703 LD A,D 1704 OR A 1705 LD HL,&0000 1708 RET M 1709 SRL D 170B RR E 170D LD HL,&00C7 1710 LD A,E 1711 SUB L 1712 LD A,D 1713 SBC A,H 1714 RET NC 1715 EX DE,HL 1716 RET 1717 LD DE,(&B69B) 171B LD HL,(&B69D) 171E CALL &0B0C 1721 DEC A 1722 CALL M,&1727 1725 DEC A 1726 RET P 1727 ADD HL,HL 1728 INC HL 1729 EX DE,HL 172A ADD HL,HL 172B EX DE,HL 172C RET 172D LD DE,(&B69F) 1731 LD HL,(&B6A1) 1734 JR &1727 1736 CALL &1717 1739 OR A 173A SBC HL,DE 173C INC HL 173D CALL &16E5 1740 CALL &16E5 1743 SRL L 1745 LD B,L 1746 LD DE,(&B6A1) 174A LD HL,(&B69F) 174D PUSH HL 174E OR A 174F SBC HL,DE 1751 INC HL 1752 LD C,L 1753 LD DE,(&B69B) 1757 POP HL 1758 PUSH BC 1759 CALL &0BAF 175C POP DE 175D LD A,&B6A4 1760 LD C,A 1761 CALL &0DBD 1764 JP &1615 1767 CALL &0C8E 176A LD &B6A3,A 176D RET 176E CALL &0C8E 1771 LD &B6A4,A 1774 RET 1775 LD A,&B6A3 1778 JR &177D 177A LD A,&B6A4 177D JP &0CA7 1780 CALL &165D 1783 JP &BDDC 1786 CALL &1694 1789 RET NC 178A CALL &0BAF 178D LD A,&B6A3 1790 LD B,A 1791 JP &BDE8 1794 CALL &165D 1797 JP &BDDF 179A CALL &1694 179D JP NC,&177A 17A0 CALL &0BAF 17A3 JP &BDE5 17A6 CALL &165D 17A9 JP &BDE2 17AC LD &B6B3,A 17AF RET 17B0 LD &B6B2,A 17B3 RET 17B4 PUSH HL 17B5 CALL &188B 17B8 POP HL 17B9 CALL &1627 17BC PUSH HL 17BD LD HL,(&B6A5) 17C0 OR A 17C1 SBC HL,DE 17C3 LD A,H 17C4 LD &B6AD,A 17C7 CALL M,&1939 17CA POP DE 17CB PUSH HL 17CC LD HL,(&B6A7) 17CF OR A 17D0 SBC HL,DE 17D2 LD A,H 17D3 LD &B6AE,A 17D6 CALL M,&1939 17D9 POP DE 17DA OR A 17DB SBC HL,DE 17DD ADD HL,DE 17DE SBC A,A 17DF LD &B6AF,A 17E2 LD A,&B6AE 17E5 JR Z,&17EB 17E7 EX DE,HL 17E8 LD A,&B6AD 17EB PUSH AF 17EC LD (&B6AB),DE 17F0 LD B,H 17F1 LD C,L 17F2 LD A,&B6B2 17F5 OR A 17F6 JR Z,&17F9 17F8 INC BC 17F9 LD (&B6B0),BC 17FD CALL &1939 1800 PUSH HL 1801 ADD HL,DE 1802 LD (&B6A9),HL 1805 POP HL 1806 SRA H 1808 RR L 180A POP AF 180B RLCA 180C JR C,&1820 180E PUSH HL 180F CALL &188B 1812 LD HL,(&B6AD) 1815 LD A,H 1816 CPL 1817 LD H,A 1818 LD A,L 1819 CPL 181A LD L,A 181B LD (&B6AD),HL 181E JR &1832 1820 LD A,&B6B2 1823 OR A 1824 JR NZ,&1833 1826 ADD HL,DE 1827 PUSH HL 1828 LD A,&B6AF 182B RLCA 182C CALL C,&18DA 182F CALL NC,&1928 1832 POP HL 1833 LD A,D 1834 OR E 1835 JP Z,&1898 1838 PUSH IX 183A LD BC,&0000 183D PUSH BC 183E POP IX 1840 PUSH IX 1842 POP DE 1843 OR A 1844 ADC HL,DE 1846 LD DE,(&B6AB) 184A JP P,&1853 184D INC BC 184E ADD IX,DE 1850 ADD HL,DE 1851 JR NC,&184D 1853 XOR A 1854 SUB E 1855 LD E,A 1856 SBC A,A 1857 SUB D 1858 LD D,A 1859 ADD HL,DE 185A JR NC,&1861 185C ADD IX,DE 185E DEC BC 185F JR &1859 1861 LD DE,(&B6A9) 1865 ADD HL,DE 1866 PUSH BC 1867 PUSH HL 1868 LD HL,(&B6B0) 186B OR A 186C SBC HL,BC 186E JR NC,&1876 1870 ADD HL,BC 1871 LD B,H 1872 LD C,L 1873 LD HL,&0000 1876 LD (&B6B0),HL 1879 CALL &1898 187C POP HL 187D POP BC 187E JR NC,&1888 1880 LD DE,(&B6B0) 1884 LD A,D 1885 OR E 1886 JR NZ,&1840 1888 POP IX 188A RET 188B PUSH DE 188C CALL &1624 188F LD (&B6A5),DE 1893 LD (&B6A7),HL 1896 POP DE 1897 RET 1898 LD A,&B6AF 189B RLCA 189C JR C,&18EB 189E LD A,B 189F OR C 18A0 JR Z,&18DA 18A2 LD HL,(&B6A7) 18A5 ADD HL,BC 18A6 DEC HL 18A7 LD B,H 18A8 LD C,L 18A9 EX DE,HL 18AA CALL &1680 18AD LD HL,(&B6A7) 18B0 EX DE,HL 18B1 INC HL 18B2 LD (&B6A7),HL 18B5 JR C,&18BD 18B7 JR Z,&18DA 18B9 LD BC,(&B69F) 18BD CALL &1680 18C0 JR C,&18C7 18C2 RET NZ 18C3 LD DE,(&B6A1) 18C7 PUSH DE 18C8 LD DE,(&B6A5) 18CC CALL &166A 18CF POP HL 18D0 JR C,&18D7 18D2 LD HL,&B6AD 18D5 XOR (HL) 18D6 RET P 18D7 CALL C,&1016 18DA LD HL,(&B6A5) 18DD LD A,&B6AD 18E0 RLCA 18E1 INC HL 18E2 JR C,&18E6 18E4 DEC HL 18E5 DEC HL 18E6 LD (&B6A5),HL 18E9 SCF 18EA RET 18EB LD A,B 18EC OR C 18ED JR Z,&1928 18EF LD HL,(&B6A5) 18F2 ADD HL,BC 18F3 DEC HL 18F4 LD B,H 18F5 LD C,L 18F6 EX DE,HL 18F7 CALL &166A 18FA LD HL,(&B6A5) 18FD EX DE,HL 18FE INC HL 18FF LD (&B6A5),HL 1902 JR C,&190A 1904 JR Z,&1928 1906 LD BC,(&B69D) 190A CALL &166A 190D JR C,&1914 190F RET NZ 1910 LD DE,(&B69B) 1914 PUSH DE 1915 LD DE,(&B6A7) 1919 CALL &1680 191C POP HL 191D JR C,&1924 191F LD HL,&B6AE 1922 XOR (HL) 1923 RET P 1924 EX DE,HL 1925 CALL C,&0FC2 1928 LD HL,(&B6A7) 192B LD A,&B6AE 192E RLCA 192F INC HL 1930 JR C,&1934 1932 DEC HL 1933 DEC HL 1934 LD (&B6A7),HL 1937 SCF 1938 RET 1939 XOR A 193A SUB L 193B LD L,A 193C SBC A,A 193D SUB H 193E LD H,A 193F RET 1940 PUSH IX 1942 CALL &12D4 1945 PUSH HL 1946 POP IX 1948 CALL &1624 194B CALL &1697 194E JR NC,&199B 1950 PUSH HL 1951 PUSH DE 1952 LD BC,&0007 1955 EX DE,HL 1956 ADD HL,BC 1957 EX DE,HL 1958 OR A 1959 SBC HL,BC 195B CALL &1697 195E POP DE 195F POP HL 1960 JR NC,&199B 1962 CALL &0BAF 1965 LD D,&08 1967 PUSH HL 1968 LD E,(IX+&00) 196B SCF 196C RL E 196E CALL &19C4 1971 RRC C 1973 CALL C,&0C05 1976 SLA E 1978 JR NZ,&196E 197A POP HL 197B CALL &0C1F 197E INC IX 1980 DEC D 1981 JR NZ,&1967 1983 POP IX 1985 CALL &1606 1988 EX DE,HL 1989 CALL &0B0C 198C LD BC,&0008 198F JR Z,&1995 1991 JR NC,&1996 1993 ADD HL,BC 1994 ADD HL,BC 1995 ADD HL,BC 1996 ADD HL,BC 1997 EX DE,HL 1998 JP &15FE 199B LD B,&08 199D PUSH BC 199E PUSH DE 199F LD A,(IX+&00) 19A2 SCF 19A3 ADC A,A 19A4 PUSH HL 19A5 PUSH DE 19A6 PUSH AF 19A7 CALL &1697 19AA JR NC,&19B4 19AC CALL &0BAF 19AF POP AF 19B0 PUSH AF 19B1 CALL &19C4 19B4 POP AF 19B5 POP DE 19B6 POP HL 19B7 INC DE 19B8 ADD A,A 19B9 JR NZ,&19A4 19BB POP DE 19BC DEC HL 19BD INC IX 19BF POP BC 19C0 DJNZ &199D 19C2 JR &1983 19C4 LD A,&B6A3 19C7 JR C,&19D1 19C9 LD A,&B6B4 19CC OR A 19CD RET NZ 19CE LD A,&B6A4 19D1 LD B,A 19D2 JP &BDE8 19D5 LD &B6B4,A 19D8 RET 19D9 LD (&B6A5),HL 19DC LD (HL),&01 19DE DEC DE 19DF LD (&B6A7),DE 19E3 CALL &0C8E 19E6 LD &B6AA,A 19E9 CALL &1624 19EC CALL &1697 19EF CALL C,&1B42 19F2 RET NC 19F3 PUSH HL 19F4 CALL &1AE7 19F7 EX (SP),HL 19F8 CALL &1B15 19FB POP BC 19FC LD A,&FF 19FE LD &B6A9,A 1A01 PUSH HL 1A02 PUSH DE 1A03 PUSH BC 1A04 CALL &1A0B 1A07 POP BC 1A08 POP DE 1A09 POP HL 1A0A XOR A 1A0B LD &B6AB,A 1A0E CALL &1ADE 1A11 CALL &1697 1A14 CALL C,&1A50 1A17 JR C,&1A0E 1A19 LD HL,(&B6A5) 1A1C RST &20 1A1D CP &01 1A1F JR Z,&1A4B 1A21 LD &B6AB,A 1A24 EX DE,HL 1A25 LD HL,(&B6A7) 1A28 LD BC,&0007 1A2B ADD HL,BC 1A2C LD (&B6A7),HL 1A2F EX DE,HL 1A30 DEC HL 1A31 RST &20 1A32 LD B,A 1A33 DEC HL 1A34 RST &20 1A35 LD C,A 1A36 DEC HL 1A37 RST &20 1A38 LD D,A 1A39 DEC HL 1A3A RST &20 1A3B LD E,A 1A3C PUSH DE 1A3D DEC HL 1A3E RST &20 1A3F LD D,A 1A40 DEC HL 1A41 RST &20 1A42 LD E,A 1A43 DEC HL 1A44 LD (&B6A5),HL 1A47 EX DE,HL 1A48 POP DE 1A49 JR &1A11 1A4B LD A,&B6A9 1A4E RRCA 1A4F RET 1A50 LD (&B6AC),BC 1A54 CALL &1B42 1A57 JR C,&1A62 1A59 CALL &1AF1 1A5C RET NC 1A5D LD (&B6AE),HL 1A60 JR &1A73 1A62 PUSH HL 1A63 CALL &1B15 1A66 LD (&B6AE),HL 1A69 POP BC 1A6A LD A,L 1A6B SUB C 1A6C LD A,H 1A6D SBC A,B 1A6E CALL C,&1ACB 1A71 LD H,B 1A72 LD L,C 1A73 CALL &1AE7 1A76 LD (&B6B0),HL 1A79 LD BC,(&B6AC) 1A7D OR A 1A7E SBC HL,BC 1A80 ADD HL,BC 1A81 JR Z,&1A94 1A83 JR NC,&1A8D 1A85 CALL &1AF1 1A88 CALL C,&1A9D 1A8B JR &1A94 1A8D PUSH HL 1A8E LD H,B 1A8F LD L,C 1A90 POP BC 1A91 CALL &1ACB 1A94 LD HL,(&B6AE) 1A97 LD BC,(&B6B0) 1A9B SCF 1A9C RET 1A9D PUSH DE 1A9E PUSH HL 1A9F LD HL,(&B6A7) 1AA2 LD DE,&FFF9 1AA5 ADD HL,DE 1AA6 POP DE 1AA7 JR NC,&1AC5 1AA9 LD (&B6A7),HL 1AAC LD HL,(&B6A5) 1AAF INC HL 1AB0 LD (HL),E 1AB1 INC HL 1AB2 LD (HL),D 1AB3 INC HL 1AB4 POP DE 1AB5 LD (HL),E 1AB6 INC HL 1AB7 LD (HL),D 1AB8 INC HL 1AB9 LD (HL),C 1ABA INC HL 1ABB LD (HL),B 1ABC INC HL 1ABD LD A,&B6AB 1AC0 LD (HL),A 1AC1 LD (&B6A5),HL 1AC4 RET 1AC5 XOR A 1AC6 LD &B6A9,A 1AC9 POP DE 1ACA RET 1ACB CALL &1AD7 1ACE CALL &1B42 1AD1 CALL NC,&1AF1 1AD4 CALL C,&1A9D 1AD7 LD A,&B6AB 1ADA CPL 1ADB LD &B6AB,A 1ADE DEC DE 1ADF LD A,&B6AB 1AE2 OR A 1AE3 RET Z 1AE4 INC DE 1AE5 INC DE 1AE6 RET 1AE7 XOR A 1AE8 LD BC,(&B69F) 1AEC CALL &1AF3 1AEF DEC HL 1AF0 RET 1AF1 LD A,&FF 1AF3 PUSH BC 1AF4 PUSH DE 1AF5 PUSH HL 1AF6 PUSH AF 1AF7 CALL &1B4F 1AFA POP AF 1AFB LD B,A 1AFC CALL &1B34 1AFF INC B 1B00 DJNZ &1B06 1B02 JR NC,&1B4B 1B04 XOR (HL) 1B05 LD (HL),A 1B06 JR C,&1B4B 1B08 EX (SP),HL 1B09 INC HL 1B0A EX (SP),HL 1B0B SBC HL,DE 1B0D JR Z,&1B4B 1B0F ADD HL,DE 1B10 CALL &0C39 1B13 JR &1AFC 1B15 PUSH BC 1B16 PUSH DE 1B17 PUSH HL 1B18 LD BC,(&B6A1) 1B1C CALL &1B4F 1B1F OR A 1B20 SBC HL,DE 1B22 JR Z,&1B4B 1B24 ADD HL,DE 1B25 CALL &0C1F 1B28 CALL &1B34 1B2B JR Z,&1B4B 1B2D XOR (HL) 1B2E LD (HL),A 1B2F EX (SP),HL 1B30 DEC HL 1B31 EX (SP),HL 1B32 JR &1B1F 1B34 LD A,&B6A3 1B37 XOR (HL) 1B38 AND C 1B39 RET Z 1B3A LD A,&B6AA 1B3D XOR (HL) 1B3E AND C 1B3F RET Z 1B40 SCF 1B41 RET 1B42 PUSH BC 1B43 PUSH DE 1B44 PUSH HL 1B45 CALL &0BAF 1B48 CALL &1B34 1B4B POP HL 1B4C POP DE 1B4D POP BC 1B4E RET 1B4F PUSH BC 1B50 PUSH DE 1B51 CALL &0BAF 1B54 POP DE 1B55 EX (SP),HL 1B56 CALL &0BAF 1B59 EX DE,HL 1B5A POP HL 1B5B RET ; &BB00 - initialisation du clavier ; redefinition de touches ; buffer clavier 1B5C LD HL,&1E02 1B5F CALL &1DF6 1B62 XOR A 1B63 LD &B655,A 1B66 LD H,A 1B67 LD L,A 1B68 LD (&B631),HL 1B6B LD BC,&FFB0 1B6E LD DE,&B5D6 1B71 LD HL,&B692 1B74 LD A,&04 1B76 EX DE,HL 1B77 ADD HL,BC 1B78 EX DE,HL 1B79 LD (HL),D 1B7A DEC HL 1B7B LD (HL),E 1B7C DEC HL 1B7D DEC A 1B7E JR NZ,&1B76 1B80 LD HL,&1EEF 1B83 LD BC,&00FA 1B86 LDIR 1B88 LD B,&0A 1B8A LD DE,&B635 1B8D LD HL,&B63F 1B90 XOR A 1B91 LD (DE),A 1B92 INC DE 1B93 LD (HL),&FF 1B95 INC HL 1B96 DJNZ &1B91 1B98 CALL &1E75 1B9B CALL &1BF8 1B9E LD DE,&B590 1BA1 LD HL,&0098 1BA4 CALL &1C0A 1BA7 LD HL,&1BB3 1BAA CALL &0AB4 1BAD CALL &0AB4 1BB0 JP &1E0B 1BB3 INC BC 1BB4 XOR &BD 1BB6 JP &1DB8 1BB9 INC BC 1BBA CALL P,&C3BD 1BBD LD B,B 1BBE DEC E 1BBF CALL &1BC5 ; &BB06 1BC2 JR NC,&1BBF 1BC4 RET ; &BB09 - teste si une touche est enfoncee ; pas d'attente de touche 1BC5 PUSH HL 1BC6 LD HL,&B62A 1BC9 LD A,(HL) 1BCA LD (HL),&FF 1BCC CP (HL) 1BCD JR C,&1BF6 1BCF LD HL,(&B628) 1BD2 LD A,H 1BD3 OR A 1BD4 JR NZ,&1BE7 1BD6 CALL &1CE1 1BD9 JR NC,&1BF6 1BDB CP &80 1BDD JR C,&1BF6 1BDF CP &A0 1BE1 CCF 1BE2 JR C,&1BF6 1BE4 LD H,A 1BE5 LD L,&00 1BE7 PUSH DE 1BE8 CALL &1CB3 1BEB JR C,&1BEF 1BED LD H,&00 1BEF INC L 1BF0 LD (&B628),HL 1BF3 POP DE 1BF4 JR NC,&1BD6 1BF6 POP HL 1BF7 RET 1BF8 LD A,&FF 1BFA LD &B62A,A 1BFD RET 1BFE CALL &1BC5 1C01 JR C,&1BFE 1C03 RET 1C04 CALL &1C0A 1C07 CCF 1C08 EI 1C09 RET 1C0A DI 1C0B LD A,L 1C0C SUB &31 1C0E LD A,H 1C0F SBC A,&00 1C11 RET C 1C12 ADD HL,DE 1C13 LD (&B62D),HL 1C16 EX DE,HL 1C17 LD (&B62B),HL 1C1A LD BC,&0A30 1C1D LD (HL),&01 1C1F INC HL 1C20 LD (HL),C 1C21 INC HL 1C22 INC C 1C23 DJNZ &1C1D 1C25 EX DE,HL 1C26 LD HL,&1C3C 1C29 LD C,&0A 1C2B LDIR 1C2D EX DE,HL 1C2E LD B,&13 1C30 XOR A 1C31 LD (HL),A 1C32 INC HL 1C33 DJNZ &1C31 1C35 LD (&B62F),HL 1C38 LD &B629,A 1C3B RET 1C3C LD BC,&012E 1C3F DEC C 1C40 DEC B 1C41 LD D,D 1C42 LD D,L 1C43 LD C,(HL) 1C44 LD (&780D),HL 1C47 CALL &1CC3 1C4A RET NC 1C4B PUSH BC 1C4C PUSH DE 1C4D PUSH HL 1C4E CALL &1C6A 1C51 CCF 1C52 POP HL 1C53 POP DE 1C54 POP BC 1C55 RET NC 1C56 DEC DE 1C57 LD A,C 1C58 INC C 1C59 LD (DE),A 1C5A INC DE 1C5B RST &20 1C5C INC HL 1C5D DEC C 1C5E JR NZ,&1C59 1C60 LD HL,&B629 1C63 LD A,B 1C64 XOR (HL) 1C65 JR NZ,&1C68 1C67 LD (HL),A 1C68 SCF 1C69 RET 1C6A LD B,&00 1C6C LD H,B 1C6D LD L,A 1C6E LD A,C 1C6F SUB L 1C70 RET Z 1C71 JR NC,&1C82 1C73 LD A,L 1C74 LD L,C 1C75 LD C,A 1C76 ADD HL,DE 1C77 EX DE,HL 1C78 ADD HL,BC 1C79 CALL &1CA7 1C7C JR Z,&1CA1 1C7E LDIR 1C80 JR &1CA1 1C82 LD C,A 1C83 ADD HL,DE 1C84 PUSH HL 1C85 LD HL,(&B62F) 1C88 ADD HL,BC 1C89 EX DE,HL 1C8A LD HL,(&B62D) 1C8D LD A,L 1C8E SUB E 1C8F LD A,H 1C90 SBC A,D 1C91 POP HL 1C92 RET C 1C93 CALL &1CA7 1C96 LD HL,(&B62F) 1C99 JR Z,&1CA1 1C9B PUSH DE 1C9C DEC DE 1C9D DEC HL 1C9E LDDR 1CA0 POP DE 1CA1 LD (&B62F),DE 1CA5 OR A 1CA6 RET 1CA7 LD A,&B62F 1CAA SUB L 1CAB LD C,A 1CAC LD A,&B630 1CAF SBC A,H 1CB0 LD B,A 1CB1 OR C 1CB2 RET 1CB3 CALL &1CC3 1CB6 RET NC 1CB7 CP L 1CB8 RET Z 1CB9 CCF 1CBA RET NC 1CBB PUSH HL 1CBC LD H,&00 1CBE ADD HL,DE 1CBF LD A,(HL) 1CC0 POP HL 1CC1 SCF 1CC2 RET 1CC3 AND &7F 1CC5 CP &20 1CC7 RET NC 1CC8 PUSH HL 1CC9 LD HL,(&B62B) 1CCC LD DE,&0000 1CCF INC A 1CD0 ADD HL,DE 1CD1 LD E,(HL) 1CD2 INC HL 1CD3 DEC A 1CD4 JR NZ,&1CD0 1CD6 LD A,E 1CD7 EX DE,HL 1CD8 POP HL 1CD9 SCF 1CDA RET ; &BB18 - Attente d'une touche 1CDB CALL &1CE1 1CDE JR NC,&1CDB 1CE0 RET ; &BB1B - test de touches 1CE1 PUSH HL 1CE2 PUSH BC 1CE3 CALL &1E9D 1CE6 JR NC,&1D22 1CE8 LD A,C 1CE9 CP &EF 1CEB JR Z,&1D21 1CED AND &0F 1CEF ADD A,A 1CF0 ADD A,A 1CF1 ADD A,A 1CF2 DEC A 1CF3 INC A 1CF4 RRC B 1CF6 JR NC,&1CF3 1CF8 CALL &1D25 1CFB LD HL,&B632 1CFE BIT 7,(HL) 1D00 JR Z,&1D0C 1D02 CP &61 1D04 JR C,&1D0C 1D06 CP &7B 1D08 JR NC,&1D0C 1D0A ADD A,&E0 1D0C CP &FF 1D0E JR Z,&1CE3 1D10 CP &FE 1D12 LD HL,&B631 1D15 JR Z,&1D1C 1D17 CP &FD 1D19 INC HL 1D1A JR NZ,&1D21 1D1C LD A,(HL) 1D1D CPL 1D1E LD (HL),A 1D1F JR &1CE3 1D21 SCF 1D22 POP BC 1D23 POP HL 1D24 RET 1D25 RL C 1D27 JP C,&1ECE 1D2A LD B,A 1D2B LD A,&B631 1D2E OR C 1D2F AND &40 1D31 LD A,B 1D32 JP NZ,&1EC9 1D35 JP &1EC4 ; lecture de l'etat de CAPSLOCK et SHIFT 1D38 LD HL,(&B631) 1D3B RET 1D3C LD (&B631),HL 1D3F RET 1D40 LD DE,&B649 1D43 LD HL,&B63F 1D46 CALL &0883 1D49 LD A,&B64B 1D4C AND &A0 1D4E LD C,A 1D4F LD HL,&B637 1D52 OR (HL) 1D53 LD (HL),A 1D54 LD HL,&B649 1D57 LD DE,&B635 1D5A LD B,&00 1D5C LD A,(DE) 1D5D XOR (HL) 1D5E AND (HL) 1D5F CALL NZ,&1DD1 1D62 LD A,(HL) 1D63 LD (DE),A 1D64 INC HL 1D65 INC DE 1D66 INC C 1D67 LD A,C 1D68 AND &0F 1D6A CP &0A 1D6C JR NZ,&1D5C 1D6E LD A,C 1D6F AND &A0 1D71 BIT 6,C 1D73 LD C,A 1D74 CALL NZ,&BDEE 1D77 LD A,B 1D78 OR A 1D79 RET NZ 1D7A LD HL,&B653 1D7D DEC (HL) 1D7E RET NZ 1D7F LD HL,(&B654) 1D82 EX DE,HL 1D83 LD B,D 1D84 LD D,&00 1D86 LD HL,&B635 1D89 ADD HL,DE 1D8A LD A,(HL) 1D8B LD HL,(&B691) 1D8E ADD HL,DE 1D8F AND (HL) 1D90 AND B 1D91 RET Z 1D92 LD HL,&B653 1D95 INC (HL) 1D96 LD A,&B68A 1D99 OR A 1D9A RET NZ 1D9B LD A,C 1D9C OR E 1D9D LD C,A 1D9E LD A,&B633 1DA1 LD &B653,A 1DA4 CALL &1E86 1DA7 LD A,C 1DA8 AND &0F 1DAA LD L,A 1DAB LD H,B 1DAC LD (&B654),HL 1DAF CP &08 1DB1 RET NZ 1DB2 BIT 4,B 1DB4 RET NZ 1DB5 SET 6,C 1DB7 RET 1DB8 LD HL,&B63D 1DBB BIT 2,(HL) 1DBD RET Z 1DBE LD A,C 1DBF XOR &A0 1DC1 JR NZ,&1E19 1DC3 PUSH BC 1DC4 INC HL 1DC5 LD B,&0A 1DC7 ADC A,(HL) 1DC8 DEC HL 1DC9 DJNZ &1DC7 1DCB POP BC 1DCC CP &A4 1DCE JR NZ,&1E19 1DD0 RST &00 1DD1 PUSH HL 1DD2 PUSH DE 1DD3 LD E,A 1DD4 CPL 1DD5 INC A 1DD6 AND E 1DD7 LD B,A 1DD8 LD A,&B634 1DDB CALL &1DA1 1DDE LD A,B 1DDF XOR E 1DE0 JR NZ,&1DD3 1DE2 POP DE 1DE3 POP HL 1DE4 RET ; test l'etat des joysticks 1 & 2 1DE5 LD A,(&B63B) 1DE8 AND &7F 1DEA LD L,A ; joy 2 1DEB LD A,(&B63E) 1DEE AND &7F 1DF0 LD H,A ; joy 1 1DF1 RET 1DF2 LD HL,(&B633) 1DF5 RET ; SPEEDKEY comme en basic ; H=delai avant la repetition ; L=delai de repetition 1DF6 LD (&B633),HL 1DF9 RET 1DFA CALL &1E0B 1DFD LD HL,&B657 1E00 LD B,&40 1E02 CALL &01D2 1E05 LD A,&FF 1E07 LD &B656,A 1E0A RET 1E0B PUSH BC 1E0C PUSH DE 1E0D LD HL,&B656 1E10 LD (HL),&00 1E12 INC HL 1E13 CALL &0284 1E16 POP DE 1E17 POP BC 1E18 RET 1E19 LD HL,&B656 1E1C LD A,(HL) 1E1D LD (HL),&00 1E1F CP (HL) 1E20 RET Z 1E21 PUSH BC 1E22 PUSH DE 1E23 INC HL 1E24 CALL &01E2 1E27 LD C,&EF 1E29 CALL &1E86 1E2C POP DE 1E2D POP BC 1E2E RET 1E2F LD HL,(&B691) 1E32 JR &1E50 1E34 CP &50 1E36 RET NC 1E37 LD HL,(&B691) 1E3A CALL &1E55 1E3D CPL 1E3E LD C,A 1E3F LD A,(HL) 1E40 XOR B 1E41 AND C 1E42 XOR B 1E43 LD (HL),A 1E44 RET 1E45 PUSH AF 1E46 LD A,&B637 1E49 AND &A0 1E4B LD C,A 1E4C POP AF 1E4D LD HL,&B635 1E50 CALL &1E55 1E53 AND (HL) 1E54 RET 1E55 PUSH DE 1E56 PUSH AF 1E57 AND &F8 1E59 RRCA 1E5A RRCA 1E5B RRCA 1E5C LD E,A 1E5D LD D,&00 1E5F ADD HL,DE 1E60 POP AF 1E61 PUSH HL 1E62 LD HL,&1E6D 1E65 AND &07 1E67 LD E,A 1E68 ADD HL,DE 1E69 LD A,(HL) 1E6A POP HL 1E6B POP DE 1E6C RET 1E6D LD BC,&0402 1E70 EX AF,AF 1E71 DJNZ &1E93 1E73 LD B,B 1E74 ADD A,B 1E75 DI 1E76 LD HL,&B686 1E79 LD (HL),&15 1E7B INC HL 1E7C XOR A 1E7D LD (HL),A 1E7E INC HL 1E7F LD (HL),&01 1E81 INC HL 1E82 LD (HL),A 1E83 INC HL 1E84 LD (HL),A 1E85 RET 1E86 LD HL,&B686 1E89 OR A 1E8A DEC (HL) 1E8B JR Z,&1E9B 1E8D CALL &1EB4 1E90 LD (HL),C 1E91 INC HL 1E92 LD (HL),B 1E93 LD HL,&B68A 1E96 INC (HL) 1E97 LD HL,&B688 1E9A SCF 1E9B INC (HL) 1E9C RET 1E9D LD HL,&B688 1EA0 OR A 1EA1 DEC (HL) 1EA2 JR Z,&1EB2 1EA4 CALL &1EB4 1EA7 LD C,(HL) 1EA8 INC HL 1EA9 LD B,(HL) 1EAA LD HL,&B68A 1EAD DEC (HL) 1EAE LD HL,&B686 1EB1 SCF 1EB2 INC (HL) 1EB3 RET 1EB4 INC HL 1EB5 INC (HL) 1EB6 LD A,(HL) 1EB7 CP &14 1EB9 JR NZ,&1EBD 1EBB XOR A 1EBC LD (HL),A 1EBD ADD A,A 1EBE ADD A,&5E 1EC0 LD L,A 1EC1 LD H,&B6 1EC3 RET 1EC4 LD HL,(&B68B) 1EC7 JR &1ED1 1EC9 LD HL,(&B68D) 1ECC JR &1ED1 1ECE LD HL,(&B68F) 1ED1 ADD A,L 1ED2 LD L,A 1ED3 ADC A,H 1ED4 SUB L 1ED5 LD H,A 1ED6 LD A,(HL) 1ED7 RET 1ED8 LD HL,(&B68B) 1EDB JR &1EE5 1EDD LD HL,(&B68D) 1EE0 JR &1EE5 1EE2 LD HL,(&B68F) 1EE5 CP &50 1EE7 RET NC 1EE8 ADD A,L 1EE9 LD L,A 1EEA ADC A,H 1EEB SUB L 1EEC LD H,A 1EED LD (HL),B 1EEE RET ; tables de conversion clavier ; Code ASCII en fonction de la colonne et du No du bit ;No du bit 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ; table 1 : normale (SHIFT et CONTROL non actifs) 1EEF DEFB &F0,&F3,&f1,&89,&86,&83,&8b,&8a ; colonne 0 1EF7 DEFB &f2,&e0,&87,&88,&85,&81,&82,&80 ; colonne 1 1EFF DEFB &10,"*",&0d,"#",&84,&ff,"$",&ff ; colonne 2 1F07 DEFB "-",")",&5e,"p","ů","m","=",":" ; colonne 3 1F0F DEFB "ŕ","ç","o","i","l","k",",",";" ; colonne 4 1F17 DEFB "!","č","u","y","h","j","n"," " ; colonne 5 1F1F DEFB "]","(","r","t","g","f","b","v" ; colonne 6 1F27 DEFB "'",""","e","z","s","d","c","x" ; colonne 7 1F2F DEFB "&","é",&fc,"a",&09,"q",&fd,"w" ; colonne 8 1F37 DEFB &0b,&0a,&08,&09,"X","Z",&ff,&7f ; colonne 9 ; Table 2 : SHIFT actif et CONTROL inactif 1F3F DEFB &f4,&f7,&f5,&89,&86,&83,&8b,&8a ; colonne 0 + SHIFT 1F47 DEFB &f6,&e0,&87,&88,&85,&81,&82,&80 ; ...1... 1F4F DEFB &10,"<",&0d,">",&84,&ff,"ŕ",&ff ; ...2... 1F57 DEFB "_","[","ů","P","%","M","+","/" ; ...3... 1F5F DEFB "0","9","O","I","L","K","?","." ; ...4... 1F67 DEFB "8","7","U","Y","H","J","N"," " ; ...5... 1F6F DEFB "6","5","R","T","G","F","B","V" ; ...6... 1F77 DEFB "4","3","E","Z","S","D","C","X" ; ...7... 1F7F DEFB "1","2",&fc,"A",&09,"Q",&fd,"W" ; ...8... 1F87 DEFB &0b,&0a,&08,&09,"X","Z",&ff,&7f ; colonne 9 + SHIFT ; Table 3 : CONTROL actif 1F8F DEFB &f8,&fb,&f9,&89,&86,&83,&8c,&8a ; colonne 0 + CONTROL 1F97 DEFB &fa,&e0,&87,&88,&85,&81,&82,&80 ; ...1... 1F9F DEFB &10,&ff,&0d,&ff,&84,&ff,&5c,&ff ; ...2... 1FA7 DEFB &1f,&a2,&1e,&10,&ff,&0d,&ff,&ff ; ...3... 1F0A DEFB &00,&1c,&0f,&09,&0c,&0b,&ff,&ff ; ...4... 1F0B DEFB &ff,&ff,&15,&19,&08,&0a,&0e,&ff ; ...5... 1F0C DEFB &a6,&ff,&12,&14,&07,&06,&02,&16 ; ...6... 1F0F DEFB &ff,&1d,&05,&1a,&13,&04,&03,&18 ; ...7... 1F11 DEFB &1b,&7e,&fc,&01,&e1,&11,&fe,&17 ; ...8... 1F12 DEFB &ff,&ff,&ff,&ff,&ff,&ff,&ff,&7f ; ...9... 1FE7 XOR E 1FE8 ADC A,A 1FE9 LD HL,&B1ED 1FEC LD B,&04 1FEE LD (HL),&00 1FF0 INC HL 1FF1 DJNZ &1FEE 1FF3 LD DE,&208B 1FF6 LD B,&81 1FF8 CALL &01D2 1FFB LD A,&3F 1FFD LD &B2B5,A 2000 LD HL,&B1F8 2003 LD BC,&003D 2006 LD DE,&0108 2009 XOR A 200A LD (HL),A 200B INC HL 200C LD (HL),D 200D INC HL 200E LD (HL),E 200F ADD HL,BC 2010 INC A 2011 EX DE,HL 2012 ADD HL,HL 2013 EX DE,HL 2014 CP &03 2016 JR NZ,&200A 2018 LD C,&07 201A PUSH IX 201C PUSH HL 201D LD HL,&B1F0 2020 INC (HL) 2021 PUSH HL 2022 LD IX,&B1B9 2026 LD A,C 2027 CALL &2209 202A PUSH AF 202B PUSH BC 202C CALL &2286 202F CALL &23E7 2032 PUSH IX 2034 POP DE 2035 INC DE 2036 INC DE 2037 INC DE 2038 LD L,E 2039 LD H,D 203A INC DE 203B LD BC,&003B 203E LD (HL),&00 2040 LDIR 2042 LD (IX+&1C),&04 2046 POP BC 2047 POP AF 2048 JR NZ,&2027 204A POP HL 204B DEC (HL) 204C POP HL 204D POP IX 204F RET 2050 LD HL,&B1EE 2053 DI 2054 LD A,(HL) 2055 LD (HL),&00 2057 EI 2058 OR A 2059 RET Z 205A DEC HL 205B LD (HL),A 205C LD L,&03 205E LD C,&00 2060 LD A,&07 2062 ADD A,L 2063 CALL &0863 2066 DEC L 2067 JR NZ,&2060 2069 SCF 206A RET 206B LD DE,&B1ED 206E LD A,(DE) 206F OR A 2070 RET Z 2071 PUSH DE 2072 LD IX,&B1B9 2076 CALL &2209 2079 PUSH AF 207A LD A,(IX+&0F) 207D CALL C,&23DE 2080 POP AF 2081 JR NZ,&2076 2083 EX (SP),HL 2084 LD A,(HL) 2085 LD (HL),&00 2087 INC HL 2088 LD (HL),A 2089 POP HL 208A RET 208B PUSH IX 208D LD A,&B1EE 2090 OR A 2091 JR Z,&20D0 2093 PUSH AF 2094 LD IX,&B1B9 2098 LD BC,&003F 209B ADD IX,BC 209D SRL A 209F JR NC,&209B 20A1 PUSH AF 20A2 LD A,(IX+&04) 20A5 RRA 20A6 CALL C,&241F 20A9 LD A,(IX+&07) 20AC RRA 20AD CALL C,&231F 20B0 CALL C,&2213 20B3 POP AF 20B4 JR NZ,&2098 20B6 POP BC 20B7 LD A,&B1EE 20BA CPL 20BB AND B 20BC JR Z,&20D0 20BE LD IX,&B1B9 20C2 LD DE,&003F 20C5 ADD IX,DE 20C7 SRL A 20C9 PUSH AF 20CA CALL C,&23E7 20CD POP AF 20CE JR NZ,&20C5 20D0 XOR A 20D1 LD &B1F0,A 20D4 POP IX 20D6 RET 20D7 LD HL,&B1EE 20DA LD A,(HL) 20DB OR A 20DC RET Z 20DD INC HL 20DE DEC (HL) 20DF RET NZ 20E0 LD B,A 20E1 INC (HL) 20E2 INC HL 20E3 LD A,(HL) 20E4 OR A 20E5 RET NZ 20E6 DEC HL 20E7 LD (HL),&03 20E9 LD HL,&B1BE 20EC LD DE,&003F 20EF XOR A 20F0 ADD HL,DE 20F1 SRL B 20F3 JR NC,&20F0 20F5 DEC (HL) 20F6 JR NZ,&20FD 20F8 DEC HL 20F9 RLC (HL) 20FB ADC A,D 20FC INC HL 20FD INC HL 20FE DEC (HL) 20FF JR NZ,&2106 2101 INC HL 2102 RLC (HL) 2104 ADC A,D 2105 DEC HL 2106 DEC HL 2107 INC B 2108 DJNZ &20F0 210A OR A 210B RET Z 210C LD HL,&B1F0 210F LD (HL),A 2110 INC HL 2111 JP &01E2 2114 CALL &206B 2117 LD A,(HL) 2118 AND &07 211A SCF 211B RET Z 211C LD C,A 211D OR (HL) 211E CALL M,&201A 2121 LD B,C 2122 LD IX,&B1B9 2126 LD DE,&003F 2129 XOR A 212A ADD IX,DE 212C SRL B 212E JR NC,&212A 2130 LD (IX+&1E),D 2133 CP (IX+&1C) 2135 INC E 2136 CCF 2137 SBC A,A 2138 INC B 2139 DJNZ &212A 213B OR A 213C RET NZ 213D LD B,C 213E LD A,(HL) 213F RRA 2140 RRA 2141 RRA 2142 OR B 2143 AND &0F 2145 LD C,A 2146 PUSH HL 2147 LD HL,&B1F0 214A INC (HL) 214B EX (SP),HL 214C INC HL 214D LD IX,&B1B9 2151 LD DE,&003F 2154 ADD IX,DE 2156 SRL B 2158 JR NC,&2154 215A PUSH HL 215B PUSH BC 215C LD A,(IX+&1B) 215F INC (IX+&0F),(IX+&1B) 2162 DEC (IX+&0F),(IX+&1C) 2165 EX DE,HL 2166 CALL &219C 2169 PUSH HL 216A EX DE,HL 216B LD A,(IX+&01) 216E CPL 216F AND C 2170 LD (DE),A 2171 INC DE 2172 LD A,(HL) 2173 INC HL 2174 ADD A,A 2175 ADD A,A 2176 ADD A,A 2177 ADD A,A 2178 LD B,A 2179 LD A,(HL) 217A INC HL 217B AND &0F 217D OR B 217E LD (DE),A 217F INC DE 2180 LD BC,&0006 2183 LDIR 2185 POP HL 2186 LD A,(IX+&1A) 2189 INC (IX+&1A) 218C OR (IX+&03) 218F CALL Z,&221F 2192 POP BC 2193 POP HL 2194 INC B 2195 DJNZ &2151 2197 EX (SP),HL 2198 DEC (HL) 2199 POP HL 219A SCF 219B RET 219C AND &03 219E ADD A,A 219F ADD A,A 21A0 ADD A,A 21A1 ADD A,&1F 21A3 PUSH IX 21A5 POP HL 21A6 ADD A,L 21A7 LD L,A 21A8 ADC A,H 21A9 SUB L 21AA LD H,A 21AB RET 21AC LD L,A 21AD CALL &206B 21B0 LD A,L 21B1 AND &07 21B3 RET Z 21B4 LD HL,&B1F0 21B7 INC (HL) 21B8 PUSH HL 21B9 LD IX,&B1B9 21BD CALL &2209 21C0 PUSH AF 21C1 BIT 3,(IX+&03) 21C5 CALL NZ,&2219 21C8 POP AF 21C9 JR NZ,&21BD 21CB POP HL 21CC DEC (HL) 21CD RET 21CE AND &07 21D0 RET Z 21D1 LD HL,&B1BC 21D4 LD DE,&003F 21D7 ADD HL,DE 21D8 RRA 21D9 JR NC,&21D7 21DB DI 21DC LD A,(HL) 21DD ADD A,A 21DE ADD A,A 21DF ADD A,A 21E0 LD DE,&0019 21E3 ADD HL,DE 21E4 OR (HL) 21E5 INC HL 21E6 INC HL 21E7 LD (HL),&00 21E9 EI 21EA RET 21EB AND &07 21ED RET Z 21EE EX DE,HL 21EF LD HL,&B1D5 21F2 LD BC,&003F 21F5 ADD HL,BC 21F6 RRA 21F7 JR NC,&21F5 21F9 XOR A 21FA DI 21FB CP (HL) 21FC JR NZ,&21FF 21FE LD A,D 21FF INC HL 2200 LD (HL),E 2201 INC HL 2202 LD (HL),A 2203 EI 2204 RET Z 2205 EX DE,HL 2206 JP &01E2 2209 LD DE,&003F 220C ADD IX,DE 220E SRL A 2210 RET C 2211 JR &220C 2213 LD A,(IX+&1A) 2216 OR A 2217 JR Z,&2286 2219 LD A,(IX+&19) 221C CALL &219C 221F LD A,(HL) 2220 OR A 2221 JR Z,&2230 2223 BIT 3,A 2225 JR NZ,&2280 2227 PUSH HL 2228 LD (HL),&00 222A CALL &2290 222D POP HL 222E JR NC,&2286 2230 LD (IX+&03),&10 2234 INC HL 2235 LD A,(HL) 2236 AND &F0 2238 PUSH AF 2239 XOR (HL) 223A LD E,A 223B INC HL 223C LD C,(HL) 223D INC HL 223E LD D,(HL) 223F INC HL 2240 OR D 2241 OR C 2242 JR Z,&224C 2244 PUSH HL 2245 CALL &2408 2248 LD D,(IX+&01) 224B POP HL 224C LD C,(HL) 224D INC HL 224E LD E,(HL) 224F INC HL 2250 LD A,(HL) 2251 INC HL 2252 LD H,(HL) 2253 LD L,A 2254 POP AF 2255 CALL &22DE 2258 LD HL,&B1EE 225B LD B,(IX+&01) 225E LD A,(HL) 225F OR B 2260 LD (HL),A 2261 XOR B 2262 JR NZ,&2267 2264 INC HL 2265 LD (HL),&03 2267 INC (IX+&DE),&19 226A DEC (IX+&DE),&1A 226D INC (IX+&DE),&1C 2270 LD A,(IX+&1E) 2273 LD (IX+&1E),&00 2277 OR A 2278 RET Z 2279 LD H,A 227A LD L,(IX+&1D) 227D JP &01E2 2280 RES 3,(HL) 2282 LD (IX+&03),&08 2286 LD HL,&B1EE 2289 LD A,(IX+&01) 228C CPL 228D AND (HL) 228E LD (HL),A 228F RET 2290 PUSH IX 2292 LD B,A 2293 LD C,(IX+&01) 2296 LD IX,&B1F8 229A BIT 0,A 229C JR NZ,&22AA 229E LD IX,&B237 22A2 BIT 1,A 22A4 JR NZ,&22AA 22A6 LD IX,&B276 22AA LD A,(IX+&03) 22AD AND C 22AE JR Z,&22D7 22B0 LD A,B 22B1 CP (IX+01) 22B4 JR Z,&22CF 22B6 PUSH IX 22B8 LD IX,&B276 22BC BIT 2,A 22BE JR NZ,&22C4 22C0 LD IX,&B237 22C4 LD A,(IX+&03) 22C7 AND C 22C8 JR Z,&22D6 22CA CALL &2219 22CD POP IX 22CF CALL &2219 22D2 POP IX 22D4 SCF 22D5 RET 22D6 POP HL 22D7 POP IX 22D9 LD (IX+&03),B 22DC OR A 22DD RET 22DE SET 7,E 22E0 LD (IX+&0F),E 22E3 LD E,A 22E4 LD A,L 22E5 OR H 22E6 JR NZ,&22E9 22E8 DEC HL 22E9 LD (IX+&08),L 22EC LD (IX+&09),H 22EF LD A,C 22F0 OR A 22F1 JR Z,&22FB 22F3 LD A,&06 22F5 CALL &0863 22F8 LD A,(IX+&02) 22FB OR D 22FC CALL &23E8 22FF LD A,E 2300 OR A 2301 JR Z,&230D 2303 LD HL,&B2A6 2306 LD D,&00 2308 ADD HL,DE 2309 LD A,(HL) 230A OR A 230B JR NZ,&2310 230D LD HL,&231B 2310 LD (IX+&0A),L 2313 LD (IX+&0B),H 2316 CALL &23CD 2319 JR &2328 231B LD BC,&0001 231E RET Z 231F LD L,(IX+&0D) 2322 LD H,(IX+&0E) 2325 LD E,(IX+&10) 2328 LD A,E 2329 CP &FF 232B JR Z,&23A2 232D ADD A,A 232E LD A,(HL) 232F INC HL 2330 JR C,&237B 2332 JR Z,&2340 2334 DEC E 2335 LD C,(IX+&0F) 2338 OR A 2339 JR NZ,&233F 233B BIT 7,C 233D JR Z,&2345 233F ADD A,C 2340 AND &0F 2342 CALL &23DB 2345 LD C,(HL) 2346 LD A,(IX+&09) 2349 LD B,A 234A ADD A,A 234B JR C,&2368 234D XOR A 234E SUB C 234F ADD A,(IX+&08) 2352 JR C,&2360 2354 DEC B 2355 JP P,&235D 2358 LD C,(IX+&08) 235B XOR A 235C LD B,A 235D LD (IX+&09),B 2360 LD (IX+&08),A 2363 OR B 2364 JR NZ,&2368 2366 LD E,&FF 2368 LD A,E 2369 OR A 236A CALL Z,&23AE 236D LD (IX+&10),E 2370 DI 2371 LD (IX+&06),C 2374 LD (IX+&07),&80 2378 EI 2379 OR A 237A RET 237B LD D,A 237C LD C,E 237D LD A,&0D 237F CALL &0863 2382 LD C,D 2383 LD A,&0B 2385 CALL &0863 2388 LD C,(HL) 2389 LD A,&0C 238B CALL &0863 238E LD A,&10 2390 CALL &23DB 2393 CALL &23AE 2396 LD A,E 2397 INC A 2398 JR NZ,&2328 239A LD HL,&231B 239D CALL &23CD 23A0 JR &2328 23A2 XOR A 23A3 LD (IX+&03),A 23A6 LD (IX+&07),A 23A9 LD (IX+&04),A 23AC SCF 23AD RET 23AE DEC (IX+&04),A 23B1 JR NZ,&23D1 23B3 LD A,(IX+&09) 23B6 ADD A,A 23B7 LD HL,&231B 23BA JR NC,&23CD 23BC INC (IX+&04),&2308 23BF JR NZ,&23C7 23C1 INC (IX+&04),&2309 23C4 LD E,&FF 23C6 RET Z 23C7 LD L,(IX+&0A) 23CA LD H,(IX+&0B) 23CD LD A,(HL) 23CE LD (IX+&0C),A 23D1 INC HL 23D2 LD E,(HL) 23D3 INC HL 23D4 LD (IX+&0D),L 23D7 LD (IX+&0E),H 23DA RET 23DB LD (IX+&0F),A 23DE LD C,A 23DF LD A,(IX+&00) 23E2 ADD A,&08 23E4 JP &0863 23E7 XOR A 23E8 LD B,A 23E9 LD A,(IX+&01) 23EC OR (IX+&02) 23EF LD HL,&B2B5 23F2 DI 23F3 OR (HL) 23F4 XOR B 23F5 CP (HL) 23F6 LD (HL),A 23F7 EI 23F8 JR NZ,&23FD 23FA LD A,B 23FB OR A 23FC RET NZ 23FD XOR A 23FE CALL &23DE 2401 DI 2402 LD C,(HL) 2403 LD A,&07 2405 JP &0863 2408 CALL &2481 240B LD A,E 240C CALL &24AB 240F RET NC 2410 LD A,(HL) 2411 AND &7F 2413 RET Z 2414 LD (IX+&11),L 2417 LD (IX+&12),H 241A CALL &2470 241D JR &2428 241F LD L,(IX+&14) 2422 LD H,(IX+&15) 2425 LD E,(IX+&18) 2428 LD C,(HL) 2429 INC HL 242A LD A,E 242B SUB &F0 242D JR C,&2433 242F LD E,&00 2431 JR &2441 2433 DEC E 2434 LD A,C 2435 ADD A,A 2436 SBC A,A 2437 LD D,A 2438 LD A,(IX+&16) 243B ADD A,C 243C LD C,A 243D LD A,(IX+&17) 2440 ADC A,D 2441 LD D,A 2442 CALL &2481 2445 LD C,(HL) 2446 LD A,E 2447 OR A 2448 JR NZ,&2463 244A LD A,(IX+&13) 244D DEC A 244E JR NZ,&2460 2450 LD L,(IX+&11) 2453 LD H,(IX+&12) 2456 LD A,(HL) 2457 ADD A,&80 2459 JR C,&2460 245B LD (IX+&04),&00 245F RET 2460 CALL &2470 2463 LD (IX+&18),E 2466 DI 2467 LD (IX+&05),C 246A LD (IX+&04),&80 246E EI 246F RET 2470 LD (IX+&13),A 2473 INC HL 2474 LD E,(HL) 2475 INC HL 2476 LD (IX+&14),L 2479 LD (IX+&15),H 247C LD A,E 247D OR A 247E RET NZ 247F INC E 2480 RET 2481 LD A,(IX+&00) 2484 ADD A,A 2485 PUSH AF 2486 LD (IX+&16),C 2489 CALL &0863 248C POP AF 248D INC A 248E LD C,D 248F LD (IX+&17),C 2492 JP &0863 2495 LD DE,&B2A6 2498 JR &249D 249A LD DE,&B396 249D EX DE,HL 249E CALL &24AE 24A1 EX DE,HL 24A2 RET NC 24A3 LDIR 24A5 RET 24A6 LD HL,&B2A6 24A9 JR &24AE 24AB LD HL,&B396 24AE OR A 24AF RET Z 24B0 CP &10 24B2 RET NC 24B3 LD BC,&0010 24B6 ADD HL,BC 24B7 DEC A 24B8 JR NZ,&24B6 24BA SCF 24BB RET ; &BC62 ; Tracage d'une ligne vertical ; A=masque de l'encre ; DE=abscisse ; HL et BC = ordonnee de depart et d'arrivee 24BC CALL &2557 24BF CALL &2599 24C2 XOR A 24C3 CALL &24E1 24C6 CALL &2BBF 24C9 LD HL,&014D 24CC LD A,&19 24CE ADD HL,HL 24CF ADD HL,HL 24D0 ADD HL,HL 24D1 ADD HL,HL 24D2 ADD HL,HL 24D3 ADD HL,HL 24D4 RRCA 24D5 RRCA 24D6 AND &3F 24D8 LD L,A 24D9 LD (&B1E9),HL 24DC LD A,&B1E7 24DF SCF 24E0 RET 24E1 LD &B118,A 24E4 RET 24E5 LD IX,&B11A 24E9 CALL &2502 24EC PUSH HL 24ED CALL C,&26AC 24F0 POP HL 24F1 RET NC 24F2 LD DE,(&B134) 24F6 LD BC,(&B137) 24FA LD A,&B131 24FD RET 24FE LD IX,&B15F 2502 LD A,(IX+&00) 2505 OR A 2506 LD A,&0E 2508 RET NZ 2509 PUSH IX 250B EX (SP),HL 250C INC (HL) 250D INC HL 250E LD (HL),E 250F INC HL 2510 LD (HL),D 2511 INC HL 2512 LD (HL),E 2513 INC HL 2514 LD (HL),D 2515 INC HL 2516 EX DE,HL 2517 POP HL 2518 PUSH DE 2519 LD C,&40 251B XOR A 251C LD (DE),A 251D INC DE 251E DEC C 251F JR NZ,&251C 2521 POP DE 2522 PUSH DE 2523 LD A,B 2524 CP &10 2526 JR C,&252A 2528 LD B,&10 252A INC B 252B LD C,B 252C JR &2535 252E RST &20 252F INC HL 2530 CALL &2926 2533 LD (DE),A 2534 INC DE 2535 DJNZ &252E 2537 DEC C 2538 JR Z,&2543 253A DEC DE 253B LD A,(DE) 253C XOR &20 253E JR NZ,&2543 2540 LD (DE),A 2541 JR &2537 2543 POP HL 2544 INC (IX+&37) 2547 LD (IX+&17),&16 254B DEC (IX+&17),&1C 254E SCF 254F RET 2550 LD A,&B11A 2553 OR A 2554 LD A,&0E 2556 RET Z 2557 LD HL,&B11A 255A LD B,&01 255C LD A,(HL) 255D LD (HL),&00 255F PUSH BC 2560 CALL &256D 2563 POP AF 2564 LD HL,&B1E4 2567 XOR (HL) 2568 SCF 2569 RET NZ 256A LD (HL),A 256B SBC A,A 256C RET 256D CP &04 256F RET C 2570 INC HL 2571 LD E,(HL) 2572 INC HL 2573 LD D,(HL) 2574 LD L,E 2575 LD H,D 2576 INC DE 2577 LD (HL),&00 2579 LD BC,&07FF 257C JP &BAA1 257F LD A,&B15F 2582 CP &03 2584 JR Z,&2599 2586 ADD A,&FF 2588 LD A,&0E 258A RET NC 258B LD HL,&B175 258E DEC (HL) 258F INC HL 2590 INC HL 2591 LD A,(HL) 2592 INC HL 2593 OR (HL) 2594 SCF 2595 CALL NZ,&2786 2598 RET NC 2599 LD HL,&B15F 259C LD B,&02 259E JR &255C 25A0 PUSH HL 25A1 PUSH DE 25A2 PUSH BC 25A3 LD B,&05 25A5 CALL &25F6 25A8 JR NZ,&25C4 25AA LD HL,(&B132) 25AD LD A,H 25AE OR L 25AF SCF 25B0 CALL Z,&26AC 25B3 JR NC,&25C4 25B5 LD HL,(&B132) 25B8 DEC HL 25B9 LD (&B132),HL 25BC LD HL,(&B11D) 25BF RST &20 25C0 INC HL 25C1 LD (&B11D),HL 25C4 JR &25F2 25C6 PUSH HL 25C7 PUSH DE 25C8 PUSH BC 25C9 LD C,A 25CA LD HL,&B15F 25CD LD B,&05 25CF CALL &25F9 25D2 JR NZ,&25F2 25D4 LD HL,(&B177) 25D7 LD DE,&0800 25DA SBC HL,DE 25DC PUSH BC 25DD CALL NC,&2786 25E0 POP BC 25E1 JR NC,&25F2 25E3 LD HL,(&B177) 25E6 INC HL 25E7 LD (&B177),HL 25EA LD HL,(&B162) 25ED LD (HL),C 25EE INC HL 25EF LD (&B162),HL 25F2 POP BC 25F3 POP DE 25F4 POP HL 25F5 RET 25F6 LD HL,&B11A 25F9 LD A,(HL) 25FA CP B 25FB RET Z 25FC XOR &01 25FE LD A,&0E 2600 RET NZ 2601 LD (HL),B 2602 RET 2603 CALL &25A0 2606 RET NC 2607 PUSH HL 2608 LD HL,(&B132) 260B INC HL 260C LD (&B132),HL 260F LD HL,(&B11D) 2612 DEC HL 2613 LD (&B11D),HL 2616 POP HL 2617 RET 2618 EX DE,HL 2619 LD B,&02 261B CALL &25F6 261E RET NZ 261F LD (&B134),DE 2623 CALL &263C 2626 LD HL,(&B134) 2629 LD DE,(&B132) 262D ADD HL,DE 262E LD (&B134),HL 2631 CALL &26AC 2634 JR C,&2626 2636 RET Z 2637 LD HL,(&B1BE) 263A SCF 263B RET 263C LD HL,(&B11B) 263F LD BC,(&B132) 2643 LD A,E 2644 SUB L 2645 LD A,D 2646 SBC A,H 2647 JP C,&BAA1 264A ADD HL,BC 264B DEC HL 264C EX DE,HL 264D ADD HL,BC 264E DEC HL 264F EX DE,HL 2650 JP &BAA7 2653 PUSH HL 2654 PUSH BC 2655 LD C,A 2656 LD HL,&B15F 2659 LD B,&02 265B CALL &25F9 265E JR NZ,&268D 2660 LD A,C 2661 POP BC 2662 POP HL 2663 LD &B176,A 2666 LD (&B17C),DE 266A LD (&B17E),BC 266E LD (&B160),HL 2671 LD (&B177),DE 2675 LD HL,&F7FF 2678 ADD HL,DE 2679 CCF 267A RET C 267B LD HL,&0800 267E LD (&B177),HL 2681 EX DE,HL 2682 SBC HL,DE 2684 PUSH HL 2685 LD HL,(&B160) 2688 ADD HL,DE 2689 PUSH HL 268A CALL &2786 268D POP HL 268E POP DE 268F RET NC 2690 JR &266E 2692 LD HL,&B11A 2695 LD A,(HL) 2696 OR A 2697 LD A,&0E 2699 RET NZ 269A LD (HL),&04 269C LD (&B11B),DE 26A0 XOR A 26A1 CALL &24E1 26A4 CALL &26B3 26A7 JR C,&26A4 26A9 JP &2557 26AC LD A,&B130 26AF OR A 26B0 LD A,&0F 26B2 RET NZ 26B3 LD BC,&8301 26B6 CALL &27E5 26B9 JR NC,&271A 26BB LD HL,&B1A4 26BE LD DE,&0040 26C1 LD A,&2C 26C3 CALL &29A6 26C6 JR NC,&271A 26C8 LD B,&8B 26CA CALL &292F 26CD JR Z,&26D6 26CF CALL &2737 26D2 JR NZ,&2727 26D4 LD B,&89 26D6 CALL &2804 26D9 LD DE,(&B1B7) 26DD LD HL,(&B134) 26E0 LD A,&B11A 26E3 CP &02 26E5 JR Z,&26F5 26E7 LD HL,&F7FF 26EA ADD HL,DE 26EB LD A,&04 26ED JR C,&271A 26EF LD HL,(&B11B) 26F2 LD (&B11D),HL 26F5 LD A,&16 26F7 CALL &29A6 26FA JR NC,&271A 26FC LD HL,&B12F 26FF INC (HL) 2700 LD A,&B1B5 2703 INC HL 2704 LD (HL),A 2705 XOR A 2706 LD &B136,A 2709 LD HL,(&B1B7) 270C LD (&B132),HL 270F CALL &292F 2712 LD A,&8C 2714 CALL Z,&287E 2717 SCF 2718 JR &277F 271A OR A 271B LD HL,&B11A 271E JR Z,&2778 2720 LD B,&85 2722 CALL &2885 2725 JR &26BB 2727 PUSH AF 2728 LD B,&88 272A CALL &2804 272D POP AF 272E JR NC,&26BB 2730 LD B,&87 2732 CALL &2883 2735 JR &26BB 2737 LD A,&B136 273A OR A 273B JR Z,&2758 273D LD A,&B1BB 2740 CPL 2741 OR A 2742 RET NZ 2743 LD A,&B11F 2746 OR A 2747 CALL NZ,&2760 274A RET NZ 274B LD HL,&B1A4 274E LD DE,&B11F 2751 LD BC,&0040 2754 LDIR 2756 XOR A 2757 RET 2758 CALL &2760 275B RET NZ 275C EX DE,HL 275D LD A,(DE) 275E CP (HL) 275F RET 2760 LD HL,&B11F 2763 LD DE,&B1A4 2766 LD B,&10 2768 LD A,(DE) 2769 CALL &2926 276C LD C,A 276D LD A,(HL) 276E CALL &2926 2771 XOR C 2772 RET NZ 2773 INC HL 2774 INC DE 2775 DJNZ &2768 2777 RET 2778 LD A,(HL) 2779 LD (HL),&03 277B CALL &256D 277E OR A 277F SBC A,A 2780 PUSH AF 2781 CALL &2BBF 2784 POP AF 2785 RET 2786 LD BC,&8402 2789 CALL &27E5 278C JR NC,&27D8 278E LD B,&8A 2790 LD DE,&B164 2793 CALL &2807 2796 LD HL,&B17B 2799 CALL &27FA 279C JR NC,&27D8 279E LD HL,(&B160) 27A1 LD (&B162),HL 27A4 LD (&B179),HL 27A7 PUSH HL 27A8 LD HL,&B164 27AB LD DE,&0040 27AE LD A,&2C 27B0 CALL &29AF 27B3 POP HL 27B4 JR NC,&27D8 27B6 LD DE,(&B177) 27BA LD A,&16 27BC CALL &29AF 27BF LD HL,&B175 27C2 CALL C,&27FA 27C5 JR NC,&27D8 27C7 LD HL,&0000 27CA LD (&B177),HL 27CD LD HL,&B174 27D0 INC (HL) 27D1 XOR A 27D2 LD &B17B,A 27D5 SCF 27D6 JR &277F 27D8 OR A 27D9 LD HL,&B15F 27DC JR Z,&2778 27DE LD B,&86 27E0 CALL &2885 27E3 JR &279E 27E5 LD HL,&B1E4 27E8 LD A,C 27E9 CP (HL) 27EA LD (HL),C 27EB SCF 27EC PUSH HL 27ED PUSH BC 27EE CALL NZ,&28D2 27F1 POP BC 27F2 POP HL 27F3 SBC A,A 27F4 RET NC 27F5 CALL &2BBB 27F8 SBC A,A 27F9 RET 27FA LD A,(HL) 27FB OR A 27FC SCF 27FD RET Z 27FE LD BC,&012C 2801 JP &2BE2 2804 LD DE,&B1A4 2807 LD A,&B118 280A OR A 280B RET NZ 280C LD &B119,A 280F CALL &28F3 2812 CALL &2898 2815 LD A,(DE) 2816 OR A 2817 JR NZ,&2823 2819 LD A,&8E 281B CALL &2899 281E LD BC,&0010 2821 JR &2851 2823 CALL &292F 2826 LD BC,&1000 2829 JR Z,&2838 282B LD L,E 282C LD H,D 282D LD A,(HL) 282E OR A 282F JR Z,&2835 2831 INC C 2832 INC HL 2833 DJNZ &282D 2835 LD A,B 2836 LD B,C 2837 LD C,A 2838 CALL &28FD 283B LD A,(DE) 283C CALL &2926 283F OR A 2840 JR NZ,&2844 2842 LD A,&20 2844 PUSH BC 2845 PUSH DE 2846 CALL &1335 2849 POP DE 284A POP BC 284B INC DE 284C DJNZ &283B 284E CALL &28CE 2851 EX DE,HL 2852 ADD HL,BC 2853 EX DE,HL 2854 LD A,&8D 2856 CALL &2899 2859 LD B,&02 285B CALL &28FD 285E LD A,(DE) 285F CALL &2914 2862 CALL &28CE 2865 INC DE 2866 CALL &292F 2869 JR NZ,&2876 286B INC DE 286C LD A,(DE) 286D AND &0F 286F ADD A,&24 2871 CALL &28F0 2874 JR &28CE 2876 LD A,(DE) 2877 LD HL,&B119 287A OR (HL) 287B RET Z 287C JR &28EB 287E CALL &2899 2881 JR &28EB 2883 LD A,&FF 2885 PUSH AF 2886 CALL &2891 2889 POP AF 288A ADD A,&60 288C CALL NC,&28F0 288F JR &28EB 2891 CALL &117C 2894 DEC H 2895 CALL NZ,&28EB 2898 LD A,B 2899 PUSH HL 289A AND &7F 289C LD B,A 289D LD HL,&2935 28A0 JR Z,&28A9 28A2 LD A,(HL) 28A3 INC HL 28A4 OR A 28A5 JR NZ,&28A2 28A7 DJNZ &28A2 28A9 LD A,(HL) 28AA OR A 28AB JR Z,&28B2 28AD CALL &28B5 28B0 JR &28A9 28B2 POP HL 28B3 INC HL 28B4 RET 28B5 JP M,&2899 28B8 PUSH HL 28B9 LD B,&00 28BB INC B 28BC LD A,(HL) 28BD INC HL 28BE RLCA 28BF JR NC,&28BB 28C1 CALL &28FD 28C4 POP HL 28C5 LD A,(HL) 28C6 INC HL 28C7 AND &7F 28C9 CALL &28F0 28CC DJNZ &28C5 28CE LD A,&20 28D0 JR &28F0 28D2 LD A,&B118 28D5 OR A 28D6 SCF 28D7 RET NZ 28D8 CALL &2891 28DB CALL &1BFE 28DE CALL &1276 28E1 CALL &1CDB 28E4 CALL &127E 28E7 CP &FC 28E9 RET Z 28EA SCF 28EB CALL &28F3 28EE LD A,&0A 28F0 JP &13FE 28F3 PUSH AF 28F4 PUSH HL 28F5 LD A,&01 28F7 CALL &115A 28FA POP HL 28FB POP AF 28FC RET 28FD PUSH DE 28FE CALL &1252 2901 LD E,H 2902 CALL &117C 2905 LD A,H 2906 DEC A 2907 ADD A,E 2908 ADD A,B 2909 DEC A 290A CP D 290B POP DE 290C RET C 290D LD A,&FF 290F LD &B119,A 2912 JR &28EB 2914 LD B,&FF 2916 INC B 2917 SUB &0A 2919 JR NC,&2916 291B ADD A,&3A 291D PUSH AF 291E LD A,B 291F OR A 2920 CALL NZ,&2914 2923 POP AF 2924 JR &28F0 2926 CP &61 2928 RET C 2929 CP &7B 292B RET NC 292C ADD A,&E0 292E RET 292F LD A,&B11A 2932 CP &04 2934 RET 2935 DEFB "P","r","e","s","s"+&80,0 293B DEFB "P","L","A","Y"+&80 293F DEFB "t","h","e","n"+&80 2943 DEFB "a","n","y"+&80 2946 DEFB "k","e","y",":"+&80,0 294B DEFB "e","r","r","o","r"+&80,0,&80,&81,0,&80 2955 DEFB "R","E","C"+&80 2958 DEFB "a","n","d"+&80,&81,0 295D DEFB "R","e","a","d"+&80,&82,0 2963 DEFB "W","r","i","t","e"+&80,&82,0 296A DEFB "R","e","w","i","n","d"+&80 2971 DEFB "t","a","p","e"+&80,0 2975 DEFB "F","o","u","n","d"," "," "+&80,0 297D DEFB "L","o","a","d","i","n","g"+&80,0,0 298D DEFB "O","k"+&80,0 2990 DEFB "b","l","o","c","k"+&80,0 2996 DEFB "U","n","n","a","m","e","d"+&80 299D DEFB "f","i","l","e"," "," "," "," "+&80,0 29A6 CALL &29E3 29A9 PUSH AF 29AA LD HL,&2A28 29AD JR &29C8 29AF CALL &29E3 29B2 PUSH AF 29B3 CALL &2AD4 29B6 LD HL,&2A67 29B9 CALL C,&2A0D 29BC CALL C,&2AE9 29BF JR &29D0 29C1 CALL &29E3 29C4 PUSH AF 29C5 LD HL,&2A37 29C8 PUSH HL 29C9 CALL &2A89 29CC POP HL 29CD CALL C,&2A0D 29D0 POP DE 29D1 PUSH AF 29D2 LD BC,&F782 29D5 OUT (C),C 29D7 LD BC,&F610 29DA OUT (C),C 29DC EI 29DD LD A,D 29DE CALL &2BC1 29E1 POP AF 29E2 RET 29E3 LD &B1E5,A 29E6 DEC DE 29E7 INC E 29E8 PUSH HL 29E9 PUSH DE 29EA CALL &1FE9 29ED POP DE 29EE POP IX 29F0 CALL &2BBB 29F3 DI 29F4 LD BC,&F40E 29F7 OUT (C),C 29F9 LD BC,&F6D0 29FC OUT (C),C 29FE LD C,&10 2A00 OUT (C),C 2A02 LD BC,&F792 2A05 OUT (C),C 2A07 LD BC,&F658 2A0A OUT (C),C 2A0C RET 2A0D LD A,D 2A0E OR A 2A0F JR Z,&2A1E 2A11 PUSH HL 2A12 PUSH DE 2A13 LD E,&00 2A15 CALL &2A1E 2A18 POP DE 2A19 POP HL 2A1A RET NC 2A1B DEC D 2A1C JR NZ,&2A11 2A1E LD BC,&FFFF 2A21 LD (&B1EB),BC 2A25 LD D,&01 2A27 JP (HL) 2A28 CALL &2B20 2A2B RET NC 2A2C LD (IX+&00),A 2A2F INC IX 2A31 DEC D 2A32 DEC E 2A33 JR NZ,&2A28 2A35 JR &2A49 2A37 CALL &2B20 2A3A RET NC 2A3B LD B,A 2A3C CALL &BAD7 2A3F XOR B 2A40 LD A,&03 2A42 RET NZ 2A43 INC IX 2A45 DEC D 2A46 DEC E 2A47 JR NZ,&2A37 2A49 DEC D 2A4A JR Z,&2A52 2A4C CALL &2B20 2A4F RET NC 2A50 JR &2A49 2A52 CALL &2B16 2A55 CALL &2B20 2A58 RET NC 2A59 XOR D 2A5A JR NZ,&2A63 2A5C CALL &2B20 2A5F RET NC 2A60 XOR E 2A61 SCF 2A62 RET Z 2A63 LD A,&02 2A65 OR A 2A66 RET 2A67 CALL &BAD7 2A6A CALL &2B68 2A6D RET NC 2A6E INC IX 2A70 DEC D 2A71 DEC E 2A72 JR NZ,&2A67 2A74 DEC D 2A75 JR Z,&2A7E 2A77 XOR A 2A78 CALL &2B68 2A7B RET NC 2A7C JR &2A74 2A7E CALL &2B16 2A81 CALL &2B68 2A84 RET NC 2A85 LD A,E 2A86 JP &2B68 2A89 PUSH DE 2A8A CALL &2A93 2A8D POP DE 2A8E RET C 2A8F OR A 2A90 RET Z 2A91 JR &2A89 2A93 LD L,&55 2A95 CALL &2B3D 2A98 RET NC 2A99 LD DE,&0000 2A9C LD H,D 2A9D CALL &2B3D 2AA0 RET NC 2AA1 EX DE,HL 2AA2 LD B,&00 2AA4 ADD HL,BC 2AA5 EX DE,HL 2AA6 DEC H 2AA7 JR NZ,&2A9D 2AA9 LD H,C 2AAA LD A,C 2AAB SUB D 2AAC LD C,A 2AAD SBC A,A 2AAE LD B,A 2AAF EX DE,HL 2AB0 ADD HL,BC 2AB1 EX DE,HL 2AB2 CALL &2B3D 2AB5 RET NC 2AB6 LD A,D 2AB7 SRL A 2AB9 SRL A 2ABB ADC A,D 2ABC SUB H 2ABD JR C,&2AA9 2ABF SUB C 2AC0 JR C,&2AA9 2AC2 LD A,D 2AC3 RRA 2AC4 ADC A,D 2AC5 LD H,A 2AC6 LD (&B1E6),HL 2AC9 CALL &2B20 2ACC RET NC 2ACD LD HL,&B1E5 2AD0 XOR (HL) 2AD1 RET NZ 2AD2 SCF 2AD3 RET 2AD4 CALL &2BF9 2AD7 LD HL,&0801 2ADA CALL &2AEC 2ADD RET NC 2ADE OR A 2ADF CALL &2B78 2AE2 RET NC 2AE3 LD A,&B1E5 2AE6 JP &2B68 2AE9 LD HL,&0021 2AEC LD B,&F4 2AEE IN A,(C) 2AF0 AND &04 2AF2 RET Z 2AF3 PUSH HL 2AF4 SCF 2AF5 CALL &2B78 2AF8 POP HL 2AF9 DEC HL 2AFA LD A,H 2AFB OR L 2AFC JR NZ,&2AEC 2AFE SCF 2AFF RET 2B00 LD HL,(&B1EB) 2B03 XOR H 2B04 JP P,&2B10 2B07 LD A,H 2B08 XOR &08 2B0A LD H,A 2B0B LD A,L 2B0C XOR &10 2B0E LD L,A 2B0F SCF 2B10 ADC HL,HL 2B12 LD (&B1EB),HL 2B15 RET 2B16 LD HL,(&B1EB) 2B19 LD A,L 2B1A CPL 2B1B LD E,A 2B1C LD A,H 2B1D CPL 2B1E LD D,A 2B1F RET 2B20 PUSH DE 2B21 LD E,&08 2B23 LD HL,(&B1E6) 2B26 CALL &2B44 2B29 CALL C,&2B4D 2B2C JR NC,&2B3B 2B2E LD A,H 2B2F SUB C 2B30 SBC A,A 2B31 RL D 2B33 CALL &2B00 2B36 DEC E 2B37 JR NZ,&2B23 2B39 LD A,D 2B3A SCF 2B3B POP DE 2B3C RET 2B3D LD B,&F4 2B3F IN A,(C) 2B41 AND &04 2B43 RET Z 2B44 LD A,R 2B46 ADD A,&03 2B48 RRCA 2B49 RRCA 2B4A AND &1F 2B4C LD C,A 2B4D LD B,&F5 2B4F LD A,C 2B50 ADD A,&02 2B52 LD C,A 2B53 JR C,&2B63 2B55 IN A,(C) 2B57 XOR L 2B58 AND &80 2B5A JR NZ,&2B4F 2B5C XOR A 2B5D LD R,A 2B5F RRC L 2B61 SCF 2B62 RET 2B63 XOR A 2B64 LD R,A 2B66 INC A 2B67 RET 2B68 PUSH DE 2B69 LD E,&08 2B6B LD D,A 2B6C RLC D 2B6E CALL &2B78 2B71 JR NC,&2B76 2B73 DEC E 2B74 JR NZ,&2B6C 2B76 POP DE 2B77 RET 2B78 LD BC,(&B1E8) 2B7C LD HL,(&B1EA) 2B7F SBC A,A 2B80 LD H,A 2B81 JR Z,&2B8A 2B83 LD A,L 2B84 ADD A,A 2B85 ADD A,B 2B86 LD L,A 2B87 LD A,C 2B88 SUB B 2B89 LD C,A 2B8A LD A,L 2B8B LD &B1E8,A 2B8E LD L,&0A 2B90 CALL &2BA7 2B93 JR C,&2B9B 2B95 SUB C 2B96 JR NC,&2BA4 2B98 CPL 2B99 INC A 2B9A LD C,A 2B9B LD A,H 2B9C CALL &2B00 2B9F LD L,&0B 2BA1 CALL &2BA7 2BA4 LD A,&01 2BA6 RET 2BA7 LD A,R 2BA9 SRL A 2BAB SUB C 2BAC JR NC,&2BB1 2BAE INC A 2BAF JR NZ,&2BAE 2BB1 LD B,&F7 2BB3 OUT (C),L 2BB5 PUSH AF 2BB6 XOR A 2BB7 LD R,A 2BB9 POP AF 2BBA RET 2BBB LD A,&10 2BBD JR &2BC1 2BBF LD A,&EF 2BC1 PUSH BC 2BC2 LD B,&F6 2BC4 IN C,(C) 2BC6 INC B 2BC7 AND &10 2BC9 LD A,&08 2BCB JR Z,&2BCE 2BCD INC A 2BCE OUT (C),A 2BD0 SCF 2BD1 JR Z,&2BDF 2BD3 LD A,C 2BD4 AND &10 2BD6 PUSH BC 2BD7 LD BC,&00C8 2BDA SCF 2BDB CALL Z,&2BE2 2BDE POP BC 2BDF LD A,C 2BE0 POP BC 2BE1 RET 2BE2 PUSH BC 2BE3 PUSH HL 2BE4 CALL &2BF9 2BE7 LD A,&42 2BE9 CALL &1E45 2BEC POP HL 2BED POP BC 2BEE JR NZ,&2BF7 2BF0 DEC BC 2BF1 LD A,B 2BF2 OR C 2BF3 JR NZ,&2BE2 2BF5 SCF 2BF6 RET 2BF7 XOR A 2BF8 RET 2BF9 LD BC,&0682 2BFC DEC BC 2BFD LD A,B 2BFE OR C 2BFF JR NZ,&2BFC 2C01 RET 2C02 PUSH BC 2C03 PUSH DE 2C04 PUSH HL 2C05 CALL &2DF2 2C08 LD BC,&00FF 2C0B LD A,(HL) 2C0C CP &30 2C0E JR C,&2C17 2C10 CP &3A 2C12 CALL C,&2C42 2C15 JR C,&2C0B 2C17 LD A,B 2C18 OR A 2C19 LD A,(HL) 2C1A CALL NZ,&2C42 2C1D PUSH HL 2C1E INC C 2C1F LD A,(HL) 2C20 INC HL 2C21 OR A 2C22 JR NZ,&2C1E 2C24 LD &B115,A 2C27 POP HL 2C28 CALL &2EE4 2C2B PUSH BC 2C2C PUSH HL 2C2D CALL &2F56 2C30 POP HL 2C31 POP BC 2C32 CALL &2C48 2C35 JR NC,&2C2B 2C37 PUSH AF 2C38 CALL &2E4F 2C3B POP AF 2C3C POP HL 2C3D POP DE 2C3E POP BC 2C3F CP &FC 2C41 RET 2C42 INC C 2C43 INC B 2C44 INC HL 2C45 JP &2F25 2C48 PUSH HL 2C49 LD HL,&2C72 2C4C LD E,A 2C4D LD A,B 2C4E OR C 2C4F LD A,E 2C50 JR NZ,&2C5D 2C52 CP &F0 2C54 JR C,&2C5D 2C56 CP &F4 2C58 JR NC,&2C5D 2C5A LD HL,&2CAE 2C5D LD D,(HL) 2C5E INC HL 2C5F PUSH HL 2C60 INC HL 2C61 INC HL 2C62 CP (HL) 2C63 INC HL 2C64 JR Z,&2C6A 2C66 DEC D 2C67 JR NZ,&2C60 2C69 EX (SP),HL 2C6A POP AF 2C6B LD A,(HL) 2C6C INC HL 2C6D LD H,(HL) 2C6E LD L,A 2C6F LD A,E 2C70 EX (SP),HL 2C71 RET 2C72 INC DE 2C73 ADC A,D 2C74 DEC L 2C75 CALL M,&2CD0 2C78 RST &28 2C79 ADC A,&2C 2C7B DEC C 2C7C JP P,&F02C 2C7F INC A 2C80 DEC L 2C81 POP AF 2C82 LD A,(BC) 2C83 DEC L 2C84 JP P,&2D34 2C87 DI 2C88 LD (BC),A 2C89 DEC L 2C8A RET M 2C8B LD C,A 2C8C DEC L 2C8D LD SP,HL 2C8E DEC E 2C8F DEC L 2C90 JP M,&2D45 2C93 EI 2C94 INC D 2C95 DEC L 2C96 CALL P,&2E21 2C99 PUSH AF 2C9A LD H,&2E 2C9C OR &1C 2C9E LD L,&F7 2CA0 RLA 2CA1 LD L,&E0 2CA3 LD H,L 2CA4 LD L,&7F 2CA6 JP &102D 2CA9 CALL &E12D 2CAC ADD A,C 2CAD DEC L 2CAE INC B 2CAF CP &2C 2CB1 RET P 2CB2 CP L 2CB3 INC L 2CB4 POP AF 2CB5 POP BC 2CB6 INC L 2CB7 JP P,&2CC9 2CBA DI 2CBB PUSH BC 2CBC INC L 2CBD LD A,&0B 2CBF JR &2CCB 2CC1 LD A,&0A 2CC3 JR &2CCB 2CC5 LD A,&09 2CC7 JR &2CCB 2CC9 LD A,&08 2CCB CALL &13FE 2CCE OR A 2CCF RET 2CD0 CALL &2CF2 2CD3 PUSH AF 2CD4 LD HL,&2CEA 2CD7 CALL &2CF2 2CDA CALL &117C 2CDD DEC H 2CDE JR Z,&2CE8 2CE0 LD A,&0D 2CE2 CALL &13FE 2CE5 CALL &2CC1 2CE8 POP AF 2CE9 RET 2CEA LD HL,(&7242) 2CED LD H,L 2CEE LD H,C 2CEF LD L,E 2CF0 LD HL,(&F500) 2CF3 LD A,(HL) 2CF4 INC HL 2CF5 OR A 2CF6 CALL NZ,&2F25 2CF9 JR NZ,&2CF3 2CFB POP AF 2CFC SCF 2CFD RET 2CFE LD A,&07 2D00 JR &2CCB 2D02 LD D,&01 2D04 CALL &2D1E 2D07 JR Z,&2CFE 2D09 RET 2D0A CALL &2D73 2D0D LD A,C 2D0E SUB B 2D0F CP D 2D10 JR C,&2CFE 2D12 JR &2D1E 2D14 CALL &2D73 2D17 LD A,D 2D18 SUB E 2D19 RET Z 2D1A LD D,A 2D1B JR &2D1E 2D1D LD D,C 2D1E LD A,B 2D1F CP C 2D20 RET Z 2D21 PUSH DE 2D22 CALL &2ECD 2D25 LD A,(HL) 2D26 CALL NC,&2F25 2D29 INC B 2D2A INC HL 2D2B CALL NC,&2EE4 2D2E POP DE 2D2F DEC D 2D30 JR NZ,&2D1E 2D32 JR &2D70 2D34 LD D,&01 2D36 CALL &2D50 2D39 JR Z,&2CFE 2D3B RET 2D3C CALL &2D73 2D3F LD A,B 2D40 CP D 2D41 JR C,&2CFE 2D43 JR &2D50 2D45 CALL &2D73 2D48 LD A,E 2D49 SUB &01 2D4B RET Z 2D4C LD D,A 2D4D JR &2D50 2D4F LD D,C 2D50 LD A,B 2D51 OR A 2D52 RET Z 2D53 CALL &2EC7 2D56 JR NC,&2D5F 2D58 DEC B 2D59 DEC HL 2D5A DEC D 2D5B JR NZ,&2D50 2D5D JR &2D70 2D5F LD A,B 2D60 OR A 2D61 JR Z,&2D6D 2D63 DEC B 2D64 DEC HL 2D65 PUSH DE 2D66 CALL &2EA2 2D69 POP DE 2D6A DEC D 2D6B JR NZ,&2D5F 2D6D CALL &2EE4 2D70 OR &FF 2D72 RET 2D73 PUSH HL 2D74 CALL &1252 2D77 LD A,D 2D78 SUB H 2D79 INC A 2D7A LD D,A 2D7B CALL &117C 2D7E LD E,H 2D7F POP HL 2D80 RET 2D81 LD A,&B115 2D84 CPL 2D85 LD &B115,A 2D88 OR A 2D89 RET 2D8A OR A 2D8B RET Z 2D8C LD E,A 2D8D LD A,&B115 2D90 OR A 2D91 LD A,C 2D92 JR Z,&2D9F 2D94 CP B 2D95 JR Z,&2D9F 2D97 LD (HL),E 2D98 INC HL 2D99 INC B 2D9A OR A 2D9B LD A,E 2D9C JP &2F25 2D9F CP &FF 2DA1 JP Z,&2CFE 2DA4 XOR A 2DA5 LD &B114,A 2DA8 CALL &2D9B 2DAB INC C 2DAC PUSH HL 2DAD LD A,(HL) 2DAE LD (HL),E 2DAF LD E,A 2DB0 INC HL 2DB1 OR A 2DB2 JR NZ,&2DAD 2DB4 LD (HL),A 2DB5 POP HL 2DB6 INC B 2DB7 INC HL 2DB8 CALL &2EE4 2DBB LD A,&B114 2DBE OR A 2DBF CALL NZ,&2EA2 2DC2 RET 2DC3 LD A,B 2DC4 OR A 2DC5 CALL NZ,&2EC7 2DC8 JP NC,&2CFE 2DCB DEC B 2DCC DEC HL 2DCD LD A,B 2DCE CP C 2DCF JP Z,&2CFE 2DD2 PUSH HL 2DD3 INC HL 2DD4 LD A,(HL) 2DD5 DEC HL 2DD6 LD (HL),A 2DD7 INC HL 2DD8 OR A 2DD9 JR NZ,&2DD3 2DDB DEC HL 2DDC LD (HL),&20 2DDE LD (&B114),A 2DE1 EX (SP),HL 2DE2 CALL &2EE4 2DE5 EX (SP),HL 2DE6 LD (HL),&00 2DE8 POP HL 2DE9 DEC C 2DEA LD A,(&B114) 2DED OR A 2DEE CALL NZ,&2EA6 2DF1 RET 2DF2 XOR A 2DF3 LD (&B116),A 2DF6 LD (&B117),A 2DF9 RET 2DFA LD DE,(&B116) 2DFE LD A,H 2DFF XOR D 2E00 RET NZ 2E01 LD A,L 2E02 XOR E 2E03 RET NZ 2E04 SCF 2E05 RET 2E06 LD C,A 2E07 CALL &2EC1 2E0A RET Z 2E0B LD A,L 2E0C ADD A,C 2E0D LD L,A 2E0E CALL &11CA 2E11 JR NC,&2DF2 2E13 LD (&B116),HL 2E16 RET 2E17 LD DE,&0100 2E1A JR &2E29 2E1C LD DE,&FF00 2E1F JR &2E29 2E21 LD DE,&00FF 2E24 JR &2E29 2E26 LD DE,&0001 2E29 PUSH BC 2E2A PUSH HL 2E2B CALL &2EC1 2E2E CALL Z,&117C 2E31 LD A,H 2E32 ADD A,D 2E33 LD H,A 2E34 LD A,L 2E35 ADD A,E 2E36 LD L,A 2E37 CALL &11CA 2E3A JR NC,&2E47 2E3C PUSH HL 2E3D CALL &2E4F 2E40 POP HL 2E41 LD (&B116),HL 2E44 CALL &2E4A 2E47 POP HL 2E48 POP BC 2E49 RET 2E4A LD DE,&1265 2E4D JR &2E52 2E4F LD DE,&1265 2E52 CALL &2EC1 2E55 RET Z 2E56 PUSH HL 2E57 CALL &117C 2E5A EX (SP),HL 2E5B CALL &1170 2E5E CALL &0016 2E61 POP HL 2E62 JP &1170 2E65 PUSH BC 2E66 PUSH HL 2E67 CALL &117C 2E6A EX DE,HL 2E6B CALL &2EC1 2E6E JR NZ,&2E7C 2E70 LD A,B 2E71 OR C 2E72 JR NZ,&2E9A 2E74 CALL &117C 2E77 LD (&B116),HL 2E7A JR &2E82 2E7C CALL &1170 2E7F CALL &1265 2E82 CALL &13AC 2E85 PUSH AF 2E86 EX DE,HL 2E87 CALL &1170 2E8A LD HL,(&B116) 2E8D INC H 2E8E CALL &11CA 2E91 JR NC,&2E96 2E93 LD (&B116),HL 2E96 CALL &2E4A 2E99 POP AF 2E9A POP HL 2E9B POP BC 2E9C JP C,&2D8A 2E9F JP &2CFE 2EA2 LD D,&01 2EA4 JR &2EA8 2EA6 LD D,&FF 2EA8 PUSH BC 2EA9 PUSH HL 2EAA PUSH DE 2EAB CALL &2E4F 2EAE POP DE 2EAF CALL &2EC1 2EB2 JR Z,&2EBD 2EB4 LD A,H 2EB5 ADD A,D 2EB6 LD H,A 2EB7 CALL &2E0E 2EBA CALL &2E4A 2EBD POP HL 2EBE POP BC 2EBF OR A 2EC0 RET 2EC1 LD HL,(&B116) 2EC4 LD A,H 2EC5 OR L 2EC6 RET 2EC7 PUSH DE 2EC8 LD DE,&FF08 2ECB JR &2ED1 2ECD PUSH DE 2ECE LD DE,&0109 2ED1 PUSH BC 2ED2 PUSH HL 2ED3 CALL &117C 2ED6 LD A,D 2ED7 ADD A,H 2ED8 LD H,A 2ED9 CALL &11CA 2EDC LD A,E 2EDD CALL C,&13FE 2EE0 POP HL 2EE1 POP BC 2EE2 POP DE 2EE3 RET 2EE4 PUSH BC 2EE5 PUSH HL 2EE6 EX DE,HL 2EE7 CALL &117C 2EEA LD C,A 2EEB EX DE,HL 2EEC LD A,(HL) 2EED INC HL 2EEE OR A 2EEF CALL NZ,&2F02 2EF2 JR NZ,&2EEC 2EF4 CALL &117C 2EF7 SUB C 2EF8 EX DE,HL 2EF9 ADD A,L 2EFA LD L,A 2EFB CALL &1170 2EFE POP HL 2EFF POP BC 2F00 OR A 2F01 RET 2F02 PUSH AF 2F03 PUSH BC 2F04 PUSH DE 2F05 PUSH HL 2F06 LD B,A 2F07 CALL &117C 2F0A SUB C 2F0B ADD A,E 2F0C LD E,A 2F0D LD C,B 2F0E CALL &11CA 2F11 JR C,&2F18 2F13 LD A,B 2F14 ADD A,A 2F15 INC A 2F16 ADD A,E 2F17 LD E,A 2F18 EX DE,HL 2F19 CALL &11CA 2F1C LD A,C 2F1D CALL C,&2F25 2F20 POP HL 2F21 POP DE 2F22 POP BC 2F23 POP AF 2F24 RET 2F25 PUSH AF 2F26 PUSH BC 2F27 PUSH DE 2F28 PUSH HL 2F29 LD B,A 2F2A CALL &117C 2F2D LD C,A 2F2E PUSH BC 2F2F CALL &11CA 2F32 POP BC 2F33 CALL C,&2DFA 2F36 PUSH AF 2F37 CALL C,&2E4F 2F3A LD A,B 2F3B PUSH BC 2F3C CALL &1335 2F3F POP BC 2F40 CALL &117C 2F43 SUB C 2F44 CALL NZ,&2E06 2F47 POP AF 2F48 JR NC,&2F51 2F4A SBC A,A 2F4B LD (&B114),A 2F4E CALL &2E4A 2F51 POP HL 2F52 POP DE 2F53 POP BC 2F54 POP AF 2F55 RET 2F56 CALL &117C 2F59 LD C,A 2F5A CALL &11CA 2F5D CALL &2DFA 2F60 JP C,&1BBF 2F63 CALL &1276 2F66 CALL &117C 2F69 SUB C 2F6A CALL NZ,&2E06 2F6D CALL &1BBF 2F70 JP &127E 2F73 LD DE,&2F78 2F76 JR &2F91 2F78 AND D 2F79 JP C,&490F 2F7C ADD A,D 2F7D LD DE,&2F82 2F80 JR &2F91 2F82 NOP 2F83 NOP 2F84 NOP 2F85 NOP 2F86 ADD A,C 2F87 EX DE,HL 2F88 LD HL,&B10E 2F8B JR &2F91 2F8D LD DE,&B104 2F90 EX DE,HL 2F91 PUSH HL 2F92 PUSH DE 2F93 PUSH BC 2F94 EX DE,HL 2F95 LD BC,&0005 2F98 LDIR 2F9A POP BC 2F9B POP DE 2F9C POP HL 2F9D SCF 2F9E RET 2F9F PUSH DE 2FA0 PUSH BC 2FA1 OR &7F 2FA3 LD B,A 2FA4 XOR A 2FA5 LD (DE),A 2FA6 INC DE 2FA7 LD (DE),A 2FA8 INC DE 2FA9 LD C,&90 2FAB OR H 2FAC JR NZ,&2FBB 2FAE LD C,A 2FAF OR L 2FB0 JR Z,&2FBF 2FB2 LD L,H 2FB3 LD C,&88 2FB5 JR &2FBB 2FB7 DEC C 2FB8 SLA L 2FBA ADC A,A 2FBB JP P,&2FB7 2FBE AND B 2FBF EX DE,HL 2FC0 LD (HL),E 2FC1 INC HL 2FC2 LD (HL),A 2FC3 INC HL 2FC4 LD (HL),C 2FC5 POP BC 2FC6 POP HL 2FC7 RET 2FC8 PUSH BC 2FC9 LD BC,&A000 2FCC CALL &2FD3 2FCF POP BC 2FD0 RET 2FD1 LD B,&A8 2FD3 PUSH DE 2FD4 CALL &379C 2FD7 POP DE 2FD8 RET 2FD9 PUSH HL 2FDA POP IX 2FDC XOR A 2FDD SUB (IX+&04) 2FE0 JR Z,&2FFD 2FE2 ADD A,&90 2FE4 RET NC 2FE5 PUSH DE 2FE6 PUSH BC 2FE7 ADD A,&10 2FE9 CALL &373D 2FEC SLA C 2FEE ADC HL,DE 2FF0 JR Z,&2FFA 2FF2 LD A,(IX+&03) 2FF5 OR A 2FF6 CCF 2FF7 POP BC 2FF8 POP DE 2FF9 RET 2FFA SBC A,A 2FFB JR &2FF6 2FFD LD L,A 2FFE LD H,A 2FFF SCF 3000 RET 3001 CALL &3014 3004 RET NC 3005 RET P 3006 PUSH HL 3007 LD A,C 3008 INC (HL) 3009 JR NZ,&3011 300B INC HL 300C DEC A 300D JR NZ,&3008 300F INC (HL) 3010 INC C 3011 POP HL 3012 SCF 3013 RET 3014 PUSH HL 3015 PUSH DE 3016 PUSH HL 3017 POP IX 3019 XOR A 301A SUB (IX+&04) 301D JR NZ,&3029 301F LD B,&04 3021 LD (HL),A 3022 INC HL 3023 DJNZ &3021 3025 LD C,&01 3027 JR &3051 3029 ADD A,&A0 302B JR NC,&3052 302D PUSH HL 302E CALL &373D 3031 XOR A 3032 CP B 3033 ADC A,A 3034 OR C 3035 LD C,L 3036 LD B,H 3037 POP HL 3038 LD (HL),C 3039 INC HL 303A LD (HL),B 303B INC HL 303C LD (HL),E 303D INC HL 303E LD E,A 303F LD A,(HL) 3040 LD (HL),D 3041 AND &80 3043 LD B,A 3044 LD C,&04 3046 XOR A 3047 OR (HL) 3048 JR NZ,&304F 304A DEC HL 304B DEC C 304C JR NZ,&3047 304E INC C 304F LD A,E 3050 OR A 3051 SCF 3052 POP DE 3053 POP HL 3054 RET 3055 CALL &3014 3058 RET NC 3059 RET Z 305A BIT 7,B 305C RET Z 305D JR &3006 305F CALL &3727 3062 LD B,A 3063 JR Z,&30B7 3065 CALL M,&3734 3068 PUSH HL 3069 LD A,(IX+&04) 306C SUB &80 306E LD E,A 306F SBC A,A 3070 LD D,A 3071 LD L,E 3072 LD H,D 3073 ADD HL,HL 3074 ADD HL,HL 3075 ADD HL,HL 3076 ADD HL,DE 3077 ADD HL,HL 3078 ADD HL,DE 3079 ADD HL,HL 307A ADD HL,HL 307B ADD HL,DE 307C LD A,H 307D SUB &09 307F LD C,A 3080 POP HL 3081 PUSH BC 3082 CALL NZ,&30C8 3085 LD DE,&30BC 3088 CALL &36E2 308B JR NC,&3098 308D LD DE,&30F5 3090 CALL &3577 3093 POP DE 3094 DEC E 3095 PUSH DE 3096 JR &3085 3098 LD DE,&30C1 309B CALL &36E2 309E JR C,&30AB 30A0 LD DE,&30F5 30A3 CALL &3604 30A6 POP DE 30A7 INC E 30A8 PUSH DE 30A9 JR &3098 30AB CALL &3001 30AE LD A,C 30AF POP DE 30B0 LD B,D 30B1 DEC A 30B2 ADD A,L 30B3 LD L,A 30B4 RET NC 30B5 INC H 30B6 RET 30B7 LD E,A 30B8 LD (HL),A 30B9 LD C,&01 30BB RET 30BC RET P 30BD RRA 30BE CP H 30BF LD A,&96 30C1 CP &27 30C3 LD L,E 30C4 LD L,(HL) 30C5 SBC A,(HL) 30C6 CPL 30C7 INC A 30C8 OR A 30C9 SCF 30CA RET Z 30CB LD C,A 30CC JP P,&30D1 30CF CPL 30D0 INC A 30D1 LD DE,&3131 30D4 SUB &0D 30D6 JR Z,&30ED 30D8 JR C,&30E3 30DA PUSH BC 30DB PUSH AF 30DC CALL &30ED 30DF POP AF 30E0 POP BC 30E1 JR &30D1 30E3 LD B,A 30E4 ADD A,A 30E5 ADD A,A 30E6 ADD A,B 30E7 ADD A,E 30E8 LD E,A 30E9 LD A,&FF 30EB ADC A,D 30EC LD D,A 30ED LD A,C 30EE OR A 30EF JP P,&3604 30F2 JP &3577 30F5 NOP 30F6 NOP 30F7 NOP 30F8 JR NZ,&307E 30FA NOP 30FB NOP 30FC NOP 30FD LD C,B 30FE ADD A,A 30FF NOP 3100 NOP 3101 NOP 3102 LD A,D 3103 ADC A,D 3104 NOP 3105 NOP 3106 LD B,B 3107 INC E 3108 ADC A,(HL) 3109 NOP 310A NOP 310B LD D,B 310C LD B,E 310D SUB C 310E NOP 310F NOP 3110 INC H 3111 LD (HL),H 3112 SUB H 3113 NOP 3114 ADD A,B 3115 SUB (HL) 3116 JR &30B0 3118 NOP 3119 JR NZ,&30D7 311B LD A,&9B 311D NOP 311E JR Z,&318B 3120 LD L,(HL) 3121 SBC A,(HL) 3122 NOP 3123 LD SP,HL 3124 LD (BC),A 3125 DEC D 3126 AND D 3127 LD B,B 3128 OR A 3129 LD B,E 312A LD A,&10A5 312D AND L 312E CALL NC,&A868 3131 LD HL,(&84E7) 3134 LD DE,&21AC 3137 LD H,L 3138 ADC A,C 3139 LD (&B102),HL 313C LD HL,&6C07 313F LD (&B100),HL 3142 RET 3143 EX DE,HL 3144 CALL &3136 3147 EX DE,HL 3148 CALL &3727 314B RET Z 314C LD DE,&B100 314F LD B,&04 3151 LD A,(DE) 3152 XOR (HL) 3153 LD (DE),A 3154 INC DE 3155 INC HL 3156 DJNZ &3151 3158 RET 3159 PUSH HL 315A LD HL,(&B102) 315D LD BC,&6C07 3160 CALL &319C 3163 PUSH HL 3164 LD HL,(&B100) 3167 LD BC,&8965 316A CALL &319C 316D PUSH DE 316E PUSH HL 316F LD HL,(&B102) 3172 CALL &319C 3175 EX (SP),HL 3176 ADD HL,BC 3177 LD (&B100),HL 317A POP HL 317B LD BC,&6C07 317E ADC HL,BC 3180 POP BC 3181 ADD HL,BC 3182 POP BC 3183 ADD HL,BC 3184 LD (&B102),HL 3187 POP HL 3188 PUSH HL 3189 POP IX 318B LD HL,(&B100) 318E LD DE,(&B102) 3192 LD BC,&0000 3195 LD (IX+&04),&80 3199 JP &37AC 319C EX DE,HL 319D LD HL,&0000 31A0 LD A,&11 31A2 DEC A 31A3 RET Z 31A4 ADD HL,HL 31A5 RL E 31A7 RL D 31A9 JR NC,&31A2 31AB ADD HL,BC 31AC JR NC,&31A2 31AE INC DE 31AF JR &31A2 31B1 LD DE,&322A 31B4 JR &31B9 31B6 LD DE,&3225 31B9 CALL &3727 31BC DEC A 31BD CP &01 31BF RET NC 31C0 PUSH DE 31C1 CALL &36D3 31C4 PUSH AF 31C5 LD (IX+&04),&80 31C9 LD DE,&3220 31CC CALL &36DF 31CF JR NC,&31D7 31D1 INC (IX+&DF),&3104 31D4 POP AF 31D5 DEC A 31D6 PUSH AF 31D7 CALL &2F87 31DA PUSH DE 31DB LD DE,&2F82 31DE PUSH DE 31DF CALL &34A2 31E2 POP DE 31E3 EX (SP),HL 31E4 CALL &349A 31E7 POP DE 31E8 CALL &3604 31EB CALL &3440 31EE INC B 31EF LD C,H 31F0 LD C,E 31F1 LD D,A 31F2 LD E,(HL) 31F3 LD A,A 31F4 DEC C 31F5 EX AF,AF 31F6 SBC A,E 31F7 INC DE 31F8 ADD A,B 31F9 INC HL 31FA SUB E 31FB JR C,&3273 31FD ADD A,B 31FE JR NZ,&323B 3200 XOR D 3201 JR C,&3185 3203 PUSH DE 3204 CALL &3577 3207 POP DE 3208 EX (SP),HL 3209 LD A,H 320A OR A 320B JP P,&3210 320E CPL 320F INC A 3210 LD L,A 3211 LD A,H 3212 LD H,&00 3214 CALL &2F9F 3217 EX DE,HL 3218 POP HL 3219 CALL &34A2 321C POP DE 321D JP &3577 3220 INC (HL) 3221 DI 3222 INC B 3223 DEC (HL) 3224 ADD A,B 3225 RET M 3226 RLA 3227 LD (HL),D 3228 LD SP,&8580 322B SBC A,D 322C JR NZ,&3248 322E LD A,A 322F LD B,&E1 3231 CALL &3492 3234 JP NC,&2F7D 3237 LD DE,&32A2 323A CALL &36DF 323D JP P,&37E8 3240 LD DE,&32A7 3243 CALL &36DF 3246 JP M,&37E2 3249 LD DE,&329D 324C CALL &3469 324F LD A,E 3250 JP P,&3255 3253 NEG 3255 PUSH AF 3256 CALL &3570 3259 CALL &2F8D 325C PUSH DE 325D CALL &3443 3260 INC BC 3261 CALL P,&EB32 3264 RRCA 3265 LD (HL),E 3266 EX AF,AF 3267 CP B 3268 PUSH DE 3269 LD D,D 326A LD A,E 326B NOP 326C NOP 326D NOP 326E NOP 326F ADD A,B 3270 EX (SP),HL 3271 CALL &3443 3274 LD (BC),A 3275 ADD HL,BC 3276 LD H,B 3277 SBC A,&01 3279 LD A,B 327A RET M 327B RLA 327C LD (HL),D 327D LD SP,&CD7E 3280 LD (HL),A 3281 DEC (HL) 3282 POP DE 3283 PUSH HL 3284 EX DE,HL 3285 CALL &349A 3288 EX DE,HL 3289 POP HL 328A CALL &3604 328D LD DE,&326B 3290 CALL &34A2 3293 POP AF 3294 SCF 3295 ADC A,(IX+&04) 3298 LD (IX+&04),A 329B SCF 329C RET 329D ADD HL,HL 329E DEC SP 329F XOR D 32A0 JR C,&3223 32A2 RST &00 32A3 INC SP 32A4 RRCA 32A5 JR NC,&322E 32A7 RET M 32A8 RLA 32A9 LD (HL),D 32AA OR C 32AB ADD A,A 32AC LD DE,&326B 32AF EX DE,HL 32B0 CALL &3727 32B3 EX DE,HL 32B4 JP Z,&2F7D 32B7 PUSH AF 32B8 CALL &3727 32BB JR Z,&32E2 32BD LD B,A 32BE CALL M,&3734 32C1 PUSH HL 32C2 CALL &3324 32C5 POP HL 32C6 JR C,&32ED 32C8 EX (SP),HL 32C9 POP HL 32CA JP M,&32EA 32CD PUSH BC 32CE PUSH DE 32CF CALL &31B6 32D2 POP DE 32D3 CALL C,&3577 32D6 CALL C,&322F 32D9 POP BC 32DA RET NC 32DB LD A,B 32DC OR A 32DD CALL M,&3731 32E0 SCF 32E1 RET 32E2 POP AF 32E3 SCF 32E4 RET P 32E5 CALL &37E8 32E8 XOR A 32E9 RET 32EA XOR A 32EB INC A 32EC RET 32ED LD C,A 32EE POP AF 32EF PUSH BC 32F0 PUSH AF 32F1 LD A,C 32F2 SCF 32F3 ADC A,A 32F4 JR NC,&32F3 32F6 LD B,A 32F7 CALL &2F8D 32FA EX DE,HL 32FB LD A,B 32FC ADD A,A 32FD JR Z,&3314 32FF PUSH AF 3300 CALL &3570 3303 JR NC,&331B 3305 POP AF 3306 JR NC,&32FC 3308 PUSH AF 3309 LD DE,&B104 330C CALL &3577 330F JR NC,&331B 3311 POP AF 3312 JR &32FC 3314 POP AF 3315 SCF 3316 CALL M,&35FB 3319 JR &32D9 331B POP AF 331C POP AF 331D POP BC 331E JP M,&37E2 3321 JP &37EA 3324 PUSH BC 3325 CALL &2F88 3328 CALL &3014 332B LD A,C 332C POP BC 332D JR NC,&3331 332F JR Z,&3334 3331 LD A,B 3332 OR A 3333 RET 3334 LD C,A 3335 LD A,(HL) 3336 RRA 3337 SBC A,A 3338 AND B 3339 LD B,A 333A LD A,C 333B CP &02 333D SBC A,A 333E RET NC 333F LD A,(HL) 3340 CP &27 3342 RET C 3343 XOR A 3344 RET 3345 LD &B113,A 3348 RET 3349 CALL &3727 334C CALL M,&3734 334F OR &01 3351 JR &3354 3353 XOR A 3354 PUSH AF 3355 LD DE,&33B4 3358 LD B,&F0 335A LD A,&B113 335D OR A 335E JR Z,&3365 3360 LD DE,&33B9 3363 LD B,&F6 3365 CALL &3492 3368 JR NC,&33A4 336A POP AF 336B CALL &346A 336E RET NC 336F LD A,E 3370 RRA 3371 CALL C,&3734 3374 LD B,&E8 3376 CALL &3492 3379 JP NC,&37E2 337C INC (IX+&92),&3704 337F CALL &3440 3382 LD B,&1B 3384 DEC L 3385 LD A,(DE) 3386 AND &6E 3388 RET M 3389 EI 338A RLCA 338B JR Z,&3401 338D LD BC,&6889 3390 SBC A,C 3391 LD A,C 3392 POP HL 3393 RST &18 3394 DEC (HL) 3395 INC HL 3396 LD A,L 3397 JR Z,&3380 3399 LD E,L 339A AND L 339B ADD A,B 339C AND D 339D JP C,&490F 33A0 ADD A,C 33A1 JP &3577 33A4 POP AF 33A5 JP NZ,&2F7D 33A8 LD A,&B113 33AB CP &01 33AD RET C 33AE LD DE,&33BE 33B1 JP &3577 33B4 LD L,(HL) 33B5 ADD A,E 33B6 LD SP,HL 33B7 LD (&B67F),HL 33BA LD H,B 33BB DEC BC 33BC LD (HL),&79 33BE INC DE 33BF DEC (HL) 33C0 JP M,&7B0E 33C3 OUT (&E0),A 33C5 LD L,&65 33C7 ADD A,(HL) 33C8 CALL &2F8D 33CB PUSH DE 33CC CALL &3349 33CF EX (SP),HL 33D0 CALL C,&3353 33D3 POP DE 33D4 JP C,&3604 33D7 RET 33D8 CALL &3727 33DB PUSH AF 33DC CALL M,&3734 33DF LD B,&F0 33E1 CALL &3492 33E4 JR NC,&3430 33E6 DEC A 33E7 PUSH AF 33E8 CALL P,&35FB 33EB CALL &3440 33EE DEC BC 33EF RST &38 33F0 POP BC 33F1 INC BC 33F2 RRCA 33F3 LD (HL),A 33F4 ADD A,E 33F5 CALL M,&EBE8 33F8 LD A,C 33F9 LD L,A 33FA JP Z,&3678 33FD LD A,E 33FE PUSH DE 33FF LD A,&B0 3401 OR L 3402 LD A,H 3403 OR B 3404 POP BC 3405 ADC A,E 3406 ADD HL,BC 3407 LD A,L 3408 XOR A 3409 RET PE 340A LD (&7DB4),A ; ??? 340D LD (HL),H 340E LD L,H 340F LD H,L 3410 LD H,D 3411 LD A,L 3412 POP DE 3413 PUSH AF 3414 SCF 3415 SUB D 3416 LD A,(HL) 3417 LD A,D 3418 JP &4CCB ; ??? 341B LD A,(HL) 341C ADD A,E 341D AND A 341E XOR D 341F XOR D 3420 LD A,A 3421 CP &FF 3423 RST &38 3424 LD A,A 3425 ADD A,B 3426 CALL &3577 3429 POP AF 342A LD DE,&339C 342D CALL P,&349E 3430 LD A,&B113 3433 OR A 3434 LD DE,&33C3 3437 CALL NZ,&3577 343A POP AF 343B CALL M,&3734 343E SCF 343F RET 3440 CALL &3570 3443 CALL &2F87 3446 POP HL 3447 LD B,(HL) 3448 INC HL 3449 CALL &2F90 344C INC DE 344D INC DE 344E INC DE 344F INC DE 3450 INC DE 3451 PUSH DE 3452 LD DE,&B109 3455 DEC B 3456 RET Z 3457 PUSH BC 3458 LD DE,&B10E 345B CALL &3577 345E POP BC 345F POP DE 3460 PUSH DE 3461 PUSH BC 3462 CALL &34A2 3465 POP BC 3466 POP DE 3467 JR &344C 3469 XOR A 346A PUSH AF 346B CALL &3577 346E POP AF 346F LD DE,&326B 3472 CALL NZ,&34A2 3475 PUSH HL 3476 CALL &2FD9 3479 JR NC,&348E 347B POP DE 347C PUSH HL 347D PUSH AF 347E PUSH DE 347F LD DE,&B109 3482 CALL &2F9F 3485 EX DE,HL 3486 POP HL 3487 CALL &349A 348A POP AF 348B POP DE 348C SCF 348D RET 348E POP HL 348F XOR A 3490 INC A 3491 RET 3492 CALL &36D3 3495 RET P 3496 CP B 3497 RET Z 3498 CCF 3499 RET 349A LD A,&01 349C JR &34A3 349E LD A,&80 34A0 JR &34A3 34A2 XOR A 34A3 PUSH HL 34A4 POP IX 34A6 PUSH DE 34A7 POP IY 34A9 LD B,(IX+&03) 34AC LD C,(IY+&03) 34AF OR A 34B0 JR Z,&34BC 34B2 JP M,&34BA 34B5 RRCA 34B6 XOR C 34B7 LD C,A 34B8 JR &34BC 34BA XOR B 34BB LD B,A 34BC LD A,(IX+&04) 34BF CP (IX+&04) 34C2 JR NC,&34D8 34C4 LD D,B 34C5 LD B,C 34C6 LD C,D 34C7 OR A 34C8 LD D,A 34C9 LD A,(IY+&04) 34CC LD (IX+&04),A 34CF JR Z,&3525 34D1 SUB D 34D2 CP &21 34D4 JR NC,&3525 34D6 JR &34E9 34D8 XOR A 34D9 SUB (IY+&04) 34DC JR Z,&3537 34DE ADD A,(IX+&04) 34E1 CP &21 34E3 JR NC,&3537 34E5 PUSH HL 34E6 POP IY 34E8 EX DE,HL 34E9 LD E,A 34EA LD A,B 34EB XOR C 34EC PUSH AF 34ED PUSH BC 34EE LD A,E 34EF CALL &3743 34F2 LD A,C 34F3 POP BC 34F4 LD C,A 34F5 POP AF 34F6 JP M,&353C 34F9 LD A,(IY+&00) 34FC ADD A,L 34FD LD L,A 34FE LD A,(IY+&01) 3501 ADC A,H 3502 LD H,A 3503 LD A,(IY+&02) 3506 ADC A,E 3507 LD E,A 3508 LD A,(IY+&03) 350B SET 7,A 350D ADC A,D 350E LD D,A 350F JP NC,&37B7 3512 RR D 3514 RR E 3516 RR H 3518 RR L 351A RR C 351C INC (IX+&43) 351F JP NZ,&37B7 3522 JP &37EA 3525 LD A,(IY+&02) 3528 LD (IX+&02),A 352B LD A,(IY+&01) 352E LD (IX+&01),A 3531 LD A,(IY+&00) 3534 LD (IX+&00),A 3537 LD (IX+&03),B 353A SCF 353B RET 353C XOR A 353D SUB C 353E LD C,A 353F LD A,(IY+&00) 3542 SBC A,L 3543 LD L,A 3544 LD A,(IY+&01) 3547 SBC A,H 3548 LD H,A 3549 LD A,(IY+&02) 354C SBC A,E 354D LD E,A 354E LD A,(IY+&03) 3551 SET 7,A 3553 SBC A,D 3554 LD D,A 3555 JR NC,&356D 3557 LD A,B 3558 CPL 3559 LD B,A 355A XOR A 355B SUB C 355C LD C,A 355D LD A,&00 355F SBC A,L 3560 LD L,A 3561 LD A,&00 3563 SBC A,H 3564 LD H,A 3565 LD A,&00 3567 SBC A,E 3568 LD E,A 3569 LD A,&00 356B SBC A,D 356C LD D,A 356D JP &37AC 3570 LD DE,&B109 3573 CALL &2F90 3576 EX DE,HL 3577 PUSH DE 3578 POP IY 357A PUSH HL 357B POP IX 357D LD A,(IY+&04) 3580 OR A 3581 JR Z,&35AD 3583 DEC A 3584 CALL &36AF 3587 JR Z,&35AD 3589 JR NC,&35AA 358B PUSH AF 358C PUSH BC 358D CALL &35B0 3590 LD A,C 3591 POP BC 3592 LD C,A 3593 POP AF 3594 BIT 7,D 3596 JR NZ,&35A3 3598 DEC A 3599 JR Z,&35AD ; Stoupido , si il n'y pas plus de 3 appels en &35AD... 359B SLA C 359D ADC HL,HL 359F RL E 35A1 RL D 35A3 LD (IX+&04),A 35A6 OR A 35A7 JP NZ,&37B7 35AA JP &37EA 35AD JP &37E2 ; stoupido ! 35B0 LD HL,&0000 35B3 LD E,L 35B4 LD D,H 35B5 LD A,(IY+&00) 35B8 CALL &35F3 35BB LD A,(IY+&01) 35BE CALL &35F3 35C1 LD A,(IY+&02) 35C4 CALL &35F3 35C7 LD A,(IY+&03) 35CA OR &80 35CC LD B,&08 35CE RRA 35CF LD C,A 35D0 JR NC,&35E6 35D2 LD A,L 35D3 ADD A,(IX+&00) 35D6 LD L,A 35D7 LD A,H 35D8 ADC A,(IX+&01) 35DB LD H,A 35DC LD A,E 35DD ADC A,(IX+&02) 35E0 LD E,A 35E1 LD A,D 35E2 ADC A,(IX+&03) 35E5 LD D,A 35E6 RR D 35E8 RR E 35EA RR H 35EC RR L 35EE RR C 35F0 DJNZ &35D0 35F2 RET 35F3 OR A 35F4 JR NZ,&35CC 35F6 LD L,H 35F7 LD H,E 35F8 LD E,D 35F9 LD D,A 35FA RET 35FB CALL &2F87 35FE EX DE,HL 35FF PUSH DE 3600 CALL &2F7D 3603 POP DE 3604 PUSH DE 3605 POP IY 3607 PUSH HL 3608 POP IX 360A XOR A 360B SUB (IY+&04) 360E JR Z,&366A 3610 CALL &36AF 3613 JP Z,&37E2 3616 JR NC,&3667 3618 PUSH BC 3619 LD C,A 361A LD E,(HL) 361B INC HL 361C LD D,(HL) 361D INC HL 361E LD A,(HL) 361F INC HL 3620 LD H,(HL) 3621 LD L,A 3622 EX DE,HL 3623 LD B,(IY+&03) 3626 SET 7,B 3628 CALL &369D 362B JR C,&3633 362D LD A,C 362E OR A 362F JR NZ,&3639 3631 JR &3666 3633 DEC C 3634 ADD HL,HL 3635 RL E 3637 RL D 3639 LD (IX+&04),C 363C CALL &3672 363F LD (IX+&03),C 3642 CALL &3672 3645 LD (IX+&02),C 3648 CALL &3672 364B LD (IX+&01),C 364E CALL &3672 3651 CCF 3652 CALL C,&369D 3655 CCF 3656 SBC A,A 3657 LD L,C 3658 LD H,(IX+&01) 365B LD E,(IX+&02) 365E LD D,(IX+&03) 3661 POP BC 3662 LD C,A 3663 JP &37B7 3666 POP BC 3667 JP &37EA 366A LD B,(IX+&03) 366D CALL &37EA 3670 XOR A 3671 RET 3672 LD C,&01 3674 JR C,&367E 3676 LD A,D 3677 CP B 3678 CALL Z,&36A0 367B CCF 367C JR NC,&3691 367E LD A,L 367F SUB (IY+&00) 3682 LD L,A 3683 LD A,H 3684 SBC A,(IY+&01) 3687 LD H,A 3688 LD A,E 3689 SBC A,(IY+&02) 368C LD E,A 368D LD A,D 368E SBC A,B 368F LD D,A 3690 SCF 3691 RL C 3693 SBC A,A 3694 ADD HL,HL 3695 RL E 3697 RL D 3699 INC A 369A JR NZ,&3674 369C RET 369D LD A,D 369E CP B 369F RET NZ 36A0 LD A,E 36A1 CP (IY+&02) 36A4 RET NZ 36A5 LD A,H 36A6 CP (IY+&01) 36A6 RET NZ 36AA LD A,L 36AB CP (IY+&00) 36AE RET 36AF LD C,A 36B0 LD A,(IX+&03) 36B3 XOR (IY+&03) 36B6 LD B,A 36B7 LD A,(IX+&04) 36BA OR A 36BB RET Z 36BC ADD A,C 36BD LD C,A 36BE RRA 36BF XOR C 36C0 LD A,C 36C1 JP P,&36CF 36C4 SET 7,(IX+&03) 36C8 SUB &7F 36CA SCF 36CB RET NZ 36CC CP &01 36CE RET 36CF OR A 36D0 RET M 36D1 XOR A 36D2 RET 36D3 PUSH HL 36D4 POP IX 36D6 LD A,(IX+&04) 36D9 OR A 36DA RET Z 36DB SUB &80 36DD SCF 36DE RET 36DF PUSH HL 36E0 POP IX 36E2 PUSH DE 36E3 POP IY 36E5 LD A,(IX+&04) 36E8 CP (IX+&04) 36EB JR C,&3719 36ED JR NZ,&3722 36EF OR A 36F0 RET Z 36F1 LD A,(IX+&03) 36F4 XOR (IY+&03) 36F7 JP M,&3722 36FA LD A,(IX+&03) 36FD SUB (IY+&03) 3700 JR NZ,&3719 3702 LD A,(IX+&02) 3705 SUB (IY+&02) 3708 JR NZ,&3719 370A LD A,(IX+&01) 370D SUB (IY+&01) 3710 JR NZ,&3719 3712 LD A,(IX+&00) 3715 SUB (IY+&00) 3718 RET Z 3719 SBC A,A 371A XOR (IY+&03) 371D ADD A,A 371E SBC A,A 371F RET C 3720 INC A 3721 RET 3722 LD A,(IX+&03) 3725 JR &371D 3727 PUSH HL 3728 POP IX 372A LD A,(IX+&04) 372D OR A 372E RET Z 372F JR &3722 3731 PUSH HL 3732 POP IX 3734 LD A,(IX+&03) 3737 XOR &80 3739 LD (IX+&03),A 373C RET 373D CP &21 373F JR C,&3743 3741 LD A,&21 3743 LD E,(HL) 3744 INC HL 3745 LD D,(HL) 3746 INC HL 3747 LD C,(HL) 3748 INC HL 3749 LD H,(HL) 374A LD L,C 374B EX DE,HL 374C SET 7,D 374E LD BC,&0000 3751 JR &375E 3753 LD C,A 3754 LD A,B 3755 OR L 3756 LD B,A 3757 LD A,C 3758 LD C,L 3759 LD L,H 375A LD H,E 375B LD E,D 375C LD D,&00 375E SUB &08 3760 JR NC,&3753 3762 ADD A,&08 3764 RET Z 3765 SRL D 3767 RR E 3769 RR H 376B RR L 376D RR C 376F DEC A 3770 JR NZ,&3765 3772 RET 3773 JR NZ,&378C 3775 LD D,A 3776 LD A,E 3777 OR H 3778 OR L 3779 OR C 377A RET Z 377B LD A,D 377C SUB &08 377E JR C,&379A 3780 RET Z 3781 LD D,E 3782 LD E,H 3783 LD H,L 3784 LD L,C 3785 LD C,&00 3787 INC D 3788 DEC D 3789 JR Z,&377C 378B RET M 378C DEC A 378D RET Z 378E SLA C 3790 ADC HL,HL 3792 RL E 3794 RL D 3796 JP P,&378C 3799 RET 379A XOR A 379B RET 379C PUSH HL 379D POP IX 379F LD (IX+&04),B 37A2 LD B,A 37A3 LD E,(HL) 37A4 INC HL 37A5 LD D,(HL) 37A6 INC HL 37A7 LD A,(HL) 37A8 INC HL 37A9 LD H,(HL) 37AA LD L,A 37AB EX DE,HL 37AC LD A,(IX+&04) 37AF DEC D 37B0 INC D 37B1 CALL P,&3773 37B4 LD (IX+&04),A 37B7 SLA C 37B9 JR NC,&37CD 37BB INC L 37BC JR NZ,&37CD 37BE INC H 37BF JR NZ,&37CD 37C1 INC DE 37C2 LD A,D 37C3 OR E 37C4 JR NZ,&37CD 37C6 INC (IX+&04),&3704 37C9 JR Z,&37EA 37CB LD D,&80 37CD LD A,B 37CE OR &7F 37D0 AND D 37D1 LD (IX+&03),A 37D4 LD (IX+&02),E 37D7 LD (IX+&01),H 37DA LD (IX+&00),L 37DD PUSH IX 37DF POP HL 37E0 SCF 37E1 RET 37E2 XOR A 37E3 LD (IX+&04),A 37E6 JR &37DD 37E8 LD B,&00 37EA PUSH IX 37EC POP HL 37ED LD A,B 37EE OR &7F 37F0 LD (IX+&03),A 37F3 OR &FF 37F5 LD (IX+&04),A 37F8 LD (HL),A 37F9 LD (IX+&01),A 37FC LD (IX+&02),A 37FF RET 3800 c'est la fonte systeme (MODE 2) - 256 caracteres de 8 octets chacun dans l'ordre ASCII (cf Manuel de l'utilisateur , chapitre 7). Voila! il y a encore plein de choses a commenter mais je compte sur VOUS! pfew... Grim |