Top secrets sources NedoPC pentevo

Rev

Rev 831 | Rev 1026 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?


;LAST UPDATE: 28.07.2019 savelij

;‡€ƒ“‡Š€ ‚›€ŽƒŽ ˜ˆ”’€
LOAD_FONT       LD HL,FONTS
                LD DE,CMP4FONTS
                JR FATBOOT4

;‡€ƒ“‡Š€ TAP ”€‰‹€
EMULTAPLOAD     LD HL,TAPES
                LD DE,CMP4TAPES
                JR FATBOOT4

;‡€ƒ“‡Š€ Ž‹ŽƒŽ ROM ”€‰‹€ „‹Ÿ ŽŽ‚‹…ˆŸ 512KB
LOAD4FLASH_FULL LD HL,ROMS
                LD DE,CMP4ROMS
                LD A,8
                LD (CMP_ROMSIZE),A
                JR FATBOOT4

;‡€ƒ“‡Š€ USER ROM ”€‰‹€ „‹Ÿ ŽŽ‚‹…ˆŸ 64KB
LOAD4FLASH_CUST LD HL,ROMS
                LD DE,CMP4ROMS
                LD A,1
                LD (CMP_ROMSIZE),A
                JR FATBOOT4

;‡€ƒ“‡Š€ Ž€‡€ € €Œ„ˆ‘Š
COPYIMAGE       LD HL,IMAGES
                LD DE,CMP4IMAGE
                JR FATBOOT4

;‡€ƒ“‡Š€ HOBETA ”€‰‹€ „‹Ÿ ‡€“‘Š€
FATBOOT         LD HL,HOBETA
                LD DE,CMP4HOBETA
FATBOOT4        LD (GDE_EXT_FILES),HL
                LD (CMP_FOUNDED),DE
SELECT_DEVICE   DI
                LD HL,ERS_FLAGS
                SET B_RUN_FAT,(HL)              ;€Ž’€’œ “„…Œ ‘ FAT
;               RST 8
;               DB _COM_DEV                     ;‚›‡Ž‚ Œ……„†…€ “‘’Ž‰‘’‚
;               DB _DEVFIND                     ;‘Š€ˆŽ‚€ˆ… “‘’Ž‰‘’‚
;               JP C,_STUPID                    ;Ž˜ˆŠ€, ˆ Ž„ŽƒŽ €‡„…‹€ … €‰„…Ž
                RST8 _COM_DEV,_KOL_VOL
                LD A,E
                AND A
                JP Z,_STUPID
                LD HL,ADR_CAT-0X100             ;€„…‘ Š“„€ Ž‹Ž†ˆ’œ ’€‹ˆ–“ €‰„…›• €‡„…‹Ž‚
                RST8 _COM_DEV,_GET_FNDVOLUME    ;Ž‹“—…ˆ… ’€‹ˆ–› €‰„…›• €‡„…‹Ž‚
                LD B,E                          ;‘—…’—ˆŠ ŠŽ‹ˆ—…‘’‚€ €‰„…›• €‡„…‹Ž‚
                LD IX,SEL_FAT_DEV               ;€„…‘ Žˆ‘€’…‹Ÿ ŽŠ€ ‚›Ž€ €‡„…‹Ž‚
                LD (IX+_NUM_PKT),D              ;ŽŒ… “Š’€ ‚ ŽŠ…
                LD (IX+_TEK_PKT_L),D            ;ŽŒ… ’…Š“™…ƒŽ “Š’€
                LD (IX+_NUM_KOL_L),E            ;ŠŽ‹ˆ—…‘’‚Ž “Š’Ž‚ ‚ ŽŠ…
                INC E
                INC E
                LD (IX+_V_SIZE),E               ;“‘’€Ž‚ˆ‹ˆ ‚›‘Ž’“ ‚›‚Ž„ˆŒŽƒŽ ŽŠ€
                LD DE,6                         ;˜€ƒ Ž ’€‹ˆ–… €‰„…›• €‡„…‹Ž‚ -2
                EXX
                LD HL,TXT_FAT_SEL
                LD DE,SEL_FAT_DRV               ;€„…‘ ƒ„… “„…’ ”ŽŒˆŽ‚€’œ‘Ÿ ’…Š‘’ ŽŠ€ ‚›Ž€ €‡„…‹Ž‚
                LD BC,ETXT_FAT_SEL-TXT_FAT_SEL
                LDIR
                EX DE,HL
                EXX
FATBOOT1        EXX
                LD (HL),0X0D
                INC HL
                LD (HL),3
                INC HL
                EXX
                LD A,(HL)                       ;‚‡Ÿ‹ˆ ŽŒ… €‡„…‹€
                INC HL
                LD C,(HL)                       ;MASTER ˆ‹ˆ SLAVE
                INC HL
                ADD A,C
                ADD A,C
                SUB 4                           ;-4, ˆŽ „ˆ‘ŠŽ‚Ž„› … “—ˆ’›‚€ž’‘Ÿ
                EXX
                EX DE,HL
                LD HL,TXT4MENU_DEVICE           ;€„…‘ ’€‹ˆ–› ’…Š‘’€ Ž €‡„…‹€•
                LD C,A
                ADD A,A
                ADD A,A
                ADD A,C
                ADD A,A
                ADD A,A                         ;“ŒŽ†…Ž € 20
                LD C,A
                LD B,0
                ADD HL,BC                       ;Ž‹“—ˆ‹ˆ €„…‘ Ž’Š“„€ ’…Š‘’ ‚‡Ÿ’œ
                LD BC,20                        ;„‹ˆ€ ……Ž‘€ 20 €‰’
                EXX
                LD A,L
                EXX
                RRCA
                RRCA
                RRCA
                AND 0X1F
                ADD A,"E"                       ;“Š‚€ €‰„…ŽƒŽ “‘’Ž‰‘’‚€
                LD (DE),A
                INC DE
                LDIR                            ;……Ž‘ ’…Š‘’€ ˆ‡ ‚›€Ž‰ ’€‹ˆ–›
                EXX
                LD A,(HL)                       ;’ˆ €‡„…‹€
                EXX
                LD C,A
                ADD A,A
                ADD A,A
                ADD A,C                         ;“ŒŽ†…Ž € 5
                LD HL,TXT4MENU_TYPE             ;€„…‘ ’€‹ˆ–› ’…Š‘’€ ’ˆŽ‚ €‡„…‹Ž‚
                LD C,A
                ADD HL,BC
                LD C,5
                LDIR                            ;……Ž‘ ’…Š‘’€ ˆ‡ ‚›€Ž‰ ’€‹ˆ–›
                EX DE,HL
                EXX
                ADD HL,DE
                DJNZ FATBOOT1
                EXX
                LD (HL),0
                INC HL
                LD B,(IX+_V_SIZE)
                DEC B
                DEC B
                LD C,B
                LD A,"E"
                LD (IX+_ADR_HOTKEY_L),L
                LD (IX+_ADR_HOTKEY_H),H         ;€„…‘ ’€‹ˆ–› ƒŽŸ—ˆ• Š‹€‚ˆ˜ ‚›Ž€ FAT “‘’Ž‰‘’‚€
                LD (HL),B
                INC HL
FATBOOT3        LD (HL),A                       ;”ŽŒˆŽ‚€ˆ… ’€‹ˆ–› ƒŽŸ—ˆ• Š‹€‚ˆ˜
                INC HL
                INC A
                DJNZ FATBOOT3
                LD (SELFATDEVEXE),HL            ;Ž‹Ž†ˆ‹ˆ €„…‘ ’€‹ˆ–› €„…‘Ž‚ ‚›‡Ž‚€ ‚›€ŽƒŽ
                LD B,C
FATBOOT2        LD (HL),LOW (SEL_FAT)           ;”ŽŒˆŽ‚€ˆ… ’€‹ˆ–› €„…‘Ž‚ ‚›‡›‚Ž‚
                INC HL
                LD (HL),HIGH (SEL_FAT)
                INC HL
                DJNZ FATBOOT2
                LD A,C
                EXX
                DEC A
                JR Z,SEL_FAT
                RST8 _WINW
                JP _RULILKA                     ;‚Ž‡‚€™€…Œ‘Ÿ Š Ž™…Œ“ “€‚‹…ˆž

FILES_BROWSE    LD HL,SUPPORT_EXT
                LD DE,CMP4TAPES
                DI
                LD (GDE_EXT_FILES),HL
                LD (CMP_FOUNDED),DE
                LD HL,ERS_FLAGS
                SET B_RUN_FAT,(HL)
                JR SEL_FILES

;……Š‹ž—…ˆ… € “‘’Ž‰‘’‚€ ˆ ‚›‚Ž„ €‰„…ŽƒŽ € …Œ
SEL_FAT         DI
                LD A,(IX+_TEK_PKT_L)            ;‚‡Ÿ‹ˆ ŽŒ… ‚›€ŽƒŽ “‘’Ž‰‘’‚€
                RST8 _COM_DEV,_SET_VOL          ;‚›€‹ˆ “‘’Ž‰‘’‚Ž Ž ŽŒ…“
SEL_FILES       RST8 _COM_DEV,_KOL_VOL
                LD A,E
                AND A
                JP Z,_STUPID
                CALL SEARCH_FILE
                LD HL,1
                AND A
                SBC HL,BC                       ;€‰„…Ž —’Ž-’Ž Ž„Ž?
                JR NZ,SEL_FAT1                  ;…‘‹ˆ €‰„…Ž >1, ’Ž Ž„Ž‹†€…Œ
                PUSH BC                         ;‘Ž•€ˆ‹ˆ ŠŽ‹ˆ—…‘’‚Ž €‰„…ŽƒŽ
                LD BC,(ADR_CAT_FAT)             ;‚‡Ÿ‹ˆ ŽŒ… …„ˆ‘’‚…ŽƒŽ €‰„…ŽƒŽ
                LD A,6
                RST8 _COM_FAT,_POS_FILES
                LD HL,BUF_FILEITEM
                RST8 _COM_FAT,_READ_DIR         ;Ž‹“—ˆ‹ˆ Žˆ‘€’…‹œ
                POP BC                          ;‚…“‹ˆ ŠŽ‹ˆ—…‘’‚Ž €‰„…ŽƒŽ
                LD DE,0X0B
                ADD HL,DE
                LD A,(HL)                       ;‚‡Ÿ‹ˆ ”‹€ƒŽ‚›‰ €‰’ ’ŽƒŽ —’Ž €˜‹ˆ
                AND 0X10
                LD HL,0                         ;…‘‹ˆ ‡€“‘Š€…Œ, ’Ž ŽŒ… 0 ˆ‡ €‰„…ŽƒŽ
                JR Z,RUN_HOB1                   ;…‘‹ˆ ’Ž ”€‰‹ ‘€‡“ ‡€“‘Š€…Œ
SEL_FAT1        LD IX,FAT_FILES                 ;…‘‹ˆ „ˆ€, ’Ž ‚›‚Ž„ˆŒ ‚ ŽŠŽ
                JP OUT_HOB

;‡€“‘Š ‚›€ŽƒŽ ŠŽ„Ž‚ŽƒŽ ”€‰‹€ ˆ‡ HOBETA ”€‰‹€ ˆ‹ˆ ‚•Ž„/‚›•Ž„ ‚ „ˆ›
RUN_HOB         DI
                CALL SHUT2AY                    ;“ŒŠ€‹Š€ ‚ AY
                LD L,(IX+_TEK_PKT_L)
                LD H,(IX+_TEK_PKT_H)            ;HL=ŽŒ… ‚›€ŽƒŽ ”€‰‹€
RUN_HOB1        LD DE,ADR_CAT_FAT
                ADD HL,HL
                ADD HL,DE                       ;Ž’Š“„€ ŽŒ… ”€‰‹€ ‚‡Ÿ’œ
                LD C,(HL)
                INC HL
                LD B,(HL)                       ;Ž‹“—ˆ‹ˆ ’…Š“™ˆ‰ ‚›€›‰ ŽŒ…
                LD A,6
                RST8 _COM_FAT,_POS_FILES        ;“‘’€Ž‚Š€ ‚“’……ƒŽ “Š€‡€’…‹Ÿ FAT „€‰‚…€
                LD HL,BUF_FILEITEM
                RST8 _COM_FAT,_READ_DIR         ;Ž‹“—ˆ‹ˆ Žˆ‘€’…‹œ Ž “‘’€Ž‚‹…ŽŒ“ ŽŒ…“
                LD DE,0X0B                      ;“†… €‰’ Ž ‘Œ…™…ˆž
                ADD HL,DE                       ;„‹Ÿ Ž…„…‹…ˆŸ ”€‰‹ ˆ‹ˆ „ˆ…Š’ŽˆŸ
                LD A,(HL)                       ;ˆ‡ ’ŽƒŽ €‰’€ “†… Ž„ˆ ˆ’
                SBC HL,DE
                AND 0X10                        ;Ž‚…ˆ‹ˆ
                JP Z,GO_RUN_HOB                 ;…‘‹ˆ ’Ž ”€‰‹, ’Ž ‡€“‘Š€…Œ ŠŽ„Ž‚›‰ ‹ŽŠ
                RST8 _COM_FAT,_ENTER_DIR        ;‚•Ž„ˆŒ ‚ ‚›€“ž „ˆ…Š’Žˆž
                PUSH HL                         ;‘Ž•€ˆ‹ˆ €„…‘ ƒ„… Žˆ‘€’…‹œ ‚›€ŽƒŽ ”€‰‹€ ‹…†ˆ’
                LD HL,BUF_RDPATH
                RST8 _COM_FAT,_GET_PATH         ;Ž‹“—ˆ’œ “’œ Š ”€‰‹“ Ž‘‹… ‚•Ž„€ ‚ „ˆ…Š’Žˆž
                LD A,(HL)                       ;‚‡Ÿ‹ˆ “Š‚“ “‘’Ž‰‘’‚€ ’…Š“™…ƒŽ “’ˆ
                SUB "E"                         ;…Ž€‡Ž‚€‹ˆ ‚ ŽŒ… “‘’Ž‰‘’‚€
                LD D,A
                LD E,0
                LD HL,BUF_LEVDIR
                SRL D
                RR E
                SRL D
                RR E
                ADD HL,DE
                EX (SP),HL                      ;‘Ž•€ˆ‹ˆ €„…‘ Žˆ‘€’…‹Ÿ FAT “‘’Ž‰‘’‚€, ‚Ž‘‘’€Ž‚ˆ‹ˆ €„…‘ Žˆ‘€’…‹Ÿ ”€‰‹€
                LD A,(HL)                       ;“„…Œ Ž‚…Ÿ’œ …‚›‰ ‘ˆŒ‚Ž‹ ˆŒ…ˆ …„›„“™…ƒŽ Žˆ‘€’…‹Ÿ
                POP HL                          ;‚Ž‘‘’€Ž‚ˆ‹ˆ €„…‘ Žˆ‘€’…‹Ÿ FAT “‘’Ž‰‘’‚€
                CP "."                          ;…‘‹ˆ …‚›‰ ‘ˆŒ‚Ž‹ ˆŒ…ˆ … ".", ’Ž ‘Ž•€Ÿ…Œ ’…Š“™ˆ… ‡€—…ˆŸ ŽŠŽ˜Š€ ˆ  
                JR NZ,SNYT0                     ;‚•Ž„ˆŒ ‚ „ˆ“
                LD C,(HL)                       ;ˆ ‚›•Ž„… ˆ‡ „ˆ…Š’Žˆˆ ‚Ž‘‘’€€‚‹ˆ‚€…Œ Ž‡ˆ–ˆˆ ‚ ŽŠ…
                INC HL
                LD B,(HL)
                INC HL
                PUSH HL
                ADD HL,BC
                DEC HL
                LD A,(HL)
                DEC HL
                LD C,(HL)
                DEC HL
                LD B,(HL)
                POP DE
                AND A
                SBC HL,DE
                EX DE,HL
                DEC HL
                LD (HL),D
                DEC HL
                LD (HL),E
                LD (IX+_TEK_PKT_L),C
                LD (IX+_TEK_PKT_H),B
                LD (IX+_NUM_PKT),A
                CALL SEARCH_FILE                ;Žˆ‘Š Ž Œ€‘Š… ‚ „ˆ…Š’Žˆˆ ‚ ŠŽ’Ž“ž ‚Ž˜‹ˆ
                LD (IX+_NUM_KOL_L),C
                LD (IX+_NUM_KOL_H),B            ;“‘’€Ž‚ˆ‹ˆ ŠŽ‹ˆ—…‘’‚Ž €‰„…›• Ž Œ€‘€Š… ”€‰‹Ž‚ ‚ ’Ž‰ „ˆ…Š’Žˆˆ
                JP REOUT_HOB                    ;‚›‚…‹ˆ Ž‚Ž… ‘Ž„…†ˆŒŽ… ŽŠ€

;ˆ ‚•Ž„… ‚ „ˆ“ ‘Ž•€…ˆ… ’…Š“™ˆ• „€›• ŽŠ€
SNYT0           LD C,(HL)
                INC HL
                LD B,(HL)                       ;BC=‘Œ…™…ˆ… „Ž …‚Ž‰ ‘‚ŽŽ„Ž‰ Ÿ—…‰Šˆ
                INC HL
                PUSH HL                         ;HL=€„…‘ €—€‹€ ‘€Œˆ• Ÿ—……Š
                ADD HL,BC                       ;HL=€„…‘ …‚Ž‰ ‘‚ŽŽ„Ž‰ Ÿ—…‰Šˆ
                LD D,(IX+_TEK_PKT_H)
                LD E,(IX+_TEK_PKT_L)
                LD A,(IX+_NUM_PKT)
                LD (HL),D
                INC HL
                LD (HL),E
                INC HL
                LD (HL),A
                INC HL
                POP DE                          ;DE=€„…‘ €—€‹€ ‘€Œˆ• Ÿ—……Š
                AND A
                SBC HL,DE
                EX DE,HL
                DEC HL
                LD (HL),D
                DEC HL
                LD (HL),E
                LD C,(IX+_NUM_KOL_L)
                LD B,(IX+_NUM_KOL_H)
                CALL SEARCH_FILE
                JP OUT_HOB

;(ADR)-BCDE=BCDE
BCDEHLM         LD A,(HL)
                INC HL
                SUB E
                LD E,A
                LD A,(HL)
                INC HL
                SBC A,D
                LD D,A
                LD A,(HL)
                INC HL
                SBC A,C
                LD C,A
                LD A,(HL)
                SBC A,B
                LD B,A
                RET

SELMOUNT        LD HL,BUF_FILEITEM+0X1C
                LD BC,0X0A
                LD DE,0
                CALL BCDEHLM
                JP M,LOADIMAGE                  ;Ž€‡ Œ…œ˜… ‘’€„€’ŽƒŽ, ‡€ƒ“‡Š€ ‚ €Œ„ˆ‘Š
;€‡Œ… TRD Ž€‡€ ‘’€„€’ŽƒŽ €‡Œ…€ ˆ‹ˆ Ž‹œ˜…
                LD IX,SEL_MOUNT
                RST8 _WINW
                JP _RULILKA

MOUNT_A         XOR A
MOUNT_ALL       PUSH AF
                RST8 _MOUNTER,_OPEN_MOUNT       ; !!!
                POP AF
                LD HL,ERS_FLAGS
                BIT B_VIEW_IMG,(HL)
                JP Z,RESTART
                RES B_VIEW_IMG,(HL)
                LD C,A                          ;ŽŒ… ‘ŒŽ’ˆŽ‚€ŽƒŽ „ˆ‘ŠŽ‚Ž„€
                LD H,VIRT_REAL_DRIVE
                CALL READCMOS
                AND %11111100
                OR C
                LD L,A                          ;……‡€ˆ‘œ ‚ ŠŒŽ‘ ŽŒ…€ ‘ŒŽ’ˆŽ‚€ŽƒŽ „ˆ‘ŠŽ‚Ž„€
                CALL WRITECMOS
                LD A,C
                JP RUNMOUNT

MOUNT_B         LD A,1
                JR MOUNT_ALL

MOUNT_C         LD A,2
                JR MOUNT_ALL

MOUNT_D         LD A,3
                JR MOUNT_ALL

;‡€“‘Š, ‡€ƒ“‡Š€ ˆ‹ˆ ŒŽ’ˆŽ‚€ˆ… ”€‰‹Ž‚
GO_RUN_HOB      RST8 _COM_FAT,_OPEN_FILE
                LD DE,8
                ADD HL,DE
                PUSH HL
                LD HL,(BUF_FILEITEM+8)
                LD DE,"RT"
                AND A
                SBC HL,DE
                POP HL
                JR Z,SELMOUNT                   ;……•Ž„€ € ‡€ƒ“‡Š“ TRD Ž€‡€
                LD A,(HL)
                CP "$"
                JR Z,GORUNHOB1                  ;……•Ž„ € ‡€ƒ“‡Š“ HOBETA
                CP "S"
                JP NZ,LOAD_IMAGE                ;……•Ž„ € ‡€ƒ“‡Š“ SCL Ž€‡€
                INC HL
                LD A,(HL)
                DEC HL
                CP "P"
                JR Z,GORUNHOB1                  ;……•Ž„ € ‡€ƒ“‡Š“ SPG
                CP "N"
                LD A,(HL)
                JP NZ,LOAD_IMAGE                ;……•Ž„ € ‡€ƒ“‡Š“ Ž€‡€
GORUNHOB1       RST8 _COM_DEV,_KOL_VOL          ;‡€Ž‘ “ Œ……„†…€ “‘’Ž‰‘’‚ Ž ’…Š“™…Œ “‘’Ž‰‘’‚…
                LD A,D                          ;‚‡Ÿ‹ˆ ŽŒ… ’…Š“™…ƒŽ “‘’Ž‰‘’‚€
                LD HL,ADR_CAT_FAT
                RST8 _COM_DEV,_GET_FNDVOLUME
                ADD A,A
                ADD A,A
                ADD A,A
                LD C,A
                LD B,0
                ADD HL,BC
                LD A,(HL)                       ;‚‡Ÿ‹ˆ ’ˆ €‡„…‹€
;               SUB 4                           ;Ž“‘Š€…Œ „ˆ‘ŠŽ‚Ž„›
                LD D,A                          ;ŽŒ… ’…Š“™…ƒŽ “‘’Ž‰‘’‚€
                INC HL
                LD E,(HL)                       ;‚‡Ÿ‹ˆ Œ…‘’ŽŽ‹Ž†…ˆ… Ž‘ˆ’…‹Ÿ (MASTER/SLAVE)
                PUSH DE
                LD HL,0X5800
                LD DE,0X5801
                LD BC,0X02FF
                LD (HL),L
                LDIR                            ;‡€—…ˆ‹ˆ Š€ „‹Ÿ Œ€‘ŠˆŽ‚Šˆ ‡€“‘Š€‹Šˆ
                LD HL,RUN_CODE
                LD DE,0X5D3B
                LD BC,ERUN_CODE-RUN_CODE
                LDIR
                CALL MEMSET                     ;‚›‘’€‚ˆ‹ˆ …†ˆŒ ŠŽŒ€
                CALL FOR_RUN
                LD HL,0X4200                    ;Š“„€ ‘ŠŽˆŽ‚€’œ ……Œ…›… FAT ’…Š“™…ƒŽ ‚›€ŽƒŽ €‡„…‹€
                RST8 _INST_FATBOOT
                POP DE
                LD (0X42FE),DE
                JP 0X4300

;‡€ƒ“‡Š€ ˜ˆ”’€ „‹Ÿ ’…Š‘’ŒŽ„€
LOAD_FNT        LD HL,ADR_CAT
LOAD_FNT1       LD A,4
                RST8 _COM_FAT,_READ_FILE
                PEC_ON M_FONT_BF
                LD HL,ADR_CAT
                LD DE,0
                LD BC,0X800
                LDIR
                PEC_OFF M_FONT_BF
                JP RESTART

;‡€ƒ“‡Š€ FDI Ž€‡€
LOAD_FDI        LD A,E
                CP "N"
                JR Z,LOAD_FNT                   ;……•Ž„ € ‡€ƒ“‡Š“ ”Ž’€
                LD HL,ERS_FLAGS
                SET B_LOAD_IMG,(HL)
                LD A,RAM_RAMDISK                ;‘’€ˆ–€ €—€‹€ €Œ„ˆ‘Š€
                PUSH AF                         ;‘Ž•€ˆ‹ˆ € ‘’…Š…
                CALL SET4MBPAGE                 ;‚Š‹ž—ˆ‹ˆ ……
                LD HL,FDI_TABLE_CYL
                LD DE,FDI_TABLE_CYL+1
                LD BC,0X3FFF
                LD (HL),0
                LDIR                            ;Ž—ˆ‘’Š€ ‘’€ˆ–› ‘ Žˆ‘€’…‹ŸŒˆ „ŽŽ†…Š
                LD IXH,0XFF
                CALL LOAD1SECFDI                ;ˆ“„ˆ’…‹œ€Ÿ ‡€ƒ“‡Š€ …‚ŽƒŽ ‘…Š’Ž€
                LD A,(0XC006)                   ;‚‡Ÿ‹ˆ ŠŽ‹ˆ—…‘’‚Ž ‘’ŽŽ
                DEC A
                LD A,(0XC004)                   ;‚‡Ÿ‹ˆ ŠŽ‹ˆ—…‘’‚Ž „ŽŽ†…Š
                JR Z,LOADFDI1
                ADD A,A                         ;…‘‹ˆ ‘’ŽŽ 2, ’Ž “ŒŽ†ˆ‹ˆ ŠŽ‹ˆ—…‘’‚Ž „ŽŽ†…Š € 2
LOADFDI1        LD C,A                          ;ŠŽ‹ˆ—…‘’‚Ž „ŽŽ†…Š
                LD HL,(0XC00A)
                LD (START_DATA),HL
                LD DE,0X4000                    ;€„…‘ “”…€ €—€‹€ Žˆ‘€’…‹…‰ „ŽŽ†…Š
                LD HL,0XC00F                    ;€„…‘ €—€‹€ ‚›ŽŠˆ Žˆ‘€’…‹…‰ „ŽŽ†…Š ‚ FDI ‡€ƒŽ‹Ž‚Š…
LOADFDI3        BIT 1,H
                CALL NZ,LOAD1SECFDI             ;…‘‹ˆ ‚›˜‹ˆ ‡€ …„…‹› ‘…Š’Ž€ Œ…Ÿ…Œ “Š€‡€’…‹œ ˆ ƒ“‡ˆŒ ‘‹…„“ž™ˆ‰ ‘…Š’Ž ‚ “”…
                LD A,(HL)                       ;ˆ’› 8-15 ‘Œ…™…ˆŸ „ŽŽ†Šˆ Ž’ €—€‹€
                AND 0X3F                        ;‚‡Ÿ‹ˆ „‹Ÿ 8-13 ˆ’›-‘Œ…™…ˆ… ‚ ‹ŽŠ€• ‚ ‘’€ˆ–…
                LD (DE),A                       ;“‹Ž†ˆ‹ˆ ‘Œ…™…ˆ… ‚ ‹ŽŠ€• ‚ ‘’€ˆ–…
                LD A,(HL)                       ;‚‡Ÿ‹ˆ ˆ’› 14-15
                INC HL                          ;‘‹…„“ž™ˆ‰ €‰’ FDI ‡€ƒŽ‹Ž‚Š€
                INC D                           ;‡„…‘œ Ž‹Ž†ˆŒ ‘Œ…™…ˆ… ‚ ‘’€ˆ–€• „Ž “†Ž‰ „ŽŽ†Šˆ
                BIT 1,H
                CALL NZ,LOAD1SECFDI             ;…‘‹ˆ ‚›˜‹ˆ ‡€ …„…‹› ‘…Š’Ž€ Œ…Ÿ…Œ “Š€‡€’…‹œ ˆ ƒ“‡ˆŒ ‘‹…„“ž™ˆ‰ ‘…Š’Ž ‚ “”…
                LD B,A                          ;‘Ž•€ˆ‹ˆ “†›… 14-15 ˆ’›
                LD A,(HL)                       ;‚‡Ÿ‹ˆ 16-23 ˆ’› ‘Œ…™…ˆŸ „ŽŽ†Šˆ Ž’ €—€‹€
                RL B
                RLA
                RL B
                RLA
                LD (DE),A                       ;“Š‹€„Š€ ˆ’Ž‚ ‘Œ…™…ˆŸ ŽŒ…€ ‘’€ˆ–›
                INC D
                REPT 4
                INC HL
                ENDM
                BIT 1,H
                CALL NZ,LOAD1SECFDI             ;…‘‹ˆ ‚›˜‹ˆ ‡€ …„…‹› ‘…Š’Ž€ Œ…Ÿ…Œ “Š€‡€’…‹œ ˆ ƒ“‡ˆŒ ‘‹…„“ž™ˆ‰ ‘…Š’Ž ‚ “”…
                LD B,(HL)                       ;‚‡Ÿ‹ˆ ŠŽ‹ˆ—…‘’‚Ž ‘…Š’ŽŽ‚ € „ŽŽ†Š…
                LD A,B
                AND A
                JP Z,LOADFDI_ERR
                INC HL
                INC HL
LOADFDI4        INC HL
                BIT 1,H
                CALL NZ,LOAD1SECFDI             ;…‘‹ˆ ‚›˜‹ˆ ‡€ …„…‹› ‘…Š’Ž€ Œ…Ÿ…Œ “Š€‡€’…‹œ ˆ ƒ“‡ˆŒ ‘‹…„“ž™ˆ‰ ‘…Š’Ž ‚ “”…
                LDI                             ;……Ž‘ ŽŒ…€ ‘…Š’Ž€
                DEC DE
                INC C
                INC D
                BIT 1,H
                CALL NZ,LOAD1SECFDI             ;…‘‹ˆ ‚›˜‹ˆ ‡€ …„…‹› ‘…Š’Ž€ Œ…Ÿ…Œ “Š€‡€’…‹œ ˆ ƒ“‡ˆŒ ‘‹…„“ž™ˆ‰ ‘…Š’Ž ‚ “”…
                LD A,(HL)                       ;‚‡Ÿ‹ˆ €‡Œ… ‘…Š’Ž€
                EX DE,HL
                LD (HL),1
                AND A
                JR Z,LOADFDI2
                LD (HL),2
                DEC A
                JR Z,LOADFDI2
                LD (HL),4
                DEC A
                JR Z,LOADFDI2
                LD (HL),8
LOADFDI2        EX DE,HL
                INC D
                REPT 5
                INC HL
                ENDM
                DJNZ LOADFDI4                   ;‚Ž‡‚€™€…Œ‘Ÿ „‹Ÿ Ž„Ž‹†…ˆŸ, ŽŠ€ ‘…Š’Ž€ „ŽŽ†Šˆ … ŠŽ—€’‘Ÿ
                LD D,0X40
                INC E
                DEC C
                JR NZ,LOADFDI3                  ;‚Ž‡‚€™€…Œ‘Ÿ „‹Ÿ Ž„Ž‹†…ˆŸ ŽŠ€ … ŠŽ—€’‘Ÿ „ŽŽ†Šˆ
                DEC HL
                BIT 1,H
                CALL NZ,LOAD1SECFDI             ;…‘‹ˆ ‚›˜‹ˆ ‡€ …„…‹› ‘…Š’Ž€ Œ…Ÿ…Œ “Š€‡€’…‹œ ˆ ƒ“‡ˆŒ ‘‹…„“ž™ˆ‰ ‘…Š’Ž ‚ “”…
                PUSH HL
                LD A,H
                AND 1
                LD B,A
                LD C,L
                LD A,IXH
                ADD A,A
                ADD A,B
                LD B,A
                LD HL,0
START_DATA      EQU $-2
                AND A
                SBC HL,BC
                EX DE,HL
                POP HL
                LD A,D
                AND A
                JR Z,LOADFDI7
LOADFDI8        INC H
                BIT 1,H
                CALL NZ,LOAD1SECFDI             ;…‘‹ˆ ‚›˜‹ˆ ‡€ …„…‹› ‘…Š’Ž€ Œ…Ÿ…Œ “Š€‡€’…‹œ ˆ ƒ“‡ˆŒ ‘‹…„“ž™ˆ‰ ‘…Š’Ž ‚ “”…
                DEC D
                JR NZ,LOADFDI8
LOADFDI7        ADD HL,DE
                BIT 1,H
                CALL NZ,LOAD1SECFDI             ;…‘‹ˆ ‚›˜‹ˆ ‡€ …„…‹› ‘…Š’Ž€ Œ…Ÿ…Œ “Š€‡€’…‹œ ˆ ƒ“‡ˆŒ ‘‹…„“ž™ˆ‰ ‘…Š’Ž ‚ “”…
                PUSH HL                         ;‘Ž•€ˆ‹ˆ €„…‘ € €—€‹Ž €—€‹€ ‘…Š’ŽŽ‚
                LD DE,0XC000
                AND A
                SBC HL,DE
                LD (OSTAT_SECT),HL              ;‘ŠŽ‹œŠŽ €‰’ ………‘’ˆ ˆ‡ •‚Ž‘’€ ‘…Š’Ž€ ‚ “”…… ‚ €—€‹Ž ‘’€ˆ–›
                LD B,H
                LD C,L
                LD HL,0X200
                SBC HL,BC
                LD (NACH_SECT),HL               ;‘ŠŽ‹œŠŽ €‰’ ………‘’ˆ ˆ‡ €—€‹€ ‘…Š’Ž€ ‚ “”…… ‚ ŠŽ…– ‘’€ˆ–›
                POP HL                          ;‚Ž‘‘’€Ž‚ˆ‹ˆ ‘„…‘ €—€‹€ ‘…Š’ŽŽ‚, „€‹…… ‡€ƒ“‡Š€ ‚‘…• ‘…Š’ŽŽ‚ ‚ €ŒŸ’œ
LOADFDI5        POP AF
                INC A
                CALL SET4MBPAGE
                PUSH AF
                BIT 1,H
                CALL NZ,LOAD1SECFDI
                EX AF,AF'
                LD DE,0X4000
                LD BC,0
NACH_SECT       EQU $-2
                LDIR
                EX AF,AF'

                JP C,ELOAD_IMAGE
                EX DE,HL
                LD A,0X1F
                RST8 _COM_FAT,_READ_FILE
                JP C,ELOAD_IMAGE
                PUSH HL
                LD HL,0XC000
                PUSH HL
                LD A,1
                RST8 _COM_FAT,_READ_FILE
                POP HL
                POP DE
                LD BC,0
OSTAT_SECT      EQU $-2
                LDIR
                JR LOADFDI5

LOADFDI_ERR     LD A,RAM_RAMDISK
                CALL SET4MBPAGE
                LD HL,0X7FFF
                LD (HL),0
                DEC H
                LD (HL),0
                LD A,ZXSTD_CPU1;0XFA
                CALL SET4MBPAGE
                LD SP,(LD_FILE_SP)
                POP IY
                POP IX
                JP LDFDI_ERROR

;‘Ž‡„€ˆ… ’€‹ˆ–› Žˆ‘€’…‹…‰ „‹Ÿ “‘’ŽƒŽ €Œ„ˆ‘Š€
CREATE_TRD640   PUSH IX
                PUSH IY
                LD (LD_FILE_SP),SP
                LD SP,ADR_CAT
                JR ELT4

CREATE_RAMTABL  PUSH IX
                PUSH IY
                LD (LD_FILE_SP),SP
                LD SP,ADR_CAT
;‘Ž‡„€ˆ… ’€‹ˆ–› Žˆ‘€’…‹Ÿ „‹Ÿ ‡€ƒ“†…›• TRD ˆ SCL Ž€‡Ž‚
END_LOAD_TRD    LD A,RAM_DATARAMD               ;“†€ ‘’€ˆ–€ Ž’Š“„€ €—ˆ€…’‘Ÿ ‡€ƒ“†…›‰ Ž€‡
                CALL SET4MBPAGE
                LD HL,(0X48E1)                  ;…‚›‰ ‘‚ŽŽ„›‰ ’…Š ‘…Š’Ž
                LD A,L
                LD L,H
                LD H,0
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                OR L
                LD L,A                          ;ŠŽ‹ˆ—…‘’‚Ž ‡€Ÿ’›• ‘…Š’ŽŽ‚ ‘ „ˆ…Š’Žˆ…‰
                LD DE,(0X48E5)                  ;ŠŽ‹ˆ—…‘’‚Ž ‘‚ŽŽ„›• ‘…Š’ŽŽ‚
                ADD HL,DE
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL                       ;H=ŠŽ‹ˆ—…‘’‚Ž „ŽŽ†…Š
                LD A,H
                CP 0XA0
                JR NC,ELT3
ELT4            LD A,0XA0
ELT3            EX AF,AF'
                LD A,RAM_RAMDISK                ;“†€ ‘’€ˆ–€ €—€‹€ €Œ„ˆ‘Š€, ƒ„… “„…’ ’€‹ˆ–€ Žˆ‘€’…‹…‰
                CALL SET4MBPAGE
                LD HL,0X4000
                PUSH HL
                LD DE,0X4001
                LD BC,0X3FFF
                LD (HL),L
                LDIR                            ;Ž—ˆ‘’ˆ‹ˆ ‘’€ˆ–“
                POP DE                          ;€„…‘ €—€‹€
                LD HL,0                         ;‘Œ…™…ˆ… ‚ ‹ŽŠ€• ˆ ‘’€ˆ–€•
                EX AF,AF'

ELT2            EX AF,AF'
                LD BC,0X1000                    ;‘—…’—ˆŠ ŽŒ…Ž‚ ‘…Š’ŽŽ‚ ˆ ˆ• ŽŒ…€
                LD A,L
                RRCA
                RRCA
                LD (DE),A                       ;‘Œ…™…ˆ… ‚ ‹ŽŠ€• „ŽŽ†Šˆ ‚ ‘’€ˆ–…
                INC D
                LD A,H
                LD (DE),A                       ;‘Œ…™…ˆ… ‚ ‘’€ˆ–€• „Ž „ŽŽ†Šˆ
                INC D
ELT1            INC C
                LD A,C
                LD (DE),A                       ;ŽŒ… ‘…Š’Ž€
                INC D
                LD A,2
                LD (DE),A                       ;€‡Œ… ‘…Š’Ž€
                INC D
                DJNZ ELT1                       ;‚Ž‘ˆŒ ‚ ’€‹ˆ–“ ‚‘… ŽŒ…€ ‘…Š’ŽŽ‚ ‘ €‡Œ…€Œˆ
                LD D,0X40                       ;‚…“‹ˆ “Š€‡€’…‹œ ‚ €—€‹Ž
                INC E                           ;„‹Ÿ ‘‹…„“ž™…‰ „ŽŽ†Šˆ
                LD BC,0X40
                ADD HL,BC                       ;……•Ž„ Š ‘‹…„“ž™…‰ „ŽŽ†Š…
                EX AF,AF'

                DEC A
                JR NZ,ELT2                      ;Ž‚’ŽŸ…Œ „‹Ÿ ‚‘…• „ŽŽ†…Š
;Ž™ˆ‰ ‚›•Ž„ ˆ‡ ‡€ƒ“‡Šˆ ‘ ‚Ž‡‚€’ŽŒ ‘’€„€’Ž‰ ‘’€ˆ–› ‚ ŽŠ… Ž…–ˆŽ‚€ˆŸ 1
ELOAD_IMAGE     LD A,RAM_RAMDISK
                CALL SET4MBPAGE
                LD HL,0X7FFF
                LD (HL),"R"
                DEC H
                LD (HL),"D"
                CALL SET_RAMD_NAME
                LD A,ZXSTD_CPU1;0XFA
                CALL SET4MBPAGE
                LD SP,0
LD_FILE_SP      EQU $-2
                POP IY
                POP IX
                LD HL,ERS_FLAGS
                BIT B_VIEW_IMG,(HL)
                RET Z
                RES B_VIEW_IMG,(HL)
;‡€ƒ“‡Š€ Š€’€‹Žƒ€ TR-DOS ˆ Žˆ‘Š ‚›€ŽƒŽ ˆ ‡€“‘Š ‚›€ŽƒŽ BASIC ”€‰‹€
                LD H,VIRT_REAL_DRIVE
                CALL READCMOS
                AND 3
                LD C,A
                PUSH AF
                RST8 _MOUNTER,_CLOSEMOUNT       ; !!!
                POP AF
RUNMOUNT        LD (0X5D19),A
                ADD A,A
                ADD A,A
                LD B,A
                LD A,L
                AND %11110011
                OR B
                LD L,A
                CALL WRITECMOS
                LD A,C
                LD C,1
                CALL TO_DOS4BAS
                LD HL,ADR_CAT
                LD DE,0
                LD BC,0X0905
                CALL TO_DOS4BAS                 ;‡€ƒ“‡Š€ TR-DOS „ˆ›
                DI
                LD IX,WIN_FILES
                LD B,(IX+8)
                INC B
                LD IX,ADR_CAT
                LD DE,0X10
NEXT_BAS        LD A,(IX+8)
                ADD IX,DE
                CP "B"
                JR NZ,NEXT_BAS
                DJNZ NEXT_BAS
                PUSH IX
                POP HL
                SBC HL,DE
                LD IX,WIN_FILES
                JP RUNFILE1

SET_RAMD_NAME   DEC H
                XOR A
                LD (HL),A
                LD BC,CONF_128
                OUT (C),A
                PUSH HL
                LD HL,TXT_NONE
                LD DE,IN_RAMDISK
                LD BC,ETXT_NONE-TXT_NONE
                LDIR
                LD HL,ERS_FLAGS
                BIT B_LOAD_IMG,(HL)
                LD BC,CONF_128
                LD A,0X10
                OUT (C),A
                POP HL
                RET Z
                LD DE,BUF_FILEITEM
                LD B,8
                CALL SRN1
                LD B,3
SRN1            LD A,(DE)
                LD (HL),A
                DEC H
                INC DE
                DJNZ SRN1
                RET

;‡€ƒ“‡Š€ ‘‹…„“ž™…ƒŽ ‘…Š’Ž€ ‡€ƒŽ‹Ž‚Š€ FDI
LOAD1SECFDI     PUSH HL
                PUSH BC
                PUSH DE
                PUSH AF
                LD HL,0XC000
                LD A,1
                RST8 _COM_FAT,_READ_FILE
                INC IXH
                POP AF
                POP DE
                POP BC
                POP HL
                RES 1,H
                RET

;‚Š‹ž—…ˆ… ‚ 1 ŽŠŽ Ž…–ˆŽ‚€ˆŸ ‡€„€Ž‰ ‘’€ˆ–›
SET4MBPAGE      PUSH BC
                LD B,A
                PEC_ON M_SHADOW_BF
                LD A,B
                LD BC,WIN_P1
                OUT (C),A
                LD B,A
                PEC_OFF M_SHADOW_BF
                LD A,B
                POP BC
                RET

LOADIMAGE4      PUSH IX
                PUSH IY
                LD (LD_FILE_SP),SP
                LD SP,ADR_CAT
                LD A,RAM_TAPE
;‡€ƒ“‡Š€ TRD ˆ‹ˆ TAP Ž€‡€
LOADIMAGE3      PUSH AF
                CALL SET4MBPAGE
                LD HL,0X4000
                LD A,0X20
                RST8 _COM_FAT,_READ_FILE
                JR C,END_LOAD_TAP
                POP AF
                INC A
                JR LOADIMAGE3

END_LOAD_TAP    XOR A
                CALL SET4MBPAGE
                LD H,A
                LD L,A
                LD (0X4000),HL
                LD (0X4002),A
                LD A,ZXSTD_CPU1;0XFA
                CALL SET4MBPAGE
                LD SP,(LD_FILE_SP)
                POP IY
                POP IX
                LD H,CMOS_BYTE_00
                CALL READCMOS
                OR M_EMUL_TAPE
                LD L,A
                CALL WRITECMOS
                AND M_AUTO_TAPE
                JP Z,RESTART
                JP TAPELOAD1

LOADIMAGE       RST8 _MOUNTER,_LOADIMAGE
                JP RESTART

;               LD DE,"TR"
;               JR LOADIMAGE2

LOAD_IMAGE      DI
                LD D,A                          ;…‚›‰ ‘ˆŒ‚Ž‹ €‘˜ˆ…ˆŸ
                INC HL
                LD E,(HL)                       ;‚’ŽŽ‰ ‘ˆŒ‚Ž‹ €‘˜ˆ…ˆŸ
                CP "B"
                JR NZ,LOADIMAGE1_
                LD A,E
                CP "M"
                JR Z,LOADIMAGE2                 ;BMP
LOADIMAGE1_     CP "T"                          ;TAP ˆ‹ˆ TRD ?
                JR NZ,LOADIMAGE1
                LD A,E
                CP "A"
                JP Z,LOADIMAGE4                 ;TAP
LOADIMAGE1      LD A,D
                CP "R"
                LD HL,FLASHER
                JR Z,LOAD_IMAGE8                ;TRD
LOADIMAGE2      LD HL,RESTART
LOAD_IMAGE8     PUSH HL
                PUSH IX
                PUSH IY
                LD (LD_FILE_SP),SP
                LD SP,ADR_CAT
                LD A,D
                CP "S"                          ;’Ž SCL ”€‰‹?
                JR Z,LOAD_IMAGE2
                CP "F"                          ;’Ž FDI ”€‰‹?
                JP Z,LOAD_FDI
                CP "B"                          ;’Ž BMP ”€‰‹?
                JP Z,BMPVIEW
                CP "T"                          ;’Ž TRD ”€‰‹?
                JR NZ,LOAD_ROM
                LD HL,ERS_FLAGS
                SET B_LOAD_IMG,(HL)
                LD A,RAM_DATARAMD
;‡€ƒ“‡Š€ TRD ˆ‹ˆ TAP Ž€‡€
LOAD_IMAGE1     PUSH AF
                CALL SET4MBPAGE
                LD HL,CPU1
                LD A,0X20
                RST8 _COM_FAT,_READ_FILE
                JP C,END_LOAD_TRD
                POP AF
                INC A
                JR LOAD_IMAGE1

LOAD_ROM        CP "R"                          ;’Ž ROM ”€‰‹?
                JP NZ,ELOAD_IMAGE
                LD A,RAM_FLASHER
                CALL LOAD_IN_PAGE
                LD SP,(LD_FILE_SP)
                POP IY
                POP IX
                RET

LOAD_IN_PAGE    PUSH AF
                CALL SET4MBPAGE
                LD HL,CPU1
                LD A,0X20
                RST8 _COM_FAT,_READ_FILE
                JR C,LOADINPAGE1
                POP AF
                INC A
                JR LOAD_IN_PAGE

LOADINPAGE1     POP AF
                LD A,ZXSTD_CPU1;0XFA
                JP SET4MBPAGE

;‡€ƒ“‡Š€ SCL Ž€‡€
LOAD_IMAGE2     LD HL,DSKINFO
                LD DE,ADR_CAT+0XF00
                LD BC,DSK_END-DSKINFO
                LDIR                            ;‘Ž•€…ˆ… ˆ”› „‹Ÿ ‘Ž‡„€ˆŸ ‡€ƒŽ‹Ž‚Š€ „ˆ‘Š…’›
                LD HL,ERS_FLAGS
                SET B_LOAD_IMG,(HL)
                LD A,RAM_DATARAMD
LOAD_IMAGE4     PUSH AF
                CALL SET4MBPAGE                 ;‚Š‹ž—ˆ‹ˆ …‚“ž ‘’€ˆ–“ Ž’Š“„€ €Œ„ˆ‘Š €—ˆ€…’‘Ÿ
                LD HL,0X5000
                LD A,0X18
                RST8 _COM_FAT,_READ_FILE
                PUSH AF                         ;‘Ž•€ˆ‹ˆ ”‹€ƒ ŽŠŽ—€ˆŸ ‡€ƒ“‡Šˆ € ‘‹“—€‰ ŽŠŽ—€ˆŸ Ž€‡€
                LD HL,0X4000
                PUSH HL                         ;‘Ž•€ˆ‹ˆ €„…‘ €—€‹€ Š€’€‹Žƒ€
                LD (HL),L
                LD D,H
                LD E,L
                INC DE
                LD BC,0XFFF
                LDIR                            ;‡€—ˆ‘’Š€ Ž‹€‘’ˆ …‚Ž‰ „ŽŽ†Šˆ „‹Ÿ ”ŽŒˆŽ‚€ˆŸ Š€’€‹Žƒ€ „ˆ‘Š€
                LD HL,0X5008                    ;€„…‘ ŠŽ‹ˆ—…‘’‚€ ”€‰‹Ž‚ ‚ SCL Ž€‡…
                LD A,(HL)                       ;‚‡Ÿ‹ˆ ŠŽ‹ˆ—…‘’‚Ž ”€‰‹Ž‚ Š€Š ‘—…’—ˆŠ
                INC HL                          ;……˜‹ˆ € …‚›‰ Žˆ‘€’…‹œ ”€‰‹€
                EXX
                LD HL,0                         ;ŽŒ… €‘Ž‹ž’ŽƒŽ ‘…Š’Ž€
                LD D,L                          ;ˆ€™…ˆ… ‘…Š’ŽŽ‚ … ŒŽ†…’ ›’œ Ž‹…… 255 ‘…Š’ŽŽ‚
                LD B,A                          ;‘Ž•€…ˆ… ŠŽ‹ˆ—…‘’‚€ ”€‰‹Ž‚
                EXX
                POP DE                          ;‚…“‹ˆ €„…‘ €—€‹€ Š€’€‹Žƒ€ „ˆ‘Š€
LOAD_IMAGE3     EX AF,AF'
                LD BC,0X0D
                LDIR                            ;………‘‹ˆ 13 €‰’ ’…‹€ Žˆ‘€’…‹Ÿ
                LD A,(HL)                       ;‡€€‹ˆ €‡Œ… ”€‰‹€ ‚ ‘…Š’Ž€•
                LDI                             ;………‘‹ˆ …™… €‰’
                EXX
                LD E,A
                PUSH HL                         ;‘Ž•€ˆ‹ˆ ’…Š™…… ‡€—…ˆ… ŽŒ…€ ‘…Š’Ž€
                ADD HL,DE                       ;“‚…‹ˆ—ˆ‹ˆ ’…Š™…… ‡€—…ˆ… € €‡Œ… ”€‰‹€ ‚ ‘…Š’Ž€•
                EXX
                EX (SP),HL
                LD A,L
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                INC H
                AND 0X0F
                LD L,A
                EX (SP),HL
                POP BC                          ;‚Ž‘‘’€Ž‚ˆ‹ˆ ’…Š™ˆ‰ ŽŒ… ‘…Š’Ž€
                EX DE,HL
                LD (HL),C
                INC HL
                LD (HL),B                       ;“‹Ž†ˆ‹ˆ Ž‘‹… ’…Š“™…ƒŽ Žˆ‘€’…‹Ÿ
                INC HL
                EX DE,HL
                EX AF,AF'

                DEC A
                JR NZ,LOAD_IMAGE3               ;…‘‹ˆ ”€‰‹› … ŠŽ—ˆ‹ˆ‘œ Ž„Ž‹†€…Œ
                PUSH HL                         ;‘Ž•€ˆ‹ˆ €„…‘ €—€‹€ „€›•
                LD HL,ADR_CAT+0XF00
                LD DE,0X48E1
                LD BC,DSK_END-DSKINFO
                LDIR
                EXX
                LD DE,2544                      ;‘’€„€’›‰ €‡Œ… „ˆ‘Š…’›
                EX DE,HL
                AND A
                SBC HL,DE
                LD (0X48E5),HL                  ;ŠŽ‹ˆ—…‘’‚Ž ‘‚ŽŽ„›• ‘…Š’ŽŽ‚
                EX DE,HL
                LD A,L
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                INC H
                AND 0X0F
                LD L,A
                LD (0X48E1),HL                  ;…‚›‰ ‘‚ŽŽ„›‰ ’…Š ˆ ‘…Š’Ž
                LD A,B
                LD (0X48E4),A                   ;ŠŽ‹ˆ—…‘’‚Ž ”€‰‹Ž‚ € „ˆ‘Š…
                EXX
                POP DE                          ;‚Ž‘‘’€Ž‚‹…ˆ… €„…‘€ €—€‹€ „€›•
                LD HL,0X8000                    ;ŠŽ…– ŽŠ€ Ž…–ˆŽ‚€ˆŸ
                AND A
                SBC HL,DE                       ;Ž‹“—ˆ‹ˆ ŠŽ‹ˆ—…‘’‚Ž €‰’ „‹Ÿ ‘„‚ˆƒ€
                LD B,H
                LD C,L
                LD HL,0X5000                    ;€—€‹Ž „€›• € €Œ„ˆ‘Š…
                EX DE,HL
                LDIR                            ;‘„‚ˆ“‹ˆ, Ž‘‹… ……Ž‘€ DE=€„…‘ Š“„€ „€‹…… ƒ“‡ˆ’œ
                LD A,D
                CP 0X7E
                JR NC,LOAD_IMAGE7
                EX DE,HL
                LD A,0X7F
                SUB H
                SRL A
                LD IXL,A
                RST8 _COM_FAT,_READ_FILE
                LD DE,0X8000
                EX DE,HL
LOAD_IMAGE7     AND A
                SBC HL,DE                       ;Ž‹“—ˆ‹ˆ ‘ŠŽ‹œŠŽ €‰’ Ž‘’€‹Ž‘œ „Ž ŠŽ–€ ŽŠ€
                LD (OST_HWOST),HL
                LD (KUDA_HWOST),DE
                LD DE,0
                EX DE,HL
                SBC HL,DE
                LD A,1
                AND H
                LD H,A
                LD (NEXT4PAGE),HL
                POP AF                          ;‚Ž‘‘’€Ž‚ˆ‹ˆ ”‹€ƒ Ž‘‹…„…‰ ‡€ƒ“‡Šˆ
                JP C,END_LOAD_TRD               ;…‘‹ˆ ”€‰‹ “†… ŠŽ—ˆ‹‘Ÿ, ’Ž ‚›•Ž„
                JR LOAD_IMAGE5

LOAD_IMAGE6     LD DE,0X4000
                LD BC,0
NEXT4PAGE       EQU $-2
                LDIR
                EX AF,AF'
                JP C,END_LOAD_TRD
                EX DE,HL
                LD A,0X1F
                RST8 _COM_FAT,_READ_FILE
                JP C,END_LOAD_TRD
LOAD_IMAGE5     LD HL,ADR_CAT
                PUSH HL
                LD A,1
                RST8 _COM_FAT,_READ_FILE
                EX AF,AF'
                      ;‘Ÿ’€‹ˆ ”‹€ƒ ‡€ƒ“‡Šˆ ‘…Š’Ž€
                POP HL                          ;‚Ž‘‘’€Ž‚ˆ‹ˆ €„…‘ Š“„€ ‘…Š’Ž ‚ “”… ‡€ƒ“‡ˆ‹ˆ
                LD DE,0
KUDA_HWOST      EQU $-2                         ;Š“„€ ‹Ž†ˆ’œ Ž‘’€’ŽŠ ‚ ŽŠ…
                LD BC,0
OST_HWOST       EQU $-2                         ;‘ŠŽ‹œŠŽ ……Ž‘ˆ’œ ‚ ŠŽ…– ‘’€ˆ–›
                LDIR
                POP AF
                INC A
                PUSH AF
                CALL SET4MBPAGE
                JR LOAD_IMAGE6

;Ž‚…Š€ ‡€ƒŽ‹Ž‚Š€ HOBETA ”€‰‹€
;€ ‚›•Ž„…: ”‹€ƒ ‘=1-… ‘ŽŽ’‚…‘’‚“…’
CMP4HOBETA      SUB 1
                RET NZ
                LD A,(BUF_RDSEC+8)
                CP "C"                          ;Ž‚…Š€ —’Ž ’Ž ŠŽ„Ž‚›‰ ‹ŽŠ, € … —’Ž-’Ž „“ƒŽ…
                SCF
                RET NZ
                PUSH DE                         ;‘Ž•€ˆ‹ˆ €„…‘ ‘Š‹€„ˆŽ‚€ˆŸ „‹Ÿ „€‹œ…‰˜…‰ Ž‚…Šˆ
                LD BC,BUF_RDSEC                 ;‚Ž‡‚€™€…Œ‘Ÿ ‚ €—€‹Ž ‘…Š’Ž€
                CALL HOB_CRC                    ;‘—ˆ’€…Œ CRC HOBETA ‡€ƒŽ‹Ž‚Š€
                LD A,(BC)
                INC BC
                LD E,A
                LD A,(BC)
                LD D,A                          ;‚ "DE" €‘‘—ˆ’€Ž… CRC •Ž…’€ ‡€ƒŽ‹Ž‚Š€
                AND A                           ;‚ "HL" ‚‡Ÿ’Ž… ˆ‡ ‘Œ…™…ˆŸ +0X0F Ž’ €—€‹€ ”€‰‹€
                SBC HL,DE                       ;‘€‚ˆ‚€…Œ
                POP DE                          ;…‘‹ˆ … ‘Ž‚€‹Ž ’Ž ‚Ž‡ŒŽ†Ž ’Ž … •Ž…’€
                SCF
                RET NZ                          ;Ž“‘Š€…Œ ”€‰‹
                EXX
                LD HL,(BUF_RDSEC+9)
                DEC HL                          ;„‹Ÿ ‡€ƒ“‡Šˆ Œ€‘ˆŒ“Œ 40960 €‰’ (160 ‘…Š’ŽŽ‚)
                LD DE,(BUF_RDSEC+0X0B)
                ADD HL,DE                       ;Ž‚…Ÿ…Œ ‚›•Ž„ ‡€ …„…‹› Ž‡“
                EXX                             ;…‘‹ˆ ‚›‹…’ ‡€ …„…‹ Ž‡“
                RET C                           ;Ž“‘Š€…Œ ”€‰‹
                EXX
                LD HL,(BUF_RDSEC+9)
                LD DE,0X6000                    ;Ž‚…Ÿ…Œ €„…‘ ‡€ƒ“‡Šˆ
                AND A                           ;€„…‘ ‡€ƒ“‡Šˆ … „Ž‹†… ›’œ ˆ†… 0X6000
                SBC HL,DE
                EXX                             ;…‘‹ˆ €„…‘ ‡€ƒ“‡Šˆ ˆ†… 0X6000
                RET

;€ ‚•Ž„…: BC-€„…‘ ‡€ƒŽ‹Ž‚Š€
;€ ‚›•Ž„…: HL-HOBETA CRC
HOB_CRC         LD A,0X0F
                LD HL,0
                EXX
                LD E,0
                EXX
HOBCRC1         EX AF,AF'
                LD A,(BC)
                LD E,A
                LD D,A
                ADD HL,DE
                EXX
                LD A,E
                INC E
                EXX
                LD E,A
                LD D,0
                ADD HL,DE
                EX AF,AF'

                INC BC
                DEC A
                JR NZ,HOBCRC1
                RET

CMP4FONTS       LD DE,(BUF_FILEITEM+0X1C)
                LD HL,(BUF_FILEITEM+0X1E)
                LD A,H
                OR L
                OR E
                SCF
                RET NZ
                LD A,D
                CP 8
                SCF
                RET NZ
                AND A
                RET

CMP4ROMS        LD DE,(BUF_FILEITEM+0X1C)
                LD HL,(BUF_FILEITEM+0X1E)
                LD A,H
                OR D
                OR E
                SCF
                RET NZ
                LD A,L
                CP 8
CMP_ROMSIZE     EQU $-1
                SCF
                RET NZ
CMP4ROMS1       AND A
                RET

CMP4FDI         EXX
                LD HL,BUF_RDSEC
                LD A,(HL)
                CP "F"
                SCF
                RET NZ
                INC HL
                LD A,(HL)
                CP "D"
                SCF
                RET NZ
                INC HL
                LD A,(HL)
                CP "I"
                SCF
                RET NZ
                INC HL
                INC HL
                LD A,(HL)                       ;ŠŽ‹ˆ—…‘’‚Ž –ˆ‹ˆ„Ž‚
                CP 0X57
                CCF
                RET C
                INC HL
                LD A,(HL)                       ;„Ž‹†… ›’œ 0
                AND A
                SCF
                RET NZ
                INC HL
                LD A,(HL)                       ;ŠŽ‹ˆ—…‘’‚Ž ‘’ŽŽ
                AND A
                SCF
                RET Z
                CP 3
                CCF
                RET C
                INC HL
                LD A,(HL)                       ;„Ž‹†Ž ›’œ 0
                AND A
                SCF
                RET NZ
                EXX
                AND A
                RET

CMP4IMAGE       CP 3
                JR Z,CMP4FDI
                CP 4
                JR Z,CMP4BMP
                SUB 1
                RET Z                           ;„‹Ÿ TRD Ž‚…Š€ … “†Š€
;„‹Ÿ SCL Ž‚…Š€ €‹ˆ—ˆŸ ‘‹Ž‚€ "SINCLAIR" ‚ …‚›• 8 €‰’€•
                EXX
                LD HL,BUF_RDSEC
                LD DE,SIGN_SCL
                LD B,8
CMP4IMAGE1      LD A,(DE)
                CP (HL)
                SCF
                RET NZ
                INC DE
                INC HL
                DJNZ CMP4IMAGE1
                EXX
                AND A
CMP4TAPES       RET

CMP4BMP         EXX
                LD HL,BUF_RDSEC
                LD A,"B"
                SUB (HL)
                SCF
                RET NZ
                INC HL
                LD A,"M"
                SUB (HL)
                SCF
                RET NZ
                LD HL,(BUF_RDSEC+0X12)
                LD DE,320
                AND A
                SBC HL,DE
                SCF
                RET NZ
                LD HL,(BUF_RDSEC+0X16)
                LD DE,200
                AND A
                SBC HL,DE
                SCF
                RET NZ
                LD A,(BUF_RDSEC+0X1C)
                CP 4
                SCF
                RET NZ
                EXX
                AND A
                RET

SEARCH_FILE     LD A,1
                LD HL,(GDE_EXT_FILES)
                RST8 _COM_FAT,_SET_MASK_EXT
                LD DE,ADR_CAT_FAT               ;€„…‘ “”…€ Š“„€ ‘Š‹€„ˆŽ‚€’œ €‰„…Ž…
                RST8 _COM_FAT,_FIND_FILEITEM
                LD H,A                          ;ŽŒ… ‘’€ˆ–› ƒ„… €‰„…Ž… €’œ
                LD A,B
                OR C
                JR NZ,SEARCHF1
                PUSH IX
                LD IX,NOBASIC
                RST8 _WINW
                POP IX
                RST8 _COM_DEV,_KOL_VOL
                DEC E
                JP Z,NO_BAS
                JP SELECT_DEVICE

SEARCHF1        PUSH BC
                PUSH HL
                RST8 _SORT_FINDFILES
                PEC_ON M_SHADOW_BF
                POP AF
                LD BC,WIN_P1
                OUT (C),A
                LD HL,CPU1
                LD DE,ADR_CAT_SCRH              ;€„…‘ “”…€ ‘Š‹€„ˆŽ‚€ˆŸ Ž Œ€‘Š…
                LD BC,0X1000
                LDIR
                LD BC,WIN_A1
                LD A,0X7A
                OUT (C),A
                PEC_OFF M_SHADOW_BF
                POP BC
                LD DE,ADR_CAT_FAT
                LD HL,ADR_CAT_SCRH              ;€„…‘ “”…€ ‘Š‹€„ˆŽ‚€ˆŸ Ž Œ€‘Š…
SEARCHF3        PUSH BC
                LD C,(HL)
                INC HL
                LD B,(HL)
                DEC HL
                LD A,6
                RST8 _COM_FAT,_POS_FILES
                PUSH HL
                LD HL,BUF_FILEITEM
                RST8 _COM_FAT,_READ_DIR
                PUSH DE
                LD DE,0X0B
                ADD HL,DE
                LD A,(HL)
                AND 0X10
                JR NZ,SEARCHF4
                RST8 _COM_FAT,_OPEN_FILE
                LD HL,BUF_RDSEC
                LD A,1
                RST8 _COM_FAT,_READ_FILE
                LD HL,BUF_FILEITEM
                CALL CP_EXT
                CALL 0
CMP_FOUNDED     EQU $-2
SEARCHF4        POP DE
                POP HL
                JR NC,SEARCHF5
                INC HL
                INC HL
                JR SEARCH6

SEARCHF5        LDI
                LDI
SEARCH6         POP BC
                DEC BC
                LD A,B
                OR C
                JR NZ,SEARCHF3
                LD HL,ADR_CAT_FAT
                EX DE,HL
                SBC HL,DE
                SRL H
                RR L
                LD B,H
                LD C,L
                RET

CPETR3          PUSH BC
                PUSH DE
                PUSH HL
                LD C,0
                LD DE,VIEW_IMAGES
                JR CPETR2

CP_EXT          PUSH BC
                PUSH DE
                PUSH HL
                LD C,0
                LD DE,0
GDE_EXT_FILES   EQU $-2
CPETR2          LD A,(DE)
                AND A
                JR Z,CPETR1+1
                INC C
                PUSH DE
                PUSH HL
                CALL COMPARF
                POP HL
                POP DE
                JR Z,CPETR1
                INC DE
                INC DE
                INC DE
                JR CPETR2

CPETR1          LD A,C
                AND A
                POP HL
                POP DE
                POP BC
                RET

COMPARF         PUSH DE
                LD DE,8
                ADD HL,DE
                POP DE
                LD B,3
COMPARF1        LD A,(DE)
                CP "A"
                JR C,COMPARF2
                AND %11011111
COMPARF2        CP (HL)
                RET NZ
                INC HL
                INC DE
                DJNZ COMPARF1
                RET

;Ž˜ˆ‚€’…‹œ ‡“ ‘ ˆ„ˆŠ€–ˆ…‰ Ž–…‘‘€
FLASHER         LD BC,PENT_CONF
                XOR A
                OUT (C),A
                PEC_ON M_SHADOW_BF
                LD BC,0XFF77
                LD A,0XA3
                OUT (C),A                       ;ˆ“„ˆ’…‹œŽ… ‚Š‹ž—…ˆ… ’“Ž …†ˆŒ€ 7Œƒ–
                LD A,(CMP_ROMSIZE)
                DEC A
                JR NZ,FLASHER6
                LD IX,UPDATE_CUSTOM
                RST8 _WINW
                LD SP,ADR_CAT
                PEC_ON M_SHADOW_BF+M_FLASH_BF
                LD BC,WIN_A0
                LD A,0X7F
                OUT (C),A                       ;Ž’Š‹ž—…ˆ… ‡“ ‚ ŽŠ… 0
                LD E,0
                LD HL,0
                CALL ERASE_BLK                  ;‘’ˆ€ˆ… COSTOM ROM ‘’€ˆ–›
                LD A,RAM_FLASHER
                LD E,0
                CALL FLASH_64KB                 ;Žƒ€ŒŒˆŽ‚€ˆ… CUSTOM ROM ‘’€ˆ–›
                JP EFLASHER

FLASHER6        LD IX,ERASE_ROM                 ;‚›‚Ž„ ŽŠ€ Ž ‘’ˆ€ˆˆ FLASH
                RST8 _WINW
                LD IX,UPDATE_WIN                ;‚›‚Ž„ ŽŠ€ Ž ŽŽ‚‹…ˆˆ FLASH
                RST8 _WINW
                LD IX,ERASE_ROM
                LD SP,ADR_CAT
                PEC_ON M_SHADOW_BF+M_FLASH_BF   ;€‡…˜…ˆ… Žƒ€ŒŒˆŽ‚€ˆŸ FLASH
                LD BC,WIN_A0
                LD A,0X7F
                OUT (C),A                       ;Ž’Š‹ž—…ˆ… ROM ‚ ŽŠ… 0
                LD A,3
                CALL SETWIN_INDICAT             ;“‘’€Ž‚Š€ ˆ„ˆŠ€’Ž€ Ž–…‘‘€
                LD E,0
                LD HL,0
FLASHER4        CALL ERASE_BLK                  ;‘’ˆ€ˆ… ‹ŽŠ€ 64Š
                CALL INC_INDICAT                ;ŽŽ‚‹…ˆ… ˆ„ˆŠ€’Ž€ Ž–…‘‘€
                INC E                           ;‘‹…„“ž™ˆ‰ ‹ŽŠ
                BIT 3,E
                JR Z,FLASHER4
                LD IX,UPDATE_WIN
                LD A,RAM_FLASHER                ;‘’€ˆ–€ €—€‹€ ‡€ƒ“†…ŽƒŽ ROM ”€‰‹€
                LD E,0
FLASHER3        CALL FLASH_64KB                 ;Ž˜ˆ‚€ˆ… Ž„Ž‰ 64Š ‘’€ˆ–›
                INC E                           ;‘‹…„“ž™€Ÿ 64Š ‘’€ˆ–€
                BIT 3,E
                JR Z,FLASHER3
EFLASHER        LD BC,WIN_P3
                XOR A
                OUT (C),A                       ;‚Š‹ž—…ˆ… RAM ‚ ŽŠ… 3
                LD A,(CPU3+0X20)
                XOR B
                LD (CPU3+0X20),A                ;Œ…Ÿ…Œ €‰’ „‹Ÿ €“˜…ˆŸ CRC ŠŽ’Ž‹Ÿ ˆ Ž‹ŽƒŽ …ˆˆ’€
                LD A,(CPU1+BUF_TABLVOL+0XFE)
                XOR B
                LD (CPU1+BUF_TABLVOL+0XFE),A    ;€€‹Žƒˆ—Ž „‹Ÿ DEVICE MANAGER
                PEC_OFF M_FLASH_BF
                LD HL,0X79ED                    ;OUT (C),A
                LD (0XFFFE),HL                  ;“Š‹€„Š€ ŠŽŒ€„› OUT (C),A
                LD BC,0XBC77
                LD A,2
                JP 0XFFFE

;Ž˜ˆ‚€ˆ… Ž„Ž‰ 64Š ‘’€ˆ–›
;‚•Ž„: A=ŽŒ… 16Š ‘’€ˆ–› Ž’Š“„€ €’œ €‰’› „‹Ÿ Ž˜ˆ‚€ˆŸ
;      E=ŽŒ… Ž˜ˆ‚€…ŒŽ‰ 64Š ‘’€ˆ–›
FLASH_64KB      LD HL,0
                PUSH AF
                LD A,E
                ADD A,2
                CALL SETWIN_INDICAT             ;ŽŽ‚‹…ˆ… ˆ„ˆŠ€’Ž€ Ž–…‘‘€
                POP AF
FLASHER2        PUSH AF
                LD BC,WIN_P0
                OUT (C),A                       ;‚Š‹ž—…ˆ… ‘’€ˆ–› RAM Ž’Š“„€ €’œ €‰’› „‹Ÿ Ž˜ˆ‚€ˆŸ
                PUSH IX
                LD IX,0
FLASHER1        LD A,(IX)                       ;‚‡Ÿ‹ˆ €‰’ „‹Ÿ Ž˜ˆ‚€ˆŸ
                INC A
                JR Z,FLASHER5                   ;…‘‹ˆ €‰’ = FF, ’Ž … Ž˜ˆ‚€…Œ
                DEC A
                CALL PGM_BYTE                   ;Ž˜ˆ‹ˆ €‰’
FLASHER5        INC IX
                INC HL
                LD A,H
                AND 0X0F
                OR L
                CALL Z,INC_INDICAT              ;ŽŽ‚ˆ‹ˆ ˆ„ˆŠ€’Ž …‘‹ˆ Ž˜ˆ‹ˆ 4Š
                LD A,IXH
                AND 0X40
                JR Z,FLASHER1                   ;Ž„Ž‹†€…Œ ŽŠ€ … ŠŽ—ˆ’‘Ÿ ‘’€ˆ–€ ‚›ŽŠˆ €‰’
                POP IX
                POP AF
                INC A                           ;‘‹…„“ž™€Ÿ ‘’€ˆ–€ Ž’Š“„€ €‰’› €’œ „‹Ÿ Ž˜ˆ‚€ˆŸ
                LD D,A                          ;‚…Œ…Ž ‘Ž•€ˆ‹ˆ
                LD A,H                          ;Ž‚…Š€ € ŽŠŽ—€ˆ… 64Š ‘’€ˆ–›
                AND A
                LD A,D                          ;‚Ž‘‘’€Ž‚ˆ‹ˆ
                JR NZ,FLASHER2
                RET