; 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