-   
- ; LAST UPDATE: 11.12.2024 savelij 
-   
-                 include ../macros.a80 
-                 include ../ports_ngs.a80 
-                 include equ_ngs.a80 
-                 include ../sdcomand.a80 
-                 include version.a80 
-   
- ;GSRomBaseL equ 0x0000 
- ;GSRomBaseH equ 0xc000 
-   
- ;               ORG GSRomBaseL                  ;clear low ROM 
- ;               DEFS 0x4000,0xFF 
-   
- ;               ORG GSRomBaseH                  ;clear high ROM 
- ;               DEFS 0x4000,0xFF 
-   
-                 ORG GSRomBaseL 
-                 DI 
-                 JP INIT 
-   
- ;---patched 
- ;               DEFB 0x0A                       ;LOW    (in BCD!) 
- ;               DEFB 0x01                       ;HIGH   (in BCD!) 
-                 DW VERS_BIN 
- ;--- 
-   
- ROMCRC          DW 0xE428                       ;CRC from original rom, corrupted!? 
-   
-         DUPL 0x0030 - $,0xFF 
-                 JP SGEN                         ;0x2030 
-   
-         DUPL 0x0038 - $,0xFF 
-   
- INT8            EX AF,AF' 
-                 PUSH DE 
-                 LD E,A 
-                 LD D,IXH 
-                 LD A,(DE) 
-                 INC D 
-                 LD A,(DE) 
-                 INC D 
-                 LD A,(DE) 
-                 INC D 
-                 LD A,(DE) 
-                 INC E 
-                 JR Z,INT8_ 
-                 LD A,E 
-                 POP DE 
-                 EX AF,AF' 
-                 EI 
-                 RET 
-   
- INT8_           JP QTDONE 
-   
-         DUPL 0x0066 - $,0xFF 
- NMILP           POP HL 
-                 LD A,L 
-                 OUT (ZXDATWR),A 
- NMILP2          IN A,(ZXSTAT) 
-                 RLCA 
-                 JR C,NMILP2 
-                 LD A,H 
-                 OUT (ZXDATWR),A 
- NMILP3          IN A,(ZXSTAT) 
-                 RLCA 
-                 JR C,NMILP3 
-                 JP NMILP 
-   
-         DUPL 0x0080 - $,0xFF 
-                 DB "This is improved ROM Version 1.04 Beta. " 
-                 DB "Bugfixes by psb & Evgeny Muchkin, 2007.",0 
-   
-         DUPL 0x0100 - $,0xFF 
-                 DB "General  Sound (tm)  ROM" 
-                 DB "Copyright   1997 Stinger" 
-                 DB "Version ",VERS_TXT,"            " 
-   
- ; LOW ROM INCLUDES 
-   
- ;INCLUDE "INIT_L.a80" 
- INIT            DI 
-                 OUT (CLRCBIT),A 
- INIT_           XOR A 
-                 OUT (ZXDATWR),A 
- ;               LD L,A 
- ;               LD H,A 
- ;               LD BC,0x0004 
- ;               LD SP,0x0008 
- ;               JR INIT02 
-   
- ;INIT00          
-                 OUT (MPAG),A 
- ;               LD SP,0xC000 
- ;               LD C,0x04 
- ;               DEC A 
- ;INIT01         POP DE 
- ;               ADD HL,DE 
- ;               POP DE 
- ;               ADD HL,DE 
- ;               POP DE 
- ;               ADD HL,DE 
- ;               POP DE 
- ;               ADD HL,DE 
- ;INIT02         POP DE 
- ;               ADD HL,DE 
- ;               POP DE 
- ;               ADD HL,DE 
- ;               POP DE 
- ;               ADD HL,DE 
- ;               POP DE 
- ;               ADD HL,DE 
- ;               DJNZ INIT01 
- ;               DEC C 
- ;               JR NZ,INIT01 
- ;               OR A 
- ;               JR Z,INIT00 
- ;               LD DE,(ROMCRC) 
- ;               SBC HL,DE 
- ;               LD HL,RAMPG 
- ;---patched 
- ;               LD A,2 
- ;CREATE_LIST_PAGE 
- ;               LD (HL),A 
- ;               INC HL 
- ;               INC A  
- ;               CP 0x40 
- ;               JR NZ,CREATE_LIST_PAGE 
- ;               LD (HL),1 
- ;               INC HL 
- ;               LD (HL),0 
-                 LD HL,0x8000 
-                 LD A,0x7F 
-                 OUT (MPAG),A 
-                 LD (HL),A                       ; для 4МБ 
-                 LD A,0x3F 
-                 OUT (MPAG),A 
-                 LD (HL),A                       ; для 2МБ 
-                 LD A,0x0F 
-                 OUT (MPAG),A 
-                 LD (HL),A                       ; для 512К 
-   
-                 LD A,0x7F 
-                 OUT (MPAG),A 
-                 CP (HL) 
-                 JR Z,.L1 
-                 LD A,0x3F 
-                 OUT (MPAG),A 
-                 CP (HL) 
-                 JR Z,.L1 
-                 LD A,0x0F 
-                 OUT (MPAG),A 
- .L1             LD A,(HL) 
-                 DEC A 
-                 LD (NUMPG),A                    ; количество страниц памяти 
-                 OUT (ZXDATWR),A 
-                 ADD A,2 
-                 LD B,A 
-                 LD HL,RAMPG 
-                 LD A,2 
- CREATE_TABL     LD (HL),A 
-                 INC HL 
-                 INC A 
-                 CP B 
-                 JR C,CREATE_TABL 
-                 XOR A 
-                 OUT (MPAG),A 
-                 LD (HL),1 
-                 INC HL 
-                 LD (HL),A 
-                 LD SP,0x8000 
-                 JP Patch5i3 
-   
- SET_SIZE_MOD    LD A,E 
-                 INC A 
-                 LD (SIZE_MOD),A         ;РАЗМЕР ЗАГРЖЕННОГО ФАЙЛА В 32К СТРАНИЦАХ 
-                 JP PLAYMD 
-   
- SET7XOR         XOR A 
-                 OUT (VOL1),A 
-                 OUT (VOL2),A 
-                 OUT (VOL3),A 
-                 OUT (VOL4),A 
-                 OUT (VOL5),A 
-                 OUT (VOL6),A 
-                 OUT (VOL7),A 
-                 OUT (VOL8),A 
-                 OUT (VOL8),A 
-                 PUSH HL 
-                 LD HL,0 
-                 ADD HL,SP 
-                 EXX 
-                 LD A,0x10 
-                 LD SP,0x7F00 
-                 LD BC,0xA97E 
-                 LD DE,0x2C77 
- SPEDI1          REPT 16 
-                 PUSH DE 
-                 PUSH BC 
-                 ENDM 
-                 DEC A 
-                 JP NZ,SPEDI1 
-                 LD HL,SPEDI2 
-                 LD DE,0x7F00 
-                 LD BC,ESPEDI2-SPEDI2 
-                 LDIR 
-                 EXX 
-                 LD SP,HL 
-                 POP HL 
-                 LD A,L 
-                 EXX 
-                 LD L,A 
-                 LD H,0 
-                 LD BC,0x7B00 
-                 ADD HL,HL 
-                 ADD HL,HL 
-                 ADD HL,BC 
-                 EX (SP),HL 
-                 EXX 
-                 LD A,(SIZE_MOD) 
-                 LD B,A 
-                 LD C,0x80 
-                 RET 
-   
- SPEDI2          INC H 
-                 JP NZ,0x7B00 
-                 INC E 
-                 LD A,(DE) 
-                 LD H,0x80 
-                 OUT (MPAG),A 
-                 DEC B 
-                 JP NZ,0x7B00 
-                 JP END7XOR 
- ESPEDI2 
-   
- END7XOR         EXX 
-                 LD HL,0 
-                 ADD HL,SP 
-                 LD SP,0x8000 
-                 LD DE,0x8080 
-                 LD B,0x28 
- E7X1            REPT 16 
-                 PUSH DE 
-                 ENDM 
-                 DJNZ E7X1 
-                 LD SP,HL 
-                 EXX 
-                 JP NOCONV 
-   
-                 DUPL GSRomBaseL+0x269-$,0 
- ;               ORG GSRomBaseL+0x269 
-   
- ;INCLUDE "COM_L.a80" 
- COMHZ           OUT (CLRCBIT),A 
- COMINT          LD SP,ISTACK            ;0x026B 
- COMINT_         IN A,(ZXSTAT) 
-                 RRCA 
-                 JR C,COMINT1 
-                 LD A,(PROCESS)          ;0x0273 
-                 OR A 
-                 JR Z,COMINT_ 
-                 LD A,(BUSY) 
-                 OR A 
-                 JR NZ,COMINT_ 
-                 IN A,(ZXSTAT) 
-                 RRCA 
-                 JR C,COMINT1 
-                 LD A,0xFF 
-                 LD (INGEN),A 
-                 PUSH DE 
-                 CALL ENGINE 
-                 POP DE 
-                 XOR A 
-                 LD (INGEN),A 
-                 JP COMINT_ 
-   
- COMINT1         IN A,(ZXCMD) 
-                 CP 0x20 
-                 JR C,COMLOW 
- COMINT2         CP 0xF0 
-                 JR C,COMHIGH 
-                 SUB 0xD0 
- COMLOW          ADD A,A 
-                 LD H,HIGH (COMTAB) 
-                 LD L,A 
-                 LD A,(HL) 
-                 INC L 
-                 LD H,(HL) 
-                 LD L,A 
-                 JP (HL) 
-   
- COMHIGH         LD HL,COMINT_ 
-                 PUSH HL 
-                 LD L,A 
-                 LD H,HIGH (COMTABH) 
-                 XOR A 
-                 LD (CPAGE),A 
-                 OUT (MPAG),A 
-                 LD A,(HL) 
-                 INC H 
-                 LD H,(HL) 
-                 LD L,A 
-                 JP (HL) 
-   
- WTDTL           IN A,(ZXSTAT) 
-                 AND 0x81 
-                 JR Z,WTDTL 
-                 IN A,(ZXDATRD) 
-                 JP P,COMINT1 
-                 JP (IY) 
-   
- WTDTG           IN A,(ZXSTAT) 
-                 OR A 
-                 JP P,WTDTG 
-                 IN A,(ZXDATRD) 
-                 JP (IY) 
-   
- COMM5__         LD A,(IY+CHLPBP) 
-                 CP -1 
-                 JP Z,COMM5 
-                 LD (IY+CHCURP),A 
-                 LD L,(IY+CHLPBL) 
-                 LD H,(IY+CHLPBH) 
-                 LD (IY+CHCURL),L 
-                 LD (IY+CHCURH),H 
-                 JP COMM5 
-   
-                 align 256 
- COMTAB          DEFW COM00,COM01,COM02,COM03,COM04,COM05,COM06,COM07    ;0365,036C,0381,0390,039E,03A8,03B8,03D0 
-                 DEFW COM08,COM09,COM0A,COM0B,COM0C,COM0D,COM0E,COM0F    ;0360,03F3,0407,041F,0444,046E,0497,04AE 
-                 DEFW COM10,COM11,COM12,COM13,COM14,COM15,COM16,COM17    ;0511,0522,052E,0537,0545,0594,05FE,0617 
-                 DEFW COM18,COM19,COM1A,COM1B,COM1C,COM1D,COM1E,COM1F    ;062A,063A,0642,064A,0650,0662,0360,0360 
-                 DEFW COMF0,COMF1,COMF2,COMF3,COMF4,COMF5,COMF6,COMF7    ;066F,0360,0360,0679,067E,0683,069B,06B0 
-                 DEFW COMF8,COMF9,COMFA,COMFB,COMFC,COMFD,COMFE,COMFF    ;0360,0360,06B9,0360,0360,0360,0360,0360 
-   
- COMZ            OUT (CLRCBIT),A 
-                 JP COMINT_ 
-   
- COM1E           EQU COMZ 
- COM1F           EQU COMZ 
-   
- COMF1           EQU COMZ 
- COMF2           EQU COMZ 
-   
- COMF8           EQU COMZ 
- COMF9           EQU COMZ 
-   
- COMFB           EQU COMZ 
- COMFC           EQU COMZ 
- COMFD           EQU COMZ 
- COMFE           EQU COMZ 
- COMFF           EQU COMZ 
-   
- ;Reset flags 
- ;Сбрасывает флаги Data bit и Command bit. 
- COM00           IN A,(ZXDATRD) 
-                 OUT (CLRCBIT),A 
-                 JP COMINT_ 
-   
- ;Set silence (*) 
- ;Выводит в ЦАПы всех каналов 0x80. По сути устанавливает тишину. 
- COM01           OUT (CLRCBIT),A 
-                 LD A,0x80 
-                 LD HL,DAC0 
-                 LD (HL),A 
-                 LD B,(HL) 
-                 INC H 
-                 LD (HL),A 
-                 LD B,(HL) 
-                 INC H 
-                 LD (HL),A 
-                 LD B,(HL) 
-                 INC H 
-                 LD (HL),A 
-                 LD B,(HL) 
-                 JP COMINT_ 
-   
- ;Set low volume (*) 
- ;Устанавливает громкостx ЦАПов всех каналов в ноль. 
- COM02   OUT (CLRCBIT),A 
-         LD A,0x3F 
-         OUT (VOL1),A 
-         OUT (VOL2),A 
-         OUT (VOL3),A 
-         OUT (VOL4),A 
-         JP COMINT_ 
-   
- ;Set high volume (*) 
- ;Устанавливает громкость ЦАПов всех каналов в максимум. 
- COM03   OUT (CLRCBIT),A 
-         XOR A 
-         OUT (VOL1),A 
-         OUT (VOL2),A 
-         OUT (VOL3),A 
-         OUT (VOL4),A 
-         JP COMINT_ 
-   
- ;Set 'E' 3bits (*) 
- ;Устанавливает в 'E' регистре GS 3 младших бита в соответствии с  задан- 
- ;ным значением (2  младших  бита  в  сущности  являются  номером  канала 
- ;0x00-0x03). 
- COM04   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         AND 0x07 
-         LD E,A 
-         JP COMINT_ 
-   
- ;Out volume port (*) 
- ;Устанавливает громкость канала, номер которого содержится в 'E', в ука- 
- ;занное значение. (Команда срабатывает при условии,  что 'E' находится в 
- ;пределах 0x00-0x03) 
- COM05   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD B,A 
-         LD A,E 
-         CP 0x04 
-         JP NC,COMINT_ 
-         ADD A,VOL1 
-         LD C,A 
-         OUT (C),B 
-         JP COMINT_ 
-   
- ;Send to DAC (*) 
- ;Выводит байт в ЦАП канала, указываемого по 'E'. 
- COM06   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD B,A 
-         LD A,E 
-         CP 0x04 
-         JP NC,COMINT_ 
-         ADD A,HIGH (DAC0) 
-         LD H,A 
-         LD L,0x00 
-         LD (HL),B 
-         LD A,(HL) 
-         JP COMINT_ 
-   
- ;Send to DAC and to volume port (*) 
- ;Выводит байт в ЦАП ('E') с заданной громкостью. 
- COM07   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD B,A 
-         LD A,E 
-         CP 0x04 
-         JP NC,COMINT_ 
-         ADD A,HIGH (DAC0) 
-         LD H,A 
-         LD L,0x00 
-         LD (HL),B 
-         SUB HIGH (DAC0) 
-         ADD A,VOL1 
-         LD C,A 
-         LD IY,COM07_1 
-         JP WTDTL 
-   
- COM07_1 OUT (C),A 
-         LD A,(HL) 
-         JP COMINT_ 
-   
- ;то же что и команда 0x00 
- ;Reset flags 
- ;Сбрасывает флаги Data bit и Command bit. 
- COM08   EQU COMZ 
-   
- ;Sets one's byte volume. (*) 
- ;Установка громкости канала, номер которого задан в 2х старших битах. 
- COM09   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD B,A 
-         RLCA 
-         RLCA 
-         AND 0x03 
-         ADD A,VOL1 
-         LD C,A 
-         LD A,B 
-         AND 0x3F 
-         OUT (C),A 
-         JP COMINT_ 
-   
- ;DAC output (*) 
- ;Еще один непосредственный вывод в ЦАП. 
- COM0A   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD B,A 
-         LD IY,COM0A_1 
-         JP WTDTL 
-          
- COM0A_1 AND 0x03 
-         ADD A,HIGH (DAC0) 
-         LD H,A 
-         LD L,0x00 
-         LD (HL),B 
-         LD A,(HL) 
-         JP COMINT_ 
-   
- ;DAC and Volume output (*) 
- ;И наконец последний вывод в ЦАП с установкой громкости. 
- COM0B   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD C,A 
-         LD IY,COM0B_1 
-         JP WTDTL 
-          
- COM0B_1 LD B,A 
-         RLCA 
-         RLCA 
-         AND 0x03 
-         ADD A,HIGH (DAC0) 
-         LD H,A 
-         LD L,0x00 
-         LD (HL),C 
-         SUB HIGH (DAC0) 
-         ADD A,VOL1 
-         LD C,A 
-         LD A,B 
-         AND 0x3F 
-         OUT (C),A 
-         LD A,(HL) 
-         JP COMINT_ 
-   
- ;Call SounDrive Covox mode (*) 
- ;Вызывает режим четырехканального Ковокса,  последовательно копирует ре- 
- ;гистр данных по каналам.  Выход из режима  автоматически  после  вывода 
- ;четвертого байта. 
- COM0C   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD HL,DAC0 
-         LD (HL),A 
-         LD A,(HL) 
-         INC H 
-         LD IY,COM0C_1 
-         JP WTDTL 
-          
- COM0C_1 LD (HL),A 
-         LD A,(HL) 
-         INC H 
-         LD IY,COM0C_2 
-         JP WTDTL 
-          
- COM0C_2 LD (HL),A 
-         LD A,(HL) 
-         INC H 
-         LD IY,COM0C_3 
-         JP WTDTL 
-          
- COM0C_3 LD (HL),A 
-         LD A,(HL) 
-         JP COMINT_ 
-   
- ;Call Ultravox mode (*) 
- ;Вызывает режим универсального Ковокса,   последовательно  копирует  ре- 
- ;гистр данных по каналам,  число которых регулируется (1-4).В отличие от 
- ;предыдущего варианта синхронизация не производится.  Выход также произ- 
- ;водится автоматически по записи последнего байта. 
- COM0D   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         AND 0x0F 
-         JP Z,COMINT_ 
-         RLCA 
-         RLCA 
-         RLCA 
-         RLCA 
-         LD B,A 
-         LD HL,DAC0 
-         LD IY,COM0D_3 
-         JP COM0D_2 
-          
- COM0D_3 LD (HL),A 
-         LD A,(HL) 
-         INC H 
-         JP COM0D_2 
-          
- COM0D_1 JP Z,COMINT_ 
-         INC H 
- COM0D_2 SLA B 
-         JR NC,COM0D_1 
-         JP WTDTL 
-   
- ;Go to LPT Covox mode 
- ;Переходит в режим одноканального Ковокса,   напрямую  копирует  регистр 
- ;данных в ЦАПы двух (правого и левого) каналов.  Выход из этого режима - 
- ;запись 0x00 в регистр команд. 
- COM0E   OUT (CLRCBIT),A 
-         LD HL,DAC0 
-         LD BC,DAC2 
- COM0E_1 IN A,(ZXDATRD) 
-         LD (HL),A 
-         LD (BC),A 
-         LD A,(HL) 
-         LD A,(BC) 
-         IN A,(ZXSTAT) 
-         RRCA 
-         JP NC,COM0E_1 
-         JP COMINT_ 
-   
- ;Go in Profi Covox mode (*) 
- ;Переходит в режим двухканального Ковокса,   напрямую  копирует  регистр 
- ;данных в ЦАПы одного канала,  а регистр каманд в ЦАПы  второго  канала. 
- ;Выход из этого режима - запись 0x4Е в регистр данных,  затем  последова- 
- ;тельно 0x0F и 0xAA в регистр команд. 
- COM0F   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         CP "Y" 
-         JP NZ,COMINT_ 
-         LD HL,DAC0 
-         LD DE,DAC2 
- COM0F_1 IN A,(ZXDATRD) 
-         LD (HL),A 
-         IN A,(ZXCMD) 
-         LD (DE),A 
-         LD A,(HL) 
-         LD A,(DE) 
-         IN A,(ZXSTAT) 
-         OR A 
-         JP M,COM0F_1 
-         LD B,0x00 
-         OUT (CLRCBIT),A 
- COM0F_2 IN A,(ZXSTAT) 
-         AND 0x81 
-         JR NZ,COM0F_1 
-         DJNZ COM0F_2 
- COM0F_3 IN A,(ZXSTAT) 
-         AND 0x81 
-         JR Z,COM0F_3 
-         CP 0x80 
-         JR NZ,COM0F_1 
-         IN A,(ZXDATRD) 
-         CP "N" 
-         JP NZ,COM0F_1 
- COM0F_4 IN A,(ZXSTAT) 
-         AND 0x81 
-         JR Z,COM0F_4 
-         CP 0x01 
-         JR NZ,COM0F_1 
-         IN A,(ZXCMD) 
-         CP 0x0F 
-         JP NZ,COM0F_1 
-         OUT (CLRCBIT),A 
- COM0F_5 IN A,(ZXSTAT) 
-         AND 0x81 
-         JR Z,COM0F_5 
-         CP 0x01 
-         JR NZ,COM0F_1 
-         IN A,(ZXCMD) 
-         CP 0xAA 
-         JP NZ,COM0F_1 
-         OUT (CLRCBIT),A 
-         JP COMINT_ 
-   
- ;Out to any port (*) 
- ;Выводит байт вo внутренний порт GS (0x00-0x09). 
- COM10   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD C,A 
-         LD IY,COM10_1 
-         JP WTDTL 
-          
- COM10_1 OUT (C),A 
-         JP COMINT_ 
-   
- ;In from any port (*) 
- ;читает байт из внутреннего порта GS (0x00-0x09). 
- COM11   IN A,(ZXDATRD) 
-         LD C,A 
-         IN A,(C) 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         JP COMINT_ 
-   
- ;OUT to 0 port (*) 
- ;Выводит байт в порт кофигурации GS (0x00). 
- COM12   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         OUT (MPAG),A 
-         JP COMINT_ 
-   
- ;Jump to Address (*) 
- ;Передает управление по заданному адресу. 
- COM13   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD L,A 
-         LD IY,COM13_1 
-         JP WTDTL 
-          
- COM13_1 LD H,A 
-         JP (HL) 
-   
- ;Load memory block (*) 
- ;Загрузка блока кодов по указанному адресу с заданной длиной. 
- ; 70+27*WAIT PER LOOP : 171K,123K,96K PER SECOND MAX 
- COM14   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         CPL 
-         LD C,A 
-         LD HL,WTDTL 
-         LD IY,COM14_1 
-         JP (HL) 
-          
- COM14_1 CPL 
-         LD B,A 
-         INC BC 
-         LD IY,COM14_2 
-         JP (HL) 
-          
- COM14_2 LD E,A 
-         LD IY,COM14_3 
-         JP (HL) 
-          
- COM14_3 LD D,A 
-         LD A,B 
-         OR C 
-         JP Z,COMINT_ 
-         LD IXL,B 
-         LD B,0x81 
-         BIT 0,C 
-         JR NZ,COM14_7 
- COM14_6 IN A,(ZXSTAT) 
-         AND B 
-         JR Z,COM14_6 
-         IN A,(ZXDATRD) 
-         JP P,COMINT1 
-         LD (DE),A 
-         INC DE 
-         INC C 
- COM14_7 IN A,(ZXSTAT) 
-         AND B 
-         JR Z,COM14_7 
-         IN A,(ZXDATRD) 
-         JP P,COMINT1 
-         LD (DE),A 
-         INC DE 
-         INC C 
-         JP NZ,COM14_6 
-         INC IXL 
-         JP NZ,COM14_6 
-         JP COMINT_ 
-   
- ;Get memory block (*) 
- ;Выгрузка блока кодов по указанному адресу с заданной длиной. 
- COM15   IN A,(ZXDATRD)  ;ошибка-не сбрасывается команд бит 
-         CPL 
-         LD C,A 
-         LD IY,COM15_1 
-         JP WTDTG 
-          
- COM15_1 CPL 
-         LD B,A 
-         INC BC 
-         LD IY,COM15_2 
-         JP WTDTG 
-          
- COM15_2 LD E,A 
-         LD IY,COM15_3 
-         JP WTDTG 
-          
- COM15_3 LD D,A 
-         LD A,B 
-         OR C 
-         JP Z,COMINT_ 
-         LD IXL,B 
-         LD B,0x81 
-         LD A,(DE) 
-         INC DE 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         LD HL,COM15_4 
-         INC C 
-         JP NZ,COM15_4 
-         INC IXL 
-         JP Z,COMINT_ 
- COM15_4 IN A,(ZXSTAT) 
-         AND B 
-         JR Z,COM15_5 
-         JP P,COMINT1 
-         IN A,(ZXSTAT) 
-         AND B 
-         JR Z,COM15_5 
-         JP P,COMINT1 
-         IN A,(ZXSTAT) 
-         AND B 
-         JR Z,COM15_5 
-         JP P,COMINT1 
-         IN A,(ZXSTAT) 
-         AND B 
-         JR Z,COM15_5 
-         JP P,COMINT1 
-         JP (HL) 
-   
- COM15_5 LD A,(DE) 
-         OUT (ZXDATWR),A 
-         INC DE 
-         INC C 
-         JP NZ,COM15_4 
- COM15_7 INC IXL 
-         JP NZ,COM15_4 
-         JP COMINT_ 
-   
- ;Poke to address (*) 
- ;Записывает единичный байт по указанному адресу. 
- COM16   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD B,A 
-         LD IY,COM16_1 
-         JP WTDTL 
-          
- COM16_1 LD L,A 
-         LD IY,COM16_2 
-         JP WTDTL 
-          
- COM16_2 LD H,A 
-         LD (HL),B 
-         JP COMINT_ 
-   
- ;Peek from address (*) 
- ;Считывает единичный байт из указанного адреса. 
- COM17   IN A,(ZXDATRD) 
-         LD L,A 
-         LD IY,COM17_1 
-         JP WTDTL 
-          
- COM17_1 LD H,A 
-         LD A,(HL) 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         JP COMINT_ 
-   
- ;Load DE Pair (*) 
- ;Загружает регистовую пару DE (относящуюся к GS,  не путать с  одноимен- 
- ;ной парой Main CPU) указанным словом. 
- COM18   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD E,A 
-         LD IY,COM18_1 
-         JP WTDTL 
-          
- COM18_1 LD D,A 
-         JP COMINT_ 
-   
- ;Poke to (DE) address (*) 
- ;Записывает байт по адресу указанному в DE. 
- COM19   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD (DE),A 
-         JP COMINT_ 
-   
- ;Peek from (DE) address (*) 
- ;Считывает содержимое адреса, указываемого по DE. 
- COM1A   LD A,(DE) 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         JP COMINT_ 
-   
- ;Increment of DE Pair (*) 
- ;Увеличивает пару DE на единичку. 
- COM1B   OUT (CLRCBIT),A 
-         INC DE 
-         JP COMINT_ 
-   
- ;Poke to (0x20xX) address (*) 
- ;Записывает байт по адресу, старший байт которого равен 0x20. 
- COM1C   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD L,A 
-         LD IY,COM1C_1 
-         JP WTDTL 
-          
- COM1C_1 LD H,0x20 
-         LD (HL),A 
-         JP COMINT_ 
-   
- ;Peek from (0x20xX) address (*) 
- ;читает байт с адреса, старший байт которого равен 0x20. 
- COM1D   IN A,(ZXDATRD) 
-         LD L,A 
-         LD H,0x20 
-         LD A,(HL) 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         JP COMINT_ 
-   
- COMF0   LD A,(ERRCODE)  ; GET STATUS 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         JP COMINT_ 
-   
- ;Warm restart 
- ;Сбрасывает полностью GS,  но пропускает  этапы  определения  количества 
- ;страниц памяти и их провеки,  что очень сильно ускоряет процесс инициа- 
- ;лизации. 
- COMF3   OUT (CLRCBIT),A 
-         JP INITVAR 
-   
- ;Cold restart 
- ;Полный перезапуск GS со всеми проверками. По сути, JP 0x0000. 
- COMF4   OUT (CLRCBIT),A 
-         JP 0x0000 
-   
- ;Busy on 
- ;Устанавливает флаг занятости в 0xFF 
- COMF5   OUT (CLRCBIT),A 
-         LD A,IXH 
-         AND 0x80 
-         JP NZ,COMF5_1 
-         LD A,0xFF 
-         LD (BUSY),A 
-         JP COMINT_ 
-          
- COMF5_1 OR 0x40 
-         LD IXH,A 
-         JP COMINT_ 
-   
- ;Busy off 
- ;Устанавливает флаг занятости в 0x00 
- COMF6   OUT (CLRCBIT),A 
-         LD A,IXH 
-         AND 0x80 
-         JP NZ,COMF6_1 
-         XOR A 
-         LD (BUSY),A 
-         JP COMINT_ 
-          
- COMF6_1 LD IXH,A 
-         JP COMINT_ 
-   
- ;Get IXH Register (*) 
- ;Получить содержимое регистра IXH (GS) 
- ;IXH участвует в обработке флага Busy. 
- COMF7   LD A,IXH 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         JP COMINT_ 
-   
- ;Out zero_to_zero 
- ;Вывод нуля в нулевой (конфигурационный) порт GS.   Делает  приостановку 
- ;звучания музыки до следующего чтения из к.л. порта. 
- COMFA   OUT (CLRCBIT),A 
-         XOR A 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         JP TCOM 
-   
- ;INCLUDE "MEM_L.a80" 
- ;MEMORY MOVEMENT MODULE - LOW PART 
-   
-         align 256 
-   
- LDITAB  REPT 0x100 
-         DB 0xED,0xA0 
-         ENDM 
-         RET C 
-         LD A,(SYSTEM) 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         RET 
-   
- MLDI    NEG 
-         ADD A,A 
-         LD IYL,A 
-         LD A,HIGH (LDITAB) 
-         ADC A,0x00 
-         LD IYH,A 
-         LD A,(SDPAGE) 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         JP (IY) 
-   
- TLDI    NEG 
-         ADD A,A 
-         LD IYL,A 
-         LD A,HIGH (LDITAB) 
-         ADC A,0x00 
-         LD IYH,A 
-         SCF 
-         JP (IY) 
-   
- MLDD    NEG 
-         ADD A,A 
-         LD IYL,A 
-         LD A,HIGH (LDDTAB) 
-         ADC A,0x00 
-         LD IYH,A 
-         LD A,(SDPAGE) 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         JP (IY) 
-   
-         align 256 
-   
- LDDTAB  REPT 0x100 
-         DB 0xED,0xA8 
-         ENDM 
-         LD A,(SYSTEM) 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         RET 
-   
- ;INCLUDE "LOAD_L.a80" 
-   
- ; RET B,DE - OLD CURADR 
- ;0x0C09 
-   
- LOAD    LD B,0x81 
-         LD HL,(CURADR) 
-         LD A,(CURADR+2) 
-         SCF 
-         RL H 
-         RLA 
-         RRC H 
-         LD E,A 
-         LD D,HIGH (RAMPG) 
- LOAD_   LD A,(DE) 
-         OR A 
-         JP Z,LOADWT3 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         LD A,(NUMPG) 
-         CP E 
-         JR NZ,LOADWT 
-         LD A,H 
-         CP 0xC0 
-         JR C,LOADWT2 
-         JP LOADWT3 
-   
- LOADWT  IN A,(ZXSTAT) 
-         AND B 
-         JR Z,LOADWT 
-         RRCA 
-         IN A,(ZXDATRD) 
-         JR C,LOADCM 
-         ADD A,C 
-         LD (HL),A 
-         INC L 
-         JP NZ,LOADWT 
-         INC H 
-         JP NZ,LOADWT 
-         INC E 
-         LD HL,0x8000 
-         JP LOAD_ 
-   
- LOADCM  IN A,(ZXCMD) 
-         CP 0xF3 
-         JP Z,COMF3 
-         CP 0xF4 
-         JP Z,COMF4 
-         OUT (CLRCBIT),A 
-         CP 0xD2 
-         JP Z,LOAD3 
-         JP LOADWT 
-   
- LOADWT2 IN A,(ZXSTAT) 
-         AND B 
-         JR Z,LOADWT2 
-         RRCA 
-         IN A,(ZXDATRD) 
-         JR C,LOADCM2 
-         LD (HL),A 
-         INC L 
-         JP NZ,LOADWT2 
-         INC H 
-         BIT 6,H 
-         JP Z,LOADWT2 
- LOADWT3 IN A,(ZXSTAT) 
-         AND B 
-         JR Z,LOADWT3 
-         RRCA 
-         IN A,(ZXDATRD) 
-         JP NC,LOADWT3 
-         IN A,(ZXCMD) 
-         CP 0xF3 
-         JP Z,COMF3 
-         CP 0xF4 
-         JP Z,COMF4 
-         OUT (CLRCBIT),A 
-         CP 0xD2 
-         JR Z,LOAD3 
-         JP LOADWT3 
-   
- LOADCM2 IN A,(ZXCMD) 
-         CP 0xF3 
-         JP Z,COMF3 
-         CP 0xF4 
-         JP Z,COMF4 
-         OUT (CLRCBIT),A 
-         CP 0xD2 
-         JR Z,LOAD3 
-         JP LOADWT2 
-   
- LOAD3   LD A,E 
-         RL H 
-         SRL A 
-         RR H 
-         LD (CURADR),HL 
-         LD (CURADR+2),A 
-         LD (MEMBOT),HL 
-         LD (MEMBOT+2),A 
-         EX AF,AF'       ;LD E,A 
-         XOR A 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         EX AF,AF'       ;LD A,E 
-         RET 
-   
- ;INCLUDE "PLAY.a80" 
- PLAYMD  LD A,(RAMPG)            ;0x0CC9 
-         OUT (MPAG),A 
-         LD IY,CHANS 
-         LD DE,CHANLEN 
-         LD B,0x04 
- RDLP1    
- ;---patched 
-         CALL Patch4 
-         NOP 
- ;--- 
-         LD (IY+CHCNTH),0x00 
-         LD (IY+CHOLDV),0x80 
-         LD (IY+CHSTAT),0x01 
-         LD (IY+CHLPCNT),0x00 
-         LD (IY+CHPATPS),0x00 
-         LD (IY+CHTRMPS),0x00 
-         LD (IY+CHVIBPS),0x00 
-         LD (IY+CHVOL),0x40 
-         LD (IY+CHMVOL),0x40 
-         LD (IY+CHINS),0x00 
-         LD (IY+CHSMP),0x00 
-         LD (IY+CHPAN),0x80 
-         LD (IY+CHEPAN),0x20 
-         LD (IY+CHEVOL),0x40 
-         LD (IY+CHFADVL),0xFF 
-         LD (IY+CHFADVH),0xFF 
-         ADD IY,DE 
-         DJNZ RDLP1 
-         LD IXL,0xFF 
-         LD A,(0x8000+1080)      ;определение сигнатуры заголовка 
-         CP "M" 
-         JR Z,TTY1 
-         CP "4" 
-         JR Z,TTY1 
-         CP "F" 
-         JR Z,TTY1 
-         LD IXL,0x00 
-         JP TTY0 
- TTY1    LD A,(0x8000+1081) 
-         CP "." 
-         JR Z,TTY2 
-         CP "L" 
-         JR Z,TTY2 
-         CP "!" 
-         JR Z,TTY2 
-         CP "C" 
-         JR Z,TTY2 
-         LD IXL,0x00 
-         JP TTY0 
- TTY2    LD A,(0x8000+1082) 
-         CP "K" 
-         JR Z,TTY0 
-         CP "T" 
-         JR Z,TTY0 
-         CP "H" 
-         JR Z,TTY0 
-         LD IXL,0x00 
- TTY0    LD A,IXL 
-         LD (MODTP),A 
-         LD HL,0x8000+952 
-         OR A 
- ;---patched 
-         LD DE,0x0000+1084 
-         JR NZ,TTY10 
-         LD DE,0x0000+600                ;размер заголовка файла 
-         LD HL,0x8000+472                ;смещение до таблицы патернов 
- TTY10   LD B,0x80               ;сканирование таблицы патернов 
-         SUB A 
- FDF2    CP (HL) 
-         JR NC,FDF 
-         LD A,(HL) 
- FDF     INC HL 
-         DJNZ FDF2 
-         INC A 
-         LD (PATTS),A            ;количество патернов 
-         LD L,A 
-         LD H,B 
-         ADD HL,HL 
-         ADD HL,HL               ;HL=кол-во патернов*4 
-         LD A,H 
-         LD H,L 
-         LD L,B 
-         ADD HL,DE 
-         ADC A,B 
-         DB 0xCB,0x34;SLI H 
-         RLA 
-         RRC H 
-         LD E,A 
-         LD (SMPS),HL 
-         LD (SMPS+2),A 
-         DUPL 3,0 
- ;--- 
-         LD A,IXL 
-         OR A 
-         LD BC,0x8000+950 
-         JR NZ,TTT11 
-         LD BC,0x8000+470 
- TTT11   LD A,(BC) 
-         DEC A 
-         LD (MTSNGSZ),A 
-         INC BC 
-         LD A,(BC) 
-         LD (MTSNGLP),A 
-         LD IX,0x5400 
-         LD IY,0x8000+20         ;начало сэмплов 
-         LD B,31 
-         LD C,E 
- RDLP3   PUSH BC 
-         LD (IX+SMPBEG),C 
-         LD (IX+SMPBEG+1),L 
-         LD (IX+SMPBEG+2),H 
-         LD A,(IY+28) 
-         OR A 
-         JR NZ,LPL 
-         LD A,(IY+29) 
-         CP 0x02 
-         JP C,NLPL 
- LPL     PUSH HL 
-         PUSH BC 
-         LD L,(IY+27) 
-         LD H,(IY+26) 
-         LD E,(IY+23) 
-         LD D,(IY+22) 
-         SBC HL,DE 
-         POP BC 
-         POP HL 
-         JP NC,NLPL 
-         PUSH HL 
-         PUSH BC 
-         LD E,(IY+27) 
-         LD D,(IY+26) 
-         EX DE,HL 
-         ADD HL,HL 
-         EX DE,HL 
-         LD B,0 
-         RL B 
-         SRL C 
-         RL H 
-         RRC H 
-         ADD HL,DE 
-         LD A,C 
-         ADC A,B 
-         LD C,A 
-         DB 0xCB,0x34;SLI H 
-         RL C 
-         RRC H 
-         LD (IX+SMPLPB),C 
-         LD (IX+SMPLPB+1),L 
-         LD (IX+SMPLPB+2),H 
-         SRL C 
-         RL H 
-         RRC H 
-         LD E,(IY+29) 
-         LD D,(IY+28) 
-         EX DE,HL 
-         ADD HL,HL 
-         EX DE,HL 
-         LD B,0 
-         RL B 
-         ADD HL,DE 
-         LD A,C 
-         ADC A,B 
-         LD C,A 
-         DB 0xCB,0x34;SLI H 
-         RL C 
-         RRC H 
-         LD (IX+SMPLPE),C 
-         LD (IX+SMPLPE+1),L 
-         LD (IX+SMPLPE+2),H 
-         POP BC 
-         POP HL 
-         LD E,(IY+23) 
-         LD D,(IY+22) 
-         EX DE,HL 
-         ADD HL,HL 
-         EX DE,HL 
-         LD B,0x00 
-         RL B 
-         SRL C 
-         RL H 
-         RRC H 
-         ADD HL,DE 
-         LD A,C 
-         ADC A,B 
-         LD C,A 
-         DB 0xCB,0x34;SLI H 
-         RL C 
-         RRC H 
-         JP LPL2 
-          
-         LD A,(IX+SMPLPE) 
-         CP C 
-         JR C,LPL2 
-         JR NZ,LPL1 
-         LD A,(IX+SMPLPE+2) 
-         CP H 
-         JR C,LPL2 
-         JR NZ,LPL1 
-         LD A,(IX+SMPLPE+1) 
-         CP L 
-         JR C,LPL2 
- LPL1    LD A,(IX+SMPEND) 
-         LD (IX+SMPLPE),A 
-         LD A,(IX+SMPEND+1) 
-         LD (IX+SMPLPE+1),A 
-         LD A,(IX+SMPEND+2) 
-         LD (IX+SMPLPE+2),A 
-         JP LPCNT 
-   
- LPL2    LD A,(IX+SMPLPE) 
-         LD (IX+SMPEND),A 
-         LD A,(IX+SMPLPE+1) 
-         LD (IX+SMPEND+1),A 
-         LD A,(IX+SMPLPE+2) 
-         LD (IX+SMPEND+2),A 
-         JP LPCNT 
-   
- NLPL    LD (IX+SMPLPB),0xFF 
-         LD E,(IY+23) 
-         LD D,(IY+22) 
-         EX DE,HL 
-         ADD HL,HL 
-         EX DE,HL 
-         LD B,0x00 
-         RL B 
-         SRL C 
-         RL H 
-         RRC H 
-         ADD HL,DE 
-         LD A,C 
-         ADC A,B 
-         LD C,A 
-         DB 0xCB,0x34;SLI H 
-         RL C 
-         RRC H 
- RDLP2   LD (IX+SMPEND+1),L 
-         LD (IX+SMPEND+2),H 
-         LD (IX+SMPEND),C 
- LPCNT   LD A,(IY+24) 
-         ADD A,A 
-         LD (IX+SMPFT),A 
-         LD A,(IY+25) 
-         LD (IX+SMPVOL),A 
-         LD DE,0x0010 
-         ADD IX,DE 
-         LD DE,30 
-         ADD IY,DE 
-         LD A,C 
-         POP BC 
-         LD C,A 
-         DEC B 
-         JP NZ,RDLP3 
-         LD HL,CONVERT 
-         LD A,(HL) 
-         OR A 
-         JR NZ,NOCONV 
-         LD (HL),0xFF 
-         LD HL,(SMPS) 
-         LD A,(SMPS+2) 
-         LD E,A 
-         LD D,HIGH (RAMPG) 
-         LD A,(NUMPG) 
-         SUB E 
-         LD B,A 
- SMPMD2  LD A,(DE) 
-         OUT (MPAG),A 
-                 CALL SET7XOR    ;КОНВЕРСИЯ ЗАГРУЖЕННОГО MOD ФАЙЛА 
-                 JR SMPMD4 
-   
- ;SMPMD1  LD A,(HL)              ;начало ADD A,0x80 
- ;        ADD A,0x80 
- ;        LD (HL),A 
- ;        INC L 
- ;        JP NZ,SMPMD1 
- ;        INC H 
- ;        JP NZ,SMPMD1 
- ;        LD H,0x80 
- ;        INC E 
- ;        DJNZ SMPMD2 
- ;        LD A,(DE) 
- ;        OUT (MPAG),A 
- ;        OR A 
- ;        JR Z,SMPMD4 
- ;SMPMD3  LD A,(HL) 
- ;        ADD A,0x80 
- ;        LD (HL),A 
- ;        INC L 
- ;        JP NZ,SMPMD3 
- ;        INC H 
- ;        BIT 6,H 
- ;        JP Z,SMPMD3 
-   
-                 DUPL 0xF20-$,0xFF 
- SMPMD4 
- NOCONV  XOR A 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         RET 
-   
- INITPAT LD A,(MTSNGPS) 
-         LD E,A 
-         LD D,0 
-         LD A,(MODTP) 
-         INC A 
-         LD HL,0x8000+952 
-         JR Z,TTT13 
-         LD HL,0x8000+472 
- TTT13   ADD HL,DE 
-         LD A,(RAMPG) 
-         OUT (MPAG),A 
- ;---patched 
-         JP Patch11 
- ;--- 
-         LD E,D 
-         LD D,A 
-         LD A,(MODTP) 
-         INC A 
-         LD HL,0x0000+1084 
-         JR Z,TTT15 
-         LD HL,0x0000+600 
- TTT15   XOR A 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         ADD HL,DE 
-         LD DE,0x5000 
-         LD BC,0x400 
-         CALL LDMEM 
-         XOR A 
-         OUT (MPAG),A 
-         RET 
-   
- ;INCLUDE "QUANTUM.a80" 
-   
- ;************************************************************** 
- ;* QUANTUM PROCEDURE                                          * 
- ;************************************************************** 
-   
- QUANTUM LD A,(FXCHNS) 
-         CPL 
-         LD C,A 
-         LD A,(GSCHNS) 
-         AND C 
-         LD C,A 
-         LD IY,CHANS     ;CHANNELS 
-         LD A,(MTSTAT) 
-         AND 0xC0 
-         JR NZ,L221 
- L204    LD A,C 
-         AND (IY+CHRDR) 
-         JR Z,L205 
-         BIT 7,(IY+CHSTAT) 
-         JR Z,L205 
-         PUSH BC 
-         CALL GEN 
-         POP BC 
- L205    LD A,IYL 
-         ADD A,0x40 
-         LD IYL,A 
-         JP NC,L204 
-         JP L221 
-   
- L221    XOR A 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         LD HL,VOLRQTB 
-         LD A,(QTFREE) 
-         ADD A,LOW (VOLTAB) 
-         LD E,A 
-         LD D,HIGH (VOLTAB) 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LD HL,(QTFREE) 
-         LD B,L 
-         INC L 
-         PUSH BC 
-         PUSH HL 
-         LD A,(CHANNEL) 
-         AND 0x0F 
-         LD HL,INTTB 
-         ADD A,A 
-         ADD A,L 
-         LD L,A 
-         LD A,H 
-         ADC A,0x00 
-         LD H,A 
-         LD C,(HL) 
-         INC HL 
-         LD B,(HL) 
-         LD A,(CHANNEL) 
-         AND 0x0F 
-         LD HL,INTOFF 
-         ADD A,L 
-         LD L,A 
-         LD A,H 
-         ADC A,0x00 
-         LD H,A 
-         LD A,(QTFREE) 
-         ADD A,0x60 
-         ADD A,(HL) 
-         POP HL 
-         LD (HL),A 
-         INC L 
-         LD (HL),C 
-         INC L 
-         LD (HL),B 
-         POP BC 
-         INC L 
-         RES 5,L 
-         LD (QTFREE),HL 
-         LD L,B 
-         LD A,(SGENOFF) 
-         LD (HL),A 
-         LD A,(PLAYING) 
-         OR A 
-         JP NZ,L224 
-         LD (QTBUSY),HL 
-         CALL QTPLAY 
- L224    LD A,(SGENOFF) 
-         NEG 
-         LD C,A 
-         LD B,0 
-         LD A,(MTSTAT) 
-         AND 0xC0 
-         RET NZ 
-         LD HL,(TCKLEFT) 
-         OR A 
-         SBC HL,BC 
-         JR Z,EFXINT 
-         LD (TCKLEFT),HL 
-         RET 
-   
- EFXINT  LD A,(MODULE) 
-         OR A 
-         RET Z 
-         LD HL,(TICKLEN) 
-         LD (TCKLEFT),HL 
-         XOR A 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         LD IY,CHANS 
-         LD B,0x04 
-         LD A,(MTCOUNT) 
-         INC A 
-         LD (MTCOUNT),A 
-         LD HL,MTSPEED 
-         CP (HL) 
-         JR C,EFXNONT    ;NO NEW NOTE 
-         XOR A 
-         LD (MTCOUNT),A 
-         LD A,(MTPDT2) 
-         OR A 
-         JR Z,EFXGTNT    ;GET NEW NOTE 
-         CALL EFXNONT 
-         JP EFXSKIP 
-   
- EFXNONT LD IY,CHANS 
-         LD B,0x04 
- EFXNON1 PUSH BC 
-         LD A,(IY+CHCOM) 
-         OR (IY+CHPARM) 
-         JR NZ,EFXNON2 
-         CALL FXNOP 
-         JP EFXNON3 
-          
- EFXNON2 CALL FXCHK_ 
- EFXNON3 LD BC,CHANLEN 
-         ADD IY,BC 
-         POP BC 
-         DJNZ EFXNON1 
-         RET 
-   
- EFXNOP  LD L,(IY+CHPERL)        ;;not used! 
-         LD H,(IY+CHPERL)        ;;bug! 
-         CALL EFXCNV 
-         LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         RET 
-   
- EFXGTNT  
- ;LD IY,CHANS 
- ;---patched 
-         JP Patch3 
-         DB 0x46 
- ;--- 
-         XOR A 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         LD (CURCHN),A 
- COMM1   XOR A 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         CALL GETROWS 
-         LD (IY+CHCOM),B 
-         LD (IY+CHPARM),C 
-         LD A,E 
-         OR A 
-         JR Z,COMM2 
-         LD (IY+CHINS),E 
-         PUSH DE 
-         PUSH BC 
-         CALL EFXNEWI 
-         POP BC 
-         POP DE 
- COMM2   LD A,D 
-         CP 0x7F 
-         JP Z,COMM5 
-         LD A,B 
-         CP 0x03 
-         JP Z,COMM4 
-         CP 0x05 
-         JP Z,COMM4 
-         CP 0x0E 
-         JR NZ,COMM3 
-         LD A,C 
-         AND 0xF0 
-         CP 0x50 
-         JR Z,COMM5_ 
-         LD (IY+CHNOTE),D 
-         LD (IY+CHREAL),D 
-         CP 0xD0 
-         JR Z,COMM3__ 
-         JP COMM3 
-          
- COMM5_  LD A,C 
-         AND 0x0F 
-         SLA A 
-         LD (IY+CHFINE),A 
- COMM3   LD (IY+CHNOTE),D 
-         LD (IY+CHREAL),D 
-         CALL GETSMP 
- COMM3__ LD E,(IY+CHNOTE) 
-         CALL GETPER 
-         LD (IY+CHPERL),L 
-         LD (IY+CHPERH),H 
-         LD E,(IY+CHNOTE) 
-         CALL GETFRQ 
-         LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         LD A,(IY+CHCOM) 
-         CP 0x09 
-         JP NZ,COMM5 
-         LD A,(IY+CHPARM) 
-         OR A 
-         JR NZ,FX9_ 
-         LD A,(IY+CHOFFST) 
- FX9_    LD (IY+CHOFFST),A 
-         LD H,A 
-         LD L,0x00 
-         XOR A 
-         ADC A,A 
-         EX DE,HL 
-         LD L,(IY+CHCURL) 
-         LD H,(IY+CHCURH) 
-         LD B,(IY+CHCURP) 
-         RL H 
-         SRL B 
-         RR H 
-         ADD HL,DE 
-         ADC A,B 
-         DB 0xCB,0x34;SLI H 
-         RLA 
-         RRC H 
-         LD (IY+CHCURL),L 
-         LD (IY+CHCURH),H 
-         LD (IY+CHCURP),A 
-         CP (IY+CHENDP) 
-         JP C,COMM5 
-         JR NZ,COMM3_ 
-         LD A,H 
-         CP (IY+CHENDH) 
-         JP C,COMM5 
-         JR NZ,COMM3_ 
-         LD A,L 
-         CP (IY+CHENDL) 
-         JP C,COMM5 
- COMM3_  RES 7,(IY+CHSTAT) 
-         JP COMM5__ 
-   
- COMM4   LD (IY+CHWNT),D 
- COMM5   XOR A 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         CALL FXCHK 
- COMM6   LD BC,CHANLEN 
-         ADD IY,BC 
-         LD A,(CURCHN) 
-         INC A 
-         LD (CURCHN),A 
-         CP 0x04 
-         JP NZ,COMM1 
- EFXSKIP LD HL,MTPATPS 
-         INC (HL) 
-         LD A,(MTPDT) 
-         OR A 
-         JR Z,EFXSKP2 
-         LD (MTPDT2),A 
-         XOR A 
-         LD (MTPDT),A 
- EFXSKP2 LD A,(MTPDT2) 
-         OR A 
-         JR Z,EFXSKP3 
-         DEC A 
-         LD (MTPDT2),A 
-         JR Z,EFXSKP3 
-         DEC (HL) 
- EFXSKP3 LD A,(MTBRKFL) 
-         OR A 
-         JR Z,EFXSKP4 
-         LD A,(MTBRKPS) 
-         LD (HL),A 
-         XOR A 
-         LD (MTBRKPS),A 
-         LD (MTBRKFL),A 
-         JP EFXSKP5 
-          
- EFXSKP4 LD A,(HL) 
-         OR A 
-         JR NZ,EFXSKP5 
-         LD A,(MTPDT2) 
-         OR A 
-         JR Z,EFXSKP6 
- EFXSKP5 LD A,(MTROWS) 
-         CP (HL) 
-         JR NC,EFXSKPX 
- EFXSKP6 LD A,(MTBRKPS) 
-         LD (MTPATPS),A 
-         XOR A 
-         LD (MTBRKPS),A 
-         LD (MTJMPFL),A 
-         LD HL,MTSNGPS 
-         INC (HL) 
-         JR Z,EFXSKP7 
-         LD A,(MTSNGSZ) 
-         CP (HL) 
-         JP NC,INITPAT 
- EFXSKP7 LD A,(MTSNGSZ) 
-         LD HL,MTSNGLP 
-         CP (HL) 
-         LD A,0x00 
-         JR C,EFXSKP8 
-         LD A,(HL) 
- EFXSKP8 LD (MTSNGPS),A 
-   
-         LD A,6 
-         DUPL 3,0        ;LD (MTSPEED),A 
-         LD HL,750 
-         DUPL 3,0        ;LD (TICKLEN),HL 
-         DUPL 3,0        ;LD (TCKLEFT),HL 
-         ;CALL STOPMOD  
-   
-         XOR A 
-         LD (MTBRKPS),A 
-         LD (MTJMPFL),A 
-         LD (MTBRKFL),A 
-         LD (MTPDT),A 
-         LD (MTPDT2),A 
-         JP INITPAT 
-   
- EFXSKPX LD A,(MTJMPFL) 
-         OR A 
-         JP NZ,EFXSKP6 
-         RET 
-   
- GETSMP  SET 7,(IY+CHSTAT) 
-         LD A,(IY+CHINS) 
-         OR A 
-         JR Z,GETSMP2 
-         DEC A 
-         ADD A,A 
-         ADD A,A 
-         ADD A,A 
-         ADD A,A 
-         LD E,A 
-         LD A,0x54 
-         ADC A,0x00 
-         LD D,A 
-         LD A,(DE) 
-         LD (IY+CHCURP),A 
-         INC DE 
-         LD A,(DE) 
-         LD (IY+CHCURL),A 
-         INC DE 
-         LD A,(DE) 
-         LD (IY+CHCURH),A 
-         INC (IY+CHCURL) 
-         CALL Z,GETSMP3 
-         INC (IY+CHCURL) 
-         CALL Z,GETSMP3 
-         INC DE 
-         LD A,(DE) 
-         LD (IY+CHENDP),A 
-         INC DE 
-         LD A,(DE) 
-         LD (IY+CHENDL),A 
-         INC DE 
-         LD A,(DE) 
-         LD (IY+CHENDH),A 
-         INC DE 
-         INC DE 
-         INC DE 
-         LD A,(DE) 
-         LD (IY+CHLPBP),A 
-         INC DE 
-         LD A,(DE) 
-         LD (IY+CHLPBL),A 
-         INC DE 
-         LD A,(DE) 
-         LD (IY+CHLPBH),A 
-         INC DE 
-         LD A,(DE) 
-         LD (IY+CHLPEP),A 
-         INC DE 
-         LD A,(DE) 
-         LD (IY+CHLPEL),A 
-         INC DE 
-         LD A,(DE) 
-         LD (IY+CHLPEH),A 
-         LD (IY+CHCNTL),0x00 
-         LD (IY+CHCNTH),0x07 
-         LD A,(IY+CHCURP) 
-         CP (IY+CHENDP) 
-         RET C 
-         JP NZ,GETSMP2 
-         LD A,(IY+CHCURH) 
-         CP (IY+CHENDH) 
-         RET C 
-         JP NZ,GETSMP2 
-         LD A,(IY+CHCURL) 
-         CP (IY+CHENDL) 
-         RET C 
- GETSMP2 RES 7,(IY+CHSTAT) 
-         RET 
- GETSMP3 INC (IY+CHCURH) 
-         RET NZ 
-         LD (IY+CHCURH),0x80 
-         INC (IY+CHCURP) 
-         RET 
-   
- EFXNEWI LD A,(IY+CHINS) 
-         DEC A 
-         ADD A,A 
-         ADD A,A 
-         ADD A,A 
-         ADD A,A 
-         LD E,A 
-         LD A,0x54 
-         ADC A,0x00 
-         LD D,A 
-         INC DE 
-         INC DE 
-         INC DE 
-         INC DE 
-         INC DE 
-         INC DE 
-         LD A,(DE) 
-         LD (IY+CHFINE),A 
-         INC DE 
-         LD A,(DE) 
-         CP 0x40 
-         JR C,GETSMP1 
-         LD A,0x40 
- GETSMP1 LD (IY+CHVOL),A 
-         CP (IY+CHMVOL) 
-         LD (IY+CHMVOL),A 
-         RET Z 
-         SET 0,(IY+CHSTAT) 
-         RET 
-   
- GETROWS LD A,(MTPATPS) 
-         AND 0x3F 
-         ADD A,A 
-         ADD A,A 
-         LD L,A 
-         LD H,0x00 
-         ADD HL,HL 
-         ADD HL,HL 
-         LD A,(CURCHN) 
-         ADD A,A 
-         ADD A,A 
-         ADD A,L 
-         LD L,A 
-         LD A,H 
-         ADC A,0x50 
-         LD H,A 
-         LD A,(HL) 
-         AND 0x10 
-         PUSH AF 
-         LD A,(HL) 
-         AND 0x0F 
-         LD D,A 
-         INC HL 
-         LD E,(HL) 
-         OR E 
-         LD A,0x7F 
-         JR Z,GETRWS2 
-         PUSH HL 
-         CALL NOTEID 
-         POP HL 
- GETRWS2 INC HL 
-         POP BC 
-         LD D,A 
-         LD A,(HL) 
-         AND 0xF0 
-         RRCA 
-         RRCA 
-         RRCA 
-         RRCA 
-         OR B 
-         LD E,A 
-         LD A,(HL) 
-         AND 0x0F 
-         LD B,A 
-         INC HL 
-         LD C,(HL) 
-         RET 
-   
- ;INCLUDE "INTTST.a80" 
- ;*********************************************************** 
- ;* INTERRUPT HANDLING PROCEDURES                           * 
- ;*********************************************************** 
-   
-         align 256 
-   
- INTZ    RET 
-   
- INT0    EX AF,AF' 
-         INC A 
-         JR Z,INT0_ 
-         EX AF,AF' 
-         EI 
-         RET 
-         DUPL 11,0 
-         RET 
-          
- INT0_   PUSH DE 
-         JP QTDONE 
-   
- INT1    EX AF,AF' 
-         PUSH DE 
-         LD E,A 
-         LD D,IXH 
-         LD A,(DE) 
-         INC E 
-         JR Z,INT1_ 
-         LD A,E 
-         POP DE 
-         EX AF,AF' 
-         EI 
-         RET 
-         DUPL 4,0 
-         RET 
-          
-         PUSH DE 
- INT1_   JP QTDONE 
-   
- INT2    EX AF,AF' 
-         PUSH DE 
-         LD E,A 
-         LD D,IXH 
-         LD A,(DE) 
-         INC D 
-         LD A,(DE) 
-         INC E 
-         JR Z,INT2_ 
-         LD A,E 
-         POP DE 
-         EX AF,AF' 
-         EI 
-         RET 
-          
-         DUPL 2,0 
-         RET 
-          
-         PUSH DE 
- INT2_   JP QTDONE 
-   
- INT3    EX AF,AF' 
-         PUSH DE 
-         LD E,A 
-         LD D,IXH 
-         LD A,(DE) 
-         INC D 
-         INC D 
-         LD A,(DE) 
-         INC E 
-         JR Z,INT3_ 
-         LD A,E 
-         POP DE 
-         EX AF,AF' 
-         EI 
-         RET 
-          
-         DUPL 1,0 
-         RET 
-          
-         PUSH DE 
- INT3_   JP QTDONE 
-   
- INT4    EX AF,AF' 
-         PUSH DE 
-         LD E,A 
-         LD D,IXH 
-         LD A,(DE) 
-         INC D 
-         LD A,(DE) 
-         INC D 
-         LD A,(DE) 
-         INC E 
-         JR Z,INT4_ 
-         LD A,E 
-         POP DE 
-         EX AF,AF' 
-         EI 
-         RET 
-          
-         RET 
-          
-         PUSH DE 
- INT4_   JP QTDONE 
-   
- INT5    EX AF,AF' 
-         PUSH DE 
-         LD E,A 
-         LD D,IXH 
-         LD A,(DE) 
-         INC D 
-         INC D 
-         INC D 
-         LD A,(DE) 
-         INC E 
-         JR Z,INT5_ 
-         LD A,E 
-         POP DE 
-         EX AF,AF' 
-         EI 
-         RET 
-          
-         RET 
-          
-         PUSH DE 
- INT5_   JP QTDONE 
-   
- INT6    EX AF,AF' 
-         PUSH DE 
-         LD E,A 
-         LD D,IXH 
-         LD A,(DE) 
-         INC D 
-         LD A,(DE) 
-         INC D 
-         INC D 
-         LD A,(DE) 
-         INC E 
-         JR Z,INT6_ 
-         LD A,E 
-         POP DE 
-         EX AF,AF' 
-         EI 
-         RET 
-          
-         PUSH DE 
- INT6_   JP QTDONE 
-   
- INT7    EX AF,AF' 
-         PUSH DE 
-         LD E,A 
-         LD D,IXH 
-         LD A,(DE) 
-         INC D 
-         INC D 
-         LD A,(DE) 
-         INC D 
-         LD A,(DE) 
-         INC E 
-         JR Z,INT7_ 
-         LD A,E 
-         POP DE 
-         EX AF,AF' 
-         EI 
-         RET 
-          
-         PUSH DE 
- INT7_   JP QTDONE 
-   
- QTFAULT LD DE,(QTBUSY) 
-         LD (DE),A 
-         LD (PLAYING),A 
-         POP DE 
-         EX AF,AF' 
-         RET 
-   
- INT_IM1 IM 1 
-         EI 
-         EX DE,HL 
-         LD HL,(QTBUSY) 
-         LD (HL),A 
-         LD A,L 
-         ADD A,0x04 
-         AND 0x1C 
-         LD L,A 
-         LD (QTBUSY),HL 
-         SET 5,L 
-         LD A,(HL) 
-         OUT (VOL1),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL2),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL3),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL4),A 
-         POP AF 
-         POP HL 
-         EX DE,HL 
-         RET 
-   
- QTDONE  LD A,(QTBUSY) 
-         ADD A,0x04 
-         AND 0x1C 
-         LD E,A 
-         LD D,HIGH (QTMAP) 
-         LD A,(DE) 
-         OR A 
-         JR Z,QTFAULT 
-         EX AF,AF' 
-         PUSH AF 
-         INC E 
-         LD A,(DE) 
-         LD IXH,A 
-         INC E 
-         LD A,(DE) 
-         OR A 
-         JR Z,INT_IM1 
-         IM 2 
-         EX DE,HL 
-         LD HL,INTAREA+0x18 
-         CP (HL) 
-         JR Z,INT_I1 
-         LD (HL),A 
-         LD HL,0x1518 
-         LD (INTAREA),HL 
-         EI 
-         DEC A 
-         JR Z,INT_I0 
-         ADD A,0x03 
-         LD L,A 
-         LD H,HIGH (INT0) 
-         PUSH DE 
-         PUSH BC 
-         LD DE,INTAREA+2 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LD HL,0xD508 
-         LD (INTAREA),HL 
-         POP BC 
-         POP DE 
-         LD HL,(QTBUSY) 
-         LD (HL),0x00 
-         LD A,L 
-         ADD A,0x04 
-         AND 0x1C 
-         LD L,A 
-         LD (QTBUSY),HL 
-         SET 5,L 
-         LD A,(HL) 
-         OUT (VOL1),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL2),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL3),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL4),A 
-         POP AF 
-         POP HL 
-         EX DE,HL 
-         RET 
-   
- INT_I1  EI 
-         LD A,0x04 
-         LD HL,(QTBUSY) 
-         LD (HL),0x00 
-         ADD A,L 
-         AND 0x1C 
-         LD L,A 
-         LD (QTBUSY),HL 
-         SET 5,L 
-         LD A,(HL) 
-         OUT (VOL1),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL2),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL3),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL4),A 
-         POP AF 
-         POP HL 
-         EX DE,HL 
-         RET 
-   
- INT_I0  LD HL,INT0+2 
-         PUSH DE 
-         PUSH BC 
-         LD DE,INTAREA+2 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LDI 
-         LD HL,0x3C08 
-         LD (INTAREA),HL 
-         POP BC 
-         POP DE 
-         LD HL,(QTBUSY) 
-         LD (HL),A 
-         LD A,L 
-         ADD A,0x04 
-         AND 0x1C 
-         LD L,A 
-         LD (QTBUSY),HL 
-         SET 5,L 
-         LD A,(HL) 
-         OUT (VOL1),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL2),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL3),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL4),A 
-         POP AF 
-         POP HL 
-         EX DE,HL 
-         RET 
-   
- QTPLAY  DI 
-         LD A,0xFF 
-         LD (PLAYING),A 
-         LD HL,(QTBUSY) 
-         LD A,(HL) 
-         EX AF,AF' 
-         INC L 
-         LD A,(HL) 
-         LD IXH,A 
-         INC L 
-         LD A,(HL) 
-         IM 1 
-         OR A 
-         JR Z,QTPLAY_ 
-         IM 2 
-         LD HL,INTAREA+0x18 
-         CP (HL) 
-         JR Z,QTPLAY_ 
-         LD (HL),A 
-         LD L,A 
-         LD H,HIGH (INT0) 
-         LD DE,INTAREA 
-         LD BC,0x0012 
-         LDIR 
- QTPLAY_ LD HL,(QTBUSY) 
-         SET 5,L 
-         LD A,(HL) 
-         OUT (VOL1),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL2),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL3),A 
-         INC L 
-         LD A,(HL) 
-         OUT (VOL4),A 
-         EI 
-         RET 
-   
- ;INCLUDE "COMM.a80" 
- WTCM    IN A,(ZXSTAT) 
-         RRCA 
-         JR NC,WTCM 
-         IN A,(ZXCMD) 
-         CP 0x12 
-         JR Z,CM12 
-         CP 0x18 
-         JR Z,CM18 
-         CP 0x1A 
-         JR Z,CM1A 
-         CP 0x1B 
-         JR Z,CM1B 
-         CP 0x20 
-         JR Z,CM20 
-         OUT (CLRCBIT),A 
-         JP WTCM 
-          
- CM12    IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         OUT (MPAG),A 
-         JP WTCM 
-          
- CM18    IN A,(ZXDATRD) 
-         LD E,A 
-         OUT (CLRCBIT),A 
- CM18_1  IN A,(ZXSTAT) 
-         OR A 
-         JP P,CM18_1 
-         IN A,(ZXDATRD) 
-         LD D,A 
-         JP WTCM 
-          
- CM1A    LD A,(DE) 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         JP WTCM 
-          
- CM1B    INC DE 
-         OUT (CLRCBIT),A 
-         JP WTCM 
-          
- CM20    OUT (CLRCBIT),A 
-         RET 
-   
- ;INCLUDE "GEN_L.a80" 
- GEN     LD A,(QTFREE) 
-         ADD A,HIGH (DAC0) 
-         ADD A,(IY+CHRDN) 
-         LD D,A 
-         LD A,(SGENOFF) 
-         LD E,A 
-         LD A,(CHANNEL) 
-         OR (IY+CHRDR) 
-         LD (CHANNEL),A 
- GEN_    LD L,(IY+CHCURL) 
-         LD H,(IY+CHCURH) 
-         LD B,(IY+CHCNTL) 
- GENLP   EXX 
-         LD H,HIGH (RAMPG) 
-         LD L,(IY+CHCURP) 
-         LD D,(IY+CHCNTH) 
-         LD E,(IY+CHFRQH) 
-         LD B,(HL) 
-         LD A,B 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         LD A,L 
-         EXX 
-         CP (IY+CHENDP) 
-         JP C,GENTP 
-         PUSH DE 
-         EX DE,HL 
-         LD L,(IY+CHENDL) 
-         LD H,(IY+CHENDH) 
-         DEC HL 
-         SBC HL,DE 
-         INC HL 
-         EX DE,HL 
-         LD IXL,E 
-         LD A,D 
-         POP DE 
-         JR C,GENCHK 
-         OR A 
-         JR Z,GENENT 
-         LD IXL,0xFF 
-         JP GENENT 
-   
- GENCHK  RES 7,(IY+CHSTAT) 
-         LD A,(IY+CHLPBP) 
-         INC A 
-         JP Z,GENCHK2 
-         DEC A 
-         LD (IY+CHCURP),A 
-         LD L,(IY+CHLPBL) 
-         LD H,(IY+CHLPBH) 
-         LD A,(IY+CHLPEP) 
-         LD (IY+CHENDP),A 
-         LD A,(IY+CHLPEL) 
-         LD (IY+CHENDL),A 
-         LD A,(IY+CHLPEH) 
-         LD (IY+CHENDH),A 
-         SET 7,(IY+CHSTAT) 
-         JP GENLP 
-   
- GENCHK2 LD (IY+CHREAL),0x7F 
-         BIT 6,(IY+CHSTAT) 
-         JP Z,GENZERO 
-         PUSH IY 
-         PUSH DE 
-         LD IY,CHANS 
-         LD B,0x08 
-         LD DE,CHANLEN 
- GENCHK3 SET 0,(IY+CHSTAT) 
-         ADD IY,DE 
-         DJNZ GENCHK3 
-         POP DE 
-         POP IY 
-         JP GENZERO 
-   
- GENTP   LD IXL,0xFF 
-         LD A,H 
-         INC A 
-         JP M,GENENT 
-         OR L 
-         JR Z,GENENT 
-         NEG 
-         LD IXL,A 
- GENENT  LD C,(IY+CHFRQL) 
-         LD A,(IY+CHOLDV) 
-         PUSH IY 
-         CALL 0x2030 
-         POP  IY 
-         LD (IY+CHOLDV),A 
-         LD (IY+CHCNTH),C 
-         LD A,H 
-         OR A 
-         JP M,GENJ2 
-         LD H,0x80 
-         INC (IY+CHCURP) 
- GENJ2   LD A,E 
-         OR A 
-         JP Z,GENRET 
-         BIT 7,(IY+CHSTAT) 
-         JP NZ,GENLP 
-         JP GENZERO 
-   
- GENRET  LD (IY+CHCURL),L 
-         LD (IY+CHCURH),H 
-         LD (IY+CHCNTL),B 
-         JP  GENEXT 
-   
- GENZERO LD A,E 
-         CP 0xFF 
-         JR NC,GENZENT 
-         LD B,(IY+CHOLDV) 
-         LD C,0x80 
-         CP 0xFD 
-         JR NC,GENZ_1 
-         CP 0xF9 
-         JR NC,GENZ_2 
-         LD A,C 
-         ADD A,B 
-         RRA 
-         LD H,A 
-         ADD A,B 
-         RRA 
-         LD L,A 
-         ADD A,B 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,L 
-         LD (DE),A 
-         INC E 
-         ADD A,H 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,H 
-         LD (DE),A 
-         INC E 
-         ADD A,C 
-         RRA 
-         LD L,A 
-         ADD A,H 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,L 
-         LD (DE),A 
-         INC E 
-         ADD A,C 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JP GENZENT 
-   
- GENZ_2  LD A,C 
-         ADD A,B 
-         RRA 
-         LD H,A 
-         ADD A,B 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,H 
-         LD (DE),A 
-         INC E 
-         ADD A,C 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JP GENZENT 
-   
- GENZ_1  LD A,B 
-         ADD A,C 
-         RRA 
-         LD (DE),A 
-         INC E 
- GENZENT LD A,0x80 
-         BIT 0,E 
-         JR Z,GENZJP1 
-         LD (DE),A 
-         INC E 
-         JR Z,GENZEXT 
- GENZJP1 BIT 1,E 
-         JR Z,GENZJP2 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         JR Z,GENZEXT 
- GENZJP2 BIT 2,E 
-         JR Z,GENZLP 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         JR Z,GENZEXT 
- GENZLP  LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         JP NZ,GENZLP 
- GENZEXT LD A,(QTFREE) 
-         ADD A,HIGH (DAC0) 
-         ADD A,(IY+CHRDN) 
-         LD D,A 
-         LD E,0xFF 
-         LD A,0x80 
-         LD (DE),A 
- GENEXT  XOR A 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         BIT 0,(IY+CHSTAT) 
-         RET Z 
-         JP CALCVOL 
-   
- ;INCLUDE "TABLES_L.a80" 
-   
-         align 256 
-   
- INTTAB  DUPL 0x101,HIGH (INTAREA) 
-   
- INTTB   DW INT0,INT1,INT1,INT2,INT1,INT3,INT2,INT4,INT1,INT5 
-         DW INT3,INT6,INT2,INT7,INT4,0x0000 
- INTOFF  DB 0,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0 
-   
- ;INCLUDE "_BPM.a80" 
- BPMTAB 
-         dw 0x0B72,0x0B19,0x0AC5,0x0A77,0x0A2C,0x09E6,0x09A3,0x0964 
-         dw 0x0928,0x08EF,0x08B8,0x0884,0x0853,0x0823,0x07F6,0x07CB 
-         dw 0x07A1,0x0779,0x0753,0x072E,0x070B,0x06E9,0x06C8,0x06A9 
-         dw 0x068A,0x066D,0x0650,0x0635,0x061B,0x0601,0x05E8,0x05D0 
-         dw 0x05B9,0x05A2,0x058C,0x0577,0x0563,0x054F,0x053B,0x0528 
-         dw 0x0516,0x0504,0x04F3,0x04E2,0x04D2,0x04C2,0x04B2,0x04A3 
-         dw 0x0494,0x0485,0x0477,0x046A,0x045C,0x044F,0x0442,0x0436 
-         dw 0x0429,0x041D,0x0412,0x0406,0x03FB,0x03F0,0x03E5,0x03DB 
-         dw 0x03D1,0x03C6,0x03BD,0x03B3,0x03AA,0x03A0,0x0397,0x038E 
-         dw 0x0385,0x037D,0x0374,0x036C,0x0364,0x035C,0x0354,0x034D 
-         dw 0x0345,0x033E,0x0336,0x032F,0x0328,0x0321,0x031A,0x0314 
-         dw 0x030D,0x0307,0x0300,0x02FA,0x02F4,0x02EE,0x02E8,0x02E2 
-         dw 0x02DC,0x02D7,0x02D1,0x02CC,0x02C6,0x02C1,0x02BC,0x02B6 
-         dw 0x02B1,0x02AC,0x02A7,0x02A2,0x029E,0x0299,0x0294,0x0290 
-         dw 0x028B,0x0287,0x0282,0x027E,0x0279,0x0275,0x0271,0x026D 
-         dw 0x0269,0x0265,0x0261,0x025D,0x0259,0x0255,0x0251,0x024E 
-         dw 0x024A,0x0246,0x0243,0x023F,0x023C,0x0238,0x0235,0x0231 
-         dw 0x022E,0x022B,0x0227,0x0224,0x0221,0x021E,0x021B,0x0218 
-         dw 0x0215,0x0212,0x020F,0x020C,0x0209,0x0206,0x0203,0x0200 
-         dw 0x01FE,0x01FB,0x01F8,0x01F5,0x01F3,0x01F0,0x01ED,0x01EB 
-         dw 0x01E8,0x01E6,0x01E3,0x01E1,0x01DE,0x01DC,0x01D9,0x01D7 
-         dw 0x01D5,0x01D2,0x01D0,0x01CE,0x01CC,0x01C9,0x01C7,0x01C5 
-         dw 0x01C3,0x01C1,0x01BE,0x01BC,0x01BA,0x01B8,0x01B6,0x01B4 
-         dw 0x01B2,0x01B0,0x01AE,0x01AC,0x01AA,0x01A8,0x01A6,0x01A4 
-         dw 0x01A3,0x01A1,0x019F,0x019D,0x019B,0x0199,0x0198,0x0196 
-         dw 0x0194,0x0192,0x0191,0x018F,0x018D,0x018C,0x018A,0x0188 
-         dw 0x0187,0x0185,0x0183,0x0182,0x0180,0x017F,0x017D,0x017C 
-         dw 0x017A,0x0179,0x0177,0x0176,0x0174,0x0173,0x0171,0x0170 
-   
- ;INCLUDE "_trash.a80"   ;comes from original ROM! 
- ;strange block, comes from original ROM. 
- ;real garbage;) 
-   
-         DB 0x56,0x43,0x56,0x49,0x45,0x57,0x20,0x20,0x45,0x58,0x54,0x20,0x00,0x00,0x00,0x00 
-         DB 0x00,0x00,0x00,0x00,0x00,0x00,0xC4,0x08,0x43,0x21,0x28,0x09,0xDA,0x02,0x00,0x00 
-         DB 0x00,0x43,0x56,0x49,0x45,0x57,0x20,0x20,0x45,0x58,0x54,0x20,0x00,0x00,0x00,0x00 
-         DB 0x00,0x00,0x00,0x00,0x00,0x00,0xC4,0x08,0x43,0x21,0x28,0x09,0xDA,0x02,0x00,0x00 
-   
- Free1 
- ;---patched 
- Patch11 
-         LD H,(HL) 
-         LD L,D 
-         ADD HL,HL 
-         ADD HL,HL 
-         JR NC,$+3 
-         INC D 
-         LD A,(MODTP) 
-         INC A 
-         LD BC,0x0000+1084 
-         JR Z,TTT15x 
-         LD BC,0x0000+600 
- TTT15x  ADD HL,BC 
-         JR NC,$+3 
-         INC D 
-         XOR A 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         LD A,D 
-         LD DE,0x5000 
-         LD BC,0x400 
-         CALL LDMEM 
-         XOR A 
-         OUT (0x00),A 
-         RET 
-          
- ; new cmd 0x6A - Set player mode 
- COM6A   LD A,(PlMode)   ;command 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD (PlMode),A 
-         RET 
-   
- Patch2x LD A,(PlMode) 
-         OR A 
-         RET NZ 
-         LD HL,MTSTAT 
-         SET 7,(HL) 
-         RET 
-   
- ; last note speed 
- Patch3  LD A,(MTSNGPS) 
-                 OR A 
-                 JR NZ,Patch3e   ;1st pattern 
-         LD A,(MTPATPS) 
-                 OR A 
-                 JR NZ,Patch3e   ;1st row 
-         LD A,6          ;init speed at start of MOD 
-         LD (MTSPEED),A 
-         LD HL,750 
-         LD (TICKLEN),HL 
-         LD (TCKLEFT),HL 
- Patch3e LD IY,CHANS 
-         JP EFXGTNT+4 
-          
- ; initial note 
- Patch4  LD (IY+CHCNTL),0x00 
-         LD (IY+CHREAL),0x7F 
-         RET 
-          
- ;MOD relooper 
- ; new cmd 0x6B - Set minimal loop length (turn on relooper) 
-   
- COM6B   IN A,(ZXDATRD) 
-                 LD L,A 
-         OUT (CLRCBIT),A 
-         IN A,(ZXSTAT) 
-         AND 0x81 
-         JR Z,$-4 
-         JP P,Patch5s 
-         IN A,(ZXDATRD) 
-         LD H,A 
-         LD DE,16385 
-         OR A 
-         SBC HL,DE 
-         ADD HL,DE 
-         JR C,Patch5s+3 
- Patch5s LD HL,0x0200 
-         LD (MODLLEN),HL 
-         RET 
-   
- ;reconstruct MOD after load 
- Patch5x CALL SET_SIZE_MOD               ;CALL PLAYMD            ;init MOD 
-         LD HL,(MODLLEN) 
-         LD A,H 
-         OR L 
-         RET Z   ;relooper off 
-         LD A,(MODTP) 
-         OR A 
-         LD A,31 
-         LD HL,1084 
-         JR NZ,$+7 
-         LD A,15 
-         LD HL,600 
-         LD (MODSMPS),A 
-         LD (MODPTST),HL 
-         CALL CHIP 
-         JP PLAYMD               ;init MOD again 
-   
- ;INCLUDE "reloop.a80" 
-   
- ;-----(c)Evgeny Muchkin 
-   
- ;MODSMPS        equ 0x5000 
- ;MODPTST        equ 0x5001 
- ;ChipSP_        equ 0x5005 
- ;CHIP246 equ 0x5007 
- ;TOcip_ equ 0x5009 
- ;CHIPLN  equ 0x5010     ; НА4АЛО СЕМПЛОВ (pointer) 
- ;CHIPPP  equ 0x5013     ; ДЛИНА МОДУЛЯ 
- ;CIP1    equ 0x5016     ; ОТКУДА ПЕРЕНОСИТЬ 
- ;CIP2    equ 0x5019     ; КУДА ПЕРЕНОСИТЬ 
- ;CIP3    equ 0x501c     ; КОНЕЦ БЛОКА 
-   
- CHIP    DI 
-         LD A,(RAMPG) 
-         OUT (MPAG),A 
-         LD DE,(MODPTST) ;patts data! 
-         LD A,(PATTS) 
-         LD L,A 
-         LD H,B 
-         ADD HL,HL 
-         ADD HL,HL 
-         LD A,H 
-         LD H,L 
-         LD L,B 
-         ADD HL,DE 
-         ADC A,B 
-         LD (CHIPLN),HL 
-         LD (CHIPLN+2),A 
-         LD (ChipSP_),SP 
-         LD HL,CHIPLN 
-         LD DE,CHIPPP 
-         PUSH DE 
-         LDI 
-         LDI 
-         LDI 
-         POP IY 
-         LD A,(MODSMPS) 
-         LD B,A          ;smps! 
-         LD DE,30 
-         LD IX,0x8014 
- ChIp    LD H,(IX+22)    ;len 
-         LD L,(IX+23) 
-         CALL TOCip 
-         ADD IX,DE 
-         DJNZ ChIp 
-         LD IX,0x802A 
-         LD A,(MODSMPS) 
-         LD B,A          ;smps! 
- CHIP1   LD A,(RAMPG) 
-         OUT (MPAG),A 
-         LD H,(IX+6)     ;loop len 
-         LD L,(IX+7) 
-         LD (CHIP246),HL 
-         LD A,(IX)       ;len 
-         OR (IX+1) 
-         JP Z,CHIP2      ;skip if no smp 
-         LD DE,2 
-         CALL CP_DDE 
-         JP C,CHIP2      ;skip if loop len <2 
- LUP_LEN LD DE,(MODLLEN) 
-         CALL CP_DDE 
-         JP NC,CHIP2     ;skip if loop len>=LUP_LEN 
-         PUSH BC 
-         LD B,H 
-         LD C,L 
-         EXX 
-         LD BC,0         ;reloop counter 
- CHIP3   EXX 
-         ADD HL,BC 
-         CALL CP_DDE 
-         EXX 
-         INC BC 
-         JR C,CHIP3 
-         PUSH BC 
-         EXX 
- ;!!!!!!!!!!!!!!!!!!!!!!!!!! 
-         PUSH HL         ;new loop len 
-         LD B,(IX+6)     ;loop len 
-         LD C,(IX+7) 
-         AND A 
-         SBC HL,BC 
-         LD DE,CHIPPP 
-         LD (TOcip_),DE 
-         LD IY,CIP1 
-         CALL TOCIP 
-         LD DE,CHIPLN 
-         LD (TOcip_),DE 
-         LD B,3          ;check if free mem 
-         LD DE,CIP1+2 
-         LD HL,RAMTOP+2 
- ChipLP  LD A,(DE) 
-         CP (HL) 
-         DEC HL 
-         DEC DE 
-         JR C,ChipOK 
-         JP NZ,ChipSP 
-         DJNZ ChipLP 
- ChipOK  POP HL 
-         EX DE,HL        ;DE=new loop len 
-         LD H,(IX)       ;len 
-         LD L,(IX+1) 
-         LD B,(IX+6)     ;loop len 
-         LD C,(IX+7) 
-         AND A 
-         SBC HL,BC 
-         ADD HL,DE 
-         LD (IX),H       ;new smp len 
-         LD (IX+1),L 
-         LD (IX+6),D     ;new loop len 
-         LD (IX+7),E 
-         LD IY,CIP1 
-         LD H,(IX+4)     ;loop start 
-         LD L,(IX+5) 
-         PUSH HL 
-         PUSH HL 
-         PUSH HL 
-         ADD HL,BC 
-         CALL TOCIP 
-         LD IY,CIP2 
-         POP HL 
-         ADD HL,DE 
-         CALL TOCIP 
-         LD HL,CHIPPP 
-         LD DE,CIP3 
-         LDI 
-         LDI 
-         LDI 
-         CALL DIRER 
-         LD IY,CIP1 
-         POP HL 
-         CALL TOCIP 
-         POP HL 
- CHIP4   LD DE,(CHIP246) ;orig loop len 
-         ADD HL,DE 
-         LD IY,CIP2 
-         CALL TOCIP 
-         LD HL,CIP2 
-         LD DE,CIP3 
-         LDI 
-         LDI 
-         LDI 
-         POP BC 
- CHIP5   PUSH BC 
-         CALL DIRER 
- CHIP6   LD HL,(CHIP246) ;orig loop len 
-         LD IY,CIP2 
-         CALL TOCip 
-         POP BC 
-         DEC BC 
-         LD A,B 
-         OR C 
-         JR NZ,CHIP5 
-         POP BC 
- CHIP2   LD DE,(CHIP246) ;orig loop len 
-         LD A,(RAMPG) 
-         OUT (MPAG),A 
-         LD H,(IX+6)     ;new loop len 
-         LD L,(IX+7) 
-         AND A 
-         SBC HL,DE 
-         LD IY,CHIPPP    ;corr mod len 
-         CALL TOCip 
-         LD H,(IX) 
-         LD L,(IX+1) 
-         LD IY,CHIPLN    ;add pointer 
-         CALL TOCip 
-         LD DE,30 
-         ADD IX,DE 
-         DEC B 
-         JP NZ,CHIP1 
- ChipSP  LD SP,(ChipSP_) 
-         EI 
-         RET 
-   
- DIRER   LD IY,CIP1 
-         LD L,(IY+3) 
-         LD H,(IY+4) 
-         LD B,(IY+5) 
-         EXX 
-         LD L,(IY) 
-         LD H,(IY+1) 
-         LD B,(IY+2) 
-         LD E,(IY+6) 
-         LD D,(IY+7) 
-         LD C,(IY+8) 
-         PUSH IX 
-         CALL RESI10_ 
-         POP IX 
-         RET 
-   
- TOCIP   PUSH HL 
-         PUSH DE 
-         PUSH IY 
-         POP DE 
- TOcip   LD HL,(TOcip_)  ;CHIPLN 
-         LDI 
-         LDI 
-         LDI 
-         POP DE 
-         POP HL 
- TOCip   CALL ADD_IY 
- ADD_IY  LD A,(IY) 
-         ADD A,L 
-         LD (IY),A 
-         LD A,(IY+1) 
-         ADC A,H 
-         LD (IY+1),A 
-         LD A,(IY+2) 
-         ADC A,0 
-         LD (IY+2),A 
-         RET 
-   
- CP_DDE  PUSH HL 
-         AND A 
-         SBC HL,DE 
-         POP HL 
-         RET 
-   
- ;RESID10 ; MOVE BLOCK IN GS 
- ;          BHL - FROM 
- ;          CDE - END 
- ;         'BHL - TO 
-   
- RESI10_         SUB A 
-                 OUT (MPAG),A 
-                 LD (SYSTEM),A 
-                 LD A,B 
-                 PUSH HL 
-                 EXX 
-                 POP DE 
-                 PUSH HL 
-                 PUSH BC 
-                 LD C,A 
-                 OR A 
-                 SBC HL,DE 
-                 LD A,B 
-                 SBC A,C 
-                 EX DE,HL 
-                 POP BC 
-                 POP HL 
-                 LD C,A 
-                 OR E 
-                 OR D 
-                 RET Z 
-                 EXX 
-                 EX DE,HL 
-                 SBC HL,DE 
-                 LD A,C 
-                 SBC A,B 
-                 LD IXL,A 
-                 OR L 
-                 OR H 
-                 EXX 
-                 RET Z 
-                 PUSH DE 
-                 PUSH BC 
-                 BIT 7,C 
-                 EXX 
-                 JP NZ,MOVL 
-                 JP MOVH 
- ;----- 
-   
- ;store settings 
- Patch5i1        LD A,(PlMode) 
-                 LD C,A 
-                 LD DE,(MODLLEN) 
-                 LD A,(ERRCODE) 
-                 RET 
-   
- ;restore settings 
- Patch5i2        LD (ERRCODE),A 
-                 LD A,C 
-                 LD (PlMode),A 
-                 LD (MODLLEN),DE 
-                 RET 
-   
- ;clear vars after full reset! 
- Patch5i3        XOR A 
-                 LD H,A 
-                 LD L,A 
-                 LD (PlMode),A 
-                 LD (MODLLEN),HL 
-                 JP INITVAR 
-   
- CP_END_MOD 
-   
-         ;LD HL,MTSNGPS 
-         ;INC (HL) 
-         ;CP (HL) 
-         ;CALL C,STOPMOD 
-         ;LD (MTSNGPS),A 
-         ;RET 
-          
- ;       display $ 
- ;--- 
- ;emptyobl1 
-   
- ;       ORG GSRomBaseL+0x1D00 
-   
- ;       IN A,(ZXDATRD) 
- ;       OUT (CLRCBIT),A 
- ;       LD A,0x7F 
- ;       OUT (ZXDATWR),A 
- ;       JP COMINT_ 
-          
- ;WDY    IN A,(ZXSTAT) 
- ;       RLA 
- ;       JR NC,$-3 
- ;       RET 
-          
- ;WDN    IN A,(ZXSTAT) 
- ;       RLA 
- ;       JR C,$-3 
- ;       RET 
-   
-         ORG GSRomBaseL+0x2000 
- ;SGEN     
- ;INCLUDE "SGEN_ASM.a80" 
- ;       MODULE SGEN 
- ;INCLUDE "SGEN.a80" 
-   
- SGENTBE DW S0,S1,S2,S3,S4,S5,S6,S7,S8 
-   
- SGENTBF DW SGEN1,SGEN2,SGEN3,SGEN4,SGEN5,SGEN6,SGEN7,SGEN8,SGEN9 
-   
-         DUPL 12,0 
-   
- SGEN    EXX 
-         INC D 
-         DEC D 
-         JP Z,SGEN_ 
-         LD C,A 
-         LD A,D 
-         DEC A 
-         CP 0x09 
-         JP NC,SGEN__ 
-         ADD A,A 
-         ADD A,LOW (SGENTBF) 
-         LD L,A 
-         LD H,HIGH (SGENTBF) 
-         LD A,(HL) 
-         INC L 
-         LD H,(HL) 
-         LD L,A 
-         LD A,C 
-         JP (HL) 
-   
- SGEN1   EXX 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         EXX 
-         JP SGEN_ 
-   
- SGEN2   EXX 
-         SUB (HL) 
-         EXX 
-         LD H,HIGH (DIVTAB3) 
-         JP NC,SGEN2_2 
-         INC H 
- SGEN2_2 LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         EXX 
-         JP SGEN_ 
-   
- SGEN3   EXX 
-         ADD A,(HL) 
-         RRA 
-         EXX 
-         LD L,A 
-         ADD A,C 
-         RRA 
-         EXX 
-         LD (DE),A 
-         INC E 
-         EXX 
-         LD A,L 
-         EXX 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         EXX 
-         JP SGEN_ 
-   
- SGEN4   EXX 
-         ADD A,(HL) 
-         RRA 
-         EXX 
-         LD L,A 
-         ADD A,C 
-         RRA 
-         EXX 
-         LD (DE),A 
-         INC E 
-         EXX 
-         LD A,L 
-         EXX 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         EXX 
-         JP SGEN_ 
-   
- SGEN5   EXX 
-         ADD A,(HL) 
-         RRA 
-         EXX 
-         LD L,A 
-         ADD A,C 
-         RRA 
-         EXX 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         EXX 
-         LD A,L 
-         EXX 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         EXX 
-         JP SGEN_ 
-   
- SGEN6   EXX 
-         ADD A,(HL) 
-         RRA 
-         EXX 
-         LD L,A 
-         ADD A,C 
-         RRA 
-         EXX 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         EXX 
-         LD A,L 
-         EXX 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         EXX 
-         JP SGEN_ 
-   
- SGEN7   EXX 
-         ADD A,(HL) 
-         RRA 
-         EXX 
-         LD L,A 
-         ADD A,C 
-         RRA 
-         LD H,A 
-         ADD A,C 
-         RRA 
-         EXX 
-         LD (DE),A 
-         INC E 
-         EXX 
-         LD A,H 
-         EXX 
-         LD (DE),A 
-         INC E 
-         EXX 
-         ADD A,L 
-         RRA 
-         EXX 
-         LD (DE),A 
-         INC E 
-         EXX 
-         LD A,L 
-         EXX 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         EXX 
-         LD H,A 
-         ADD A,L 
-         RRA 
-         EXX 
-         LD (DE),A 
-         INC E 
-         EXX 
-         LD A,H 
-         EXX 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         EXX 
-         JP SGEN_ 
-   
- SGEN8   EXX 
-         ADD A,(HL) 
-         RRA 
-         EXX 
-         LD L,A 
-         ADD A,C 
-         RRA 
-         LD H,A 
-         ADD A,C 
-         RRA 
-         EXX 
-         LD (DE),A 
-         INC E 
-         EXX 
-         LD A,H 
-         EXX 
-         LD (DE),A 
-         INC E 
-         EXX 
-         ADD A,L 
-         RRA 
-         EXX 
-         LD (DE),A 
-         INC E 
-         EXX 
-         LD A,L 
-         EXX 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         EXX 
-         LD H,A 
-         ADD A,L 
-         RRA 
-         EXX 
-         LD (DE),A 
-         INC E 
-         EXX 
-         LD A,H 
-         EXX 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         EXX 
-         JP SGEN_ 
-   
- SGEN9   EXX 
-         ADD A,(HL) 
-         RRA 
-         EXX 
-         LD L,A 
-         ADD A,C 
-         RRA 
-         LD H,A 
-         ADD A,C 
-         RRA 
-         EXX 
-         LD (DE),A 
-         INC E 
-         EXX 
-         LD A,H 
-         EXX 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         EXX 
-         ADD A,L 
-         RRA 
-         EXX 
-         LD (DE),A 
-         INC E 
-         EXX 
-         LD A,L 
-         EXX 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         EXX 
-         LD H,A 
-         ADD A,L 
-         RRA 
-         EXX 
-         LD (DE),A 
-         INC E 
-         EXX 
-         LD A,H 
-         EXX 
-         LD (DE),A 
-         INC E 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         EXX 
-         JP SGEN_ 
-   
- SGEN__  JP SGEN_ 
-   
- SGEN_   LD A,E 
-         CP 0x09 
-         JR NC,S9 
-         ADD A,A 
-         LD L,A 
-         LD H,HIGH (SGENTBE) 
-         LD A,(HL) 
-         INC L 
-         LD H,(HL) 
-         LD L,A 
-         JP (HL) 
-   
- S9      EXX 
-         LD C,0xFF 
-         EXX 
-         LD D,0x08 
-         JP S8 
-   
- S0      EXX 
-         LD C,0x00 
-         EXX 
-         LD D,0x01 
-         JP S1 
-   
- S3      EXX 
-         PUSH BC 
-         EXX 
-         POP HL 
-         LD B,E 
-         LD E,H 
-         LD C,L 
-         CALL S3_ 
- S_RET   LD IYL,E 
-         LD E,D 
-         LD D,IYL 
-         PUSH DE 
-         EXX 
-         POP BC 
-         RET 
-   
- S4      EXX 
-         PUSH BC 
-         EXX 
-         POP HL 
-         LD B,E 
-         LD E,H 
-         LD C,L 
-         CALL S4_ 
-         JP S_RET 
-   
- S5      EXX 
-         PUSH BC 
-         EXX 
-         POP HL 
-         LD B,E 
-         LD E,H 
-         LD C,L 
-         CALL S5_ 
-         JP S_RET 
-   
- S6      EXX 
-         PUSH BC 
-         EXX 
-         POP HL 
-         LD B,E 
-         LD E,H 
-         LD C,L 
-         CALL S6_ 
-         JP S_RET 
-   
- S7      EXX 
-         PUSH BC 
-         EXX 
-         POP HL 
-         LD B,E 
-         LD E,H 
-         LD C,L 
-         CALL S7_ 
-         JP S_RET 
-   
- S8      EXX 
-         PUSH BC 
-         EXX 
-         POP HL 
-         LD B,E 
-         LD E,H 
-         LD C,L 
-         CALL S8_ 
-         JP S_RET 
-   
- ;INCLUDE "SGEN1_L.a80" 
- S1      EXX 
-         SLA C 
-         JR C,S1_6 
-         LD A,IXL 
-         INC A 
-         JR Z,S1_2 
-         DEC A 
-         ADD A,E 
-         JR Z,S1_4 
-         JR C,S1_2 
-         BIT 7,C 
-         JR Z,S1_4 
-         LD IYL,A 
-         LD A,IXL 
-         SRL A 
-         SRL A 
-         ADD A,IYL 
-         JR Z,S1_4 
-         JR NC,S1_4 
- S1_2    DB 0xCB,0x30;SLI B 
-         JR NC,S1_3 
-         LD A,E 
-         AND 0x03 
-         JP Z,S11L0_1 
-         DEC A 
-         JP Z,S11L1_1 
-         DEC A 
-         JP Z,S11L2_1 
-         JP S11L3 
- S1_3    LD A,E 
-         AND 0x03 
-         JP Z,S11H0_1 
-         DEC A 
-         JP Z,S11H1_1 
-         DEC A 
-         JP Z,S11H2_1 
-         JP S11H3 
- S1_4    DB 0xCB,0x30;SLI B 
-         JR NC,S1_5 
-         LD A,E 
-         AND 0x03 
-         JP Z,S12L0_1 
-         DEC A 
-         JP Z,S12L1_1 
-         DEC A 
-         JP Z,S12L2_1 
-         JP S12L3 
- S1_5    LD A,E 
-         AND 0x03 
-         JP Z,S12H0_1 
-         DEC A 
-         JP Z,S12H1_1 
-         DEC A 
-         JP Z,S12H2_1 
-         JP S12H3 
-   
- S1_6    LD A,IXL 
-         INC A 
-         JR Z,S1_7 
-         DEC A 
-         SRL A 
-         ADD A,IXL 
-         JR Z,S1_9 
-         JR C,S1_7 
-         ADD A,E 
-         JR C,S1_7 
-         BIT 7,C 
-         JR Z,S1_9 
-         LD IYL,A 
-         LD A,IXL 
-         SRL A 
-         SRL A 
-         ADD A,IYL 
-         JR Z,S1_9 
-         JR NC,S1_9 
- S1_7    DB 0xCB,0x30;SLI B 
-         JR C,S1_8 
-         LD A,E 
-         AND 0x03 
-         JP Z,S13L0 
-         DEC A 
-         JP Z,S13L1 
-         DEC A 
-         JP Z,S13L2 
-         JP S13L3 
- S1_8    LD A,E 
-         AND 0x03 
-         JP Z,S13H0 
-         DEC A 
-         JP Z,S13H1 
-         DEC A 
-         JP Z,S13H2 
-         JP S13H3 
- S1_9    DB 0xCB,0x30;SLI B 
-         JR C,S1_A 
-         LD A,E 
-         AND 0x03 
-         JP Z,S14L0 
-         DEC A 
-         JP Z,S14L1 
-         DEC A 
-         JP Z,S14L2 
-         JP S14L3 
- S1_A    LD A,E 
-         AND 0x03 
-         JP Z,S14H0 
-         DEC A 
-         JP Z,S14H1 
-         DEC A 
-         JP Z,S14H2 
-         JP S14H3 
-   
- S11M0   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LDI 
-         INC C 
- S11L2_1 LD A,B 
- S11L2_2 LDI 
-         INC C 
-         ADD A,C 
-         LD B,A 
-         JP NC,S11L3 
-         ADD A,C 
-         JP C,S11M3 
- S11G3   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S11R1 
-         LDI 
-         INC C 
- S11H1_1 LD A,B 
- S11H1_2 LDI 
-         INC C 
-         ADD A,C 
-         JP NC,S11H2_2 
-         LDI 
-         INC C 
-         ADD A,C 
-         LD B,A 
-         JP NC,S11L3 
-         ADD A,C 
-         JP C,S11M3 
-         JP S11G3 
-   
- S11R1   LD IYL,A 
-         LD A,B 
-         SUB C 
-         LD B,A 
-         SRL B 
-         LD C,0x00 
-         LD A,IYL 
-         RET 
-   
- S11M1   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LDI 
-         INC C 
- S11L3   LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S11R2 
-         LD A,B 
-         ADD A,C 
-         JP NC,S11L0_2 
-         ADD A,C 
-         JR C,S11M0 
- S11G0   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LDI 
-         INC C 
- S11H2_1 LD A,B 
- S11H2_2 LDI 
-         INC C 
-         ADD A,C 
-         LD B,A 
-         JP NC,S11H3 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S11R2 
-         LD A,B 
-         ADD A,C 
-         JP NC,S11L0_2 
-         ADD A,C 
-         JP C,S11M0 
-         JP S11G0 
-   
- S11R2   LD IYL,A 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         JR NC,S11R2_2 
-         LD C,0x01 
-         SRL B 
-         LD A,IYL 
-         RET 
- S11R2_2 LD C,0x00 
-         RRC B 
-         LD A,IYL 
-         RET 
-   
- S11M2   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S11R3 
- S11L0_1 LD A,B 
- S11L0_2 LDI 
-         INC C 
-         ADD A,C 
-         JP NC,S11L1_2 
-         ADD A,C 
-         JR C,S11M1 
- S11G1   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LDI 
-         INC C 
- S11H3   LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S11R4 
-         LD A,B 
-         ADD A,C 
-         JP NC,S11H0_2 
-         LDI 
-         INC C 
-         ADD A,C 
-         JP NC,S11L1_2 
-         ADD A,C 
-         JP C,S11M1 
-         JP S11G1 
-   
- S11R3   LD C,0x00 
-         RRC B 
-         RET 
-   
- S11R4   LD IYL,A 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         JR NC,S11R4_2 
-         LD C,0x00 
-         RRC B 
-         LD A,IYL 
-         RET 
- S11R4_2 LD C,0x00 
-         SRL B 
-         LD A,IYL 
-         RET 
-   
- S11R5   LD IYL,A 
-         LD A,B 
-         SUB C 
-         LD B,A 
-         LD C,0x00 
-         SRL B 
-         LD A,IYL 
-         RET 
-   
- S11M3   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S11R5 
-         LDI 
-         INC C 
- S11L1_1 LD A,B 
- S11L1_2 LDI 
-         INC C 
-         ADD A,C 
-         JP NC,S11L2_2 
-         ADD A,C 
-         JR C,S11M2 
- S11G2   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S11R6 
- S11H0_1 LD A,B 
- S11H0_2 LDI 
-         INC C 
-         ADD A,C 
-         JP NC,S11H1_2 
-         LDI 
-         INC C 
-         ADD A,C 
-         JP NC,S11L2_2 
-         ADD A,C 
-         JP C,S11M2 
-         JP S11G2 
-   
- S11R6   LD C,0x00 
-         SRL B 
-         RET 
-   
- S12M0   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R3_3 
- S12L2_1 LD A,B 
- S12L2_2 LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R2_5 
-         ADD A,C 
-         LD B,A 
-         JP NC,S12L3 
-         ADD A,C 
-         JP C,S12M3 
- S12G3   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S12R1 
-         LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R6_3 
- S12H1_1 LD A,B 
- S12H1_2 LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R4_4 
-         ADD A,C 
-         JP NC,S12H2_2 
-         LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R2_5 
-         ADD A,C 
-         LD B,A 
-         JP NC,S12L3 
-         ADD A,C 
-         JP C,S12M3 
-         JP S12G3 
-   
- S12R2_5 JR S12R2_3 
- S12R6_3 JP S12R6_2 
-   
- S12R1   LD IYL,A 
-         LD A,B 
-         SUB C 
-         LD B,A 
-         SRL B 
-         LD C,0x00 
-         LD A,IYL 
-         RET 
-   
- S12R3_3 DEC HL 
-         LD A,(HL) 
-         INC HL 
-         LD C,0x00 
-         RRC B 
-         RET 
-          
- S12R4_4 JP S12R4_3 
-   
- S12M1   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R3_3 
- S12L3   LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S12R2 
-         DEC IXL 
-         JR Z,S12R2 
-         LD A,B 
-         ADD A,C 
-         JP NC,S12L0_2 
-         ADD A,C 
-         JP C,S12M0 
- S12G0   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R6_3 
- S12H2_1 LD A,B 
- S12H2_2 LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R4_4 
-         ADD A,C 
-         LD B,A 
-         JP NC,S12H3 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S12R2 
-         DEC IXL 
-         JR Z,S12R2 
-         LD A,B 
-         ADD A,C 
-         JP NC,S12L0_2 
-         ADD A,C 
-         JP C,S12M0 
-         JP S12G0 
-   
- S12R2_3 DEC HL 
-         LD A,(HL) 
-         INC HL 
- S12R2   LD IYL,A 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         JR NC,S12R2_2 
-         LD C,0x01 
-         SRL B 
-         LD A,IYL 
-         RET 
- S12R2_2 LD C,0x00 
-         RRC B 
-         LD A,IYL 
-         RET 
-   
- S12M2   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S12R3 
-         DEC IXL 
-         JR Z,S12R3 
- S12L0_1 LD A,B 
- S12L0_2 LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R2_3 
-         ADD A,C 
-         JP NC,S12L1_2 
-         ADD A,C 
-         JP C,S12M1 
- S12G1   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R6_5 
- S12H3   LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S12R4 
-         DEC IXL 
-         JR Z,S12R4 
-         LD A,B 
-         ADD A,C 
-         JP NC,S12H0_2 
-         LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R2_3 
-         ADD A,C 
-         JP NC,S12L1_2 
-         ADD A,C 
-         JP C,S12M1 
-         JP S12G1 
-   
- S12R6_5 JP S12R6_2 
-   
- S12R3_2 DEC HL 
-         LD A,(HL) 
-         INC HL 
- S12R3   LD C,0x00 
-         RRC B 
-         RET 
-   
- S12R4_3 DEC HL 
-         LD A,(HL) 
-         INC HL 
- S12R4   LD IYL,A 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         JR NC,S12R4_2 
-         LD C,0x00 
-         RRC B 
-         LD A,IYL 
-         RET 
- S12R4_2 LD C,0x00 
-         SRL B 
-         LD A,IYL 
-         RET 
-   
- S12R5   LD IYL,A 
-         LD A,B 
-         SUB C 
-         LD B,A 
-         LD C,0x00 
-         SRL B 
-         LD A,IYL 
-         RET 
-   
- S12M3   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S12R5 
-         LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R3_2 
- S12L1_1 LD A,B 
- S12L1_2 LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R2_4 
-         ADD A,C 
-         JP NC,S12L2_2 
-         ADD A,C 
-         JP C,S12M2 
- S12G2   LD B,A 
-         DEC HL 
-         LD A,(HL) 
-         INC HL 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S12R6 
-         DEC IXL 
-         JR Z,S12R6 
- S12H0_1 LD A,B 
- S12H0_2 LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R4_3 
-         ADD A,C 
-         JP NC,S12H1_2 
-         LDI 
-         INC C 
-         DEC IXL 
-         JR Z,S12R2_4 
-         ADD A,C 
-         JP NC,S12L2_2 
-         ADD A,C 
-         JP C,S12M2 
-         JP S12G2 
-   
- S12R6_2 DEC HL 
-         LD A,(HL) 
-         INC HL 
- S12R6   LD C,0x00 
-         SRL B 
-         RET 
-   
- S12R2_4 JP S12R2_3 
-   
- S13R1   JR NC,S13R1_2 
-         SRL B 
-         LD C,0x01 
-         RET 
- S13R1_2 RRC B 
-         LD C,0x00 
-         RET 
- S13R2   SRL B 
-         LD C,0x00 
-         RET 
-   
- S13J0   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S13H1   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S13J2 
- S13K2   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S13L3   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S13R1 
-         JP C,S13K0 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S13K1 
- S13J1   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S13H2   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S13J3 
- S13K3   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S13R2 
- S13L0   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S13K1 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S13K2 
- S13J2   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S13H3   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S13R3 
-         JP C,S13J0 
- S13K0   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S13L1   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S13K2 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S13K3 
- S13J3   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S13R4 
- S13H0   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S13J1 
- S13K1   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S13L2   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S13K3 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S13R5 
-         JP NC,S13K0 
-         JP S13J0 
-          
- S13R3   LD C,0x01 
-         JR NC,S13R3_2 
-         RRC B 
-         RET 
-          
- S13R3_2 SRL B 
-         RET 
-          
- S13R4   RRC B 
-         LD C,0x00 
-         RET 
-   
- S13R5   LD C,0x01 
-         JR NC,S13R5_2 
-         RRC B 
-         RET 
-          
- S13R5_2 SRL B 
-         RET 
-   
- S14R5_3 JP S14R5 
-   
- S14R1   JR NC,S14R1_2 
-         SRL B 
-         LD C,0x01 
-         RET 
-          
- S14R1_2 RRC B 
-         LD C,0x00 
-         RET 
-          
- S14R2   SRL B 
-         LD C,0x00 
-         RET 
-   
- S14J0   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S14H1   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S14R5_3 
-         JP C,S14J2 
- S14K2   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S14L3   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S14R1 
-         DEC IXL 
-         JR Z,S14R1 
-         JP C,S14K0 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S14R5_3 
-         JP NC,S14K1 
- S14J1   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S14H2   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S14R5_3 
-         JP C,S14J3 
- S14K3   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S14R2 
- S14L0   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S14R1 
-         JP C,S14K1 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S14R5 
-         JP NC,S14K2 
- S14J2   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S14H3   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S14R5 
-         DEC IXL 
-         JR Z,S14R5 
-         JP C,S14J0 
- S14K0   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S14L1   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S14R1_3 
-         JP C,S14K2 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S14R5 
-         JP NC,S14K3 
- S14J3   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S14R4 
- S14H0   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S14R5 
-         JP C,S14J1 
- S14K1   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S14L2   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S14R1_3 
-         JP C,S14K3 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S14R5 
-         DEC IXL 
-         JR Z,S14R5 
-         JP NC,S14K0 
-         JP S14J0 
-   
- S14R5   LD C,0x01 
-         JR NC,S14R5_2 
-         RRC B 
-         RET 
-          
- S14R5_2 SRL B 
-         RET 
-          
- S14R4   RRC B 
-         LD C,0x00 
-         RET 
-          
- S14R1_3 JP S14R1 
-   
- ;INCLUDE "SGEN2_L.a80" 
- S2      LD H,HIGH (DIVTAB3) 
-         LD D,H 
-         INC D 
-         EXX 
-         SLA C 
-         JR C,S2_6 
-         LD A,IXL 
-         ADD A,A 
-         JR C,S2_2 
-         ADD A,E 
-         JR Z,S2_4 
-         JR C,S2_2 
-         BIT 7,C 
-         JR Z,S2_4 
-         LD IYL,A 
-         LD A,IXL 
-         SRL A 
-         SRL A 
-         ADD A,IYL 
-         JR Z,S2_4 
-         JR NC,S2_4 
- S2_2    DB 0xCB,0x30;SLI B 
-         JR NC,S2_3 
-         LD A,E 
-         AND 0x03 
-         JP Z,S21L0 
-         DEC A 
-         JP Z,S21L1 
-         DEC A 
-         JP Z,S21L2 
-         JP S21L3 
- S2_3    LD A,E 
-         AND 0x03 
-         JP Z,S21H0 
-         DEC A 
-         JP Z,S21H1 
-         DEC A 
-         JP Z,S21H2 
-         JP S21H3 
- S2_4    DB 0xCB,0x30;SLI B 
-         JR NC,S2_5 
-         LD A,E 
-         AND 0x03 
-         JP Z,S22L0 
-         DEC A 
-         JP Z,S22L1 
-         DEC A 
-         JP Z,S22L2 
-         JP S22L3 
- S2_5    LD A,E 
-         AND 0x03 
-         JP Z,S22H0 
-         DEC A 
-         JP Z,S22H1 
-         DEC A 
-         JP Z,S22H2 
-         JP S22H3 
-   
- S2_6    LD A,IXL 
-         ADD A,A 
-         JR C,S2_7 
-         LD IYL,A 
-         LD A,IXL 
-         SRL A 
-         ADD A,IYL 
-         JR C,S2_7 
-         ADD A,E 
-         JR Z,S2_9 
-         JR C,S2_7 
-         BIT 7,C 
-         JR Z,S2_9 
-         LD IYL,A 
-         LD A,IXL 
-         SRL A 
-         SRL A 
-         ADD A,IYL 
-         JR Z,S2_9 
-         JR NC,S2_9 
- S2_7    DB 0xCB,0x30;SLI B 
-         JR C,S2_8 
-         LD A,E 
-         AND 0x03 
-         JP Z,S23L0 
-         DEC A 
-         JP Z,S23L1 
-         DEC A 
-         JP Z,S23L2 
-         JP S23L3 
- S2_8    LD A,E 
-         AND 0x03 
-         JP Z,S23H0 
-         DEC A 
-         JP Z,S23H1 
-         DEC A 
-         JP Z,S23H2 
-         JP S23H3 
- S2_9    DB 0xCB,0x30;SLI B 
-         JR C,S2_A 
-         LD A,E 
-         AND 0x03 
-         JP Z,S24L0 
-         DEC A 
-         JP Z,S24L1 
-         DEC A 
-         JP Z,S24L2 
-         JP S24L3 
- S2_A    LD A,E 
-         AND 0x03 
-         JP Z,S24H0 
-         DEC A 
-         JP Z,S24H1 
-         DEC A 
-         JP Z,S24H2 
-         JP S24H3 
-   
- S21G0   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
- S21J1   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S21H2   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S21J3 
- S21K3   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S21R1 
- S21L0   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S21K1 
-         SUB (HL) 
-         EXX 
-         JP C,S21G1 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S21R2 
-         JP C,S21K0 
-         JP S21J0 
-   
- S21R1   LD C,0x00 
-         RRC B 
-         RET 
-   
- S21R2   LD C,0x01 
-         JR NC,S21R2_2 
-         RRC B 
-         RET 
-          
- S21R2_2 SRL B 
-         RET 
-   
- S21G1   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
- S21J2   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S21H3   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S21R2 
-         JP NC,S21J0 
- S21K0   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S21L1   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S21K2 
-         SUB (HL) 
-         EXX 
-         JP C,S21G2 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S21R3 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S21K1 
-         JP S21J1 
-   
- S21R3   LD C,0x00 
-         SRL B 
-         RET 
-   
- S21G2   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
- S21J3   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S21R3 
- S21H0   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S21J1 
- S21K1   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S21L2   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S21K3 
-         SUB (HL) 
-         EXX 
-         JP C,S21G3 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         JR Z,S21R4 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S21K2 
-         JP S21J2 
-   
- S21R4   LD C,0x01 
-         SRL B 
-         RET 
-   
- S21G3   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         JR Z,S21R4 
- S21J0   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S21H1   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S21J2 
- S21K2   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S21L3   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S21R5 
-         JP NC,S21K0 
-         SUB (HL) 
-         EXX 
-         JP C,S21G0 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S21K3 
-         JP S21J3 
-   
- S21R5   JR NC,S21R5_2 
-         LD C,0x02 
-         SRL B 
-         RET 
-          
- S21R5_2 LD C,0x01 
-         RRC B 
-         RET 
-   
- S22G0   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
- S22J1   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S22H2   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S22R2 
-         JP NC,S22J3 
- S22K3   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S22R1 
- S22L0   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S22R5_3 
-         JP NC,S22K1 
-         SUB (HL) 
-         EXX 
-         JP C,S22G1 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S22R2 
-         DEC IXL 
-         JR Z,S22R2 
-         JP C,S22K0 
-         JP S22J0 
-   
- S22R1   LD C,0x00 
-         RRC B 
-         RET 
-   
- S22R2   LD C,0x01 
-         JR NC,S22R2_2 
-         RRC B 
-         RET 
-          
- S22R2_2 SRL B 
-         RET 
-   
- S22R5_3 JP S22R5 
-   
- S22G1   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-   
- S22J2   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S22H3   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S22R2 
-         DEC IXL 
-         JR Z,S22R2 
-         JP NC,S22J0 
- S22K0   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S22L1   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S22R5_3 
-         JP NC,S22K2 
-         SUB (HL) 
-         EXX 
-         JP C,S22G2 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S22R3 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S22R2 
-         JP C,S22K1 
-         JP S22J1 
-   
- S22R3   LD C,0x00 
-         SRL B 
-         RET 
-   
- S22G2   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
- S22J3   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S22R3 
- S22H0   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S22R2 
-         JP NC,S22J1 
- S22K1   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S22L2   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S22R5 
-         JP NC,S22K3 
-         SUB (HL) 
-         EXX 
-         JP C,S22G3 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         JR Z,S22R4 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S22R2_3 
-         JP C,S22K2 
-         JP S22J2 
-   
- S22G3   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         JR Z,S22R4 
- S22J0   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S22H1   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S22R2_3 
-         JP NC,S22J2 
- S22K2   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S22L3   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S22R5 
-         DEC IXL 
-         JR Z,S22R5 
-         JP NC,S22K0 
-         SUB (HL) 
-         EXX 
-         JP C,S22G0 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S22R2_3 
-         JP C,S22K3 
-         JP S22J3 
-   
- S22R2_3 JP S22R2 
-   
- S22R5   JR NC,S22R5_2 
-         LD C,0x02 
-         SRL B 
-         RET 
-          
- S22R5_2 LD C,0x01 
-         RRC B 
-         RET 
-   
- S22R4   LD C,0x01 
-         SRL B 
-         RET 
-   
- S23J0   SUB (HL) 
-         EXX 
-         JP C,S23P0 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S23J3 
-         JP S23K3 
-   
- S23P0   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S23H2   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S23J3 
- S23K3   SUB (HL) 
-         EXX 
-         JP C,S23I3 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R1 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S23K2 
-         JP S23G2 
-   
- S23I3   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R1 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S23L1   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S23K2 
- S23G2   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R2 
-         JP NC,S23K0 
-         JP S23J0 
-   
- S23R1   LD C,0x01 
-         SRL B 
-         RET 
-          
- S23R2   LD C,0x02 
-         JR NC,S23R2_2 
-         RRC B 
-         RET 
-          
- S23R2_2 SRL B 
-         RET 
-   
- S23J1   SUB (HL) 
-         EXX 
-         JP C,S23P1 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R2 
-         JP C,S23J0 
-         JP S23K0 
-   
- S23P1   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S23H3   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R2 
-         JP C,S23J0 
- S23K0   SUB (HL) 
-         EXX 
-         JP C,S23I0 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S23K3 
-         JP S23G3 
-   
- S23I0   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S23L2   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S23K3 
- S23G3   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R3 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S23K1 
-         JP S23J1 
-   
- S23R3   LD C,0x00 
-         RRC B 
-         RET 
-   
- S23J2   SUB (HL) 
-         EXX 
-         JP C,S23P2 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R3 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S23J1 
-         JP S23K1 
-   
- S23P2   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R3 
- S23H0   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S23J1 
- S23K1   SUB (HL) 
-         EXX 
-         JP C,S23I1 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R4 
-         JP C,S23K0 
-         JP S23G0 
-   
- S23I1   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S23L3   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R4 
-         JP C,S23K0 
-   
- S23G0   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S23K2 
-         JP S23J2 
-   
- S23R4   JR C,S23R4_2 
-         LD C,0x01 
-         RRC B 
-         RET 
-          
- S23R4_2 LD C,0x02 
-         SRL B 
-         RET 
-   
- S23R5   LD C,0x01 
-         RRC B 
-         RET 
-   
- S23J3   SUB (HL) 
-         EXX 
-         JP C,S23P3 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R5 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S23J2 
-         JP S23K2 
-   
- S23P3   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R5 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S23H1   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S23J2 
- S23K2   SUB (HL) 
-         EXX 
-         JP C,S23I2 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R6 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S23K1 
-         JP S23G1 
-   
- S23I2   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S23R6 
- S23L0   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S23K1 
- S23G1   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S23K3 
-         JP S23J3 
-   
- S23R6   LD C,0x00 
-         SRL B 
-         RET 
-   
- S24J0   SUB (HL) 
-         EXX 
-         JP C,S24P0 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R2 
-         JP C,S24J3 
-         JP S24K3 
-   
- S24P0   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S24H2   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R2 
-         JP C,S24J3 
- S24K3   SUB (HL) 
-         EXX 
-         JP C,S24I3 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R1 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R4_3 
-         JP C,S24K2 
-         JP S24G2 
-   
- S24I3   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R1 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S24L1   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R4_3 
-         JP C,S24K2 
-   
- S24G2   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R2 
-         DEC IXL 
-         JR Z,S24R2 
-         JP NC,S24K0 
-         JP S24J0 
-   
- S24R1   LD C,0x01 
-         SRL B 
-         RET 
-          
- S24R2   LD C,0x02 
-         JR NC,S24R2_2 
-         RRC B 
-         RET 
-          
- S24R2_2 SRL B 
-         RET 
-   
- S24R4_3 JP S24R4 
-   
- S24J1   SUB (HL) 
-         EXX 
-         JP C,S24P1 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R2 
-         DEC IXL 
-         JR Z,S24R2 
-         JP C,S24J0 
-         JP S24K0 
-   
- S24P1   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S24H3   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R2 
-         DEC IXL 
-         JR Z,S24R2 
-         JP C,S24J0 
- S24K0   SUB (HL) 
-         EXX 
-         JP C,S24I0 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R4_3 
-         JP C,S24K3 
-         JP S24G3 
-   
- S24I0   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S24L2   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R4_3 
-         JP C,S24K3 
- S24G3   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R3 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R2_5 
-         JP NC,S24K1 
-         JP S24J1 
-          
- S24R2_5 JP S24R2 
-   
- S24R3   LD C,0x00 
-         RRC B 
-         RET 
-   
- S24J2   SUB (HL) 
-         EXX 
-         JP C,S24P2 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R3 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R2_3 
-         JP C,S24J1 
-         JP S24K1 
-   
- S24P2   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R3 
- S24H0   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R2_3 
-         JP C,S24J1 
- S24K1   SUB (HL) 
-         EXX 
-         JP C,S24I1 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R4 
-         DEC IXL 
-         JR Z,S24R4 
-         JP C,S24K0 
-         JP S24G0 
-   
- S24I1   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S24L3   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R4 
-         DEC IXL 
-         JR Z,S24R4 
-         JP C,S24K0 
-   
- S24G0   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R2_3 
-         JP NC,S24K2 
-         JP S24J2 
-   
- S24R4   JR C,S24R4_2 
-         LD C,0x01 
-         RRC B 
-         RET 
-          
- S24R4_2 LD C,0x02 
-         SRL B 
-         RET 
-          
- S24R2_3 JP S24R2 
-   
- S24R5   LD C,0x01 
-         RRC B 
-         RET 
-   
- S24J3   SUB (HL) 
-         EXX 
-         JP C,S24P3 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R5 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R2_3 
-         JP C,S24J2 
-         JP S24K2 
-   
- S24P3   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R5 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
- S24H1   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R2_3 
-         JP C,S24J2 
- S24K2   SUB (HL) 
-         EXX 
-         JP C,S24I2 
-         LD L,A 
-         LD A,(HL) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R6 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R4 
-         JP C,S24K1 
-         JP S24G1 
-   
- S24I2   LD E,A 
-         LD A,(DE) 
-         EXX 
-         ADD A,(HL) 
-         LD (DE),A 
-         INC E 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S24R6 
- S24L0   LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R4_4 
-         JP C,S24K1 
- S24G1   ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         LD A,B 
-         ADD A,C 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         DEC IXL 
-         JR Z,S24R2_4 
-         JP NC,S24K3 
-         JP S24J3 
-          
- S24R2_4 JP S24R2 
-   
- S24R4_4 JP S24R4 
-   
- S24R6   LD C,0x00 
-         SRL B 
-         RET 
-   
- ;INCLUDE "SGEN3.a80" 
- S3_     LD D,C 
-         PUSH DE 
-         LD D,B 
-         EXX 
-         POP BC 
- S31     SLA B 
-         JP C,S318 
-   
- S310    LD A,IXL 
-         ADD A,A 
-         JP C,S311 
-         ADD A,IXL 
-         JP C,S311 
-         ADD A,E 
-         JR Z,S310_ 
-         JP C,S311 
-         BIT 7,B 
-         JR Z,S310_ 
-         LD IYL,A 
-         LD A,IXL 
-         SRL A 
-         SRL A 
-         ADD A,IYL 
-         JR Z,S310_ 
-         JP C,S311 
- S310_   DB 0xCB,0x31;SLI C 
-         JP C,S3101 
-         JP S3100 
-   
- S3102   JR Z,S3104 
- S310A   INC E 
-         JR Z,S3105 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S31052 
-         LD (DE),A 
-         INC E 
-         JR Z,S31053 
- S3100   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP NC,S3102 
-         JR Z,S3106 
-         INC E 
-         JR Z,S3107 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S3109 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S31092 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JP NZ,S3101 
-         JP S31093 
-   
- S3103   JR Z,S3108 
-         INC E 
-         JR Z,S3109 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S31092 
-         LD (DE),A 
-         INC E 
-         JR Z,S31093 
- S3101   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP NC,S3103 
-         JP NZ,S310A 
- S3104   INC E 
- S3105   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S31052  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S31053  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-          
- S3106   INC E 
- S3107   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S3108   INC E 
- S3109   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         RET 
-          
- S31092  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S31093  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S311    DB 0xCB,0x31;SLI C 
-         JP C,S3111 
-         JR S3110 
-   
- S3112   JR Z,S3114 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S31141 
-         LD (DE),A 
-         INC E 
-         JR Z,S31142 
- S3110   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S3112 
-         JR Z,S3115 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S31151 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S3116 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JP NZ,S3111 
-         JP S31162 
-   
- S3113   JR Z,S31151 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S3116 
-         LD (DE),A 
-         INC E 
-         JR Z,S31162 
- S3111   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP NC,S3113 
-         JP NZ,S3112 
-         SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S31141  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S31142  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-          
- S3114   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S3115   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S31151  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         RET 
-          
- S3116   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S31162  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S318    LD A,IXL 
-         ADD A,A 
-         JP C,S319 
-         ADD A,IXL 
-         JP C,S319 
-         LD IYL,A 
-         LD A,IXL 
-         SRL A 
-         ADD A,IYL 
-         JP C,S319 
-         ADD A,E 
-         JR Z,S318_ 
-         JP C,S319 
-         BIT 7,B 
-         JR Z,S318_ 
-         LD IYL,A 
-         LD A,IXL 
-         SRL A 
-         SRL A 
-         ADD A,IYL 
-         JR Z,S318_ 
-         JP C,S319 
- S318_   DB 0xCB,0x31;SLI C 
-         JP NC,S3180 
-         JP S3181 
-   
- S3184   INC E 
- S3185   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-   
- S3182   JR Z,S3184 
-         INC E 
- S31822  JR Z,S3185 
- S318222 LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S3186 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S31866 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S31867 
- S3181   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP C,S3182 
-         JR Z,S31871 
-         INC E 
-         JR Z,S31891 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S3189 
-         LD (DE),A 
-         INC E 
-         JP NZ,S3180 
-         JP S31892 
-          
- S31871  INC E 
- S31891  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         RET 
-   
- S3183   JR Z,S3187 
-         INC E 
-         JR Z,S3188 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S31891 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S3189 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S31892 
- S3180   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP C,S3183 
-         JR Z,S31844 
-         INC E 
-         JP NZ,S318222 
-         RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S3186   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         RET 
-          
- S31866  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         DEC D 
-         RET 
-          
- S31867  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         DEC D 
-         DEC D 
-         RET 
-   
- S31844  INC E 
-         RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-   
- S3187   INC E 
- S3188   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S3189   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         DEC D 
-         RET 
-          
- S31892  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         DEC D 
-         DEC D 
-         RET 
-   
- S319    DB 0xCB,0x31;SLI C 
-         JP NC,S3190 
-         JP S3191 
-   
- S3195   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-   
- S3192   JR Z,S3195 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S3196 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S31966 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S31967 
- S3191   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S3192 
-         JR Z,S3199 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S31993 
-         LD (DE),A 
-         INC E 
-         JP NZ,S3190 
-         JP S31994 
-   
- S3193   JR Z,S3198 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S3199 
- S31933  LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S31993 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S31994 
- S3190   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         LD (DE),A 
-         INC E 
-         JP C,S3193 
-         JP NZ,S3192 
-         RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S3196   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         RET 
-          
- S31966  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         DEC D 
-         RET 
-          
- S31967  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         DEC D 
-         DEC D 
-         RET 
-   
- S3198   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S3199   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         RET 
-          
- S31993  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         DEC D 
-         RET 
-          
- S31994  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         DEC D 
-         DEC D 
-         DEC D 
-         RET 
-   
- ;INCLUDE "SGEN4.a80" 
- S4_     LD D,C 
-         PUSH DE 
-         LD D,B 
-         EXX 
-         POP BC 
- S41     SLA B 
-         JP C,S418 
-         DB 0xCB,0x31;SLI C 
-         LD IYH,B 
-         JP C,S4101 
-         JP S4100 
-   
- S4102   JR Z,S4104 
- S410A   INC E 
-         JR Z,S4105 
-         LD B,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYL,A 
-         ADD A,B 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S41052 
-         LD A,IYL 
-         LD (DE),A 
-         INC E 
-         JR Z,S41053 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S41054 
- S4100   LD A,C 
-         ADD A,IYH 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP NC,S4102 
-         JR Z,S4106 
-         INC E 
-         JR Z,S4107 
-         LD (DE),A 
-         INC E 
-         JP NZ,S41033 
-         JP S4109 
- S4103   JR Z,S4108 
-         INC E 
-         JR Z,S4109 
- S41033  LD B,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYL,A 
-         ADD A,B 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S41092 
-         LD A,IYL 
-         LD (DE),A 
-         INC E 
-         JR Z,S41093 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S41094 
- S4101   LD A,C 
-         ADD A,IYH 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP NC,S4103 
-         JP NZ,S410A 
- S4104   INC E 
- S4105   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S41052  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S41053  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S41054  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-          
- S4106   INC E 
- S4107   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S4108   INC E 
- S4109   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S41092  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S41093  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S41094  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S418    DB 0xCB,0x31;SLI C 
-         JP NC,S4180 
-         JP S4181 
-   
- S4184   INC E 
- S4185   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S41844  INC E 
-         RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-   
- S4182   JR Z,S4184 
-         INC E 
- S41822  JR Z,S4185 
- S418222 LD (DE),A 
-         INC E 
-         JR Z,S4186 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S41866 
-         LD (DE),A 
-         INC E 
-         JR Z,S41867 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S41868 
- S4181   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP C,S4182 
-         JR Z,S41871 
-         JP S41831 
- S4183   JR Z,S4187 
-         INC E 
-         JR Z,S4188 
-         LD (DE),A 
- S41831  INC E 
-         JR Z,S4189 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S41891 
-         LD (DE),A 
-         INC E 
-         JR Z,S41892 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S41893 
- S4180   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP C,S4183 
-         JR Z,S41844 
-         INC E 
-         JP NZ,S418222 
-         RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S4186   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S41866  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S41867  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S41868  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S4187   INC E 
- S4188   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S4189   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S41871  INC E 
- S41891  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S41892  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S41893  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- ;INCLUDE "SGEN5.a80" 
- S5_     LD D,C 
-         PUSH DE 
-         LD D,B 
-         EXX 
-         POP BC 
- S51     SLA B 
-         JP C,S518 
-         DB 0xCB,0x31;SLI C 
-         JP C,S5101 
-         JP S5100 
-   
- S5102   JR Z,S5104 
- S510A   INC E 
-         JR Z,S5105 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S51052 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S51053 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S51054 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S51055 
- S5100   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP NC,S5102 
-         JR Z,S5106 
-         INC E 
-         JR Z,S5107 
-         LD (DE),A 
-         DEC E 
-         INC E 
- S5103   JR Z,S5108 
-         INC E 
-         JR Z,S5109 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S51092 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S51093 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S51094 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S51095 
- S5101   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP NC,S5103 
-         JP NZ,S510A 
- S5104   INC E 
- S5105   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S51052  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S51053  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S51054  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S51055  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-          
- S5106   INC E 
- S5107   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S5108   INC E 
- S5109   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S51092  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S51093  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S51094  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S51095  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S518    DB 0xCB,0x31;SLI C 
-         JP NC,S5180 
-         JP S5181 
-   
- S5184   INC E 
- S5185   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S5186   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S51866  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S51867  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S51868  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S51869  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S5182   JR Z,S5184 
-         INC E 
- S51822  JR Z,S5185 
- S518222 LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S5186 
-         ADD A,IYH 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S51866 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S51867 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S51868 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S51869 
- S5181   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP C,S5182 
-         JR Z,S51871 
-         JP S51831 
- S5183   JR Z,S5187 
-         INC E 
-         JR Z,S5188 
-         LD (DE),A 
- S51831  INC E 
-         JR Z,S5189 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S51891 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S51892 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S51893 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S51894 
- S5180   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP C,S5183 
-         JR Z,S51844 
-         INC E 
-         JP NZ,S518222 
-         RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-   
- S51844  INC E 
-         RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-   
- S5187   INC E 
- S5188   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S5189   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S51871  INC E 
- S51891  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S51892  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S51893  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S51894  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- ;INCLUDE "SGEN6.a80" 
- S6_     LD D,C 
-         PUSH DE 
-         LD D,B 
-         EXX 
-         POP BC 
- S61     SLA B 
-         JP C,S618 
-         DB 0xCB,0x31;SLI C 
-         JP C,S6101 
-         JP S6100 
-   
- S61052  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S61053  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S61054  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S61055  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S61056  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S6102   JR Z,S6104 
- S610A   INC E 
-         JR Z,S6105 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61052 
-         ADD A,IYH 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61053 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S61054 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61055 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61056 
- S6100   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP NC,S6102 
-         JR Z,S6106 
-         INC E 
-         JR Z,S6107 
-         LD (DE),A 
-         DEC E 
-         INC E 
- S6103   JR Z,S6108 
-         INC E 
-         JR Z,S6109 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61092 
-         ADD A,IYH 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61093 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S61094 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61095 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61096 
- S6101   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP NC,S6103 
-         JP NZ,S610A 
- S6104   INC E 
- S6105   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,5 
-         RET 
-          
- S6106   INC E 
- S6107   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S6108   INC E 
- S6109   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,5 
-         RET 
-          
- S61092  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S61093  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S61094  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S61095  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S61096  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S618    DB 0xCB,0x31;SLI C 
-         JP NC,S6180 
-         JP S6181 
-   
- S6184   INC E 
- S6185   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S6186   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,5 
-         RET 
-          
- S61866  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S61867  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S61868  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S61869  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S6186A  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S6182   JR Z,S6184 
-         INC E 
- S61822  JR Z,S6185 
- S618222 LD (DE),A 
-         INC E 
-         JR Z,S6186 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61866 
-         ADD A,IYH 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61867 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S61868 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61869 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S6186A 
- S6181   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP C,S6182 
-         JR Z,S61871 
-         JP S61831 
- S6183   JR Z,S6187 
-         INC E 
-         JR Z,S6188 
-         LD (DE),A 
- S61831  INC E 
-         JR Z,S6189 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61891 
-         ADD A,IYH 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61892 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S61893 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61894 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S61895 
- S6180   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP C,S6183 
-         JR Z,S61844 
-         INC E 
-         JP NZ,S618222 
-         RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-   
- S61844  INC E 
-         RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-   
- S6187   INC E 
- S6188   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S6189    SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,5 
-         RET 
-   
- S61871  INC E 
- S61891  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S61892  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S61893  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S61894  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S61895  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- ;INCLUDE "SGEN7.a80" 
- S7_     LD D,C 
-         PUSH DE 
-         LD D,B 
-         EXX 
-         POP BC 
- S71     SLA B 
-         JP C,S718 
-         DB 0xCB,0x31;SLI C 
-         JP C,S7101 
-         JP S7100 
-   
- S71052  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,5 
-         RET 
-          
- S71053  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S71054  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S71055  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S71056  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S71057  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S7102   JR Z,S7104 
- S710A   INC E 
-         JR Z,S7105 
-         LD (DE),A 
-         INC E 
-         JR Z,S71052 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71053 
-         ADD A,IYH 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71054 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S71055 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71056 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71057 
- S7100   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP NC,S7102 
-         JR Z,S7106 
-         INC E 
-         JR Z,S7107 
-         LD (DE),A 
-         DEC E 
-         INC E 
- S7103   JR Z,S7108 
-         INC E 
-         JR Z,S7109 
-         LD (DE),A 
-         INC E 
-         JR Z,S71092 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71093 
-         ADD A,IYH 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71094 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S71095 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71096 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71097 
- S7101   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP NC,S7103 
-         JP NZ,S710A 
- S7104   INC E 
- S7105   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,6 
-         RET 
-          
- S7106   INC E 
- S7107   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S7108   INC E 
- S7109   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,6 
-         RET 
-          
- S71092  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,5 
-         RET 
-          
- S71093  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S71094  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S71095  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S71096  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S71097  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S718    DB 0xCB,0x31;SLI C 
-         JP NC,S7180 
-         JP S7181 
-   
- S7184   INC E 
- S7185   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S7186   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,6 
-         RET 
-          
- S71866  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,5 
-         RET 
-          
- S71867  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S71868  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S71869  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S7186A  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S7186B  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S7182   JR Z,S7184 
-         INC E 
- S71822  JR Z,S7185 
- S718222 LD (DE),A 
-         INC E 
-         JR Z,S7186 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71866 
-         ADD A,IYH 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71867 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S71868 
-         LD (DE),A 
-         INC E 
-         JR Z,S71869 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S7186A 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S7186B 
- S7181   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP C,S7182 
-         JR Z,S71871 
-         JP S71831 
- S7183   JR Z,S7187 
-         INC E 
-         JR Z,S7188 
-         LD (DE),A 
- S71831  INC E 
-         JR Z,S7189 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71891 
-         ADD A,IYH 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71892 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S71893 
-         LD (DE),A 
-         INC E 
-         JR Z,S71894 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71895 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S71896 
- S7180   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP C,S7183 
-         JR Z,S71844 
-         INC E 
-         JP NZ,S718222 
-         RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-   
- S71844  INC E 
-         RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-   
- S7187   INC E 
- S7188   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S7189   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,6 
-         RET 
-          
- S71871  INC E 
- S71891  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,5 
-         RET 
-          
- S71892  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S71893  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S71894  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S71895  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S71896  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- ;INCLUDE "SGEN8.a80" 
- S8_     LD D,C 
-         PUSH DE 
-         LD D,B 
-         EXX 
-         POP BC 
- S81     SLA B 
-         JP C,S818 
-         DB 0xCB,0x31;SLI C 
-         JP C,S8101 
-         JP S8100 
-   
- S81052  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,6 
-         RET 
-          
- S81053  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,5 
-         RET 
-          
- S81054  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S81055  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S81056  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S81057  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S81058  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S8102   JP Z,S8104 
- S810A   INC E 
-         JP Z,S8105 
-         LD (DE),A 
-         INC E 
-         JR Z,S81052 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81053 
-         ADD A,IYH 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81054 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S81055 
-         LD (DE),A 
-         INC E 
-         JR Z,S81056 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81057 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81058 
- S8100   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP NC,S8102 
-         JR Z,S8106 
-         INC E 
-         JR Z,S8107 
-         LD (DE),A 
-         DEC E 
-         INC E 
- S8103   JR Z,S8108 
-         INC E 
-         JR Z,S8109 
-         LD (DE),A 
-         INC E 
-         JR Z,S81092 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81093 
-         ADD A,IYH 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81094 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S81095 
-         LD (DE),A 
-         INC E 
-         JR Z,S81096 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81097 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81098 
- S8101   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP NC,S8103 
-         JP NZ,S810A 
- S8104   INC E 
- S8105   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,7 
-         RET 
-          
- S8106   INC E 
- S8107   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S8108   INC E 
- S8109   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,7 
-         RET 
-          
- S81092  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,6 
-         RET 
-          
- S81093  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,5 
-         RET 
-          
- S81094  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S81095  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S81096  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S81097  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S81098  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S818    DB 0xCB,0x31;SLI C 
-         JP NC,S8180 
-         JP S8181 
-   
- S8184   INC E 
- S8185   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S8186   RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,7 
-         RET 
-          
- S81866  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,6 
-         RET 
-          
- S81867  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,5 
-         RET 
-          
- S81868  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S81869  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S8186A  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S8186B  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S8186C  RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- S8182   JR Z,S8184 
-         INC E 
- S81822  JR Z,S8185 
- S818222 LD (DE),A 
-         INC E 
-         JR Z,S8186 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81866 
-         ADD A,IYH 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81867 
-         LD (DE),A 
-         INC E 
-         JR Z,S81868 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S81869 
-         LD (DE),A 
-         INC E 
-         JR Z,S8186A 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S8186B 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S8186C 
- S8181   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP C,S8182 
-         JR Z,S81871 
-         JP S81831 
- S8183   JR Z,S8187 
-         INC E 
-         JR Z,S8188 
-         LD (DE),A 
- S81831  INC E 
-         JR Z,S8189 
-         LD IYL,A 
-         ADD A,(HL) 
-         RRA 
-         LD IYH,A 
-         ADD A,IYL 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81891 
-         ADD A,IYH 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81892 
-         LD (DE),A 
-         INC E 
-         JR Z,S81893 
-         LD A,IYH 
-         LD (DE),A 
-         INC E 
-         JR Z,S81894 
-         LD (DE),A 
-         INC E 
-         JR Z,S81895 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81896 
-         ADD A,(HL) 
-         RRA 
-         LD (DE),A 
-         INC E 
-         JR Z,S81897 
- S8180   LD A,C 
-         ADD A,B 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         DEC IXL 
-         LD (DE),A 
-         JP C,S8183 
-         JR Z,S81844 
-         INC E 
-         JP NZ,S818222 
-         RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-   
- S81844  INC E 
-         RRC C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-   
- S8187   INC E 
- S8188   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         RET 
-          
- S8189   SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,7 
-         RET 
-          
- S81871  INC E 
- S81891  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,6 
-         RET 
-          
- S81892  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,5 
-         RET 
-          
- S81893  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,4 
-         RET 
-          
- S81894  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,3 
-         RET 
-          
- S81895  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,2 
-         RET 
-          
- S81896  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,1 
-         RET 
-          
- S81897  SRL C 
-         LD IYL,C 
-         EXX 
-         LD E,IYL 
-         LD D,0 
-         RET 
-   
- ;___END 
- ;       ENDMODULE 
-   
-         ORG GSRomBaseL+0x3E00 
- DIVTAB3  
- ;INCLUDE "_DIVTAB3.a80"                                 0x10*0x20=0x200 
-         DB 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x05,0x05,0x06,0x07,0x07,0x08,0x09,0x09,0x0A 
-         DB 0x0B,0x0B,0x0C,0x0D,0x0D,0x0E,0x0F,0x0F,0x10,0x11,0x11,0x12,0x13,0x13,0x14,0x15 
-         DB 0x15,0x16,0x17,0x17,0x18,0x19,0x19,0x1A,0x1B,0x1B,0x1C,0x1D,0x1D,0x1E,0x1F,0x1F 
-         DB 0x20,0x21,0x21,0x22,0x23,0x23,0x24,0x25,0x25,0x26,0x27,0x27,0x28,0x29,0x29,0x2A 
-         DB 0x2B,0x2B,0x2C,0x2D,0x2D,0x2E,0x2F,0x2F,0x30,0x31,0x31,0x32,0x33,0x33,0x34,0x35 
-         DB 0x35,0x36,0x37,0x37,0x38,0x39,0x39,0x3A,0x3B,0x3B,0x3C,0x3D,0x3D,0x3E,0x3F,0x3F 
-         DB 0x40,0x41,0x41,0x42,0x43,0x43,0x44,0x45,0x45,0x46,0x47,0x47,0x48,0x49,0x49,0x4A 
-         DB 0x4B,0x4B,0x4C,0x4D,0x4D,0x4E,0x4F,0x4F,0x50,0x51,0x51,0x52,0x53,0x53,0x54,0x55 
-         DB 0x55,0x56,0x57,0x57,0x58,0x59,0x59,0x5A,0x5B,0x5B,0x5C,0x5D,0x5D,0x5E,0x5F,0x5F 
-         DB 0x60,0x61,0x61,0x62,0x63,0x63,0x64,0x65,0x65,0x66,0x67,0x67,0x68,0x69,0x69,0x6A 
-         DB 0x6B,0x6B,0x6C,0x6D,0x6D,0x6E,0x6F,0x6F,0x70,0x71,0x71,0x72,0x73,0x73,0x74,0x75 
-         DB 0x75,0x76,0x77,0x77,0x78,0x79,0x79,0x7A,0x7B,0x7B,0x7C,0x7D,0x7D,0x7E,0x7F,0x7F 
-         DB 0x80,0x81,0x81,0x82,0x83,0x83,0x84,0x85,0x85,0x86,0x87,0x87,0x88,0x89,0x89,0x8A 
-         DB 0x8B,0x8B,0x8C,0x8D,0x8D,0x8E,0x8F,0x8F,0x90,0x91,0x91,0x92,0x93,0x93,0x94,0x95 
-         DB 0x95,0x96,0x97,0x97,0x98,0x99,0x99,0x9A,0x9B,0x9B,0x9C,0x9D,0x9D,0x9E,0x9F,0x9F 
-         DB 0xA0,0xA1,0xA1,0xA2,0xA3,0xA3,0xA4,0xA5,0xA5,0xA6,0xA7,0xA7,0xA8,0xA9,0xA9,0xAA 
-         DB 0x55,0x56,0x57,0x57,0x58,0x59,0x59,0x5A,0x5B,0x5B,0x5C,0x5D,0x5D,0x5E,0x5F,0x5F 
-         DB 0x60,0x61,0x61,0x62,0x63,0x63,0x64,0x65,0x65,0x66,0x67,0x67,0x68,0x69,0x69,0x6A 
-         DB 0x6B,0x6B,0x6C,0x6D,0x6D,0x6E,0x6F,0x6F,0x70,0x71,0x71,0x72,0x73,0x73,0x74,0x75 
-         DB 0x75,0x76,0x77,0x77,0x78,0x79,0x79,0x7A,0x7B,0x7B,0x7C,0x7D,0x7D,0x7E,0x7F,0x7F 
-         DB 0x80,0x81,0x81,0x82,0x83,0x83,0x84,0x85,0x85,0x86,0x87,0x87,0x88,0x89,0x89,0x8A 
-         DB 0x8B,0x8B,0x8C,0x8D,0x8D,0x8E,0x8F,0x8F,0x90,0x91,0x91,0x92,0x93,0x93,0x94,0x95 
-         DB 0x95,0x96,0x97,0x97,0x98,0x99,0x99,0x9A,0x9B,0x9B,0x9C,0x9D,0x9D,0x9E,0x9F,0x9F 
-         DB 0xA0,0xA1,0xA1,0xA2,0xA3,0xA3,0xA4,0xA5,0xA5,0xA6,0xA7,0xA7,0xA8,0xA9,0xA9,0xAA 
-         DB 0xAB,0xAB,0xAC,0xAD,0xAD,0xAE,0xAF,0xAF,0xB0,0xB1,0xB1,0xB2,0xB3,0xB3,0xB4,0xB5 
-         DB 0xB5,0xB6,0xB7,0xB7,0xB8,0xB9,0xB9,0xBA,0xBB,0xBB,0xBC,0xBD,0xBD,0xBE,0xBF,0xBF 
-         DB 0xC0,0xC1,0xC1,0xC2,0xC3,0xC3,0xC4,0xC5,0xC5,0xC6,0xC7,0xC7,0xC8,0xC9,0xC9,0xCA 
-         DB 0xCB,0xCB,0xCC,0xCD,0xCD,0xCE,0xCF,0xCF,0xD0,0xD1,0xD1,0xD2,0xD3,0xD3,0xD4,0xD5 
-         DB 0xD5,0xD6,0xD7,0xD7,0xD8,0xD9,0xD9,0xDA,0xDB,0xDB,0xDC,0xDD,0xDD,0xDE,0xDF,0xDF 
-         DB 0xE0,0xE1,0xE1,0xE2,0xE3,0xE3,0xE4,0xE5,0xE5,0xE6,0xE7,0xE7,0xE8,0xE9,0xE9,0xEA 
-         DB 0xEB,0xEB,0xEC,0xED,0xED,0xEE,0xEF,0xEF,0xF0,0xF1,0xF1,0xF2,0xF3,0xF3,0xF4,0xF5 
-         DB 0xF5,0xF6,0xF7,0xF7,0xF8,0xF9,0xF9,0xFA,0xFB,0xFB,0xFC,0xFD,0xFD,0xFE,0xFF,0xFF 
-   
- ___LEND 
-   
-         ; HIGH ROM INCLUDES 
-         PHASE GSRomBaseH 
-   
- ;INCLUDE "INIT_H.a80" 
-   
- INITVAR DI 
- ;---patched 
-         CALL Patch5i1 
- ;--- 
-         EX AF,AF' 
-         LD A,(NUMPG) 
-         LD SP,0x8000 
-         LD HL,0x8080 
-         LD B,0x00 
- INITV00 REPT 16 
-         PUSH HL 
-         ENDM 
-         DJNZ INITV00 
-         LD HL,0x0000 
-         LD B,0xFC;0xFE  ; ОЧИЩАТЬ ПАМЯТЬ НЕ НИЖЕ 00x4080 ЧТОБЫ НЕ УНИЧТОЖАТЬ ТАБЛИЦУ СТРАНИЦ 
- INITV01 REPT 16 
-         PUSH HL 
-         ENDM 
-         DJNZ INITV01 
-         LD SP,ISTACK 
-         LD (NUMPG),A 
-         EX AF,AF' 
- ;---patched 
-         CALL Patch5i2 
- ;--- 
-         LD A,0x00 
-         LD (INFO),A 
-         XOR A 
-         LD (ROMPG),A 
-         LD HL,DAC0 
-         LD A,(HL) 
-         INC H 
-         LD A,(HL) 
-         INC H 
-         LD A,(HL) 
-         INC H 
-         LD A,(HL) 
-         LD A,0x3F 
-         OUT (VOL1),A 
-         OUT (VOL2),A 
-         OUT (VOL3),A 
-         OUT (VOL4),A 
-         LD HL,CHNVOL 
-         LD DE,CHNVOL+1 
-         LD BC,0x0007 
-         LD (HL),0xBF 
-         LDIR 
-         LD A,HIGH (INTTAB) 
-         LD I,A 
-         LD HL,INT7 
-         LD DE,INTAREA 
-         LD BC,0x0017 
-         LDIR 
-         EX DE,HL 
-         LD (HL),0xC3 
-         INC L 
-         LD (HL),LOW (INT7) 
-         INC L 
-         LD (HL),HIGH (INT7) 
-         LD HL,QTMAP 
-         LD (QTFREE),HL 
-         LD (QTBUSY),HL 
-         LD DE,QTMAP+1 
-         LD BC,0x001F 
-         LD (HL),B 
-         LDIR 
-         LD HL,VOLTAB 
-         LD DE,VOLTAB+1 
-         LD BC,0x001F 
-         LD (HL),0x3F 
-         LDIR 
-         LD HL,VOLRQTB 
-         LD DE,VOLRQTB+1 
-         LD BC,0x0007 
-         LD (HL),0x3F 
-         LDIR 
-         LD A,0x0F 
-         LD (GSCHNS),A 
-         LD (MTCHNS),A 
-         LD A,0x40 
-         LD (MODVOL),A 
-         LD (FXMVOL),A 
-         LD (FXVOL),A 
-         LD A,%11000011 
-         LD (MTSTAT),A 
-         XOR A 
-         LD (MODULE),A 
-         LD A,(NUMPG) 
-         SRL A 
-         LD B,A 
-         LD HL,0x8000 
-         RR H 
-         LD A,B 
-         LD (RAMTOP),HL 
-         LD (RAMTOP+2),A 
-         LD (PTRC),HL 
-         LD (PTRC+2),A 
-         LD (PTRB),HL 
-         LD (PTRB+2),A 
-         LD (PTRA),HL 
-         LD (PTRA+2),A 
-         LD (PTR9),HL 
-         LD (PTR9+2),A 
-         LD (PTR8),HL 
-         LD (PTR8+2),A 
-         LD (PTR7),HL 
-         LD (PTR7+2),A 
-         LD (PTR6),HL 
-         LD (PTR6+2),A 
-         LD (PTR5),HL 
-         LD (PTR5+2),A 
-         LD (MEMTOP),HL 
-         LD (MEMTOP+2),A 
-         LD (PTR4),HL 
-         LD (PTR4+2),A 
-         LD IY,CHANSFX 
-         LD (CURCHAN),IY 
-         LD BC,0x0801 
-         LD DE,CHANLEN 
- INITV03 LD (IY+CHSTAT),0x40 
-         LD (IY+CHRDR),C 
-         LD (IY+CHRDRI),C 
-         LD A,0x08 
-         SUB B 
-         LD (IY+CHRDN),A 
-         AND 0x02 
-         JR Z,INITV05 
-         SET 5,(IY+CHSTAT) 
- INITV05 LD (IY+CHFLAGS),0x00 
-         LD (IY+CHPORT),0x01 
-         LD (IY+CHVIBCM),0x11 
-         LD (IY+CHTRMCM),0x11 
-         LD (IY+CHOFFST),0x01 
-         LD (IY+CHWNT),0x7F 
-         LD (IY+CHOLDV),0x80 
-         LD (IY+CHEPAN),0x20 
-         LD (IY+CHEVOL),0x40 
-         RLC C 
-         ADD IY,DE 
-         DJNZ INITV03 
-         LD IY,CHANS 
-         LD B,0x08 
- INITV04 LD (IY+CHSTAT),0x00 
-         LD (IY+CHFLAGS),0x00 
-         LD (IY+CHPORT),0x01 
-         LD (IY+CHVIBCM),0x11 
-         LD (IY+CHTRMCM),0x11 
-         LD (IY+CHOFFST),0x01 
-         LD (IY+CHWNT),0x7F 
-         LD (IY+CHOLDV),0x80 
-         LD (IY+CHEPAN),0x20 
-         LD (IY+CHEVOL),0x40 
-         ADD IY,DE 
-         DJNZ INITV04 
-         LD IY,CHANS 
-         LD (IY+CHSTAT),0x00 
-         LD (IY+CHRDR),0x01 
-         LD (IY+CHRDRI),0x01 
-         LD (IY+CHRDN),0x00 
-         ADD IY,DE 
-         LD (IY+CHSTAT),0x20 
-         LD (IY+CHRDR),0x04 
-         LD (IY+CHRDRI),0x04 
-         LD (IY+CHRDN),0x02 
-         ADD IY,DE 
-         LD (IY+CHSTAT),0x20 
-         LD (IY+CHRDR),0x08 
-         LD (IY+CHRDRI),0x08 
-         LD (IY+CHRDN),0x03 
-         ADD IY,DE 
-         LD (IY+CHSTAT),0x00 
-         LD (IY+CHRDR),0x02 
-         LD (IY+CHRDRI),0x02 
-         LD (IY+CHRDN),0x01 
-         LD HL,750 
-         LD (TICKLEN),HL 
-         LD (TCKLEFT),HL 
-         LD (FXTICK),HL 
-         LD (FXTCLEN),HL 
-         LD IXH,0x80 
-         LD DE,0x0000 
-         IN A,(ZXDATRD) 
-         JP COMINT 
-   
- ; B - NUMBER OF CHANNELS 
-   
- INITCHN LD HL,(0xEC60) 
-         LD (IY+CHPERL),L  ; C-4 
-         LD (IY+CHPERH),H 
-         LD HL,(0xE060) 
-         LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         LD (IY+CHNOTE),48 
-         LD (IY+CHFLAGS),0x00 
-         LD (IY+CHREAL),0x7F 
-         LD (IY+CHCNTL),0x00 
-         LD (IY+CHCNTH),0x00 
-         LD (IY+CHINS),0x00 
-         LD (IY+CHSMP),0x00 
-         LD (IY+CHCOM),0x00 
-         LD (IY+CHPARM),0x00 
-         LD (IY+CHVIBPS),0x00 
-         LD (IY+CHTRMPS),0x00 
-         LD (IY+CHPATPS),0x00 
-         LD (IY+CHLPCNT),0x00 
-         LD A,B 
-         LD BC,CHANLEN 
-         ADD IY,BC 
-         LD B,A 
-         DJNZ INITCHN 
-         RET 
-   
- ;INCLUDE "COM_H.a80" 
-   
- HGET    IN A,(ZXSTAT) 
-         AND 0x81 
-         JR Z,HGET 
-         IN A,(ZXDATRD) 
-         RET M 
-         JP COMINT 
-   
- HSEND   IN A,(ZXSTAT) 
-         OR A 
-         RET P 
-         RRCA 
-         JP NC,HSEND 
-         JP COMINT 
-   
- HTAIL   LD HL,HTAIL2 
- HTAIL2  IN A,(ZXSTAT) 
-         AND 0x81 
-         JR Z,HTAIL2 
-         RRCA 
-         JR C,HTAIL3 
-         IN A,(ZXDATRD) 
-         JP (HL) 
- HTAIL3  IN A,(ZXCMD) 
-         CP 0xE0 
-         JP NC,COMINT 
-         CP 0xD0 
-         JP C,COMINT 
-         JR Z,HTAIL5 
-         CP 0xD1 
-         JR Z,HTAIL6 
-         XOR A 
- HTAIL4  OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
- HTAIL6  OUT (CLRCBIT),A 
-         JP (HL) 
- HTAIL5  LD A,(ERRCODE) 
-         JR HTAIL4 
-   
- ERR30 
- ERR20 
- ERR10   LD A,0x10        ;NOT ENOUGH FREE SPACE 
-         JR ERR 
-          
- ERR11   LD A,0x11        ;NOT ENOUGH FREE ENTRIES 
-         JR ERR 
-   
- ERR     LD (ERRCODE),A 
-         JP COMINT 
-   
- ;Get total RAM 
- ;Получить общий объем доступной памяти на GS. (В базовой версии это 112к) 
- COM20   LD DE,(RAMBOT) 
-         LD A,(RAMBOT+2) 
-         LD C,A 
-         LD HL,(RAMTOP) 
-         LD A,(RAMTOP+2) 
-         OR A 
-         SBC HL,DE 
-         SBC A,C 
-         LD C,A 
-         LD A,L 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         CALL HSEND 
-         LD A,H 
-         OUT (ZXDATWR),A 
-         CALL HSEND 
-         LD A,C 
-         OUT (ZXDATWR),A 
-         RET 
-   
- ;Get free RAM 
- ;Получить общий об'ем свободной памяти на GS. 
- COM21   LD DE,(MEMBOT) 
-         LD A,(MEMBOT+2) 
-         LD C,A 
-         LD HL,(MEMTOP) 
-         LD A,(MEMTOP+2) 
-         OR A 
-         SBC HL,DE 
-         SBC A,C 
-         LD C,A 
-         LD A,L 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         XOR A 
-         LD (ERRCODE),A 
-         CALL HSEND 
-         LD A,H 
-         OUT (ZXDATWR),A 
-         CALL HSEND 
-         LD A,C 
-         OUT (ZXDATWR),A 
-         RET 
-   
- ;Get free RAM 
- ;Получить общий об'ем свободной памяти на GS. 
- COM22   IN A,(ZXDATRD) 
-         LD E,A 
-         LD D,HIGH (RAMPG) 
-         LD A,(DE) 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         RET 
-   
- ;Get number of RAM Pages 
- ;Получить число страниц на  GS. 
- COM23   LD A,(NUMPG) 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         RET 
-   
- ;Set Module Master Volume 
- ;Установить громкость проигрывания модулей. 
- COM2A   LD A,(MODVOL) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         CP 0x40 
-         JR C,COM2A_ 
-         LD A,0x40 
- COM2A_  LD (MODVOL),A 
-         LD IY,CHANS 
-         LD B,0x08 
-         LD DE,CHANLEN 
- COM2A__ SET 0,(IY+CHSTAT) 
-         ADD IY,DE 
-         DJNZ COM2A__ 
-         RET 
-   
- ;Set FX Master Volume 
- ;Установить громкость проигрывания эффектов. 
- COM2B   LD A,(FXVOL) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         CP 0x40 
-         JR C,COM2B_ 
-         LD A,0x40 
- COM2B_  LD (FXVOL),A 
-         LD IY,CHANSFX 
-         LD B,0x08 
-         LD DE,CHANLEN 
- COM2B__ SET 0,(IY+CHSTAT) 
-         ADD IY,DE 
-         DJNZ COM2B__ 
-         RET 
-   
- COM2C   LD A,(CURMOD) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         OR A 
-         JR Z,COM2C_ 
-         LD B,A 
-         LD A,(CNTMOD) 
-         CP B 
-         JR C,COM2C__ 
-         LD A,B 
-         LD (CURMOD),A 
-         RET 
-          
- COM2C_  LD A,(CNTMOD) 
-         LD (CURMOD),A 
-         RET 
-          
- COM2C__ XOR A 
-         LD (CURMOD),A 
-         RET 
-   
- COM2D   LD A,(CURSMP) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         OR A 
-         JR Z,COM2D_ 
-         LD B,A 
-         LD A,(CNTSMP) 
-         CP B 
-         JR C,COM2D__ 
-         LD A,B 
-         LD (CURSMP),A 
-         RET 
-          
- COM2D_  LD A,(CNTSMP) 
-         LD (CURSMP),A 
-         RET 
-          
- COM2D__ XOR A 
-         LD (CURSMP),A 
-         RET 
-   
- ;Set Current FX 
- ;Установить текущий эффект. Просто присваивает переменной CURFX это зна- 
- ;чение. Если какая-либо команда требует номер сэмпла (sample handle), то 
- ;можно вместо этого номера подать ей 0x00 и интерпретатор подставит вмес- 
- ;то этого нуля значение переменной CURFX. (См. команды 0x38, 0x39, 0x40-0x4F 
- ;для понимания вышеизложенного.) 
- COM2E   LD A,(CURFX) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         OR A 
-         JR Z,COM2E_ 
-         LD B,A 
-         LD A,(CNTFX) 
-         CP B 
-         JR C,COM2E__ 
-         LD A,B 
-         LD (CURFX),A 
-         RET 
-          
- COM2E_  LD A,(CNTFX) 
-         LD (CURFX),A 
-         RET 
-          
- COM2E__ XOR A 
-         LD (CURFX),A 
-         RET 
-   
- COM2F   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD E,A 
-         CALL HGET 
-         LD D,A 
-         OR E 
-         JR Z,COM2F_ 
-         LD HL,(CNTTRK) 
-         SBC HL,DE 
-         JR C,COM2F__ 
-         LD (CURTRK),DE 
-         RET 
-          
- COM2F_  LD HL,(CNTTRK) 
-         LD (CURTRK),HL 
-         RET 
-          
- COM2F__ LD HL,0x0000 
-         LD (CURTRK),HL 
-         RET 
-   
- ;Load Module 
- ;Загрузка модуля в память. 
- COM30   LD A,(CNTMOD) 
-         OR A 
-         JP NZ,INITVAR 
-         INC A 
-         LD (CNTMOD),A 
-         LD (CURMOD),A 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD C,0x00 
-         CALL LOAD 
- LDMOD   LD A,0x00               ;0xC3F8 
-         LD (CONVERT),A 
- ;---patched 
-         CALL Patch5x 
- ;--- 
-         RET 
-   
- ;Jump to position (*) 
- ;Делает переход на заданную позицию. 
- COM65   IN A,(ZXDATRD) 
-         LD C,A 
-         LD A,(CURMOD) 
-         LD B,A 
-         JP COM65_ 
-   
- ;Play module 
- ;Проигрывание модуля. 
- COM31   IN A,(ZXDATRD) 
-         OR A 
-         JR NZ,COM31_ 
-         LD A,(CURMOD) 
-         OR A 
-         JP Z,COM31_1 
- COM31_  LD B,A 
-         LD A,(CNTMOD) 
-         CP B 
-         JP C,COM31_2 
-         LD A,B 
-         LD C,0x00 
- COM65_  OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
- PLAYMOD LD A,(BUSY)             ;0xC426 
-         PUSH AF 
-         LD A,0xFF 
-         LD (BUSY),A 
-         LD A,B 
-         LD (MODULE),A 
-         LD (CURMOD),A 
-         LD A,%00000011 
-         LD (MTSTAT),A 
-         LD A,0x06 
-         LD (MTSPEED),A 
-         LD A,C 
-         LD (MTSNGPS),A 
-         XOR A 
-         LD (MTFLAGS),A 
-         LD (MTCOUNT),A 
-         LD (MTPATPS),A 
-         LD (MTPDT),A 
-         LD (MTPDT2),A 
-         LD (MTBRKFL),A 
-         LD (MTBRKPS),A 
-         LD (MTJMPFL),A 
-         INC A 
-         LD (MTTYPE),A 
-         LD A,0x40 
-         LD (MTVOL),A 
-         DEC A 
-         LD (MTROWS),A 
-         LD A,125 
-         CALL FXF 
-         LD IY,CHANS 
-         LD B,0x08 
-         LD DE,CHANLEN 
- COM31__ RES 7,(IY+CHSTAT) 
-         SET 0,(IY+CHSTAT) 
-         LD (IY+CHVOL),0x40 
-         LD (IY+CHMVOL),0x40 
-         ADD IY,DE 
-         DJNZ COM31__ 
-         CALL INITPAT 
-         CALL EFXGTNT 
-         LD A,0xFF 
-         LD (PROCESS),A 
-         POP AF 
-         LD (BUSY),A 
-         RET 
-   
- COM31_1 
- COM31_2 XOR A 
-         LD (CURMOD),A 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         RET 
-   
- ;Stop module 
- ;Остановить проигрывание модуля. 
- COM32   LD A,(MODULE) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
- STOPMOD LD HL,MTSTAT            ;0xC4AE 
-         SET 7,(HL) 
-         RET 
-   
- ;Continue module 
- ;Продолжить проигрывание модуля после остановки. 
- COM33   LD A,(MODULE) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
- CONTMOD LD A,(MODULE)           ;0xC4BD 
-         OR A 
-         RET Z 
-         LD HL,MTSTAT 
-         BIT 6,(HL) 
-         RET NZ 
-         LD A,0xFF 
-         LD (PROCESS),A 
-         RES 7,(HL) 
-         LD (PROCESS),A 
-         RET 
-   
- COM34   LD A,(MODFADE) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD (MODFADE),A 
-         RET 
-   
- ;Set Module Volume 
- ;Установить громкость проигрывания модулей. 
- COM35   LD A,(MTVOL) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         CP 0x40 
-         JR C,COM35_ 
-         LD A,0x40 
- COM35_  LD (MTVOL),A 
-         LD IY,CHANS 
-         LD B,0x08 
-         LD DE,CHANLEN 
- COM35__ SET 0,(IY+CHSTAT) 
-         ADD IY,DE 
-         DJNZ COM35__ 
-         RET 
-   
- ;Data on (*) 
- ;Устанавливает регистр данных в 0xFF. 
- COM36   LD A,0xFF 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         RET 
-   
- ;Reinitialisation (*) 
- ;Переустанавливает внутренние переменные в исходное состояние. 
- COM37   OUT (CLRCBIT),A 
-         LD HL,MTSTAT 
-         SET 7,(HL) 
-         LD HL,0x0000 
-         XOR A 
-         LD (CURADR),HL 
-         LD (CURADR+2),A 
-         LD (MEMBOT),HL 
-         LD (MEMBOT+2),A 
-         LD (CURMOD),A 
-         LD (CNTMOD),A 
-         LD (MODULE),A 
-         RET 
-   
- ;Load FX (Extended version) 
- ;Загрузка сэмпла эффекта в память. Позволяет загружать сэмплы со знаком. 
- COM3E   IN A,(ZXDATRD) 
-         CP 0x01 
-         JR Z,COM38 
-         LD IXL,0x80 
-         OR A 
-         JR Z,COM38_ 
-         XOR A 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         RET 
-   
- ;Load FX 
- ;Загрузка сэмпла эффекта в память. Загружает беззнаковые сэмплы (PC type) 
- COM38   LD IXL,0x00 
- COM38_  LD A,(CNTFX) 
-         CP 60 
-         JP NC,COM38_9 
-         INC A 
-         OUT (ZXDATWR),A 
-         PUSH AF 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         POP AF 
-         LD (CNTFX),A 
-         LD (CURFX),A 
-         CALL GETFX 
-         PUSH HL 
-         POP IY 
-         LD E,L 
-         LD D,H 
-         INC DE 
-         LD BC,0x003F 
-         LD (HL),B 
-         LDIR 
-         LD HL,(CURADR) 
-         LD A,(CURADR+2) 
-         LD (IY+8),L 
-         LD (IY+9),H 
-         LD (IY+10),A 
-         LD C,IXL 
-         CALL LOAD 
-         LD A,(CURADR) 
-         SUB (IY+8) 
-         LD (IY+11),A 
-         LD (IY+17),A 
-         LD A,(CURADR+1) 
-         SBC A,(IY+9) 
-         LD (IY+12),A 
-         LD (IY+18),A 
-         LD A,(CURADR+2) 
-         SBC A,(IY+10) 
-         LD (IY+13),A 
-         LD (IY+19),A 
-         LD (IY+16),0xFF 
-         LD (IY+20),0x40 
-         LD (IY+23),0x80 
-         LD (IY+24),0x0F 
-         LD (IY+25),0x0F 
-         LD (IY+26),0x80 
-         LD (IY+27),0xFF 
-         LD (IY+28),0xFF 
-         LD (IY+31),60 
-         LD E,60 
-         CALL GETPER 
-         LD (IY+54),L 
-         LD (IY+55),H 
-         CALL GETFRQ 
-         LD (IY+56),L 
-         LD (IY+57),H 
-         RET 
-   
- COM38_9 XOR A 
-         OUT (ZXDATWR),A 
-         LD (CURFX),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         RET 
-   
- GETFX   DEC A 
-         CP 0x20 
-         JR C,GETFX2 
-         SUB 0x20 
-         LD H,0x00 
-         ADD A,A 
-         ADD A,A 
-         ADD A,A 
-         RL H 
-         ADD A,A 
-         RL H 
-         ADD A,A 
-         RL H 
-         ADD A,A 
-         RL H 
-         LD L,A 
-         LD A,H 
-         ADD A,HIGH (BUFFER)+1 
-         LD H,A 
-         PUSH HL 
-         POP IY 
-         RET 
-   
- GETFX2  LD H,0x00 
-         ADD A,A 
-         ADD A,A 
-         ADD A,A 
-         RL H 
-         ADD A,A 
-         RL H 
-         ADD A,A 
-         RL H 
-         ADD A,A 
-         RL H 
-         LD L,A 
-         LD A,H 
-         ADD A,HIGH (SMPADR) 
-         LD H,A 
-         PUSH HL 
-         POP IY 
-         RET 
-   
- ;Play FX 
- ;Проигрывание эффекта. 
- COM39   IN A,(ZXDATRD) 
-         OR A 
-         JR NZ,COM39_1 
-         LD A,(CURFX) 
- COM39_1 LD (CURFX),A 
-         LD B,A 
-         LD A,(CNTFX) 
-         CP B 
-         JP C,COM39_9 
-         XOR A 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         LD A,(CURFX) 
-         CALL GETFX 
-         LD A,(BUSY) 
-         PUSH AF 
-         LD A,0xFF 
-         LD (BUSY),A 
-         PUSH HL 
-         POP IY 
-         CALL PLAYFX 
-         POP AF 
-         LD (BUSY),A 
-         RET 
-   
- COM39_9 LD A,0xFF 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         RET 
-   
- COM3B 
- COM3C   LD A,(FXFADE) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD (FXFADE),A 
-         RET 
-   
- ;Set FX Volume 
- ;Установить громкость проигрывания эффектов. 
- COM3D   LD A,(FXMVOL) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         CP 0x40 
-         JR C,COM3D_ 
-         LD A,0x40 
- COM3D_  LD (FXMVOL),A 
-         LD IY,CHANSFX 
-         LD B,0x08 
-         LD DE,CHANLEN 
- COM3D__ SET 0,(IY+CHSTAT) 
-         ADD IY,DE 
-         DJNZ COM3D__ 
-         RET 
-   
- COM3F 
-   
- ;Set FX Sample Playing Note 
- ;Установка ноты по умолчанию для текущего эффекта. 
- COM40   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD E,A 
-         LD A,(CURFX) 
-         OR A 
-         RET Z 
-         CALL GETFX 
-         LD A,E 
-         CP 96 
-         JR C,COM40_ 
-         LD E,95 
- COM40_  LD (IY+31),E 
-         CALL GETPER 
-         LD (IY+54),L 
-         LD (IY+55),H 
-         CALL GETFRQ 
-         LD (IY+56),L 
-         LD (IY+57),H 
-         RET 
-   
- ;Set FX Sample Volume 
- ;Установка громкости по умолчанию для текущего эффекта. 
- COM41   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD E,A 
-         LD A,(CURFX) 
-         OR A 
-         RET Z 
-         CALL GETFX 
-         LD A,E 
-         CP 0x41 
-         JR C,COM41_ 
-         LD E,0x40 
- COM41_  LD (IY+20),E 
-         RET 
-   
- ;Set FX Sample Finetune 
- ;Установка Finetune по умолчанию для текущего эффекта.  
- COM42   LD A,(CURFX) 
-         CALL GETFX 
-         PUSH HL 
-         POP IY 
-         LD A,(IY+21) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD (IY+21),A 
-         RET 
-   
- ;Set FX Sample Priority 
- ;Установка приоритета для текущего эффекта. (См. команду 0x39) 
- COM45   LD A,(CURFX) 
-         CALL GETFX 
-         PUSH HL 
-         POP IY 
-         LD A,(IY+26) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD (IY+26),A 
-         RET 
-   
- ;Set FX Sample Seek First parameter 
- ;Установка параметра Seek First для текущего эффекта. (См. команду 0x39)  
- COM46   LD A,(CURFX) 
-         CALL GETFX 
-         PUSH HL 
-         POP IY 
-         LD A,(IY+24) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD (IY+24),A 
-         RET 
-   
- ;Set FX Sample Seek Last parameter 
- ;Установка параметра Seek Last для текущего эффекта. (См. команду 0x39) 
- COM47   LD A,(CURFX) 
-         CALL GETFX 
-         PUSH HL 
-         POP IY 
-         LD A,(IY+25) 
-         OUT (ZXDATWR),A 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD (IY+25),A 
-         RET 
-   
- ;Set FX Sample Loop Begin (*) 
- ;Установка начала цикла для текущего эффекта. 
- COM48   LD A,(CURFX) 
-         CALL GETFX 
-         PUSH HL 
-         POP IY 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD (IY+14),A 
-         CALL HGET 
-         LD (IY+15),A 
-         CALL HGET 
-         LD (IY+16),A 
-         RET 
-   
- ;Set FX Sample Loop End (*) 
- ;Установка конца цикла для текущего эффекта. 
- COM49   LD A,(CURFX) 
-         CALL GETFX 
-         PUSH HL 
-         POP IY 
-         IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD (IY+17),A 
-         CALL HGET 
-         LD (IY+18),A 
-         CALL HGET 
-         LD (IY+19),A 
-         RET 
-   
- COM58   LD B,0x00 
-         OUT (ZXDATWR),A 
-         JP COM50_ 
-   
- COM50   IN A,(ZXDATRD) 
-         LD B,A 
- COM50_  IN A,(ZXCMD) 
-         OUT (CLRCBIT),A 
-         AND 0x07 
-         LD E,A 
-         CALL HGET 
-         LD L,A 
-         LD A,E 
-         CP 0x04 
-         CALL NC,HGET 
-         LD H,A 
-         LD A,E 
-         CP 0x07 
-         CALL Z,HGET 
-         LD D,A 
-         LD A,B 
-         OR A 
-         JR NZ,C50_00 
-         LD A,(LSTCHN) 
-         OR A 
-         JP Z,ERR20 
- C50_00  LD B,A 
-         LD C,0x01 
-         LD IY,CHANSFX 
- C50_01  LD A,B 
-         AND C 
-         JR NZ,C50_02 
-         RLC C 
-         LD A,IYL 
-         ADD A,LOW (CHANLEN) 
-         LD IYL,A 
-         LD A,IYH 
-         ADC A,0x00 
-         LD IYH,A 
-         JP C50_01 
-   
- C50_02  LD A,E 
-         OR A 
-         JP Z,C50_80 
-         CP 0x02 
-         JP Z,C50_A0 
-         CP 0x04 
-         JP Z,C50_C0 
-         CP 0x05 
-         JP Z,C50_D0 
-         CP 0x06 
-         JP Z,C50_E0 
-         CP 0x07 
-         JP Z,C50_F0 
- C50_LP 
- C50_80  SET 7,(IY+CHSTAT) 
-         LD A,L 
-         AND 0x7F 
-         CP 96 
-         JP NC,C50_LP 
- C50_81  LD A,(IY+CHSMP) 
-         OR A 
-         JP Z,C50_LP 
-         PUSH DE 
-         PUSH BC 
-         PUSH HL 
-         LD E,L 
-         RES 7,E 
-         CALL GETFRQ 
-         LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         CALL GETPER 
-         LD (IY+CHPERL),L 
-         LD (IY+CHPERH),H 
-         BIT 7,(IY+CHSTAT) 
-         JR NZ,C50_82 
-         LD A,(IY+CHNOTE) 
-         CP E 
-         JR Z,C50_83 
-         LD (IY+CHNOTE),E 
- C50_82  LD (IY+CHCNTL),0x00 
-         LD (IY+CHCNTH),0x00 
- C50_83  POP HL 
-         PUSH HL 
-         BIT 7,(IY+CHSTAT) 
-         JR NZ,C50_84 
-         BIT 7,L 
- C50_84  POP HL 
-         POP BC 
-         POP DE 
-         JP C50_LP 
-   
- C50_90  LD A,L 
-         CP 0x40 
-         JR C,C50_91 
-         LD L,0x40 
- C50_91  LD (IY+CHVOL),A 
-         LD (IY+CHMVOL),A 
-         JP C50_LP 
-   
- C50_A0  LD (IY+CHFINE),L 
-         JP C50_LP 
-   
- C50_B0  LD (IY+CHPAN),L 
-         JP C50_LP 
-   
- C50_C0  LD A,H 
-         OR A 
-         JR NZ,C50_C1 
-         OR L 
-         JR NZ,C50_C1 
-         LD L,0x01 
- C50_C1  LD A,H 
-         CP 0x20 
-         JR C,C50_C2 
-         LD HL,0x1FFF 
- C50_C2  LD A,(IY+CHSTAT) 
-         SET 7,(IY+CHSTAT) 
-         LD (IY+CHPERL),L 
-         LD (IY+CHPERH),H 
-         LD (IY+CHCNTL),0x00 
-         LD (IY+CHCNTH),0x00 
-         LD (IY+CHSTAT),A 
-         JP C50_LP 
-   
- C50_D0  LD A,H 
-         OR A 
-         JR NZ,C50_D1 
-         OR L 
-         JR NZ,C50_D1 
-         LD L,0x01 
- C50_D1  LD A,H 
-         CP 0x80 
-         JR C,C50_D2 
-         LD HL,0x7FFF 
- C50_D2  LD A,(IY+CHSTAT) 
-         SET 7,(IY+CHSTAT) 
-         LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         LD (IY+CHCNTL),0x00 
-         LD (IY+CHCNTH),0x00 
-         LD (IY+CHSTAT),A 
-         JP C50_LP 
-   
- C50_E0 
- C50_F0 
-   
- ;Get Song Position 
- ;Получение значения переменной Song_Position в текущем модуле. 
- COM60   LD A,(MTSNGPS) 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         RET 
-   
- ;Get Pattern Position 
- ;Получение значения переменной Pattern_Position в текущем модуле. 
- COM61   LD A,(MTPATPS) 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         RET 
-   
- ;Get Mixed Position 
- ;Получить значение Pattern_Position, немного смешанной с Song_Position. 
- COM62   LD A,(MTSNGPS) 
-         RRCA 
-         RRCA 
-         AND 0xC0 
-         LD B,A 
-         LD A,(MTPATPS) 
-         AND 0x3F 
-         OR B 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         RET 
-   
- ;Get Channel Volumes 
- ;Получить громкости всех каналов модуля. 
- COM64   LD HL,CHANS+CHMVOL 
-         JP COM64_ 
-          
- COM63   LD HL,CHANS+CHREAL 
- COM64_  LD DE,CHANLEN 
-         LD B,0x04 
-         LD A,(HL) 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         JP COM63__ 
-   
- ;Get Channel Notes 
- ;Получить ноты всех каналов модуля. 
- COM63_  LD A,(HL) 
-         OUT (ZXDATWR),A 
- COM63__ SET 7,(HL) 
-         CALL HSEND 
-         ADD HL,DE 
-         DJNZ COM63_ 
-         RET 
-   
- ;Set speed/tempo (*) 
- ;Установка скорости в пределах 0x01-0x1F. При значениях 0x20-0xFF устанавли- 
- ;вается темп проигрывания. Значения темпа соответствуют оригинальным при 
- ;скорости равной 0x06. 
- COM66   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         CALL FXF 
-         RET 
-   
- ;Get speed value (*) 
- ;Чтение текущей скорости. 
- COM67   LD A,(MTSPEED) 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         RET 
-   
- ;Get tempo value (*) 
- ;Чтение текущего темпа. 
- COM68   LD A,(MTBPM) 
-         OUT (ZXDATWR),A 
-         OUT (CLRCBIT),A 
-         RET 
-   
- ;Process Sound (*) 
- ;Переход на следующий кварк (или тик) в процессе проигрывания звука. 
- COM69   LD A,0xFF 
-         LD (INGEN),A 
-         CALL ENGINE 
-         XOR A 
-         LD (INGEN),A 
-         OUT (CLRCBIT),A 
-         RET 
-   
- ;Stop FX in channels 
- ;установка проигрывания эффектов в заданных каналах,  которые указывают- 
- ;ся в маске каналов (Channel Mask).  В ней единица в n-ном  бите  указы- 
- ;вает на то, что эффект в n-ном канале требуется остановить 
- COM3A   IN A,(ZXDATRD) 
-         OUT (CLRCBIT),A 
-         LD C,A 
-         CPL 
-         LD B,A 
-         LD A,(FXCHNS) 
-         AND B 
-         LD (FXCHNS),A 
-         LD IY,CHANSFX 
-         LD DE,CHANLEN 
-         SLA C 
-         JR NC,COM3A_2 
- COM3A_1 RES 7,(IY+CHSTAT) 
- COM3A_2 ADD IY,DE 
-         SLA C 
-         JR C,COM3A_1 
-         JP NZ,COM3A_2 
-         RET 
-   
- ;Direct Play FX Sample (0x80..0x83) 
- ;Проигрывание сэмпла в заданном канале. 
- COM80   IN A,(ZXDATRD) 
-         OR A 
-         JR NZ,COM80_1 
-         LD A,(CURFX) 
- COM80_1 LD (CURFX),A 
-         LD C,A 
-         LD A,(CNTFX) 
-         CP C 
-         JP C,COM39_9 
-         IN A,(ZXCMD) 
-         OUT (CLRCBIT),A 
-         LD B,A 
-         BIT 3,B 
-         CALL NZ,HGET 
-         LD E,A 
-         BIT 4,B 
-         CALL NZ,HGET 
-         LD D,A 
-         LD A,C 
-         CALL GETFX 
-         PUSH DE 
-         PUSH BC 
-         CALL COM80_2 
-         POP  BC 
-         POP  DE 
-         PUSH HL 
-         POP  IY 
-         BIT 4,B 
-         JR Z,COM80_4 
-         LD (IY+CHVOL),D 
-         LD (IY+CHMVOL),D 
- COM80_4 BIT 3,B 
-         RET Z 
-         CALL GETFRQ 
-         LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         CALL GETPER 
-         LD (IY+CHPERL),L 
-         LD (IY+CHPERH),H 
-         RET 
-   
- COM80_2 PUSH IY 
-         LD IY,CHANSFX 
-         LD DE,CHANLEN 
-         LD A,B 
-         AND 0x07 
- COM80_3 JP Z,PLFX_12 
-         ADD IY,DE 
-         DEC A 
-         JP COM80_3 
-   
- COMA0   IN A,(ZXDATRD) 
-         LD C,A 
-         IN A,(ZXCMD) 
-         OUT (CLRCBIT),A 
-         LD B,A 
-         LD IY,CHANSFX 
-         LD DE,CHANLEN 
-         AND 0x07 
- COMA0_1 JR Z,COMA0_2 
-         ADD IY,DE 
-         DEC A 
-         JP NZ,COMA0_1 
- COMA0_2 BIT 3,B 
-         JR NZ,COMA0_3 
-         LD E,C 
-         CALL GETPER 
-         LD (IY+CHPERL),L 
-         LD (IY+CHPERH),H 
-         CALL GETFRQ 
-         LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         RET 
-          
- COMA0_3 LD (IY+CHVOL),C 
-         LD (IY+CHMVOL),C 
-         SET 0,(IY+CHSTAT) 
-         RET 
-   
- ; INPUT : E=NOTE,IY=CHANNEL 
- ; OUTPUT: HL=PERIOD OR FREQUENCY 
- ; USED  : HL,D,BC,A 
-   
- GETPER  LD HL,AMFRQTB   ; FOR AMIGA FREQUENCY 
-         JR GETFRQ_ 
-   
- GETFRQ  LD HL,GSFRQTB 
- GETFRQ_ LD A,(IY+CHFINE) 
-         RRA 
-         AND 0x0F 
-         JR Z,GETFRQ2 
-         LD C,A 
-         ADD A,A 
-         ADD A,C 
-         ADD A,A 
-         ADD A,A 
-         ADD A,A 
-         LD B,0 
-         RL B 
-         ADD A,A 
-         RL B 
-         ADD A,A 
-         RL B 
-         LD C,A 
-         ADD HL,BC 
-         ADD HL,BC 
- GETFRQ2 LD D,0 
-         LD A,E 
-         CP 96 
-         JR C,GETFRQ3 
-         LD E,95 
- GETFRQ3 SLA E 
-         ADD HL,DE 
-         LD E,(HL) 
-         INC HL 
-         LD D,(HL) 
-         EX DE,HL 
-         LD E,A 
-         BIT 0,(IY+CHFINE) 
-         RET Z 
-         RET 
-   
- PLAYFX  LD C,0x00 
-         LD A,(MTSTAT) 
-         OR A 
-         JP M,PLFX_03 
-         LD A,(MODULE) 
-         OR A 
-         JR Z,PLFX_03 
-         LD IY,CHANS 
-         LD DE,CHANLEN 
-         LD B,0x04 
- PLFX_00 BIT 7,(IY+CHSTAT) 
-         JR Z,PLFX_01 
-         LD A,(IY+CHMVOL) 
-         OR A 
-         JR Z,PLFX_01 
-         LD A,C 
-         OR (IY+CHRDR) 
-         LD C,A 
- PLFX_01 ADD IY,DE 
-         DJNZ  PLFX_00 
- PLFX_03 PUSH HL 
-         POP IY 
-         LD HL,GSCHNS 
-         LD A,(HL) 
-         OR A 
-         SCF 
-         RET Z 
-         LD A,(FXCHNS) 
-         OR C 
-         CPL 
-         AND (HL) 
-         LD C,A 
-         AND (IY+24) 
-         JR NZ,PLFX_10 
-         LD A,(IY+26) 
-         CP 0x40 
-         JR NC,PLFX_04 
-         LD A,C 
-         AND (IY+25) 
-         JR NZ,PLFX_10 
-         JP PLFX_05 
-          
- PLFX_04 LD A,(FXCHNS) 
-         CPL 
-         AND (HL) 
-         AND (IY+24) 
-         JR NZ,PLFX_10 
-         LD A,(FXCHNS) 
-         CPL 
-         AND (HL) 
-         AND (IY+25) 
-         JR NZ,PLFX_10 
- PLFX_05 LD A,(FXCHNS) 
-         LD B,A 
-         LD A,(GSCHNS) 
-         AND B 
-         LD B,A 
-         PUSH IY 
-         LD IY,CHANSFX 
-         LD L,A 
-         LD H,0xFF 
-         LD DE,CHANLEN 
-         SRL B 
-         JP C,PLFX_06 
-         JP NZ,PLFX_07 
-         JP PLFX_08 
-   
- PLFX_06 LD A,(IY+CHPRIOR) 
-         CP H 
-         JR NC,PLFX_07 
-         LD H,A 
-         LD L,(IY+CHRDR) 
- PLFX_07 ADD IY,DE 
-         SRL B 
-         JP C,PLFX_06 
-         JP NZ,PLFX_07 
- PLFX_08 POP IY 
-         LD A,L 
-         OR A 
-         SCF 
-         RET Z 
-         LD A,H 
-         CP (IY+26) 
-         LD A,L 
-         JR C,PLFX_10 
-         SCF 
-         RET 
-   
- PLFX_10 LD B,A 
-         PUSH IY 
-         LD IY,CHANSFX 
-         LD DE,CHANLEN 
-         SRL B 
-         JP C,PLFX_12 
- PLFX_11 ADD IY,DE 
-         SRL B 
-         JP NC,PLFX_11 
- PLFX_12 LD A,(FXCHNS) 
-         OR (IY+CHRDR) 
-         LD (FXCHNS),A 
-         EX (SP),IY 
-         LD E,(IY+8) 
-         LD D,(IY+9) 
-         LD A,(IY+10) 
-         DB 0xCB,0x32;SLI D 
-         RLA 
-         RRC D 
-         EX (SP),IY 
-         LD (IY+CHCURP),A 
-         LD (IY+CHCURL),E 
-         LD (IY+CHCURH),D 
-         EX (SP),IY 
-         LD A,(IY+8) 
-         ADD A,(IY+11) 
-         LD E,A 
-         LD A,(IY+9) 
-         ADC A,(IY+12) 
-         LD D,A 
-         LD A,(IY+10) 
-         ADC A,(IY+13) 
-         DB 0xCB,0x32;SLI D 
-         RLA 
-         RRC D 
-         EX (SP),IY 
-         LD (IY+CHENDP),A 
-         LD (IY+CHENDL),E 
-         LD (IY+CHENDH),D 
-         LD (IY+CHLPBP),0xFF 
-         EX (SP),IY 
-         LD A,(IY+16) 
-         INC A 
-         JR Z,PLFX_13 
-         LD A,(IY+8) 
-         ADD A,(IY+14) 
-         LD E,A 
-         LD A,(IY+9) 
-         ADC A,(IY+15) 
-         LD D,A 
-         LD A,(IY+10) 
-         ADC A,(IY+16) 
-         DB 0xCB,0x32;SLI D 
-         RLA 
-         RRC D 
-         EX (SP),IY 
-         LD (IY+CHLPBP),A 
-         LD (IY+CHLPBL),E 
-         LD (IY+CHLPBH),D 
-         EX (SP),IY 
-         LD A,(IY+8) 
-         ADD A,(IY+17) 
-         LD E,A 
-         LD A,(IY+9) 
-         ADC A,(IY+18) 
-         LD D,A 
-         LD A,(IY+10) 
-         ADC A,(IY+19) 
-         DB 0xCB,0x32;SLI D 
-         RLA 
-         RRC D 
-         EX (SP),IY 
-         LD (IY+CHLPEP),A 
-         LD (IY+CHLPEL),E 
-         LD (IY+CHLPEH),D 
-         EX (SP),IY 
- PLFX_13 LD E,(IY+20) 
-         LD D,(IY+21) 
-         LD B,(IY+31) 
-         LD C,(IY+23) 
-         LD L,(IY+22) 
-         LD H,(IY+6) 
-         EX (SP),IY 
-         LD (IY+CHVOL),E 
-         LD (IY+CHMVOL),E 
-         LD (IY+CHFINE),D 
-         LD (IY+CHNOTE),B 
-         LD (IY+CHPAN),C 
-         LD (IY+CHRLNT),L 
-         LD (IY+CHSQZ),H 
-         EX (SP),IY 
-         LD E,(IY+54) 
-         LD D,(IY+55) 
-         LD L,(IY+56) 
-         LD H,(IY+57) 
-         LD C,(IY+26) 
-         EX (SP),IY 
-         SRL D 
-         RR E 
-         SRL D 
-         RR E 
-         LD (IY+CHPERL),E 
-         LD (IY+CHPERH),D 
-         LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         LD (IY+CHPRIOR),C 
-         LD (IY+CHFADVH),0xFF 
-         LD (IY+CHFADVL),0xFF 
-         LD (IY+CHDELVH),0xFF 
-         LD (IY+CHDELVL),0xFF 
-         LD (IY+CHEPAN),0x20 
-         LD (IY+CHEVOL),0x40 
-         LD (IY+CHCNTL),0x00 
-         LD (IY+CHCNTH),0x00 
-         LD (IY+CHVOL),0x40 
-         LD (IY+CHPAN),0x80 
-         SET 7,(IY+CHSTAT) 
-         SET 0,(IY+CHSTAT) 
-         PUSH IY 
-         POP HL 
-         POP IY 
-         LD A,0xFF 
-         LD (PROCESS),A 
-         RET 
-   
- ;INCLUDE "MEM_H.a80" 
- ;MEMORY MOVEMENT MODULE - HIGH PART 
-   
- ;PROCEDURE: MOVE MEMORY 
- ;INPUT    : B ,HL  - SOURCE START LOGICAL ADRESS 
- ;           C ,DE  - SOURCE END LOGICAL ADRESS 
- ;           B',HL' - DESTINATION LOGICAL ADRESS 
- ;OUTPUT   : C ,DE  = DEST-START 
- ;USES     : TYPE 1 REGS,RAMPG,CPAGE,BUFFER,SYSTEM 
- ;EFFECT   : MOVES MEMORY REGION {START,END-1} TO DEST 
- ;           ALL ADRESSES IS LOGICAL 
-   
- MOVMEM  XOR A 
-         LD (SYSTEM),A 
-         PUSH HL 
-         LD A,B 
-         EXX 
-         POP DE 
-         PUSH HL 
-         PUSH BC 
-         LD C,A 
-         OR A 
-         SBC HL,DE 
-         LD A,B 
-         SBC A,C 
-         EX DE,HL 
-         POP BC 
-         POP HL 
-         LD C,A 
-         OR E 
-         OR D 
-         RET Z 
-         EXX 
-         EX DE,HL 
-         SBC HL,DE 
-         LD A,C 
-         SBC A,B 
-         LD IXL,A 
-         OR L 
-         OR H 
-         EXX 
-         RET Z 
-         PUSH DE 
-         PUSH BC 
-         BIT 7,C 
-         LD A,B 
-         EXX 
-         JR NZ,MOVL 
-         CP C 
-         JP C,MOVH 
-         JR NZ,MOVL 
-         EXX 
-         LD A,H 
-         EXX 
-         CP D 
-         JP C,MOVH 
-         JR NZ,MOVL 
-         EXX 
-         LD A,L 
-         EXX 
-         CP E 
-         JP C,MOVH 
- MOVL    DB 0xCB,0x32;SLI D 
-         RL B 
-         RRC D 
-         PUSH DE 
-         EXX 
-         EX DE,HL 
-         POP HL 
-         DB 0xCB,0x32;SLI D 
-         RL B 
-         RRC D 
-         LD A,B 
-         LD BC,0x0000 
-         EXX 
-         LD C,A 
- ML1     EXX 
-         LD A,H 
-         CP D 
-         JR C,ML3 
-         JR NZ,ML2 
-         LD A,L 
-         CP E 
-         JR C,ML3 
- ML2     LD A,C 
-         SUB L 
-         LD C,A 
-         LD A,B 
-         SBC A,H 
-         JR ML4 
- ML3     LD A,C 
-         SUB E 
-         LD C,A 
-         LD A,B 
-         SBC A,D 
- ML4     LD B,A 
-         LD A,IXL 
-         OR A 
-         JR NZ,ML6 
-         LD A,B 
-         EXX 
-         CP H 
-         JR C,ML7 
-         JR NZ,ML5 
-         EXX 
-         LD A,C 
-         EXX 
-         CP L 
-         JR C,ML7 
- ML5     PUSH HL 
-         EXX 
-         POP BC 
- ML6     EXX 
- ML7     LD D,HIGH (RAMPG) 
-         LD A,B 
-         CP C 
-         JR NZ,ML9 
-         LD E,B 
-         LD A,(DE) 
-         LD (SDPAGE),A 
-         EXX 
-         PUSH BC 
- ML8     LD A,C 
-         CALL MLDI 
-         JP PE,ML8 
-         JR MLD 
-   
- ML9     EXX 
-         PUSH BC 
- MLA     PUSH BC 
-         PUSH DE 
-         EXX 
-         LD E,B 
-         LD A,(DE) 
-         LD (SDPAGE),A 
-         EXX 
-         LD DE,BUFFER 
-         LD A,C 
-         CALL MLDI 
-         POP DE 
-         POP BC 
-         PUSH HL 
-         EXX 
-         LD E,C 
-         LD A,(DE) 
-         LD (SDPAGE),A 
-         EXX 
-         LD HL,BUFFER 
-         LD A,C 
-         CALL MLDI 
-         POP HL 
-         JP PE,MLA 
- MLD     BIT 7,H 
-         JR NZ,MLB 
-         SET 7,H 
-         EXX 
-         INC B 
-         JP MLC 
-          
- MLB     SET 7,D 
-         EXX 
-         INC C 
- MLC     POP DE 
-         OR A 
-         SBC HL,DE 
-         LD A,IXL 
-         SBC A,0x00 
-         LD IXL,A 
-         OR L 
-         OR H 
-         JP NZ,ML1 
-         POP BC 
-         POP DE 
-         RET 
-   
- MOVH    LD A,L 
-         OR H 
-         JR NZ,MH0 
-         DEC IXL 
- MH0     DEC HL 
-         EX DE,HL 
-         ADD HL,DE 
-         LD A,B 
-         ADC A,IXL 
-         DB 0xCB,0x34;SLI H 
-         RLA 
-         RRC H 
-         LD B,A 
-         PUSH HL 
-         PUSH DE 
-         INC DE 
-         LD A,E 
-         OR D 
-         LD A,IXL 
-         JR NZ,MHF 
-         INC IXL 
- MHF     EX DE,HL 
-         EXX 
-         POP DE 
-         ADD HL,DE 
-         ADC A,B 
-         DB 0xCB,0x34;SLI H 
-         RLA 
-         RRC H 
-         EX DE,HL 
-         POP HL 
-         EXX 
-         LD C,A 
- MH1     EXX 
-         LD A,H 
-         CP D 
-         JR C,MH3 
-         JR NZ,MH2 
-         LD A,L 
-         CP E 
-         JR C,MH3 
- MH2     LD C,E 
-         LD B,D 
-         JR MH4 
-          
- MH3     LD C,L 
-         LD B,H 
- MH4     RES 7,B 
-         INC BC 
-         LD A,IXL 
-         OR A 
-         JR NZ,MH6 
-         LD A,B 
-         EXX 
-         CP H 
-         JR C,MH7 
-         JR NZ,MH5 
-         EXX 
-         LD A,C 
-         EXX 
-         CP L 
-         JR C,MH7 
- MH5     PUSH HL 
-         EXX 
-         POP BC 
- MH6     EXX 
- MH7     LD D,HIGH (RAMPG) 
-         LD A,B 
-         CP C 
-         JR NZ,MH9 
-         LD E,B 
-         LD A,(DE) 
-         LD (SDPAGE),A 
-         EXX 
-         PUSH BC 
- MH8     LD A,C 
-         CALL MLDD 
-         JP PE,MH8 
-         JR MHD 
-   
- MH9     EXX 
-         PUSH BC 
- MHA     PUSH BC 
-         PUSH DE 
-         EXX 
-         LD E,B 
-         LD A,(DE) 
-         LD (SDPAGE),A 
-         EXX 
-         LD DE,BUFFER+0x00FF 
-         LD A,C 
-         CALL MLDD 
-         POP DE 
-         POP BC 
-         PUSH HL 
-         EXX 
-         LD E,C 
-         LD A,(DE) 
-         LD (SDPAGE),A 
-         EXX 
-         LD HL,BUFFER+0x00FF 
-         LD A,C 
-         CALL MLDD 
-         POP HL 
-         JP PE,MHA 
- MHD     BIT 7,H 
-         JR NZ,MHB 
-         SET 7,H 
-         EXX 
-         DEC B 
-         JP MHC 
- MHB     SET 7,D 
-         EXX 
-         DEC C 
- MHC     POP DE 
-         OR A 
-         SBC HL,DE 
-         LD A,IXL 
-         SBC A,0x00 
-         LD IXL,A 
-         OR L 
-         OR H 
-         JP NZ,MH1 
-         POP BC 
-         POP DE 
-         RET 
-   
- ;PROCEDURE: LOAD MEMORY BLOCK 
- ;INPUT    : A,HL  - SOURCE LOGICAL ADRESS 
- ;           DE    - DESTINATION PHISICAL ADRESS (LOW RAM) 
- ;           BC    - BLOCK LENGTH 
- ;USES     : TYPE 2 REGS,RAMPG,CPAGE,SYSTEM 
- ;EFFECT   : MOVES MEMORY BLOCK FROM HIGH MEMORY TO LOW 
- ;               SWITCH TO PAGE 0 
-   
- LDMEM   DB 0xCB,0x34;SLI H 
-         RLA 
-         RRC H 
- LM1     LD IXL,A 
-         PUSH HL 
-         LD L,A 
-         LD H,HIGH (RAMPG) 
-         LD A,(HL) 
-         POP HL 
-         LD (SDPAGE),A 
-         ADD HL,BC 
-         JR NC,LM2 
-         JR NZ,LM4 
- LM2     SBC HL,BC 
- LM3     LD A,C 
-         CALL MLDI 
-         JP PE,LM3 
-         RET 
-   
- LM4     XOR A 
-         SBC HL,BC 
- LM5     LD A,L 
-         NEG 
-         CALL MLDI 
-         BIT 7,H 
-         JP NZ,LM5 
-         SET 7,H 
-         LD A,IXL 
-         INC A 
-         JP  LM1 
-   
- ;PROCEDURE: SAVE MEMORY BLOCK 
- ;INPUT    : A,DE  - DESTINATION LOGICAL ADRESS 
- ;           HL    - SOURCE PHISICAL ADRESS (LOW RAM) 
- ;           BC    - BLOCK LENGTH 
- ;USES     : TYPE 2 REGS,RAMPG,CPAGE,SYSTEM 
- ;EFFECT   : MOVES MEMORY BLOCK FROM LOW MEMORY TO HIGH 
- ;               SWITCH TO PAGE 0 
-   
- SVMEM   DB 0xCB,0x32;SLI D 
-         RLA 
-         RRC D 
- SM1     LD IXL,A 
-         PUSH HL 
-         LD L,A 
-         LD H,HIGH (RAMPG) 
-         LD A,(HL) 
-         POP HL 
-         LD (SDPAGE),A 
-         EX DE,HL 
-         ADD HL,BC 
-         JR NC,SM2 
-         JR NZ,SM4 
- SM2     SBC HL,BC 
-         EX DE,HL 
- SM3     LD A,C 
-         CALL MLDI 
-         JP PE,SM3 
-         RET 
-   
- SM4     XOR A 
-         SBC HL,BC 
-         EX DE,HL 
- SM5     LD A,E 
-         NEG 
-         CALL MLDI 
-         BIT 7,D 
-         JP NZ,SM5 
-         SET 7,D 
-         LD A,IXL 
-         INC A 
-         JP  SM1 
-   
- ;INCLUDE "ENGINE_L.a80" 
- ENGINE  LD HL,(QTFREE) 
-         LD H,HIGH (QTMAP) 
-         LD A,L 
-         AND 0x1C 
-         LD L,A 
-         LD (QTFREE),HL 
-         LD A,(HL) 
-         OR A 
-         JP NZ,ENG_FUL 
-         LD A,(CHANSFX+0x000) 
-         RLCA 
-         RR C 
-         LD A,(CHANSFX+0x040) 
-         RLCA 
-         RR C 
-         LD A,(CHANSFX+0x080) 
-         RLCA 
-         RR C 
-         LD A,(CHANSFX+0x0C0) 
-         RLCA 
-         RR C 
-         LD A,(CHANSFX+0x100) 
-         RLCA 
-         RR C 
-         LD A,(CHANSFX+0x140) 
-         RLCA 
-         RR C 
-         LD A,(CHANSFX+0x180) 
-         RLCA 
-         RR C 
-         LD A,(CHANSFX+0x1C0) 
-         RLCA 
-         RR C 
-         LD A,(GSCHNS) 
-         AND C 
-         LD C,A 
-         LD (FXCHNS),A 
-         JR NZ,ENG_01 
-         LD A,(MTSTAT) 
-         BIT 6,A 
-         RET NZ 
-         OR A 
-         JP M,ENG_00 
-         LD A,(MODULE) 
-         OR A 
-         JR NZ,ENG_01 
- ENG_00  XOR A 
-         LD (PROCESS),A 
-         RET 
-   
- ENG_01  LD A,(MODSWCH) 
-         OR A 
-         JR NZ,ENG_03 
-         LD A,(MODULE) 
-         OR A 
-         JR Z,ENG_03 
-         LD A,0x01 
-         LD (SGENOFF),A 
-         LD A,(TCKLEFT+1) 
-         CP 0x02 
-         JR NC,ENG_05 
-         OR A 
-         LD A,(TCKLEFT) 
-         JR Z,ENG_04 
-         SUB 0x80 
-         JR NC,ENG_05 
-         JP ENG_04 
-   
- ENG_03  LD A,0x01 
-         LD (SGENOFF),A 
-         LD A,(FXTICK+1) 
-         CP 0x02 
-         JR NC,ENG_05 
-         OR A 
-         LD A,(FXTICK) 
-         JR Z,ENG_04 
-         SUB 0x80 
-         JR NC,ENG_05 
- ENG_04  NEG 
-         LD (SGENOFF),A 
- ENG_05  XOR A 
-         LD (CHANNEL),A 
-         OR C 
-         JR Z,ENG_07 
-         LD IY,CHANSFX 
-         SRL C 
- ENG_06  PUSH BC 
-         CALL C,GEN 
-         LD BC,CHANLEN 
-         ADD IY,BC 
-         POP BC 
-         SRL C 
-         JR C,ENG_06 
-         JR NZ,ENG_06 
-   
- ENG_07  CALL QUANTUM 
-         XOR A 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         RET 
-   
- ENG_80  LD A,(SGENOFF) 
-         LD E,A 
-         LD D,0x00 
-         LD HL,(FXTICK) 
-         OR A 
-         SBC HL,DE 
-         JR Z,ENG_81 
-         JR C,ENG_81 
-         LD (FXTICK),HL 
-         JP ENG_82 
-          
- ENG_81 
- ENG_82  LD A,(MODSWCH) 
-         OR A 
-         JR NZ,$ 
-         LD A,(MODULE) 
-         OR A 
-         JR Z,$ 
-         LD HL,(TCKLEFT) 
-         SBC HL,DE 
-         LD (TCKLEFT),HL 
-         JR NZ,ENG_83 
- ENG_83 
- ENG_FUL LD A,(PLAYING) 
-         OR A 
-         RET NZ 
-         DI 
-         XOR A 
-         LD (FILLALL),A 
-         CALL QTPLAY 
-         RET 
-   
- ;INCLUDE "FX_H.a80" 
-   
- FXCHK_  LD HL,FXJP2 
-         JP FXCHK__ 
-          
- FXCHK   LD HL,FXJP1 
- FXCHK__ LD A,(IY+CHCOM) 
-         AND 0x1F 
-         ADD A,A 
-         ADD A,L 
-         LD L,A 
-         LD A,(HL) 
-         INC L 
-         LD H,(HL) 
-         LD L,A 
-         LD A,(IY+CHPARM) 
-         JP (HL) 
-   
- FXE_    LD HL,FXEJP2 
-         JP FXE__ 
-          
- FXE     LD HL,FXEJP1 
- FXE__   RRCA 
-         RRCA 
-         RRCA 
-         RRCA 
-         AND 0x0F 
-         ADD A,A 
-         ADD A,L 
-         LD L,A 
-         LD A,(HL) 
-         INC L 
-         LD H,(HL) 
-         LD L,A 
-         LD A,(IY+CHPARM) 
-         AND 0x0F 
-         JP (HL) 
-   
- FXRET   RET 
-   
- FXNOP   LD L,(IY+CHPERL) 
-         LD H,(IY+CHPERH) 
- EFXNOP2 CALL EFXCNV 
-         LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         RET 
-   
- ;---patched 
- EFXCNV  LD A,H 
-         CP 0x04 
-         JR NC,EFXCNV1 
-         XOR A 
-         LD (CPAGE),A 
-         OUT (MPAG),A 
-         ADD HL,HL 
-         LD A,H 
-         ADD A,0xF8 
-         LD H,A 
-         LD A,(HL) 
-         INC HL 
-         LD H,(HL) 
-         LD L,A 
-         RET 
-   
- EFXCNV1 PUSH HL 
-         LD E,L 
-         LD D,H 
-         ADD HL,HL 
-         ADD HL,HL 
-         ADD HL,DE 
-         XOR A   ;HL A 
-         LD C,A  ;DE C 
-         SRL D           ;/2 
-         RR E 
-         RR C 
-         ADD A,C 
-         ADC HL,DE               ;+/2 
-         SRL D           ;/4 
-         RR E 
-         RR C 
-         SRL D           ;/8 
-         RR E 
-         RR C 
-         ADD A,C 
-         ADC HL,DE               ;+/8 
-         SRL D           ;/16 
-         RR E 
-         RR C 
-         SRL D           ;/32 
-         RR E 
-         RR C 
-         SRL D           ;/64 
-         RR E 
-         RR C 
-         SRL D           ;/128 
-         RR E 
-         RR C 
-         SRL D           ;/256 
-         RR E 
-         RR C 
-         ADD A,C 
-         ADC HL,DE               ;+/256 
-         SRL E           ;/512 
-         RR C 
-         ADD A,C 
-         ADC HL,DE               ;+/512 
-         SRL E           ;/1024 
-         RR C 
-         ADD A,C 
-         ADC HL,DE               ;+/1024 
-         SRL E           ;/2048 
-         RR C 
-         SRL E           ;/4096 
-         RR C 
-         ADD A,C 
-         ADC HL,DE               ;+/4096 
-         SRL H 
-         RR L 
-         SRL H 
-         RR L 
-         SRL H 
-         RR L 
-         JR NC,EFXCNV2 
-         INC HL 
- EFXCNV2 POP DE 
-         ADD HL,DE 
-         ADD HL,DE 
-         RET 
-        
-         INC A 
-         RR L 
-         JR NC,TUT00 
-         INC HL 
- TUT00   POP DE 
-         ADD HL,DE 
-         ADD HL,DE 
-         RET 
-   
- ARPTAB  DB 0,1,2,0,1,2,0,1,2,0 
-         DB 1,2,0,1,2,0,1,2,0,1,2 
-         DB 0,1,2,0,1,2,0,1,2,0 
-         DB 1,2,0,1,2,0,1,2,0,1,2 
-   
- FX0     OR A 
-         JP Z,FXNOP 
-         LD B,A 
-         LD A,(MTCOUNT) 
-         LD HL,ARPTAB 
-         ADD A,L 
-         LD L,A 
-         LD A,H 
-         ADC A,0x00 
-         LD H,A 
-         LD A,(HL) 
-         OR A 
-         JP Z,FXNOP 
-         PUSH AF 
-         PUSH BC 
-         CALL NOTEFND 
-         POP BC 
-         POP AF 
-         DEC A 
-         LD A,B 
-         JR NZ,FX0_2 
-         RRCA 
-         RRCA 
-         RRCA 
-         RRCA 
- FX0_2   AND 0x0F 
-         ADD A,E 
-         LD E,A 
-         CP 96 
-         RET NC 
-         CALL GETFRQ 
-         LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         RET 
-   
- FX1     LD E,A 
-         LD D,0x00 
-         LD L,(IY+CHPERL) 
-         LD H,(IY+CHPERH) 
-         OR A 
-         SBC HL,DE 
-         JR NC,FX1_2 
-         LD HL,0x0000 
- FX1_2   PUSH HL 
-         LD HL,113 
- FX1_8   POP DE 
-         OR A 
-         SBC HL,DE 
-         JR C,FX1_9 
-         ADD HL,DE 
-         EX DE,HL 
- FX1_9   SET 7,(IY+CHFLAGS) 
-         LD (IY+CHPERL),E 
-         LD (IY+CHPERH),D 
-         PUSH DE 
-         EX DE,HL 
-         CALL EFXCNV 
-         LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         POP DE 
-         CALL NOTEFND 
-         LD (IY+CHREAL),A 
-         RET NC 
-         LD (IY+CHNOTE),A 
-         RES 7,(IY+CHFLAGS) 
-         RET 
-   
- FX2     LD E,A 
-         LD D,0x00 
-         LD L,(IY+CHPERL) 
-         LD H,(IY+CHPERH) 
-         ADD HL,DE 
-         JR NC,FX2_2 
-         LD HL,0xFFFF 
- FX2_2   PUSH HL 
-         LD HL,856 
- FX2_8   POP DE 
-         OR A 
-         SBC HL,DE 
-         JR NC,FX2_9 
-         ADD HL,DE 
-         EX DE,HL 
- FX2_9   SET 7,(IY+CHFLAGS) 
-         LD (IY+CHPERL),E 
-         LD (IY+CHPERH),D 
-         PUSH DE 
-         EX DE,HL 
-         CALL EFXCNV 
-         LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         POP DE 
-         CALL NOTEFND 
-         LD (IY+CHREAL),A 
-         RET NC 
-         LD (IY+CHNOTE),A 
-         RES 7,(IY+CHFLAGS) 
-         RET 
-   
- FX3     OR A 
-         JR Z,FX3_1 
-         LD (IY+CHPORT),A 
- FX3_1   LD A,(IY+CHWNT) 
-         CP 96 
-         RET NC 
-         LD E,A 
-         CALL GETPER 
-         EX DE,HL 
-         LD L,(IY+CHPERL) 
-         LD H,(IY+CHPERH) 
-         OR A 
-         SBC HL,DE 
-         JR Z,FX3_9 
-         ADD HL,DE 
-         LD C,(IY+CHPORT) 
-         LD B,0x00 
-         JR C,FX3_5 
-         SBC HL,BC 
-         JR C,FX3_9 
-         SBC HL,DE 
-         JR C,FX3_9 
- FX3_2   ADD HL,DE 
-         LD (IY+CHPERL),L 
-         LD (IY+CHPERH),H 
-         BIT 2,(IY+CHFLAGS) 
-         CALL Z,EFXCNV 
-         BIT 2,(IY+CHFLAGS) 
-         JR Z,FX3_3 
-         EX DE,HL 
-         CALL NOTEFND 
-         LD E,A 
-         CALL GETFRQ 
- FX3_3   LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         RET 
-   
- FX3_5   ADD HL,BC 
-         JR C,FX3_9 
-         SBC HL,DE 
-         JR C,FX3_2 
- FX3_9   LD E,(IY+CHWNT) 
-         LD (IY+CHNOTE),E 
-         LD (IY+CHREAL),E 
-         CALL GETPER 
-         LD (IY+CHPERL),L 
-         LD (IY+CHPERH),H 
-         CALL GETFRQ 
-         LD (IY+CHFRQL),L 
-         LD (IY+CHFRQH),H 
-         RES 7,(IY+CHFLAGS) 
-         LD (IY+CHCOM),0x00 
-         LD (IY+CHPARM),0x00 
-         LD (IY+CHWNT),0x7F 
-         RET 
-   
- FX3_    RET 
-   
- FX4     PUSH DE 
-         PUSH BC 
-         OR A 
-         JR Z,FX4_3 
-         LD L,A 
-         LD H,(IY+CHVIBCM) 
-         AND 0x0F 
-         JR Z,FX4_1 
-         XOR H 
-         AND 0x0F 
-         XOR H 
-         LD H,A 
- FX4_1   LD A,L 
-         AND 0xF0 
-         JR Z,FX4_2 
-         XOR H 
-         AND 0xF0 
-         XOR H 
-         LD H,A 
- FX4_2   LD (IY+CHVIBCM),H 
- FX4_3   LD D,(IY+CHVIBPS) 
-         LD A,D 
-         AND 0x03 
-         JR Z,FX4_5 
-         CP 0x03 
-         JR NZ,FX4_A 
-         LD A,R 
-         AND 0x03 
-         JR Z,FX4_5 
-         CP 0x03 
-         JR Z,FX4_5 
- FX4_A   DEC A 
-         JR Z,FX4_4 
-         LD E,0xFF 
-         JP FX4_6 
-   
- FX4_4   LD A,D 
-         AND 0x7C 
-         RLCA 
-         LD E,A 
-         BIT 7,D 
-         JR NZ,FX4_6 
-         LD A,0xF8 
-         SUB E 
-         LD E,A 
-         JP FX4_6 
-   
- FX4_5   LD A,D 
-         RRCA 
-         RRCA 
-         AND 0x1F 
-         LD HL,VIBTB 
-         ADD A,L 
-         LD L,A 
-         LD E,(HL) 
- FX4_6   LD A,(IY+CHVIBCM) 
-         AND 0x0F 
-         JR Z,FX4_9 
-         LD B,A 
-         LD HL,0x0000 
-         LD D,H 
- FX4_7   ADD HL,DE 
-         DJNZ FX4_7 
-         LD B,0x07 
-         LD A,L 
- FX4_8   SRL H 
-         RRA 
-         DJNZ FX4_8 
-         ADC A,D 
-         LD L,A 
-         LD H,0x00 
-         BIT 7,(IY+CHVIBPS) 
-         JR Z,FX4_9 
-         DEC H 
-         CPL 
-         LD L,A 
-         INC HL 
- FX4_9   LD E,(IY+CHPERL) 
-         LD D,(IY+CHPERH) 
-         ADD HL,DE 
-         CALL EFXNOP2 
-         LD A,(IY+CHVIBCM) 
-         AND 0xF0 
-         RRCA 
-         RRCA 
-         ADD A,(IY+CHVIBPS) 
-         LD (IY+CHVIBPS),A 
-         POP BC 
-         POP DE 
-         RET 
-   
- FX5     CALL FXA 
-         JP FX3_1 
-   
- FX6     CALL FXA 
-         PUSH DE 
-         PUSH BC 
-         JP FX4_3 
-   
- FX7     PUSH DE 
-         PUSH BC 
-         OR A 
-         JR Z,FX7_3 
-         LD L,A 
-         LD H,(IY+CHTRMCM) 
-         AND 0x0F 
-         JR Z,FX7_1 
-         XOR H 
-         AND 0x0F 
-         XOR H 
-         LD H,A 
- FX7_1   LD A,L 
-         AND 0xF0 
-         JR Z,FX7_2 
-         XOR H 
-         AND 0xF0 
-         XOR H 
-         LD H,A 
- FX7_2   LD (IY+CHTRMCM),H 
- FX7_3   LD D,(IY+CHTRMPS) 
-         LD A,D 
-         AND 0x03 
-         JR Z,FX7_5 
-         CP 0x03 
-         JR NZ,FX7_A 
-         LD A,R 
-         AND 0x03 
-         JR Z,FX7_5 
-         CP 0x03 
-         JR Z,FX7_5 
- FX7_A   DEC A 
-         JR Z,FX7_4 
-         LD E,0xFF 
-         JP FX7_6 
-   
- FX7_4   LD A,D 
-         AND 0x7C 
-         RLCA 
-         LD E,A 
-         BIT 7,D 
-         JR NZ,FX7_6 
-         LD A,0xF8 
-         SUB E 
-         LD E,A 
-         JP FX7_6 
-   
- FX7_5   LD A,D 
-         RRCA 
-         RRCA 
-         AND 0x1F 
-         LD HL,VIBTB 
-         ADD A,L 
-         LD L,A 
-         LD E,(HL) 
- FX7_6   LD A,(IY+CHTRMCM) 
-         AND 0x0F 
-         JR Z,FX7_9 
-         LD B,A 
-         LD HL,0x0000 
-         LD D,H 
- FX7_7   ADD HL,DE 
-         DJNZ FX7_7 
-         LD B,0x06 
-         LD A,L 
- FX7_8   SRL H 
-         RRA 
-         DJNZ FX7_8 
-         ADC A,D 
-         BIT 7,(IY+CHTRMPS) 
-         JR Z,FX7_9 
-         LD L,A 
-         LD A,(IY+CHVOL) 
-         SUB L 
-         JR NC,FX7_B 
-         XOR A 
-         JP FX7_B 
-   
- FX7_9   ADD A,(IY+CHVOL) 
-         CP 0x40 
-         JR C,FX7_B 
-         LD A,0x40 
- FX7_B   CP (IY+CHMVOL) 
-         LD (IY+CHMVOL),A 
-         JR Z,FX7_C 
-         SET 0,(IY+CHSTAT) 
- FX7_C   LD A,(IY+CHTRMCM) 
-         AND 0xF0 
-         RRCA 
-         RRCA 
-         ADD A,(IY+CHTRMPS) 
-         LD (IY+CHTRMPS),A 
-         POP BC 
-         POP DE 
-         RET 
-   
- FX9     OR A 
-         RET 
-   
-         JR Z,FX9_1 
-         LD (IY+CHOFFST),A 
- FX9_1   LD H,(IY+CHOFFST) 
-         LD L,0x00 
- FXA     OR A 
-         RET Z 
-         LD L,A 
-         LD A,(IY+CHVOL) 
-         LD H,A 
-         LD A,L 
-         AND 0xF0 
-         JR Z,FXA_1 
-         RRCA 
-         RRCA 
-         RRCA 
-         RRCA 
-         ADD A,H 
-         CP 0x40 
-         JR C,FXA_2 
-         LD A,0x40 
-         JP FXA_2 
-          
- FXA_1   LD A,H 
-         SUB L 
-         JR NC,FXA_2 
-         LD A,0x00 
-         LD (IY+CHCOM),A 
-         LD (IY+CHPARM),A 
- FXA_2   LD (IY+CHVOL),A 
-         CP (IY+CHMVOL) 
-         LD (IY+CHMVOL),A 
-         RET Z 
-         SET 0,(IY+CHSTAT) 
-         RET 
-   
- FXB     DEC A 
-         LD (MTSNGPS),A 
-         ;CALL CP_END_MOD 
-         XOR A 
-         LD (MTBRKPS),A 
-         INC A 
-         LD (MTJMPFL),A 
-         RET 
-          
- FXC     CP 0x40 
-         JR C,FXC_1 
-         LD A,0x40 
- FXC_1   LD (IY+CHVOL),A 
-         CP (IY+CHMVOL) 
-         LD (IY+CHMVOL),A 
-         RET Z 
-         SET 0,(IY+CHSTAT) 
-         RET 
-   
- FXD     LD L,A 
-         AND 0xF0 
-         RRCA 
-         LD H,A 
-         RRCA 
-         RRCA 
-         ADD A,H 
-         LD H,A 
-         LD A,L 
-         AND 0x0F 
-         ADD A,H 
-         CP 0x40 
-         JR C,FXD_1 
-         XOR A 
- FXD_1   LD (MTBRKPS),A 
-         LD A,0x01 
-         LD (MTJMPFL),A 
-         RET 
-   
- FXF     OR A 
-         JR Z,FXF_5 
-         CP 0x20 
-         JR NC,FXF_1 
- FXF_0   LD (MTSPEED),A 
-         RET 
-          
- FXF_1   LD (MTBPM),A 
-         SUB 0x20 
-         LD HL,BPMTAB 
-         ADD A,A 
-         JR NC,FXF_3 
-         INC H 
- FXF_3   ADD A,L 
-         LD L,A 
-         JR NC,FXF_4 
-         INC H 
- FXF_4   LD A,(HL) 
-         INC HL 
-         LD H,(HL) 
-         LD L,A 
-         LD (TICKLEN),HL 
-         LD (TCKLEFT),HL 
-         RET 
-   
- FXF_5    
- ;LD HL,MTSTAT 
- ;---patched 
-         JP Patch2x 
- ;--- 
-         SET 7,(HL) 
-         RET 
-   
- FXE0    AND 0x01 
-         LD (MTFILTR),A 
-         RET 
-   
- FXE3    RES 2,(IY+CHFLAGS) 
-         OR A 
-         RET Z 
-         SET 2,(IY+CHFLAGS) 
-         RET 
-   
- FXE4    RES 1,(IY+CHFLAGS) 
-         BIT 2,A 
-         JR Z,FXE4_2 
-         SET 1,(IY+CHFLAGS) 
- FXE4_2  AND 0x03 
-         LD L,A 
-         LD A,(IY+CHVIBPS) 
-         AND 0xFC 
-         OR L 
-         LD (IY+CHVIBPS),A 
-         RET 
-   
- FXE5    ADD A,A 
-         LD (IY+CHFINE),A 
-         RET 
-   
- FXE6    OR A 
-         JR Z,FXE6_3 
-         INC (IY+CHLPCNT) 
-         DEC (IY+CHLPCNT) 
-         JR Z,FXE6_2 
-         DEC (IY+CHLPCNT) 
-         RET Z 
- FXE6_1  LD A,(IY+CHPATPS) 
-         LD (MTBRKPS),A 
-         LD A,0x01 
-         LD (MTBRKFL),A 
-         RET 
-          
- FXE6_2  LD (IY+CHLPCNT),A 
-         JP FXE6_1 
-          
- FXE6_3  LD A,(MTPATPS) 
-         LD (IY+CHPATPS),A 
-         RET 
-   
- FXE7    RES 0,(IY+CHFLAGS) 
-         BIT 2,A 
-         JR Z,FXE7_2 
-         SET 0,(IY+CHFLAGS) 
- FXE7_2  AND 0x03 
-         LD L,A 
-         LD A,(IY+CHTRMPS) 
-         AND 0xFC 
-         OR L 
-         LD (IY+CHTRMPS),A 
-         RET 
-   
- FXE9    OR A 
-         RET Z 
-         LD L,A 
-         LD A,(MTCOUNT) 
- FXE9_1  SUB L 
-         JR NC,FXE9_1 
-         ADD A,L 
-         RET NZ 
-         CALL GETSMP 
-         RET 
-   
- FXEA    RLCA 
-         RLCA 
-         RLCA 
-         RLCA 
-         JP FXA 
-   
- FXEC    LD HL,MTCOUNT 
-         CP (HL) 
-         RET NZ 
-         XOR A 
-         LD (IY+CHVOL),A 
-         CP (IY+CHMVOL) 
-         LD (IY+CHMVOL),A 
-         RET Z 
-         SET 0,(IY+CHSTAT) 
-         RET 
-   
- FXED    LD HL,MTCOUNT 
-         CP (HL) 
-         RET NZ 
-         CALL GETSMP 
-         RET 
-   
- FXEE    LD HL,MTPDT2 
-         INC (HL) 
-         DEC (HL) 
-         RET NZ 
-         INC A 
-         LD (MTPDT),A 
-         RET 
-   
- ;INCLUDE "VOL_H.a80" 
-   
- ;VOLUME CALCULATION FOR MODULES AND FX 
-   
- CALCVOL RES 0,(IY+CHSTAT) 
-         LD DE,0xFC00 
-         LD A,(IY+CHMVOL) 
-         AND 0x7F 
-         JP Z,CALCV_Z 
-         CP 0x40 
-         CALL C,MUL64 
-         LD A,(IY+CHEVOL) 
-         OR A 
-         JP Z,CALCV_Z 
-         CP 0x40 
-         CALL C,MUL64 
-         LD A,(IY+CHFADVH) 
-         SRL A 
-         SRL A 
-         ADC A,0x00 
-         JP Z,CALCV_Z 
-         CP 0x40 
-         CALL C,MUL64 
-         BIT 6,(IY+CHSTAT) 
-         JP Z,CALCV_N 
-         LD A,(FXVOL) 
-         OR A 
-         JP Z,CALCV_Z 
-         CP 0x40 
-         CALL C,MUL64 
-         LD A,(FXMVOL) 
-         OR A 
-         JP Z,CALCV_Z 
-         CP 0x40 
-         CALL C,MUL64 
-         JP CALCV_X 
-   
- CALCV_N LD A,(MTVOL) 
-         OR A 
-         JP Z,CALCV_Z 
-         CP 0x40 
-         CALL C,MUL64 
-         LD A,(MODVOL) 
-         OR A 
-         JP Z,CALCV_Z 
-         CP 0x40 
-         CALL C,MUL64 
- CALCV_X LD C,(IY+CHPAN) 
-         LD A,(IY+CHEPAN) 
-         SUB 0x20 
-         JR Z,CALCV_V 
-         JR NC,CALCV_I 
-         NEG 
- CALCV_I CP 0x20 
-         JR C,CALCV_U 
-         LD H,(IY+CHPAN) 
-         LD A,H 
-         OR A 
-         JP P,CALCV_Q 
-         NEG 
-         LD H,A 
-         JP CALCV_Q 
-   
- CALCV_U RLCA 
-         RLCA 
-         RLCA 
-         LD L,A 
-         LD A,(IY+CHPAN) 
-         OR A 
-         JP P,CALCV_T 
-         NEG 
- CALCV_T LD B,A 
-         XOR A 
-         JP CALCV_M 
-   
- CALCV_R ADD A,B 
- CALCV_E SRL B 
- CALCV_M SLA L 
-         JR C,CALCV_R 
-         JR NZ,CALCV_E 
-         SRL A 
-         LD H,A 
- CALCV_Q LD A,(IY+CHEPAN) 
-         CP 0x20 
-         JR C,CALCV_P 
-         LD A,C 
-         ADD A,H 
-         LD C,A 
-         JR NC,CALCV_V 
-         LD C,0xFF 
-         JP CALCV_W 
- CALCV_P LD A,C 
-         SUB H 
-         LD C,0x00 
-         JR C,CALCV_O 
-         LD C,A 
- CALCV_V LD A,C 
-         CP 0x80 
-         JR Z,CALCV_Y 
-         OR A 
-         JP M,CALCV_W 
- CALCV_O BIT 5,(IY+CHSTAT) 
-         JR Z,CALCV_Y 
-         SRL A 
-         CALL MUL64 
-         JP CALCV_Y 
-   
- CALCV_W BIT 5,(IY+CHSTAT) 
-         JR NZ,CALCV_Y 
-         NEG 
-         SRL A 
-         CALL MUL64 
- CALCV_Y LD A,D 
-         SRL A 
-         SRL A 
-         ADC A,0x00 
- CALCV_Z LD C,A 
-         LD HL,VOLRQTB 
-         LD A,L 
-         ADD A,(IY+CHRDN) 
-         LD L,A 
-         LD (HL),C 
-         RET 
-   
- MUL64   LD B,A 
-         LD HL,0x0000 
-         AND 0x0F 
-         JR Z,MUL64_F 
-         SLA B 
-         SLA B 
-         JP MUL64_E 
-   
- MUL64_A ADD HL,DE 
- MUL64_E SRL D 
-         RR E 
-         SLA B 
-         JP C,MUL64_A 
-         JP NZ,MUL64_E 
-         EX DE,HL 
-         RET 
-   
- MUL64_F LD A,B 
-         OR A 
-         JR Z,MUL64_S 
-         SRL D 
-         RR E 
-         CP 0x20 
-         RET Z 
-         LD L,E 
-         LD H,D 
-         SRL D 
-         RR E 
-         CP 0x10 
-         RET Z 
-         ADD HL,DE 
- MUL64_S EX DE,HL 
-         RET 
-   
- ;INCLUDE "TEST_H.a80" 
-   
- TCOM    IN A,(ZXSTAT) 
-         RRCA 
-         JR NC,TCOM 
- TCOM_   IN A,(ZXCMD) 
-         CP 0x20 
-         JP NC,COMINT2 
-         CP 0x01 
-         JR Z,TCOM 
-         OUT (CLRCBIT),A 
-         LD HL,TCOMTB 
-         ADD A,A 
-         ADD A,L 
-         LD L,A 
-         LD A,(HL) 
-         INC L 
-         LD H,(HL) 
-         LD L,A 
-         JP (HL) 
-   
- TCOM2   LD HL,DAC0 
-         LD A,0x3F 
-         OUT (VOL1),A 
- TCOMDAC LD (HL),0 
-         LD A,(HL) 
-         LD IY,TCONT1 
-         JP TWAIT 
-          
- TCONT1  LD (HL),0xFF 
-         LD A,(HL) 
-         LD IY,TCOMDAC 
-         JP TWAIT 
-   
- TCOM3   LD HL,DAC1 
-         LD A,0x3F 
-         OUT (VOL2),A 
-         JR TCOMDAC 
-          
- TCOM4   LD HL,DAC2 
-         LD A,0x3F 
-         OUT (VOL3),A 
-         JR TCOMDAC 
-          
- TCOM5   LD HL,DAC3 
-         LD A,0x3F 
-         OUT (VOL4),A 
-         JR TCOMDAC 
-   
- TCOM6   XOR A 
-         OUT (ZXDATWR),A 
-         LD IY,TCONT2 
-         JP TWAIT 
-          
- TCONT2  LD A,0xFF 
-         OUT (ZXDATWR),A 
-         LD IY,TCOM6 
-         JP TWAIT 
-   
- TCOM7   LD C,VOL1 
-         LD HL,DAC0 
-         LD (HL),0xFF 
-         LD A,(HL) 
- TCOMVOL LD A,0x00 
-         OUT (C),A 
-         LD IY,TCONT3 
-         JP TWAIT 
-          
- TCONT3  LD A,0xFF 
-         OUT (C),A 
-         LD IY,TCOMVOL 
-         JP TWAIT 
-   
- TCOM8   LD C,VOL2 
-         LD HL,DAC1 
-         LD (HL),0xFF 
-         LD A,(HL) 
-         JR TCOMVOL 
-          
- TCOM9   LD C,VOL3 
-         LD HL,DAC2 
-         LD (HL),0xFF 
-         LD A,(HL) 
-         JR TCOMVOL 
-          
- TCOMA   LD C,VOL4 
-         LD HL,DAC3 
-         LD (HL),0xFF 
-         LD A,(HL) 
-         JR TCOMVOL 
-   
- TCOMB   LD HL,DAC0 
-         LD C,VOL1 
- TCOMTST LD B,0x3F 
- TCOMT4  OUT (C),B 
-         LD D,114 
- TCOMT5  LD (HL),0x00 
-         LD A,(HL) 
-         XOR A 
- TCOMT6  DEC A 
-         JR NZ,TCOMT6 
-         LD (HL),0xFF 
-         LD A,(HL) 
-         XOR A 
- TCOMT7  DEC A 
-         JR NZ,TCOMT7 
-         DEC D 
-         JR NZ,TCOMT5 
-         DEC B 
-         JP P,TCOMT4 
-         IN A,(ZXSTAT) 
-         RRCA 
-         JR NC,TCOMTST 
-         JP TCOM_ 
-   
- TCOMC   LD HL,DAC1 
-         LD C,VOL2 
-         JP TCOMTST 
-          
- TCOMD   LD HL,DAC2 
-         LD C,VOL3 
-         JP TCOMTST 
-          
- TCOME   LD HL,DAC3 
-         LD C,VOL4 
-         JP TCOMTST 
-   
- TCOMF   LD A,0x3F 
-         OUT (VOL1),A 
-         OUT (VOL2),A 
-         OUT (VOL3),A 
-         OUT (VOL4),A 
-         LD B,0x00 
-         LD L,B 
- TCONT8  LD H,HIGH (DAC0) 
-         LD (HL),B 
-         LD A,(HL) 
-         INC H 
-         LD (HL),B 
-         LD A,(HL) 
-         INC H 
-         LD (HL),B 
-         LD A,(HL) 
-         INC H 
-         LD (HL),B 
-         LD A,(HL) 
-         DJNZ TCONT8 
-         IN A,(ZXSTAT) 
-         RRCA 
-         JP NC,TCONT8 
-         JP TCOM_ 
-   
- TCOM10  IN A,(ZXDATRD) 
-         OUT (ZXDATWR),A 
-         JP TCOM_ 
-          
- TCOM11  IN A,(ZXDATRD) 
-         JP TCOM_ 
-   
- TCOM12  LD HL,DAC0 
- TCONT9  LD A,0x3F 
-         OUT (VOL1),A 
-         OUT (VOL2),A 
-         OUT (VOL3),A 
-         OUT (VOL4),A 
- TCONTA  IN A,(ZXDATRD) 
-         LD (HL),A 
-         LD A,(HL) 
- TCONTB  DJNZ TCONTB 
-         LD (HL),0x00 
-         LD A,(HL) 
- TCONTC  DJNZ TCONTC 
-         IN A,(ZXSTAT) 
-         RRCA 
-         JP C,TCOM_ 
-         JP TCONTA 
-   
- TCOM13  LD HL,DAC1 
-         JR TCONT9 
-          
- TCOM14  LD HL,DAC2 
-         JR TCONT9 
-          
- TCOM15  LD HL,DAC3 
-         JR TCONT9 
-   
- TWAIT   LD B,0x04 
- TWAIT1  LD DE,38686 
- TWAIT2  IN A,(ZXSTAT) 
-         RRCA 
-         JP C,TCOM_ 
-         DEC DE 
-         LD A,D 
-         OR E 
-         JR NZ,TWAIT2 
-         DJNZ TWAIT2 
-         JP (IY) 
-   
- ;INCLUDE "TABLES_H.a80" 
-   
-         align 256 
-          
- VIBTB   db 0x00,0x18,0x31,0x4A,0x61,0x78,0x8D,0xA1 
-         db 0xB4,0xC5,0xD4,0xE0,0xEB,0xF4,0xFA,0xFD 
-         db 0xFF,0xFD,0xFA,0xF4,0xEB,0xE0,0xD4,0xC5 
-         db 0xB4,0xA1,0x8D,0x78,0x61,0x4A,0x31,0x18 
-   
- COMTABH DB LOW (COM20),LOW (COM21),LOW (COM22),LOW (COM23),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0x20 
-         DB LOW (COMHZ),LOW (COMHZ),LOW (COM2A),LOW (COM2B),LOW (COM2C),LOW (COM2D),LOW (COM2E),LOW (COM2F)  ;0x28 
-         DB LOW (COM30),LOW (COM31),LOW (COM32),LOW (COM33),LOW (COM34),LOW (COM35),LOW (COM36),LOW (COM37)  ;0x30 
-         DB LOW (COM38),LOW (COM39),LOW (COM3A),LOW (COM3B),LOW (COM3C),LOW (COM3D),LOW (COM3E),LOW (COM3F)  ;0x38 
-         DB LOW (COM40),LOW (COM41),LOW (COM42),LOW (COMHZ),LOW (COMHZ),LOW (COM45),LOW (COM46),LOW (COM47)  ;0x40 
-         DB LOW (COM48),LOW (COM49),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0x48 
-         DB LOW (COM50),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0x50 
-         DB LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0x58 
-         DB LOW (COM60),LOW (COM61),LOW (COM62),LOW (COM63),LOW (COM64),LOW (COM65),LOW (COM66),LOW (COM67)  ;0x60 
-         DB LOW (COM68),LOW (COM69),LOW (COM6A),LOW (COM6B),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0x68 patched 
-         DB LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0x70 
-         DB LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0x78 
-         DB LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80)  ;0x80 
-         DB LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80)  ;0x88 
-         DB LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80)  ;0x90 
-         DB LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80),LOW (COM80)  ;0x98 
-         DB LOW (COMA0),LOW (COMA0),LOW (COMA0),LOW (COMA0),LOW (COMA0),LOW (COMA0),LOW (COMA0),LOW (COMA0)  ;0xA0 
-         DB LOW (COMA0),LOW (COMA0),LOW (COMA0),LOW (COMA0),LOW (COMA0),LOW (COMA0),LOW (COMA0),LOW (COMA0)  ;0xA8 
-         DB LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0xB0 
-         DB LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0xB8 
-         DB LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0xC0 
-         DB LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0xC8 
-         DB LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0xD0 
-         DB LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0xD8 
-         DB LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0xE0 
-         DB LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ),LOW (COMHZ)  ;0xE8 
-   
-         DUPL 0x10,0 
-         DUPL 0x20,0 
-   
-         DB HIGH (COM20),HIGH (COM21),HIGH (COM22),HIGH (COM23),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0x20 
-         DB HIGH (COMHZ),HIGH (COMHZ),HIGH (COM2A),HIGH (COM2B),HIGH (COM2C),HIGH (COM2D),HIGH (COM2E),HIGH (COM2F)  ;0x28 
-         DB HIGH (COM30),HIGH (COM31),HIGH (COM32),HIGH (COM33),HIGH (COM34),HIGH (COM35),HIGH (COM36),HIGH (COM37)  ;0x30 
-         DB HIGH (COM38),HIGH (COM39),HIGH (COM3A),HIGH (COM3B),HIGH (COM3C),HIGH (COM3D),HIGH (COM3E),HIGH (COM3F)  ;0x38 
-         DB HIGH (COM40),HIGH (COM41),HIGH (COM42),HIGH (COMHZ),HIGH (COMHZ),HIGH (COM45),HIGH (COM46),HIGH (COM47)  ;0x40 
-         DB HIGH (COM48),HIGH (COM49),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0x48 
-         DB HIGH (COM50),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0x50 
-         DB HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0x58 
-         DB HIGH (COM60),HIGH (COM61),HIGH (COM62),HIGH (COM63),HIGH (COM64),HIGH (COM65),HIGH (COM66),HIGH (COM67)  ;0x60 
-         DB HIGH (COM68),HIGH (COM69),HIGH (COM6A),HIGH (COM6B),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0x68 patched 
-         DB HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0x70 
-         DB HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0x78 
-         DB HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80)  ;0x80 
-         DB HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80)  ;0x88 
-         DB HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80)  ;0x90 
-         DB HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80),HIGH (COM80)  ;0x98 
-         DB HIGH (COMA0),HIGH (COMA0),HIGH (COMA0),HIGH (COMA0),HIGH (COMA0),HIGH (COMA0),HIGH (COMA0),HIGH (COMA0)  ;0xA0 
-         DB HIGH (COMA0),HIGH (COMA0),HIGH (COMA0),HIGH (COMA0),HIGH (COMA0),HIGH (COMA0),HIGH (COMA0),HIGH (COMA0)  ;0xA8 
-         DB HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0xB0 
-         DB HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0xB8 
-         DB HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0xC0 
-         DB HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0xC8 
-         DB HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0xD0 
-         DB HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0xD8 
-         DB HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0xE0 
-         DB HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ),HIGH (COMHZ)  ;0xE8 
-   
-         DUPL 0x10,0 
-   
- FXJP1   DW FXNOP,FXNOP,FXNOP,FXNOP,FXNOP,FXNOP,FXNOP,FXNOP 
-         DW FXNOP,FXNOP,FXNOP,FXB  ,FXC  ,FXD  ,FXE  ,FXF 
-   
-         DW FXRET,FXRET,FXRET,FXRET,FXRET,FXRET,FXRET,FXRET 
-         DW FXRET,FXRET,FXRET,FXRET,FXRET,FXRET,FXRET,FXRET 
-   
- FXJP2   DW FX0  ,FX1  ,FX2  ,FX3  ,FX4  ,FX5  ,FX6  ,FX7 
-         DW FXRET,FXRET,FXA  ,FXRET,FXRET,FXRET,FXE_ ,FXRET 
-   
-         DW FXRET,FXRET,FXRET,FXRET,FXRET,FXRET,FXRET,FXRET 
-         DW FXRET,FXRET,FXRET,FXRET,FXRET,FXRET,FXRET,FXRET 
-   
- FXEJP1  DW FXE0,FX1,FX2,FXE3,FXE4,FXE5,FXE6,FXE7 
-         DW FXRET,FXE9,FXEA,FXA,FXEC,FXED,FXEE,FXRET 
-   
- FXEJP2  DW FXRET,FXRET,FXRET,FXRET,FXRET,FXRET,FXRET,FXRET 
-         DW FXRET,FXE9,FXRET,FXRET,FXEC,FXED,FXRET,FXRET 
-   
- TCOMTB  DEFW TCOM,TCOM,TCOM2,TCOM3,TCOM4,TCOM5,TCOM6,TCOM7 
-         DEFW TCOM8,TCOM9,TCOMA,TCOMB,TCOMC,TCOMD,TCOME,TCOMF 
-         DEFW TCOM10,TCOM11,TCOM12,TCOM13,TCOM14,TCOM15,TCOM,TCOM 
-         DEFW TCOM,TCOM,TCOM,TCOM,TCOM,TCOM,TCOM,TCOM 
-   
- ;INCLUDE "DIHO.a80" 
- ;RETURN: E - NOTE 
-   
- NOTEID  LD HL,AMINOTE 
-         CALL DIH 
-         LD E,A 
-         RET 
-   
- ;RETURN: E - NOTE 
-   
- NOTEGET LD E,(IY+CHNOTE) 
-         LD A,E 
-         INC A 
-         RET NZ 
- NOTEFND LD HL,AMFRQTB 
-         LD A,(IY+CHFINE) 
-         RRA 
-         AND 0x0F 
-         JR Z,NOTEFN1 
-         LD C,A 
-         ADD A,A 
-         ADD A,C 
-         ADD A,A 
-         ADD A,A 
-         ADD A,A 
-         LD B,0 
-         RL B 
-         ADD A,A 
-         RL B 
-         ADD A,A 
-         RL B 
-         LD C,A 
-         ADD HL,BC 
- NOTEFN1 LD E,(IY+CHPERL) 
-         LD D,(IY+CHPERH) 
-         CALL DIH 
-         LD E,A 
-         RET 
-   
- DIH     LD BC,0x005F 
-         PUSH HL 
-         INC HL 
-         LD A,(HL) 
-         DEC HL 
-         CP D 
-         JR C,DIHRGR 
-         JR NZ,DIH2 
-         LD A,(HL) 
-         CP E 
-         JR C,DIHRGR 
-         JR NZ,DIH2 
-         POP HL 
-         XOR A 
-         SCF 
-         RET 
-          
- DIHRGR  LD E,(HL) 
-         INC HL 
-         LD D,(HL) 
-         POP HL 
-         XOR A 
-         RET 
-          
- DIH2    LD A,0xBF 
-         ADD A,L 
-         LD L,A 
-         LD A,H 
-         ADC A,B 
-         LD H,A 
-         LD A,(HL) 
-         DEC HL 
-         CP D 
-         JR C,DIH3 
-         JR NZ,DIHRLO 
-         LD A,(HL) 
-         CP E 
-         JR C,DIH3 
-         JR NZ,DIHRLO 
-         POP HL 
-         LD A,C 
-         SCF 
-         RET 
-          
- DIHRLO  LD E,(HL) 
-         INC HL 
-         LD D,(HL) 
-         POP HL 
-         LD A,C 
-         OR A 
-         RET 
-   
- DIH3    POP HL 
- DIHLP   PUSH HL 
-         LD A,B 
-         ADD A,C 
-         AND 0xFE 
-         ADD A,L 
-         LD L,A 
-         LD A,H 
-         ADC A,0x00 
-         LD H,A 
-         INC HL 
-         LD A,(HL) 
-         DEC HL 
-         CP D 
-         JR C,DIHGR 
-         JR NZ,DIHLO 
-         LD A,(HL) 
-         CP E 
-         JR C,DIHGR 
-         JR NZ,DIHLO 
-         POP HL 
-         LD A,B 
-         ADD A,C 
-         SRL A 
-         SCF 
-         RET 
-   
- DIHGR   LD A,B 
-         ADD A,C 
-         SRL A 
-         LD C,A 
-         POP HL 
-         JP DIHLP 
-   
- DIHLO   LD A,B 
-         ADD A,C 
-         SRL A 
-         CP B 
-         LD B,A 
-         JR Z,DIHMID 
-         POP HL 
-         JP DIHLP 
-   
- DIHMID  PUSH HL 
-         PUSH BC 
-         LD A,(HL) 
-         INC HL 
-         SUB E 
-         LD C,A 
-         LD A,(HL) 
-         INC HL 
-         SBC A,D 
-         LD B,A 
-         LD A,(HL) 
-         INC HL 
-         LD H,(HL) 
-         LD L,A 
-         EX DE,HL 
-         OR A 
-         SBC HL,DE 
-         LD A,H 
-         CP B 
-         JR C,DIHFLO 
-         JR NZ,DIHFGR 
-         LD A,L 
-         CP C 
-         JR C,DIHFLO 
-         JR NZ,DIHFGR 
- DIHFLO  POP BC 
-         POP HL 
-         POP HL 
-         LD A,C 
-         OR A 
-         RET 
-          
- DIHFGR  POP BC 
-         POP HL 
-         LD E,(HL) 
-         INC HL 
-         LD D,(HL) 
-         POP HL 
-         LD A,B 
-         RET 
-   
- AMINOTE dw 0x1AC0,0x1940,0x17D0,0x1680,0x1530,0x1400,0x12E0,0x11D0,0x10D0,0x0FE0,0x0F00,0x0E28;C-0 
-         dw 0x0D60,0x0CA0,0x0BE8,0x0B40,0x0A98,0x0A00,0x0970,0x08E8,0x0868,0x07F0,0x0780,0x0714;C-1 
-         dw 0x06B0,0x0650,0x05F4,0x05A0,0x054C,0x0500,0x04B8,0x0474,0x0434,0x03F8,0x03C0,0x038A;C-2 
-         dw 0x0358,0x0328,0x02FA,0x02D0,0x02A6,0x0280,0x025C,0x023A,0x021A,0x01FC,0x01E0,0x01C5;C-3 
-         dw 0x01AC,0x0194,0x017D,0x0168,0x0153,0x0140,0x012E,0x011D,0x010D,0x00FE,0x00F0,0x00E2;C-4 
-         dw 0x00D6,0x00CA,0x00BE,0x00B4,0x00AA,0x00A0,0x0097,0x008F,0x0087,0x007F,0x0078,0x0071;C-5 
-         dw 0x006B,0x0065,0x005F,0x005A,0x0055,0x0050,0x004B,0x0047,0x0043,0x003F,0x003C,0x0038;C-6 
-         dw 0x0035,0x0032,0x002F,0x002D,0x002A,0x0028,0x0025,0x0023,0x0021,0x001F,0x001E,0x001C;C-7 
- ___END 
-   
-                 DUPL GSRomBaseH+0x2000-$,0xFF 
-                 PHASE GSRomBaseH+0x2000 
-          
- ;INCLUDE "_GSFRQTB.a80" ;patched 
- GSFRQTB  
- ;00 
-         dw 0x4854,0x4446,0x4071,0x3CD1,0x3968,0x362F,0x3324,0x3045,0x2D91,0x2B02,0x2897,0x2652 
-         dw 0x242A,0x2223,0x2037,0x1E68,0x1CB5,0x1B17,0x1992,0x1822,0x16C8,0x1581,0x144D,0x1329 
-         dw 0x1215,0x1111,0x101B,0x0F35,0x0E5A,0x0D8D,0x0CCA,0x0C12,0x0B62,0x0AC0,0x0A26,0x0994 
-         dw 0x090A,0x0888,0x080F,0x079A,0x072C,0x06C5,0x0663,0x0607,0x05B1,0x0560,0x0511,0x04C8 
-         dw 0x0485,0x0444,0x0406,0x03CD,0x0397,0x0363,0x0333,0x0305,0x02DA,0x02AE,0x0288,0x0265 
-         dw 0x0242,0x0222,0x0204,0x01E6,0x01CB,0x01B0,0x0198,0x0182,0x016D,0x0157,0x0144,0x0131 
-         dw 0x0121,0x0111,0x0100,0x00F3,0x00E5,0x00D8,0x00CD,0x00BF,0x00B5,0x00AD,0x00A2,0x009A 
-         dw 0x0092,0x0087,0x0081,0x0079,0x0071,0x006C,0x0066,0x0061,0x005B,0x0056,0x0051,0x004B 
- ;01 
-         dw 0x47D0,0x43C7,0x3FFA,0x3C62,0x38FE,0x35CB,0x32C6,0x2FEE,0x2D3D,0x2AB4,0x284E,0x260B 
-         dw 0x23E6,0x21E5,0x1FFB,0x1E32,0x1C7F,0x1AE7,0x1964,0x17F7,0x169D,0x1558,0x1427,0x1305 
-         dw 0x11F4,0x10F1,0x0FFD,0x0F18,0x0E3F,0x0D72,0x0CB2,0x0BFA,0x0B4F,0x0AAD,0x0A13,0x0981 
-         dw 0x08FA,0x0878,0x07FE,0x078D,0x0721,0x06BA,0x0659,0x05FD,0x05A6,0x0555,0x0509,0x04C0 
-         dw 0x047D,0x043C,0x0400,0x03C5,0x038F,0x035B,0x032B,0x02FF,0x02D4,0x02AC,0x0283,0x0260 
-         dw 0x023D,0x021F,0x01FF,0x01E4,0x01C8,0x01AD,0x0195,0x017F,0x016A,0x0154,0x0141,0x0131 
-         dw 0x011E,0x010E,0x0100,0x00F0,0x00E3,0x00D8,0x00CA,0x00BF,0x00B5,0x00AA,0x00A2,0x0097 
-         dw 0x008F,0x0087,0x007F,0x0079,0x0071,0x006C,0x0066,0x005E,0x0059,0x0056,0x0051,0x004B 
- ;02 
-         dw 0x474C,0x434B,0x3F83,0x3BF3,0x3895,0x356A,0x326A,0x2F95,0x2CE9,0x2A63,0x2802,0x25C5 
-         dw 0x23A6,0x21A4,0x1FC2,0x1DF9,0x1C4C,0x1AB3,0x1933,0x17C9,0x1674,0x1532,0x1401,0x12E2 
-         dw 0x11D1,0x10D3,0x0FE0,0x0EFC,0x0E24,0x0D59,0x0C99,0x0BE4,0x0B3A,0x0A98,0x0A00,0x0971 
-         dw 0x08EA,0x0868,0x07F1,0x077D,0x0713,0x06AC,0x064E,0x05F2,0x059E,0x054D,0x0501,0x04B8 
-         dw 0x0475,0x0434,0x03F8,0x03BF,0x0389,0x0356,0x0325,0x02FA,0x02CF,0x02A6,0x0280,0x025A 
-         dw 0x023A,0x021A,0x01FC,0x01DE,0x01C3,0x01AB,0x0192,0x017D,0x0167,0x0152,0x013F,0x012E 
-         dw 0x011B,0x010E,0x00FE,0x00F0,0x00E3,0x00D5,0x00CA,0x00BD,0x00B2,0x00AA,0x009F,0x0097 
-         dw 0x008F,0x0087,0x007F,0x0076,0x0071,0x006C,0x0064,0x005E,0x0059,0x0053,0x0051,0x004B 
- ;03 
-         dw 0x46C7,0x42CE,0x3F0E,0x3B85,0x382E,0x3506,0x320E,0x2F3E,0x2C98,0x2A17,0x27B9,0x257F 
-         dw 0x2365,0x2168,0x1F87,0x1DC3,0x1C15,0x1A83,0x1905,0x179E,0x164C,0x150A,0x13DB,0x12BF 
-         dw 0x11B1,0x10B3,0x0FC5,0x0EE1,0x0E0C,0x0D41,0x0C84,0x0BCF,0x0B24,0x0A85,0x09ED,0x095E 
-         dw 0x08D9,0x085A,0x07E1,0x076F,0x0706,0x06A2,0x0640,0x05E7,0x0593,0x0542,0x04F6,0x04B0 
-         dw 0x046C,0x042C,0x03F0,0x03B7,0x0381,0x0351,0x0320,0x02F5,0x02C9,0x02A1,0x027B,0x0258 
-         dw 0x0235,0x0217,0x01F9,0x01DB,0x01C0,0x01A8,0x0190,0x017A,0x0164,0x0152,0x013F,0x012C 
-         dw 0x011B,0x010B,0x00FB,0x00ED,0x00E0,0x00D2,0x00C8,0x00BD,0x00B2,0x00A7,0x009F,0x0094 
-         dw 0x008C,0x0084,0x007F,0x0076,0x0071,0x0069,0x0064,0x005E,0x0059,0x0053,0x004E,0x004B 
- ;04 
-         dw 0x4645,0x4255,0x3E9A,0x3B18,0x37C7,0x34A4,0x31AF,0x2EE5,0x2C44,0x29C9,0x2770,0x2538 
-         dw 0x2324,0x212A,0x1F4E,0x1D8B,0x1BE2,0x1A52,0x18D7,0x1772,0x1623,0x14E4,0x13B8,0x129C 
-         dw 0x1190,0x1095,0x0FA7,0x0EC6,0x0DF1,0x0D29,0x0C6B,0x0BB9,0x0B11,0x0A72,0x09DA,0x094E 
-         dw 0x08C9,0x084A,0x07D3,0x0762,0x06F8,0x0694,0x0635,0x05DC,0x0588,0x0537,0x04EE,0x04A8 
-         dw 0x0464,0x0423,0x03E8,0x03B2,0x037C,0x034B,0x031A,0x02EF,0x02C4,0x029B,0x0276,0x0252 
-         dw 0x0232,0x0211,0x01F4,0x01D9,0x01BE,0x01A5,0x018D,0x0177,0x0162,0x014F,0x013C,0x0129 
-         dw 0x0119,0x0108,0x00FB,0x00EB,0x00E0,0x00D2,0x00C8,0x00BA,0x00AF,0x00A7,0x009C,0x0094 
-         dw 0x008C,0x0084,0x007C,0x0076,0x006E,0x0069,0x0064,0x005E,0x0059,0x0053,0x004E,0x004B 
- ;05 
-         dw 0x45C3,0x41D8,0x3E29,0x3AAA,0x3761,0x3443,0x3156,0x2E8F,0x2BF3,0x297A,0x2727,0x24F5 
-         dw 0x22E3,0x20EC,0x1F13,0x1D55,0x1BAF,0x1A21,0x18A9,0x1747,0x15FB,0x14BE,0x1395,0x1279 
-         dw 0x1170,0x1077,0x0F89,0x0EAB,0x0DD8,0x0D10,0x0C56,0x0BA3,0x0AFC,0x0A5F,0x09CA,0x093E 
-         dw 0x08B9,0x083A,0x07C6,0x0754,0x06EB,0x0689,0x062B,0x05D1,0x057E,0x052F,0x04E3,0x049D 
-         dw 0x045C,0x041E,0x03E3,0x03AA,0x0376,0x0343,0x0315,0x02EA,0x02BF,0x0296,0x0273,0x0250 
-         dw 0x022D,0x020F,0x01F1,0x01D6,0x01BB,0x01A3,0x018A,0x0175,0x015F,0x014C,0x0139,0x0126 
-         dw 0x0116,0x0106,0x00F8,0x00EB,0x00DD,0x00D0,0x00C5,0x00BA,0x00AF,0x00A4,0x009C,0x0094 
-         dw 0x008C,0x0084,0x007C,0x0074,0x006E,0x0069,0x0061,0x005B,0x0059,0x0053,0x004E,0x0049 
- ;06 
-         dw 0x4544,0x4161,0x3DB4,0x3A3D,0x36FA,0x33E4,0x30FA,0x2E3B,0x2BA2,0x292E,0x26DE,0x24B1 
-         dw 0x22A2,0x20B0,0x1EDA,0x1D1E,0x1B7B,0x19F1,0x187B,0x171C,0x15D2,0x1498,0x136F,0x1258 
-         dw 0x114F,0x1057,0x0F6E,0x0E90,0x0DBD,0x0CF8,0x0C3D,0x0B8E,0x0AE9,0x0A4C,0x09B7,0x092B 
-         dw 0x08A9,0x082C,0x07B5,0x0747,0x06E0,0x067C,0x0620,0x05C7,0x0573,0x0524,0x04DB,0x0495 
-         dw 0x0454,0x0416,0x03DA,0x03A4,0x036E,0x033E,0x0310,0x02E4,0x02B9,0x0293,0x026D,0x024A 
-         dw 0x022A,0x0209,0x01EE,0x01D1,0x01B8,0x01A0,0x0188,0x0172,0x015C,0x0149,0x0136,0x0126 
-         dw 0x0113,0x0106,0x00F6,0x00E8,0x00DB,0x00D0,0x00C2,0x00B7,0x00AF,0x00A4,0x009C,0x0092 
-         dw 0x0089,0x0081,0x007C,0x0074,0x006E,0x0066,0x0061,0x005B,0x0056,0x0051,0x004E,0x0049 
- ;07 
-         dw 0x44C3,0x40E8,0x3D43,0x39D4,0x3693,0x3383,0x30A1,0x2DE4,0x2B51,0x28E3,0x2698,0x246E 
-         dw 0x2261,0x2075,0x1EA1,0x1CE8,0x1B4B,0x19C3,0x1850,0x16F3,0x15A9,0x1472,0x134C,0x1235 
-         dw 0x1132,0x1039,0x0F50,0x0E75,0x0DA5,0x0CE0,0x0C28,0x0B78,0x0AD3,0x0A39,0x09A4,0x091A 
-         dw 0x0899,0x081C,0x07A8,0x0739,0x06D2,0x0671,0x0612,0x05BC,0x056B,0x051C,0x04D3,0x048D 
-         dw 0x044C,0x040E,0x03D5,0x039C,0x0369,0x0338,0x030A,0x02DF,0x02B4,0x028E,0x0268,0x0248 
-         dw 0x0224,0x0207,0x01E9,0x01CE,0x01B3,0x019B,0x0185,0x016F,0x015A,0x0147,0x0134,0x0124 
-         dw 0x0113,0x0103,0x00F6,0x00E8,0x00DB,0x00CD,0x00C2,0x00B7,0x00AD,0x00A2,0x009A,0x0092 
-         dw 0x0089,0x0081,0x0079,0x0074,0x006C,0x0066,0x0061,0x005B,0x0056,0x0051,0x004E,0x0049 
- ;08 
-         dw 0x4CA1,0x4854,0x4446,0x4071,0x3CD1,0x3968,0x362F,0x3324,0x3045,0x2D91,0x2B02,0x2897 
-         dw 0x2652,0x242A,0x2223,0x2037,0x1E68,0x1CB5,0x1B17,0x1992,0x1822,0x16C8,0x1581,0x144D 
-         dw 0x1329,0x1215,0x1111,0x101B,0x0F35,0x0E5A,0x0D8D,0x0CCA,0x0C12,0x0B62,0x0AC0,0x0A26 
-         dw 0x0994,0x090A,0x0888,0x080F,0x079A,0x072C,0x06C5,0x0663,0x0607,0x05B1,0x0560,0x0511 
-         dw 0x04C8,0x0485,0x0444,0x0406,0x03CD,0x0397,0x0363,0x0333,0x0305,0x02DA,0x02AE,0x0288 
-         dw 0x0265,0x0242,0x0222,0x0204,0x01E6,0x01CB,0x01B0,0x0198,0x0182,0x016D,0x0157,0x0144 
-         dw 0x0131,0x0121,0x0111,0x0100,0x00F3,0x00E5,0x00D8,0x00CD,0x00BF,0x00B5,0x00AD,0x00A2 
-         dw 0x009A,0x0092,0x0087,0x0081,0x0079,0x0071,0x006C,0x0066,0x0061,0x005B,0x0056,0x0051 
- ;09 
-         dw 0x4C14,0x47D0,0x43C7,0x3FFA,0x3C62,0x38FE,0x35CB,0x32C6,0x2FEE,0x2D3D,0x2AB4,0x284E 
-         dw 0x260B,0x23E6,0x21E5,0x1FFB,0x1E32,0x1C7F,0x1AE7,0x1964,0x17F7,0x169D,0x1558,0x1427 
-         dw 0x1305,0x11F4,0x10F1,0x0FFD,0x0F18,0x0E3F,0x0D72,0x0CB2,0x0BFA,0x0B4F,0x0AAD,0x0A13 
-         dw 0x0981,0x08FA,0x0878,0x07FE,0x078D,0x0721,0x06BA,0x0659,0x05FD,0x05A6,0x0555,0x0509 
-         dw 0x04C0,0x047D,0x043C,0x0400,0x03C5,0x038F,0x035B,0x032B,0x02FF,0x02D4,0x02AC,0x0283 
-         dw 0x0260,0x023D,0x021F,0x01FF,0x01E4,0x01C8,0x01AD,0x0195,0x017F,0x016A,0x0154,0x0141 
-         dw 0x0131,0x011E,0x010E,0x0100,0x00F0,0x00E3,0x00D8,0x00CA,0x00BF,0x00B5,0x00AA,0x00A2 
-         dw 0x0097,0x008F,0x0087,0x007F,0x0079,0x0071,0x006C,0x0066,0x005E,0x0059,0x0056,0x0051 
- ;0A 
-         dw 0x4B88,0x474C,0x434B,0x3F83,0x3BF3,0x3895,0x356A,0x326A,0x2F95,0x2CE9,0x2A63,0x2802 
-         dw 0x25C5,0x23A6,0x21A4,0x1FC2,0x1DF9,0x1C4C,0x1AB3,0x1933,0x17C9,0x1674,0x1532,0x1401 
-         dw 0x12E2,0x11D1,0x10D3,0x0FE0,0x0EFC,0x0E24,0x0D59,0x0C99,0x0BE4,0x0B3A,0x0A98,0x0A00 
-         dw 0x0971,0x08EA,0x0868,0x07F1,0x077D,0x0713,0x06AC,0x064E,0x05F2,0x059E,0x054D,0x0501 
-         dw 0x04B8,0x0475,0x0434,0x03F8,0x03BF,0x0389,0x0356,0x0325,0x02FA,0x02CF,0x02A6,0x0280 
-         dw 0x025A,0x023A,0x021A,0x01FC,0x01DE,0x01C3,0x01AB,0x0192,0x017D,0x0167,0x0152,0x013F 
-         dw 0x012E,0x011B,0x010E,0x00FE,0x00F0,0x00E3,0x00D5,0x00CA,0x00BD,0x00B2,0x00AA,0x009F 
-         dw 0x0097,0x008F,0x0087,0x007F,0x0076,0x0071,0x006C,0x0064,0x005E,0x0059,0x0053,0x0051 
- ;0B 
-         dw 0x4AFE,0x46C7,0x42CE,0x3F0E,0x3B85,0x382E,0x3506,0x320E,0x2F3E,0x2C98,0x2A17,0x27B9 
-         dw 0x257F,0x2365,0x2168,0x1F87,0x1DC3,0x1C15,0x1A83,0x1905,0x179E,0x164C,0x150A,0x13DB 
-         dw 0x12BF,0x11B1,0x10B3,0x0FC5,0x0EE1,0x0E0C,0x0D41,0x0C84,0x0BCF,0x0B24,0x0A85,0x09ED 
-         dw 0x095E,0x08D9,0x085A,0x07E1,0x076F,0x0706,0x06A2,0x0640,0x05E7,0x0593,0x0542,0x04F6 
-         dw 0x04B0,0x046C,0x042C,0x03F0,0x03B7,0x0381,0x0351,0x0320,0x02F5,0x02C9,0x02A1,0x027B 
-         dw 0x0258,0x0235,0x0217,0x01F9,0x01DB,0x01C0,0x01A8,0x0190,0x017A,0x0164,0x0152,0x013F 
-         dw 0x012C,0x011B,0x010B,0x00FB,0x00ED,0x00E0,0x00D2,0x00C8,0x00BD,0x00B2,0x00A7,0x009F 
-         dw 0x0094,0x008C,0x0084,0x007F,0x0076,0x0071,0x0069,0x0064,0x005E,0x0059,0x0053,0x004E 
- ;0C 
-         dw 0x4A74,0x4645,0x4255,0x3E9A,0x3B18,0x37C7,0x34A4,0x31AF,0x2EE5,0x2C44,0x29C9,0x2770 
-         dw 0x2538,0x2324,0x212A,0x1F4E,0x1D8B,0x1BE2,0x1A52,0x18D7,0x1772,0x1623,0x14E4,0x13B8 
-         dw 0x129C,0x1190,0x1095,0x0FA7,0x0EC6,0x0DF1,0x0D29,0x0C6B,0x0BB9,0x0B11,0x0A72,0x09DA 
-         dw 0x094E,0x08C9,0x084A,0x07D3,0x0762,0x06F8,0x0694,0x0635,0x05DC,0x0588,0x0537,0x04EE 
-         dw 0x04A8,0x0464,0x0423,0x03E8,0x03B2,0x037C,0x034B,0x031A,0x02EF,0x02C4,0x029B,0x0276 
-         dw 0x0252,0x0232,0x0211,0x01F4,0x01D9,0x01BE,0x01A5,0x018D,0x0177,0x0162,0x014F,0x013C 
-         dw 0x0129,0x0119,0x0108,0x00FB,0x00EB,0x00E0,0x00D2,0x00C8,0x00BA,0x00AF,0x00A7,0x009C 
-         dw 0x0094,0x008C,0x0084,0x007C,0x0076,0x006E,0x0069,0x0064,0x005E,0x0059,0x0053,0x004E 
- ;0D 
-         dw 0x49EA,0x45C3,0x41D8,0x3E29,0x3AAA,0x3761,0x3443,0x3156,0x2E8F,0x2BF3,0x297A,0x2727 
-         dw 0x24F5,0x22E3,0x20EC,0x1F13,0x1D55,0x1BAF,0x1A21,0x18A9,0x1747,0x15FB,0x14BE,0x1395 
-         dw 0x1279,0x1170,0x1077,0x0F89,0x0EAB,0x0DD8,0x0D10,0x0C56,0x0BA3,0x0AFC,0x0A5F,0x09CA 
-         dw 0x093E,0x08B9,0x083A,0x07C6,0x0754,0x06EB,0x0689,0x062B,0x05D1,0x057E,0x052F,0x04E3 
-         dw 0x049D,0x045C,0x041E,0x03E3,0x03AA,0x0376,0x0343,0x0315,0x02EA,0x02BF,0x0296,0x0273 
-         dw 0x0250,0x022D,0x020F,0x01F1,0x01D6,0x01BB,0x01A3,0x018A,0x0175,0x015F,0x014C,0x0139 
-         dw 0x0126,0x0116,0x0106,0x00F8,0x00EB,0x00DD,0x00D0,0x00C5,0x00BA,0x00AF,0x00A4,0x009C 
-         dw 0x0094,0x008C,0x0084,0x007C,0x0074,0x006E,0x0069,0x0061,0x005B,0x0059,0x0053,0x004E 
- ;0E 
-         dw 0x4963,0x4544,0x4161,0x3DB4,0x3A3D,0x36FA,0x33E4,0x30FA,0x2E3B,0x2BA2,0x292E,0x26DE 
-         dw 0x24B1,0x22A2,0x20B0,0x1EDA,0x1D1E,0x1B7B,0x19F1,0x187B,0x171C,0x15D2,0x1498,0x136F 
-         dw 0x1258,0x114F,0x1057,0x0F6E,0x0E90,0x0DBD,0x0CF8,0x0C3D,0x0B8E,0x0AE9,0x0A4C,0x09B7 
-         dw 0x092B,0x08A9,0x082C,0x07B5,0x0747,0x06E0,0x067C,0x0620,0x05C7,0x0573,0x0524,0x04DB 
-         dw 0x0495,0x0454,0x0416,0x03DA,0x03A4,0x036E,0x033E,0x0310,0x02E4,0x02B9,0x0293,0x026D 
-         dw 0x024A,0x022A,0x0209,0x01EE,0x01D1,0x01B8,0x01A0,0x0188,0x0172,0x015C,0x0149,0x0136 
-         dw 0x0126,0x0113,0x0106,0x00F6,0x00E8,0x00DB,0x00D0,0x00C2,0x00B7,0x00AF,0x00A4,0x009C 
-         dw 0x0092,0x0089,0x0081,0x007C,0x0074,0x006E,0x0066,0x0061,0x005B,0x0056,0x0051,0x004E 
- ;0F 
-         dw 0x48DC,0x44C3,0x40E8,0x3D43,0x39D4,0x3693,0x3383,0x30A1,0x2DE4,0x2B51,0x28E3,0x2698 
-         dw 0x246E,0x2261,0x2075,0x1EA1,0x1CE8,0x1B4B,0x19C3,0x1850,0x16F3,0x15A9,0x1472,0x134C 
-         dw 0x1235,0x1132,0x1039,0x0F50,0x0E75,0x0DA5,0x0CE0,0x0C28,0x0B78,0x0AD3,0x0A39,0x09A4 
-         dw 0x091A,0x0899,0x081C,0x07A8,0x0739,0x06D2,0x0671,0x0612,0x05BC,0x056B,0x051C,0x04D3 
-         dw 0x048D,0x044C,0x040E,0x03D5,0x039C,0x0369,0x0338,0x030A,0x02DF,0x02B4,0x028E,0x0268 
-         dw 0x0248,0x0224,0x0207,0x01E9,0x01CE,0x01B3,0x019B,0x0185,0x016F,0x015A,0x0147,0x0134 
-         dw 0x0124,0x0113,0x0103,0x00F6,0x00E8,0x00DB,0x00CD,0x00C2,0x00B7,0x00AD,0x00A2,0x009A 
-         dw 0x0092,0x0089,0x0081,0x0079,0x0074,0x006C,0x0066,0x0061,0x005B,0x0056,0x0051,0x004E 
-          
- ;INCLUDE "_AMFRQTB.a80" 
- AMFRQTB ;EQU 0xEC00 
- ;00 
-         dw 0x1AC0,0x1940,0x17D5,0x167E,0x153B,0x140A,0x12EA,0x11DA,0x10DA,0x0FE8,0x0F03,0x0E2C 
-         dw 0x0D60,0x0CA0,0x0BEA,0x0B3F,0x0A9E,0x0A05,0x0975,0x08ED,0x086D,0x07F4,0x0782,0x0716 
-         dw 0x06B0,0x0650,0x05F5,0x05A0,0x054F,0x0503,0x04BB,0x0477,0x0436,0x03FA,0x03C1,0x038B 
-         dw 0x0358,0x0328,0x02FB,0x02D0,0x02A7,0x0281,0x025D,0x023B,0x021B,0x01FD,0x01E0,0x01C5 
-         dw 0x01AC,0x0194,0x017D,0x0168,0x0154,0x0141,0x012F,0x011E,0x010E,0x00FE,0x00F0,0x00E3 
-         dw 0x00D6,0x00CA,0x00BF,0x00B4,0x00AA,0x00A0,0x0097,0x008F,0x0087,0x007F,0x0078,0x0071 
-         dw 0x006B,0x0065,0x005F,0x005A,0x0055,0x0050,0x004C,0x0047,0x0043,0x0040,0x003C,0x0039 
-         dw 0x0036,0x0032,0x0030,0x002D,0x002A,0x0028,0x0026,0x0024,0x0022,0x0020,0x001E,0x001C 
- ;01 
-         dw 0x1A8F,0x1911,0x17A9,0x1655,0x1514,0x13E5,0x12C7,0x11BA,0x10BB,0x0FCB,0x0EE8,0x0E12 
-         dw 0x0D47,0x0C89,0x0BD4,0x0B2B,0x0A8A,0x09F3,0x0964,0x08DD,0x085D,0x07E5,0x0774,0x0709 
-         dw 0x06A4,0x0644,0x05EA,0x0595,0x0545,0x04F9,0x04B2,0x046E,0x042F,0x03F3,0x03BA,0x0384 
-         dw 0x0352,0x0322,0x02F5,0x02CB,0x02A3,0x027D,0x0259,0x0237,0x0217,0x01F9,0x01DD,0x01C2 
-         dw 0x01A9,0x0191,0x017B,0x0165,0x0151,0x013E,0x012C,0x011C,0x010C,0x00FD,0x00EE,0x00E1 
-         dw 0x00D4,0x00C9,0x00BD,0x00B3,0x00A9,0x009F,0x0096,0x008E,0x0086,0x007E,0x0077,0x0071 
-         dw 0x006A,0x0064,0x005F,0x0059,0x0054,0x0050,0x004B,0x0047,0x0043,0x003F,0x003C,0x0038 
-         dw 0x0035,0x0032,0x002F,0x002D,0x002A,0x0028,0x0026,0x0023,0x0021,0x0020,0x001E,0x001C 
- ;02 
-         dw 0x1A5E,0x18E3,0x177D,0x162C,0x14ED,0x13C1,0x12A5,0x1199,0x109C,0x0FAD,0x0ECC,0x0DF8 
-         dw 0x0D2F,0x0C71,0x0BBF,0x0B16,0x0A77,0x09E0,0x0952,0x08CC,0x084E,0x07D7,0x0766,0x06FC 
-         dw 0x0697,0x0639,0x05DF,0x058B,0x053B,0x04F0,0x04A9,0x0466,0x0427,0x03EB,0x03B3,0x037E 
-         dw 0x034C,0x031C,0x02F0,0x02C5,0x029E,0x0278,0x0255,0x0233,0x0214,0x01F6,0x01DA,0x01BF 
-         dw 0x01A6,0x018E,0x0178,0x0163,0x014F,0x013C,0x012A,0x011A,0x010A,0x00FB,0x00ED,0x00DF 
-         dw 0x00D3,0x00C7,0x00BC,0x00B1,0x00A7,0x009E,0x0095,0x008D,0x0085,0x007D,0x0076,0x0070 
-         dw 0x0069,0x0064,0x005E,0x0059,0x0054,0x004F,0x004B,0x0046,0x0042,0x003F,0x003B,0x0038 
-         dw 0x0035,0x0032,0x002F,0x002C,0x002A,0x0028,0x0025,0x0023,0x0021,0x001F,0x001E,0x001C 
- ;03 
-         dw 0x1A2D,0x18B5,0x1752,0x1603,0x14C7,0x139C,0x1283,0x1179,0x107E,0x0F91,0x0EB1,0x0DDE 
-         dw 0x0D17,0x0C5B,0x0BA9,0x0B02,0x0A63,0x09CE,0x0941,0x08BC,0x083F,0x07C8,0x0758,0x06EF 
-         dw 0x068B,0x062D,0x05D5,0x0581,0x0532,0x04E7,0x04A1,0x045E,0x041F,0x03E4,0x03AC,0x0377 
-         dw 0x0346,0x0317,0x02EA,0x02C0,0x0299,0x0274,0x0250,0x022F,0x0210,0x01F2,0x01D6,0x01BC 
-         dw 0x01A3,0x018B,0x0175,0x0160,0x014C,0x013A,0x0128,0x0118,0x0108,0x00F9,0x00EB,0x00DE 
-         dw 0x00D1,0x00C6,0x00BB,0x00B0,0x00A6,0x009D,0x0094,0x008C,0x0084,0x007D,0x0076,0x006F 
-         dw 0x0069,0x0063,0x005D,0x0058,0x0053,0x004E,0x004A,0x0046,0x0042,0x003E,0x003B,0x0037 
-         dw 0x0034,0x0031,0x002F,0x002C,0x002A,0x0027,0x0025,0x0023,0x0021,0x001F,0x001D,0x001C 
- ;04 
-         dw 0x19FD,0x1888,0x1727,0x15DB,0x14A1,0x1378,0x1260,0x1158,0x105F,0x0F74,0x0E96,0x0DC4 
-         dw 0x0CFF,0x0C44,0x0B94,0x0AED,0x0A50,0x09BC,0x0930,0x08AC,0x0830,0x07BA,0x074B,0x06E2 
-         dw 0x067F,0x0622,0x05CA,0x0577,0x0528,0x04DE,0x0498,0x0456,0x0418,0x03DD,0x03A5,0x0371 
-         dw 0x0340,0x0311,0x02E5,0x02BB,0x0294,0x026F,0x024C,0x022B,0x020C,0x01EE,0x01D3,0x01B9 
-         dw 0x01A0,0x0188,0x0172,0x015E,0x014A,0x0138,0x0126,0x0116,0x0106,0x00F7,0x00E9,0x00DC 
-         dw 0x00D0,0x00C4,0x00B9,0x00AF,0x00A5,0x009C,0x0093,0x008B,0x0083,0x007C,0x0075,0x006E 
-         dw 0x0068,0x0062,0x005D,0x0057,0x0053,0x004E,0x004A,0x0045,0x0041,0x003E,0x003A,0x0037 
-         dw 0x0034,0x0031,0x002E,0x002C,0x0029,0x0027,0x0025,0x0023,0x0021,0x001F,0x001D,0x001C 
- ;05 
-         dw 0x19CD,0x185A,0x16FD,0x15B2,0x147B,0x1354,0x123F,0x1138,0x1041,0x0F57,0x0E7B,0x0DAB 
-         dw 0x0CE7,0x0C2D,0x0B7E,0x0AD9,0x0A3D,0x09AA,0x091F,0x089C,0x0821,0x07AC,0x073E,0x06D5 
-         dw 0x0673,0x0617,0x05BF,0x056D,0x051F,0x04D5,0x0490,0x044E,0x0410,0x03D6,0x039F,0x036B 
-         dw 0x033A,0x030B,0x02E0,0x02B6,0x028F,0x026B,0x0248,0x0227,0x0208,0x01EB,0x01CF,0x01B5 
-         dw 0x019D,0x0186,0x0170,0x015B,0x0148,0x0135,0x0124,0x0114,0x0104,0x00F5,0x00E8,0x00DB 
-         dw 0x00CE,0x00C3,0x00B8,0x00AE,0x00A4,0x009B,0x0092,0x008A,0x0082,0x007B,0x0074,0x006D 
-         dw 0x0067,0x0061,0x005C,0x0057,0x0052,0x004D,0x0049,0x0045,0x0041,0x003D,0x003A,0x0037 
-         dw 0x0034,0x0031,0x002E,0x002B,0x0029,0x0027,0x0024,0x0022,0x0021,0x001F,0x001D,0x001B 
- ;06 
-         dw 0x199E,0x182E,0x16D2,0x158A,0x1455,0x1331,0x121D,0x1119,0x1023,0x0F3B,0x0E60,0x0D92 
-         dw 0x0CCF,0x0C17,0x0B69,0x0AC5,0x0A2A,0x0998,0x090E,0x088C,0x0812,0x079E,0x0730,0x06C9 
-         dw 0x0667,0x060B,0x05B5,0x0563,0x0515,0x04CC,0x0487,0x0446,0x0409,0x03CF,0x0398,0x0364 
-         dw 0x0334,0x0306,0x02DA,0x02B1,0x028B,0x0266,0x0244,0x0223,0x0204,0x01E7,0x01CC,0x01B2 
-         dw 0x019A,0x0183,0x016D,0x0159,0x0145,0x0133,0x0122,0x0112,0x0102,0x00F4,0x00E6,0x00D9 
-         dw 0x00CD,0x00C1,0x00B7,0x00AC,0x00A3,0x009A,0x0091,0x0089,0x0081,0x007A,0x0073,0x006D 
-         dw 0x0066,0x0061,0x005B,0x0056,0x0051,0x004D,0x0048,0x0044,0x0041,0x003D,0x003A,0x0036 
-         dw 0x0033,0x0030,0x002E,0x002B,0x0029,0x0026,0x0024,0x0022,0x0020,0x001E,0x001D,0x001B 
- ;07 
-         dw 0x196E,0x1801,0x16A8,0x1563,0x142F,0x130D,0x11FC,0x10F9,0x1005,0x0F1F,0x0E46,0x0D79 
-         dw 0x0CB7,0x0C01,0x0B54,0x0AB1,0x0A18,0x0987,0x08FE,0x087D,0x0803,0x0790,0x0723,0x06BC 
-         dw 0x065C,0x0600,0x05AA,0x0559,0x050C,0x04C3,0x047F,0x043E,0x0401,0x03C8,0x0391,0x035E 
-         dw 0x032E,0x0300,0x02D5,0x02AC,0x0286,0x0262,0x023F,0x021F,0x0201,0x01E4,0x01C9,0x01AF 
-         dw 0x0197,0x0180,0x016B,0x0156,0x0143,0x0131,0x0120,0x0110,0x0100,0x00F2,0x00E4,0x00D8 
-         dw 0x00CB,0x00C0,0x00B5,0x00AB,0x00A1,0x0098,0x0090,0x0088,0x0080,0x0079,0x0072,0x006C 
-         dw 0x0066,0x0060,0x005B,0x0056,0x0051,0x004C,0x0048,0x0044,0x0040,0x003C,0x0039,0x0036 
-         dw 0x0033,0x0030,0x002D,0x002B,0x0028,0x0026,0x0024,0x0022,0x0020,0x001E,0x001D,0x001B 
- ;08 
-         dw 0x1C57,0x1AC0,0x1940,0x17D5,0x167E,0x153B,0x140A,0x12EA,0x11DA,0x10DA,0x0FE8,0x0F03 
-         dw 0x0E2C,0x0D60,0x0CA0,0x0BEA,0x0B3F,0x0A9E,0x0A05,0x0975,0x08ED,0x086D,0x07F4,0x0782 
-         dw 0x0716,0x06B0,0x0650,0x05F5,0x05A0,0x054F,0x0503,0x04BB,0x0477,0x0436,0x03FA,0x03C1 
-         dw 0x038B,0x0358,0x0328,0x02FB,0x02D0,0x02A7,0x0281,0x025D,0x023B,0x021B,0x01FD,0x01E0 
-         dw 0x01C5,0x01AC,0x0194,0x017D,0x0168,0x0154,0x0141,0x012F,0x011E,0x010E,0x00FE,0x00F0 
-         dw 0x00E3,0x00D6,0x00CA,0x00BF,0x00B4,0x00AA,0x00A0,0x0097,0x008F,0x0087,0x007F,0x0078 
-         dw 0x0071,0x006B,0x0065,0x005F,0x005A,0x0055,0x0050,0x004C,0x0047,0x0043,0x0040,0x003C 
-         dw 0x0039,0x0036,0x0032,0x0030,0x002D,0x002A,0x0028,0x0026,0x0024,0x0022,0x0020,0x001E 
- ;09 
-         dw 0x1C23,0x1A8F,0x1911,0x17A9,0x1655,0x1514,0x13E5,0x12C7,0x11BA,0x10BB,0x0FCB,0x0EE8 
-         dw 0x0E12,0x0D47,0x0C89,0x0BD4,0x0B2B,0x0A8A,0x09F3,0x0964,0x08DD,0x085D,0x07E5,0x0774 
-         dw 0x0709,0x06A4,0x0644,0x05EA,0x0595,0x0545,0x04F9,0x04B2,0x046E,0x042F,0x03F3,0x03BA 
-         dw 0x0384,0x0352,0x0322,0x02F5,0x02CB,0x02A3,0x027D,0x0259,0x0237,0x0217,0x01F9,0x01DD 
-         dw 0x01C2,0x01A9,0x0191,0x017B,0x0165,0x0151,0x013E,0x012C,0x011C,0x010C,0x00FD,0x00EE 
-         dw 0x00E1,0x00D4,0x00C9,0x00BD,0x00B3,0x00A9,0x009F,0x0096,0x008E,0x0086,0x007E,0x0077 
-         dw 0x0071,0x006A,0x0064,0x005F,0x0059,0x0054,0x0050,0x004B,0x0047,0x0043,0x003F,0x003C 
-         dw 0x0038,0x0035,0x0032,0x002F,0x002D,0x002A,0x0028,0x0026,0x0023,0x0021,0x0020,0x001E 
- ;0A 
-         dw 0x1BEF,0x1A5E,0x18E3,0x177D,0x162C,0x14ED,0x13C1,0x12A5,0x1199,0x109C,0x0FAD,0x0ECC 
-         dw 0x0DF8,0x0D2F,0x0C71,0x0BBF,0x0B16,0x0A77,0x09E0,0x0952,0x08CC,0x084E,0x07D7,0x0766 
-         dw 0x06FC,0x0697,0x0639,0x05DF,0x058B,0x053B,0x04F0,0x04A9,0x0466,0x0427,0x03EB,0x03B3 
-         dw 0x037E,0x034C,0x031C,0x02F0,0x02C5,0x029E,0x0278,0x0255,0x0233,0x0214,0x01F6,0x01DA 
-         dw 0x01BF,0x01A6,0x018E,0x0178,0x0163,0x014F,0x013C,0x012A,0x011A,0x010A,0x00FB,0x00ED 
-         dw 0x00DF,0x00D3,0x00C7,0x00BC,0x00B1,0x00A7,0x009E,0x0095,0x008D,0x0085,0x007D,0x0076 
-         dw 0x0070,0x0069,0x0064,0x005E,0x0059,0x0054,0x004F,0x004B,0x0046,0x0042,0x003F,0x003B 
-         dw 0x0038,0x0035,0x0032,0x002F,0x002C,0x002A,0x0028,0x0025,0x0023,0x0021,0x001F,0x001E 
- ;0B 
-         dw 0x1BBC,0x1A2D,0x18B5,0x1752,0x1603,0x14C7,0x139C,0x1283,0x1179,0x107E,0x0F91,0x0EB1 
-         dw 0x0DDE,0x0D17,0x0C5B,0x0BA9,0x0B02,0x0A63,0x09CE,0x0941,0x08BC,0x083F,0x07C8,0x0758 
-         dw 0x06EF,0x068B,0x062D,0x05D5,0x0581,0x0532,0x04E7,0x04A1,0x045E,0x041F,0x03E4,0x03AC 
-         dw 0x0377,0x0346,0x0317,0x02EA,0x02C0,0x0299,0x0274,0x0250,0x022F,0x0210,0x01F2,0x01D6 
-         dw 0x01BC,0x01A3,0x018B,0x0175,0x0160,0x014C,0x013A,0x0128,0x0118,0x0108,0x00F9,0x00EB 
-         dw 0x00DE,0x00D1,0x00C6,0x00BB,0x00B0,0x00A6,0x009D,0x0094,0x008C,0x0084,0x007D,0x0076 
-         dw 0x006F,0x0069,0x0063,0x005D,0x0058,0x0053,0x004E,0x004A,0x0046,0x0042,0x003E,0x003B 
-         dw 0x0037,0x0034,0x0031,0x002F,0x002C,0x002A,0x0027,0x0025,0x0023,0x0021,0x001F,0x001D 
- ;0C 
-         dw 0x1B89,0x19FD,0x1888,0x1727,0x15DB,0x14A1,0x1378,0x1260,0x1158,0x105F,0x0F74,0x0E96 
-         dw 0x0DC4,0x0CFF,0x0C44,0x0B94,0x0AED,0x0A50,0x09BC,0x0930,0x08AC,0x0830,0x07BA,0x074B 
-         dw 0x06E2,0x067F,0x0622,0x05CA,0x0577,0x0528,0x04DE,0x0498,0x0456,0x0418,0x03DD,0x03A5 
-         dw 0x0371,0x0340,0x0311,0x02E5,0x02BB,0x0294,0x026F,0x024C,0x022B,0x020C,0x01EE,0x01D3 
-         dw 0x01B9,0x01A0,0x0188,0x0172,0x015E,0x014A,0x0138,0x0126,0x0116,0x0106,0x00F7,0x00E9 
-         dw 0x00DC,0x00D0,0x00C4,0x00B9,0x00AF,0x00A5,0x009C,0x0093,0x008B,0x0083,0x007C,0x0075 
-         dw 0x006E,0x0068,0x0062,0x005D,0x0057,0x0053,0x004E,0x004A,0x0045,0x0041,0x003E,0x003A 
-         dw 0x0037,0x0034,0x0031,0x002E,0x002C,0x0029,0x0027,0x0025,0x0023,0x0021,0x001F,0x001D 
- ;0D 
-         dw 0x1B56,0x19CD,0x185A,0x16FD,0x15B2,0x147B,0x1354,0x123F,0x1138,0x1041,0x0F57,0x0E7B 
-         dw 0x0DAB,0x0CE7,0x0C2D,0x0B7E,0x0AD9,0x0A3D,0x09AA,0x091F,0x089C,0x0821,0x07AC,0x073E 
-         dw 0x06D5,0x0673,0x0617,0x05BF,0x056D,0x051F,0x04D5,0x0490,0x044E,0x0410,0x03D6,0x039F 
-         dw 0x036B,0x033A,0x030B,0x02E0,0x02B6,0x028F,0x026B,0x0248,0x0227,0x0208,0x01EB,0x01CF 
-         dw 0x01B5,0x019D,0x0186,0x0170,0x015B,0x0148,0x0135,0x0124,0x0114,0x0104,0x00F5,0x00E8 
-         dw 0x00DB,0x00CE,0x00C3,0x00B8,0x00AE,0x00A4,0x009B,0x0092,0x008A,0x0082,0x007B,0x0074 
-         dw 0x006D,0x0067,0x0061,0x005C,0x0057,0x0052,0x004D,0x0049,0x0045,0x0041,0x003D,0x003A 
-         dw 0x0037,0x0034,0x0031,0x002E,0x002B,0x0029,0x0027,0x0024,0x0022,0x0021,0x001F,0x001D 
- ;0E 
-         dw 0x1B24,0x199E,0x182E,0x16D2,0x158A,0x1455,0x1331,0x121D,0x1119,0x1023,0x0F3B,0x0E60 
-         dw 0x0D92,0x0CCF,0x0C17,0x0B69,0x0AC5,0x0A2A,0x0998,0x090E,0x088C,0x0812,0x079E,0x0730 
-         dw 0x06C9,0x0667,0x060B,0x05B5,0x0563,0x0515,0x04CC,0x0487,0x0446,0x0409,0x03CF,0x0398 
-         dw 0x0364,0x0334,0x0306,0x02DA,0x02B1,0x028B,0x0266,0x0244,0x0223,0x0204,0x01E7,0x01CC 
-         dw 0x01B2,0x019A,0x0183,0x016D,0x0159,0x0145,0x0133,0x0122,0x0112,0x0102,0x00F4,0x00E6 
-         dw 0x00D9,0x00CD,0x00C1,0x00B7,0x00AC,0x00A3,0x009A,0x0091,0x0089,0x0081,0x007A,0x0073 
-         dw 0x006D,0x0066,0x0061,0x005B,0x0056,0x0051,0x004D,0x0048,0x0044,0x0041,0x003D,0x003A 
-         dw 0x0036,0x0033,0x0030,0x002E,0x002B,0x0029,0x0026,0x0024,0x0022,0x0020,0x001E,0x001D 
- ;0F 
-         dw 0x1AF2,0x196E,0x1801,0x16A8,0x1563,0x142F,0x130D,0x11FC,0x10F9,0x1005,0x0F1F,0x0E46 
-         dw 0x0D79,0x0CB7,0x0C01,0x0B54,0x0AB1,0x0A18,0x0987,0x08FE,0x087D,0x0803,0x0790,0x0723 
-         dw 0x06BC,0x065C,0x0600,0x05AA,0x0559,0x050C,0x04C3,0x047F,0x043E,0x0401,0x03C8,0x0391 
-         dw 0x035E,0x032E,0x0300,0x02D5,0x02AC,0x0286,0x0262,0x023F,0x021F,0x0201,0x01E4,0x01C9 
-         dw 0x01AF,0x0197,0x0180,0x016B,0x0156,0x0143,0x0131,0x0120,0x0110,0x0100,0x00F2,0x00E4 
-         dw 0x00D8,0x00CB,0x00C0,0x00B5,0x00AB,0x00A1,0x0098,0x0090,0x0088,0x0080,0x0079,0x0072 
-         dw 0x006C,0x0066,0x0060,0x005B,0x0056,0x0051,0x004C,0x0048,0x0044,0x0040,0x003C,0x0039 
-         dw 0x0036,0x0033,0x0030,0x002D,0x002B,0x0028,0x0026,0x0024,0x0022,0x0020,0x001E,0x001D 
-   
- ;INCLUDE "_AMTOGS.a80" ;patched 
- ;AMTOGS  ;EQU 0xF800 
-         dw 0x0000,0x0003,0x0005,0x0008,0x000B,0x000E,0x0010,0x0013 
-         dw 0x0016,0x0018,0x001B,0x001E,0x0020,0x0023,0x0026,0x0029 
-         dw 0x002B,0x002E,0x0031,0x0033,0x0036,0x0039,0x003B,0x003E 
-         dw 0x0041,0x0044,0x0046,0x0049,0x004C,0x004E,0x0051,0x0054 
-         dw 0x0057,0x0059,0x005C,0x005F,0x0061,0x0064,0x0067,0x0069 
-         dw 0x006C,0x006F,0x0072,0x0074,0x0077,0x007A,0x007C,0x007F 
-         dw 0x0082,0x0084,0x0087,0x008A,0x008D,0x008F,0x0092,0x0095 
-         dw 0x0097,0x009A,0x009D,0x00A0,0x00A2,0x00A5,0x00A8,0x00AA 
-         dw 0x00AD,0x00B0,0x00B2,0x00B5,0x00B8,0x00BB,0x00BD,0x00C0 
-         dw 0x00C3,0x00C5,0x00C8,0x00CB,0x00CD,0x00D0,0x00D3,0x00D6 
-         dw 0x00D8,0x00DB,0x00DE,0x00E0,0x00E3,0x00E6,0x00E9,0x00EB 
-         dw 0x00EE,0x00F1,0x00F3,0x00F6,0x00F9,0x00FB,0x00FE,0x0101 
-         dw 0x0104,0x0106,0x0109,0x010C,0x010E,0x0111,0x0114,0x0117 
-         dw 0x0119,0x011C,0x011F,0x0121,0x0124,0x0127,0x0129,0x012C 
-         dw 0x012F,0x0132,0x0134,0x0137,0x013A,0x013C,0x013F,0x0142 
-         dw 0x0144,0x0147,0x014A,0x014D,0x014F,0x0152,0x0155,0x0157 
-         dw 0x015A,0x015D,0x0160,0x0162,0x0165,0x0168,0x016A,0x016D 
-         dw 0x0170,0x0172,0x0175,0x0178,0x017B,0x017D,0x0180,0x0183 
-         dw 0x0185,0x0188,0x018B,0x018D,0x0190,0x0193,0x0196,0x0198 
-         dw 0x019B,0x019E,0x01A0,0x01A3,0x01A6,0x01A9,0x01AB,0x01AE 
-         dw 0x01B1,0x01B3,0x01B6,0x01B9,0x01BB,0x01BE,0x01C1,0x01C4 
-         dw 0x01C6,0x01C9,0x01CC,0x01CE,0x01D1,0x01D4,0x01D6,0x01D9 
-         dw 0x01DC,0x01DF,0x01E1,0x01E4,0x01E7,0x01E9,0x01EC,0x01EF 
-         dw 0x01F2,0x01F4,0x01F7,0x01FA,0x01FC,0x01FF,0x0202,0x0204 
-         dw 0x0207,0x020A,0x020D,0x020F,0x0212,0x0215,0x0217,0x021A 
-         dw 0x021D,0x021F,0x0222,0x0225,0x0228,0x022A,0x022D,0x0230 
-         dw 0x0232,0x0235,0x0238,0x023B,0x023D,0x0240,0x0243,0x0245 
-         dw 0x0248,0x024B,0x024D,0x0250,0x0253,0x0256,0x0258,0x025B 
-         dw 0x025E,0x0260,0x0263,0x0266,0x0269,0x026B,0x026E,0x0271 
-         dw 0x0273,0x0276,0x0279,0x027B,0x027E,0x0281,0x0284,0x0286 
-         dw 0x0289,0x028C,0x028E,0x0291,0x0294,0x0296,0x0299,0x029C 
-         dw 0x029F,0x02A1,0x02A4,0x02A7,0x02A9,0x02AC,0x02AF,0x02B2 
-         dw 0x02B4,0x02B7,0x02BA,0x02BC,0x02BF,0x02C2,0x02C4,0x02C7 
-         dw 0x02CA,0x02CD,0x02CF,0x02D2,0x02D5,0x02D7,0x02DA,0x02DD 
-         dw 0x02DF,0x02E2,0x02E5,0x02E8,0x02EA,0x02ED,0x02F0,0x02F2 
-         dw 0x02F5,0x02F8,0x02FB,0x02FD,0x0300,0x0303,0x0305,0x0308 
-         dw 0x030B,0x030D,0x0310,0x0313,0x0316,0x0318,0x031B,0x031E 
-         dw 0x0320,0x0323,0x0326,0x0328,0x032B,0x032E,0x0331,0x0333 
-         dw 0x0336,0x0339,0x033B,0x033E,0x0341,0x0344,0x0346,0x0349 
-         dw 0x034C,0x034E,0x0351,0x0354,0x0356,0x0359,0x035C,0x035F 
-         dw 0x0361,0x0364,0x0367,0x0369,0x036C,0x036F,0x0371,0x0374 
-         dw 0x0377,0x037A,0x037C,0x037F,0x0382,0x0384,0x0387,0x038A 
-         dw 0x038D,0x038F,0x0392,0x0395,0x0397,0x039A,0x039D,0x039F 
-         dw 0x03A2,0x03A5,0x03A8,0x03AA,0x03AD,0x03B0,0x03B2,0x03B5 
-         dw 0x03B8,0x03BB,0x03BD,0x03C0,0x03C3,0x03C5,0x03C8,0x03CB 
-         dw 0x03CD,0x03D0,0x03D3,0x03D6,0x03D8,0x03DB,0x03DE,0x03E0 
-         dw 0x03E3,0x03E6,0x03E8,0x03EB,0x03EE,0x03F1,0x03F3,0x03F6 
-         dw 0x03F9,0x03FB,0x03FE,0x0401,0x0404,0x0406,0x0409,0x040C 
-         dw 0x040E,0x0411,0x0414,0x0416,0x0419,0x041C,0x041F,0x0421 
-         dw 0x0424,0x0427,0x0429,0x042C,0x042F,0x0431,0x0434,0x0437 
-         dw 0x043A,0x043C,0x043F,0x0442,0x0444,0x0447,0x044A,0x044D 
-         dw 0x044F,0x0452,0x0455,0x0457,0x045A,0x045D,0x045F,0x0462 
-         dw 0x0465,0x0468,0x046A,0x046D,0x0470,0x0472,0x0475,0x0478 
-         dw 0x047A,0x047D,0x0480,0x0483,0x0485,0x0488,0x048B,0x048D 
-         dw 0x0490,0x0493,0x0496,0x0498,0x049B,0x049E,0x04A0,0x04A3 
-         dw 0x04A6,0x04A8,0x04AB,0x04AE,0x04B1,0x04B3,0x04B6,0x04B9 
-         dw 0x04BB,0x04BE,0x04C1,0x04C3,0x04C6,0x04C9,0x04CC,0x04CE 
-         dw 0x04D1,0x04D4,0x04D6,0x04D9,0x04DC,0x04DF,0x04E1,0x04E4 
-         dw 0x04E7,0x04E9,0x04EC,0x04EF,0x04F1,0x04F4,0x04F7,0x04FA 
-         dw 0x04FC,0x04FF,0x0502,0x0504,0x0507,0x050A,0x050D,0x050F 
-         dw 0x0512,0x0515,0x0517,0x051A,0x051D,0x051F,0x0522,0x0525 
-         dw 0x0528,0x052A,0x052D,0x0530,0x0532,0x0535,0x0538,0x053A 
-         dw 0x053D,0x0540,0x0543,0x0545,0x0548,0x054B,0x054D,0x0550 
-         dw 0x0553,0x0556,0x0558,0x055B,0x055E,0x0560,0x0563,0x0566 
-         dw 0x0568,0x056B,0x056E,0x0571,0x0573,0x0576,0x0579,0x057B 
-         dw 0x057E,0x0581,0x0583,0x0586,0x0589,0x058C,0x058E,0x0591 
-         dw 0x0594,0x0596,0x0599,0x059C,0x059F,0x05A1,0x05A4,0x05A7 
-         dw 0x05A9,0x05AC,0x05AF,0x05B1,0x05B4,0x05B7,0x05BA,0x05BC 
-         dw 0x05BF,0x05C2,0x05C4,0x05C7,0x05CA,0x05CC,0x05CF,0x05D2 
-         dw 0x05D5,0x05D7,0x05DA,0x05DD,0x05DF,0x05E2,0x05E5,0x05E8 
-         dw 0x05EA,0x05ED,0x05F0,0x05F2,0x05F5,0x05F8,0x05FA,0x05FD 
-         dw 0x0600,0x0603,0x0605,0x0608,0x060B,0x060D,0x0610,0x0613 
-         dw 0x0615,0x0618,0x061B,0x061E,0x0620,0x0623,0x0626,0x0628 
-         dw 0x062B,0x062E,0x0631,0x0633,0x0636,0x0639,0x063B,0x063E 
-         dw 0x0641,0x0643,0x0646,0x0649,0x064C,0x064E,0x0651,0x0654 
-         dw 0x0656,0x0659,0x065C,0x065F,0x0661,0x0664,0x0667,0x0669 
-         dw 0x066C,0x066F,0x0671,0x0674,0x0677,0x067A,0x067C,0x067F 
-         dw 0x0682,0x0684,0x0687,0x068A,0x068C,0x068F,0x0692,0x0695 
-         dw 0x0697,0x069A,0x069D,0x069F,0x06A2,0x06A5,0x06A8,0x06AA 
-         dw 0x06AD,0x06B0,0x06B2,0x06B5,0x06B8,0x06BA,0x06BD,0x06C0 
-         dw 0x06C3,0x06C5,0x06C8,0x06CB,0x06CD,0x06D0,0x06D3,0x06D5 
-         dw 0x06D8,0x06DB,0x06DE,0x06E0,0x06E3,0x06E6,0x06E8,0x06EB 
-         dw 0x06EE,0x06F1,0x06F3,0x06F6,0x06F9,0x06FB,0x06FE,0x0701 
-         dw 0x0703,0x0706,0x0709,0x070C,0x070E,0x0711,0x0714,0x0716 
-         dw 0x0719,0x071C,0x071E,0x0721,0x0724,0x0727,0x0729,0x072C 
-         dw 0x072F,0x0731,0x0734,0x0737,0x073A,0x073C,0x073F,0x0742 
-         dw 0x0744,0x0747,0x074A,0x074C,0x074F,0x0752,0x0755,0x0757 
-         dw 0x075A,0x075D,0x075F,0x0762,0x0765,0x0767,0x076A,0x076D 
-         dw 0x0770,0x0772,0x0775,0x0778,0x077A,0x077D,0x0780,0x0783 
-         dw 0x0785,0x0788,0x078B,0x078D,0x0790,0x0793,0x0795,0x0798 
-         dw 0x079B,0x079E,0x07A0,0x07A3,0x07A6,0x07A8,0x07AB,0x07AE 
-         dw 0x07B1,0x07B3,0x07B6,0x07B9,0x07BB,0x07BE,0x07C1,0x07C3 
-         dw 0x07C6,0x07C9,0x07CC,0x07CE,0x07D1,0x07D4,0x07D6,0x07D9 
-         dw 0x07DC,0x07DE,0x07E1,0x07E4,0x07E7,0x07E9,0x07EC,0x07EF 
-         dw 0x07F1,0x07F4,0x07F7,0x07FA,0x07FC,0x07FF,0x0802,0x0804 
-         dw 0x0807,0x080A,0x080C,0x080F,0x0812,0x0815,0x0817,0x081A 
-         dw 0x081D,0x081F,0x0822,0x0825,0x0827,0x082A,0x082D,0x0830 
-         dw 0x0832,0x0835,0x0838,0x083A,0x083D,0x0840,0x0843,0x0845 
-         dw 0x0848,0x084B,0x084D,0x0850,0x0853,0x0855,0x0858,0x085B 
-         dw 0x085E,0x0860,0x0863,0x0866,0x0868,0x086B,0x086E,0x0870 
-         dw 0x0873,0x0876,0x0879,0x087B,0x087E,0x0881,0x0883,0x0886 
-         dw 0x0889,0x088C,0x088E,0x0891,0x0894,0x0896,0x0899,0x089C 
-         dw 0x089E,0x08A1,0x08A4,0x08A7,0x08A9,0x08AC,0x08AF,0x08B1 
-         dw 0x08B4,0x08B7,0x08B9,0x08BC,0x08BF,0x08C2,0x08C4,0x08C7 
-         dw 0x08CA,0x08CC,0x08CF,0x08D2,0x08D5,0x08D7,0x08DA,0x08DD 
-         dw 0x08DF,0x08E2,0x08E5,0x08E7,0x08EA,0x08ED,0x08F0,0x08F2 
-         dw 0x08F5,0x08F8,0x08FA,0x08FD,0x0900,0x0903,0x0905,0x0908 
-         dw 0x090B,0x090D,0x0910,0x0913,0x0915,0x0918,0x091B,0x091E 
-         dw 0x0920,0x0923,0x0926,0x0928,0x092B,0x092E,0x0930,0x0933 
-         dw 0x0936,0x0939,0x093B,0x093E,0x0941,0x0943,0x0946,0x0949 
-         dw 0x094C,0x094E,0x0951,0x0954,0x0956,0x0959,0x095C,0x095E 
-         dw 0x0961,0x0964,0x0967,0x0969,0x096C,0x096F,0x0971,0x0974 
-         dw 0x0977,0x0979,0x097C,0x097F,0x0982,0x0984,0x0987,0x098A 
-         dw 0x098C,0x098F,0x0992,0x0995,0x0997,0x099A,0x099D,0x099F 
-         dw 0x09A2,0x09A5,0x09A7,0x09AA,0x09AD,0x09B0,0x09B2,0x09B5 
-         dw 0x09B8,0x09BA,0x09BD,0x09C0,0x09C2,0x09C5,0x09C8,0x09CB 
-         dw 0x09CD,0x09D0,0x09D3,0x09D5,0x09D8,0x09DB,0x09DE,0x09E0 
-         dw 0x09E3,0x09E6,0x09E8,0x09EB,0x09EE,0x09F0,0x09F3,0x09F6 
-         dw 0x09F9,0x09FB,0x09FE,0x0A01,0x0A03,0x0A06,0x0A09,0x0A0B 
-         dw 0x0A0E,0x0A11,0x0A14,0x0A16,0x0A19,0x0A1C,0x0A1E,0x0A21 
-         dw 0x0A24,0x0A27,0x0A29,0x0A2C,0x0A2F,0x0A31,0x0A34,0x0A37 
-         dw 0x0A39,0x0A3C,0x0A3F,0x0A42,0x0A44,0x0A47,0x0A4A,0x0A4C 
-         dw 0x0A4F,0x0A52,0x0A55,0x0A57,0x0A5A,0x0A5D,0x0A5F,0x0A62 
-         dw 0x0A65,0x0A67,0x0A6A,0x0A6D,0x0A70,0x0A72,0x0A75,0x0A78 
-         dw 0x0A7A,0x0A7D,0x0A80,0x0A82,0x0A85,0x0A88,0x0A8B,0x0A8D 
-         dw 0x0A90,0x0A93,0x0A95,0x0A98,0x0A9B,0x0A9E,0x0AA0,0x0AA3 
-         dw 0x0AA6,0x0AA8,0x0AAB,0x0AAE,0x0AB0,0x0AB3,0x0AB6,0x0AB9 
-         dw 0x0ABB,0x0ABE,0x0AC1,0x0AC3,0x0AC6,0x0AC9,0x0ACB,0x0ACE    
-   
-                 DEPHASE