Top secrets sources NedoPC pentevo

Rev

Rev 888 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?


; LAST UPDATE: 04.10.2022 savelij

                TITLE "call_trdos.a80"

 INIT_VAR 1
 SETVAR ERR_NO_TRDOS_DISK
 SETVAR ERR_DISK_ERROR
 SETVAR ERR_NO_DISK
 SETVAR ERR_DISK_READ_ONLY


SEL_FILES_WIN   LD HL,ERS_FLAGS
                BIT B_VIEW_IMG,(HL)
                JP Z,RESTART
                JP FILES_BROWSE

VIEW_IMAGE      DI
                LD BC,ADR_CAT_FAT
                LD L,(IX+_TEK_PKT_L)
                LD H,(IX+_TEK_PKT_H)
                ADD HL,HL
                ADD HL,BC
                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 NZ,_RULILKA                  ; ¯®¯ë⪠ ¯à®á¬®âà  ¤¨à¥ªâ®à¨¨
                PUSH HL
                CALL REST_COLCURS               ; áâ¨à ­¨¥ 梥⭮£® ªãàá®à 
                CALL REST2X2                    ; ¢®ááâ ­®¢«¥­¨¥ íªà ­  ¯®¤ ªãàá®à®¬ ¬ëè¨
                POP HL
                CALL CPETR3                     ; ¯à®¢¥àª  à áè¨à¥­¨ï
                JP Z,_RULILKA                   ;¯®¯ë⪠ ¯à®á¬®âà  ­¥ ¯®¤¤¥à¦¨¢ ¥¬®£® à áè¨à¥­¨ï (SCL, TRD ONLY)

                LD (TYPE_FILE),A
                PUSH AF
        RST8 _COM_FAT,_OPEN_FILE
                POP AF
                DEC A
                LD HL,ADR_CAT                   ; TYPE_FILE = 1 - TRD
                JR Z,VIEWIMG1
                LD HL,ADR_CAT+0x200             ; TYPE_FILE = 2 - SCL
VIEWIMG1        PUSH AF
                LD A,5
        RST8 _COM_FAT,_READ_FILE
                POP AF
                JR Z,VIEWIMG3
                LD DE,ADR_CAT
                LD HL,ADR_CAT+0x200+8
                LD A,(HL)
                PUSH AF
                INC HL
VIEWIMG2        LD BC,0x0E
                LDIR
                INC DE
                INC DE
                DEC A
                JR NZ,VIEWIMG2
                LD HL,ADR_CAT+0x0A00
                SCF
                SBC HL,DE
                LD B,H
                LD C,L
                LD H,D
                LD L,E
                INC DE
                LD (HL),0
                LDIR
                LD HL,DSKINFO
                LD DE,ADR_CAT+0x8E1
                LD BC,DSK_END-DSKINFO
                LDIR
                POP AF
                LD (ADR_CAT+0x8E4),A
VIEWIMG3        LD HL,ERS_FLAGS
                RES B_RUN_FAT,(HL)              ; ¢ë¢®¤ ®ª­  ¤«ï TR-DOS
                SET B_VIEW_IMG,(HL)             ; ¯à®á¬®âà ®¡à §  TR-DOS

                JP VIEW_ALL

GLUBOOT         LD HL,ERS_FLAGS
                RES B_RUN_FAT,(HL)              ; § ¯ãáª á ¤¨áª¥âë
                RES B_VIEW_IMG,(HL)             ; à ¡®â  á ॠ«ì­ë¬ ª â «®£®¬ TR-DOS
                LD A,(DRV_SYM)
                LD C,1
                CALL FTR_DOS
                LD HL,ADR_CAT
                LD DE,8
                LD BC,0x0105
                CALL FTR_DOS;TO_DOS4BAS                 ;§ £à㧨«¨ 9 ᥪâ®à
                LD A,(ADR_CAT+0xE7)
                CP 0x10                         ; ¯à®¢¥àª  ­  ¯à¨§­ ª TR_DOS
                JP NZ,CMP_VIRTUAL               ; ®è¨¡ª , ¤¨áª ­¥ TR-DOS
                LD HL,ADR_CAT
                LD DE,0
                LD BC,0x0905
                CALL FTR_DOS;TO_DOS4BAS                 ;§ £à㧪  TR-DOS ¤¨àë
                LD A,(ADR_CAT+0x8E7)
                CP 0x10                         ; ¯à®¢¥àª  ­  ¯à¨§­ ª TR_DOS
                JP NZ,_STUPID
VIEW_ALL        LD IX,ADR_CAT
                LD DE,0x10
                LD A,(ADR_CAT+0x8E4)
                AND A
                JP Z,NO_BAS
                LD B,A                          ; ᪮«ìª® ä ©«®¢ ­ ¤® ¯à®á¬®âà¥âì
                LD C,0                          ; ®¡­ã«¥­¨¥ áç¥â稪  ­ ©¤¥­­®£®
                EXX
                PUSH IX
                POP DE
                EXX
FIND_BASIC      LD A,(IX+8)
                CP "B"                          ; ¨é¥¬ ⮫쪮 ¡ á¨ª ä ©«ë
                JR NZ,FINDBAS1
                LD A,(IX+0)
                DEC A                           ; ¯à®¢¥àª  ­  㤠«¥­­ë© ä ©«
                JR Z,FINDBAS1
                EXX
                PUSH IX
                POP HL                          ; ®âªã¤  ¯¥à¥­®á¨âì ®¯¨á â¥«ì
                LD BC,0x10
                LDIR
                EXX
                INC C
FINDBAS1        ADD IX,DE
                DJNZ FIND_BASIC
                LD IX,WIN_FILES                 ; ®ª­® ¤«ï ¢ë¢®¤  ¡ á¨ª ä ©«®¢
OUT_HOB         LD (IX+_NUM_PKT),0
                LD (IX+_NUM_KOL_L),C
                LD (IX+_NUM_KOL_H),B            ; ¯®«­®¥ ª®«¨ç¥á⢮ ­ ©¤¥­­®£®
                LD (IX+_TEK_PKT_L),0
                LD (IX+_TEK_PKT_H),0            ; ®¡­ã«ï¥¬ ¯®§¨æ¨î ä ©«®¢ ¨ ªãàá®à 
REOUT_HOB       LD A,B
                OR C                            ; ¯à®¢¥àª  ª®«¨ç¥á⢠ ­ ©¤¥­­®£®
                JP Z,NO_BAS                     ; ¥á«¨ 0, â® ­¥â ¡ á¨ª®¢
                LD HL,ERS_FLAGS
                RES 2,(IY+55)                   ; ¯à¥¤¯®«®¦¨â¥«ì­® ä ©«®¢ ¬¥­¥¥ ¢ëá®âë ®ª­ 
                LD A,B
                AND A
                LD A,V_FILE-2
                JR NZ,FINDBAS2                  ; ¥á«¨ ¡®«¥¥ 256 ä ©«®¢, â® ¯®«­ ï ¢ëá®â  ®ª­ 
                LD A,C
                CP V_FILE-1
                JR C,FINDBAS2
                SET 2,(IY+55)                   ; ä ©«®¢ ¡®«ìè¥ ¢ëá®âë ®ª­ 
                LD A,V_FILE-2
FINDBAS2        LD C,A
                ADD A,2
                LD (IX+_V_SIZE),A               ; ãáâ ­®¢ª  ¢ëç¨á«¥­­®© ¢ëá®âë ®ª­ 
                LD (IX+_H_SIZE),H_FILE          ; ãáâ ­®¢ª  è¨à¨­ë ®ª­ 
FINDBAS6        BIT B_RUN_FAT,(HL)
                JR Z,FINDBAS5                   ; ¥á«¨ à ¡®â  á TR-DOS, â® ¯¥à¥å®¤¨¬ ­  ¢ë¢®¤ ®ª­ 
                LD A,C
                CP FH_FILE-1
                JR C,FINDBAS9
                LD C,FH_FILE-2
FINDBAS9        LD A,C
                LD (KOL4OUT),A
                LD (IX+_V_SIZE),FH_FILE
                LD (IX+_H_SIZE),FV_FILE
        RST8 _WINW
                JR FINDBAS7

FINDBAS5        LD A,(ERS_FLAGS)
                AND M_RUN_FAT
                JR NZ,FINDBAS8
                LD (IX+_H_SIZE),H_FILE-4
FINDBAS8
        RST8 _WINW
FINDBAS7        CALL OUT_TEK_DIR                ; ¢ë¢®¤¨¬ ªãá®ç¥ª ¤¨à¥ªâ®à¨¨
                JP _RULILKA

; ¢ë¢®¤ ç á⨠¤¨à¥ªâ®à¨¨ á 㪠§ ­­®© ¯®§¨æ¨¨
OUT_TEK_DIR     LD L,(IX+_TEK_PKT_L)            ; ¢ë¢®¤ ¤¨àë TR-DOS ¤¨áª 
                LD H,(IX+_TEK_PKT_H)            ; ¯®«ã稫¨ ­®¬¥à ⥪ã饩 ¯®§¨æ¨¨
                LD E,(IX+_NUM_PKT)              ; ¯®«ã稫¨ ¯®§¨æ¨î ªãàá®à  ¢ ®ª­¥
                XOR A
                LD D,A
                SBC HL,DE                       ; ¢ëç¨á«¨«¨ ¯®§¨æ¨î ä ©«  á ª®â®à®£® ¡ã¤¥¬ ¢ë¢®¤¨âì
                ADD HL,HL
                LD A,(ERS_FLAGS)
                AND M_RUN_FAT
                JR NZ,OUT_TEK_FAT               ; ¯¥à¥å®¤ ¥á«¨ ¤«ï FAT
; ¢ë¢®¤ ¤«ï TR-DOS ä ©«®¢
                LD DE,ADR_CAT
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL                       ; 㬭®¦¨«¨ ­  à §¬¥à ®¯¨á â¥«ï
                ADD HL,DE                       ; ¢ëç¨á«¨«¨  ¤à¥á ®¯¨á â¥«ï á ª®â®à®£® ¡ã¤¥¬ ¢ë¢®¤¨âì
                LD C,(IX+_V_SIZE)
                DEC C
                DEC C                           ; ¢ëç¨á«¨«¨ ᪮«ìª® ¢ë¢®¤¨âì
                LD D,(IX+_X_COORD)
                LD E,(IX+_Y_COORD)
                INC D
                INC D
                INC E                           ; ¢ëç¨á«¨«¨ ¯®§¨æ¨î ¢ë¢®¤  ­  íªà ­
FINDBAS3        LD B,8                          ; ¯¥ç â ¥¬ ⮫쪮 ¨¬ï
                PUSH DE
FINDBAS4        LD A,(HL)
                INC HL
                CALL PRT_SYM
                DJNZ FINDBAS4
                LD DE,8                         ; 8 ᨬ¢®«®¢ ­ ¯¥ç â «¨, ®áâ «ì­ë¥ 8 ¯à®¯ã᪠¥¬
                ADD HL,DE
                POP DE
                INC E
                DEC C
                JR NZ,FINDBAS3                  ; ¥á«¨ ­¥ ª®­ç¨«¨áì ¯¥à¥å®¤¨¬ ­  ¯¥ç âì á«¥¤ãî饣® ¨¬¥­¨
                RET

; ¢ë¢®¤ ¤¨àë ­  FAT
OUT_TEK_FAT     LD DE,ADR_CAT_FAT
                ADD HL,DE
                LD D,(IX+_X_COORD)
                LD E,(IX+_Y_COORD)
                INC D
                INC E                           ; ¢ëç¨á«¨«¨ ¯®§¨æ¨î ¢ë¢®¤  ­  íªà ­
                LD C,0
KOL4OUT         EQU $-1
OTF2            PUSH BC
                LD C,(HL)
                INC HL
                LD B,(HL)
                INC HL
                PUSH HL
                PUSH DE
                LD A,6
        RST8 _COM_FAT,_POS_FILES
                LD HL,BUF_FILEITEM
        RST8 _COM_FAT,_READ_DIR
                POP DE
                PUSH DE
                LD BC,0x0B
                ADD HL,BC
                LD A,(HL)
                SBC HL,BC
                AND 0x10
                LD A,0                          ; ᨬ¢®« ¯ ¯ª¨
                JR NZ,OTF4
                LD A,1                          ; ᨬ¢®« ä ©« 
OTF4            CALL PRTSPECSYM
                LD HL,OUT_NAME_FILET
        RST8 _COM_FAT,_GET_LONGNAME
                LD (LONG_NAME),A
                CALL FILENAME8_3
                POP DE
                POP HL
                POP BC
                INC E
                DEC C
                JR NZ,OTF2
                RET

FILENAME8_3     LD A,(ERS_FLAGS)
                AND M_RUN_FAT
                JR NZ,OTF5
                LD B,8
OTF1            LD A,(HL)
                INC HL
                CALL PRT_SYM
                DJNZ OTF1
                RET

OTF5            EX DE,HL
                LD A,H
                ADD A,A
                ADD A,A
                ADD A,A
                LD H,A
                INC H
                LD (OUT_NAME_FILE+1),HL
                LD HL,OUT_NAME_FILET
                LD BC,0
LONG_NAME       EQU $-2
                LD A,FV_FILE6
                CP C
                JR Z,OTF7
                JR NC,OTF6
                EX DE,HL
                LD HL,FV_FILE6
                ADD HL,DE
                LD (HL),">"
                INC HL
                LD (HL),0
                JR OTF7

OTF6            SUB C
                ADD HL,BC
                LD C,A
                LD D,H
                LD E,L
                INC DE
                LD (HL)," "
                LDIR
                XOR A
                LD (DE),A
OTF7            LD HL,OUT_NAME_FILE
        RST8 _PRINT_MESSAGE
                RET

NO_BAS          LD HL,ERS_FLAGS
                BIT B_VIEW_IMG,(HL)
                JP NZ,FILES_BROWSE
                LD IX,NOBASIC
        RST8 _WINW
                JP _RULILKA

RUNFILE         DI
                CALL SHUT2AY                    ; ¡ã¬ª «ª  ¢ AY
                LD HL,ERS_FLAGS
                BIT B_VIEW_IMG,(HL)
                JR Z,RUNFILE2
                LD IX,FAT_FILES
                LD HL,ERS_FLAGS
                SET B_VIEW_IMG,(HL)
                JP RUN_HOB                      ; ¯¥à¥å®¤ ­  § £à㧪㠨 § ¯ã᪠¨§ SCL ®¡à § 

RUNFILE2        LD L,(IX+_TEK_PKT_L)
                LD H,(IX+_TEK_PKT_H)            ; ­®¬¥à ¢ë¡à ­­®£® ä ©« 
                LD DE,ADR_CAT
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                ADD HL,DE                       ; ®âªã¤  ¨¬ï ä ©«  ¢§ïâì
RUNFILE1        LD DE,RUNNAM
                LD BC,8
                LDIR
                LD HL,0x3E08+0xA7
                LD DE,0xFFFF
                LD C,0xA8                       ; 21 ᨬ¢®« UDG
                LDDR
                LD HL,RUN_BASIC
                LD DE,0x5D3B
                LD BC,ERUN_BASIC-RUN_BASIC
                LDIR                            ; ¯¥à¥­®á ¡¥©á¨ª ¯à®£¨ ¤«ï § ¯ã᪠
                CALL MEMSET                     ; ¢ëáâ ¢¨«¨ ०¨¬ ª®¬¯ 
                CALL FOR_RUN
                EI
                LD BC,0xFF56
                CALL 0x1EB7
                LD HL,0x1B7D                    ; § ¯ã᪠¯¥à¥­¥á¥­­®© ¡¥©á¨ª ¯à®£¨
                PUSH HL
                LD HL,0x6000
                LD DE,0x6001
                LD BC,0xFF00-0x6000
                LD (HL),0
                JP 0x33C3

FOR_RUN         SET 3,(IY+1)
                LD IY,ERR_NR
                LD (IY),0xFF
                SET 7,(IY+1)
                RES 4,(IY+1)
                LD HL,0x2758
                EXX
                LD A,0xC9
                LD (TRD_5CC2),A
                LD HL,0
                LD (NEWPPC),HL
                XOR A
                LD (NSPPS),A
                RET

; ªà㣮¢®© ¯¥à¥¡®à ¨¬¥­¨ ¤¨áª®¢®¤  1-4 (A-D)
NEXTDRIVE       LD A,(TXT_DRIVE)                ; ¢§ï«¨ ¡ãª¢ã ⥪ã饣® ¤¨áª®¢®¤ 
                INC A                           ; +1, â® ¥áâì ¢ë¡à «¨ á«¥¤ãî騩 ¯® ¯®à浪ã
                SUB 0x10                        ; ¯à¥¢à â¨«¨ ¢ ­®¬¥à
                CP "5"                          ; ¥á«¨ ¯à¥¢ëᨫ¨ 4
                JR C,SELDRV1
                SUB 4                           ; â® ¨§¬¥­¨«¨ ­  ­®¬¥à ¯¥à¢ë©
                JR SELDRV1

NEXTVIRT        LD HL,MAINLOP
                PUSH HL
                LD A,(ERS_FLAGS)
                AND M_CLOCK_ON
                RET Z
                LD H,VIRT_REAL_DRIVE
                CALL READCMOS
                AND 3                           ; A = ᤢ¨­ãâë© ­®¬¥à ¢¨àâã «ì­®£® ¤¨áª®¢®¤ 
                INC A
                CP 4
                JR C,NEXTVIRT1
                XOR A
NEXTVIRT1       LD D,A                          ; á®åà ­¨«¨ ¢¨àâã «ì­ë© ¤¨áª®¢®¤
                LD A,L
                AND %11111100                   ; A = á¡à®á¨«¨ áâ àë© ­®¬¥à ¢¨àâã «ì­®£® ¤¨áª®¢®¤ 
                OR D                            ; ¤®¡ ¢¨«¨ ­®¢ë© ­®¬¥à ¢¨àâã «ì­®£® ¤¨áª®¢®¤ 
                LD L,A
                CALL WRITECMOS                  ; á®åà ­¨«¨ ­®¬¥à ॠ«ì­®£® ¨ ¢¨àâã «ì­®£® ¤¨áª®¢®¤ 
;       RST8 _MOUNTER,_MOUNT_RAMDISK            ; ¬®­â¨à®¢ ­¨¥ à ¬¤¨áª 
                CALL REST2X2
                CALL PRT_VIRTDRV
                LD A,(ERS_FLAGS)
                AND M_MOUSE_ON
                RET Z
                JP DRAW_MOUSE

; ¨§¬¥­¥­¨¥ ­®¬¥à  ¤¨áª®¢®¤  ¨ á®åà ­¥­¨¥ ¢ ª¬®á¥ ¥á«¨ â ª®¢®© ®¡­ à㦥­
SELDRV          LD A,(LAST_K)                   ; ¢§ï«¨ ­®¬¥à ¤¨áª®¢®¤ 
SELDRV1         SUB "1"                         ; ®¡à â¨«¨ ¢ ¡¨­ à­ë© ¢¨¤ ¤«ï § ¯¨á¨ ¢ ¯¥à¥¬¥­­ãî
                LD HL,MAINLOP                   ;  ¤à¥á ªã¤  ¢¥à­ãâìáï ¯®á«¥ § ¯¨á¨
                PUSH HL
SELDRVPP        LD (DRV_SYM),A                  ; á®åà ­¨«¨ ­®¢ë© ­®¬¥à ॠ«ì­®£® ¤¨áª®¢®¤ 
                RLCA
                RLCA
                LD D,A                          ; ᤢ¨­ãâë© ­®¬¥à ¢¨àâã «ì­®£® ¤¨áª®¢®¤ 
                LD A,(ERS_FLAGS)
                AND M_CLOCK_ON
                RET Z                           ; ¥á«¨ ª¬®á ­¥ ­ ©¤¥­, ¢ë室¨¬
                LD H,VIRT_REAL_DRIVE
                CALL READCMOS
                AND %11110011                   ; á¡à®á¨«¨ áâ àë© ­®¬¥à ॠ«ì­®£® ¤¨áª®¢®¤ 
                OR D                            ; ¤®¡ ¢¨«¨ ­®¢ë© ­®¬¥à ॠ«ì­®£® ¤¨áª®¢®¤ 
                LD L,A
                CALL WRITECMOS                  ; á®å࠭塞 ¢ ª¬®á¥
                CALL SET_DRIVE                  ; ãáâ ­®¢ª  ¨§¬¥­¥­¨ï
                CALL REST2X2                    ; ¢®ááâ ­®¢¨«¨ ¯®¤ ªãàá®à®¬ ¬ëè¨
                CALL PRT_DRV_SYM                ; ¯¥à¥¯¥ç â «¨ áâப㠮 ¤¨áª®¢®¤ å
                LD A,(ERS_FLAGS)
                AND M_MOUSE_ON
                RET Z
                JP DRAW_MOUSE                   ; ­ à¨á®¢ «¨ ¬ëèì ­  áâ à®¬ ¬¥áâ¥

; FIX mouse key if no mouse
ONERNCLS        LD A,(ERS_FLAGS)
                AND M_MOUSE_ON
                JR Z,ONERNC1
                LD A,0xFA
                IN A,(0xDF)
                RRA
                JP NC,_STUPID
ONERNC1         POP AF
                EX (SP),HL
                RET

SET_DOS_PAGE    PUSH HL
DOSIX           PUSH IX
                JP TO_DOS

; ¯à®¢¥àª  ­ «¨ç¨ï ¬ àª¥à  à ¬¤¨áª , ¯à¨ ®âáãá⢨¨ ᮧ¤ ­¨¥ ¤¨áª  ­  640Š
DISK_NONE
        PEC_ON M_SHADOW_BF
                LD A,RAM_RAMDISK
                LD BC,WIN_P1
                OUT (C),A
                LD HL,0x7FFF
                LD A,(HL)
                DEC H
                CP "R"
                JR NZ,DISK_NONE1
                LD A,(HL)
                CP "D"
DISK_NONE1      EX AF,AF'
                LD A,ZXSTD_CPU1
                OUT (C),A
        PEC_OFF M_SHADOW_BF
                EX AF,AF'

                LD HL,ERS_FLAGS
                RES B_LOAD_IMG,(HL)
                JP NZ,CREATE_TRDRAM             ; ¬ àª¥à ­¥ ®¡­ à㦥­, ᮧ¤ âì
                RET

DIV10   LD D,0x30-1
        INC D
        SUB 0x0A
        JR NC,$-3
        ADD A,0x0A+0x30
        RET

_RETRY  LD A,"R"
        JR $+4

_IGNORE LD A,"I"
        LD HL,0x3F7E
        EX (SP),HL
        DI
        JP TO_DOS

; ¢ë§®¢ ¢¬¥áâ® 0x3D13
FTR_DOS ;jp 0x3D13
                PUSH HL
                LD HL,(ERR_SP)
                LD (DOSVARS.TMP_ERR_SP),HL
                LD HL,DSK_ERR_CAPTURE
                LD (TRD_5CC3),HL
                LD HL,DERROR
                EX (SP),HL
                LD (ERR_SP),SP
                EX AF,AF'
                LD A,0xC3
                LD (TRD_5CC2),A
                XOR A
                LD (TRD_5D0F),A
                LD (TRD_5D10),A
                LD (DOSVARS.DSKERR),A
                LD (DOSVARS.COPY_1F),A
                DEC A
                LD (ERR_NR),A
                LD A,(TRD_5D19)
                LD (TRD_5CF6),A
                EX AF,AF'

                JP 0x3D13

; ¢®§¢à â ¨§ 0x3D13 ¨ ¯à®¢¥àª  ­  ®è¨¡ªã
DERROR          DI
                LD HL,(DOSVARS.TMP_ERR_SP)
                LD (ERR_SP),HL
                LD A,(TRD_5D16)
                AND 3
                LD (TRD_5D19),A
                LD HL,TRD_5CC2
                LD (HL),0xC9
                LD HL,(DOSVARS.COPY_1F)
                LD A,(TRD_5D0F)
                LD H,A
                LD A,L
                AND A
                JR NZ,.L1
                LD A,H
                AND A
                RET Z                           ; ®è¨¡®ª ­¥â
.L1             LD A,H
                LD C,ERR_NO_DISK
                CP 6                            ; ­¥â ¤¨áª 
                JR Z,.L2
                LD C,ERR_DISK_READ_ONLY
                LD A,0x40
                AND L
                JR NZ,.L2
                LD A,(TRD_5CF4)
                CP 8
                JR NZ,.L2
                LD C,ERR_DISK_ERROR             ; ®è¨¡ª  ¤¨áª 
.L2             LD A,C
                LD (DOSVARS.DSKERR),A
                CP ERR_DISK_ERROR
                PUSH AF
                CALL Z,STOPDSK
                POP AF
                LD IX,(DOSVARS.CURR_IX)
                LD A,H
                CP 6
                RET NZ
                JP _STUPID                      ; ¤¨áª  ­¥â

; ®áâ ­®¢ª  ¤¨áª¥âë
STOPDSK         LD A,(TRD_5D16)
                PUSH AF
                XOR 3
                CALL .L1
                POP AF
.L1             LD HL,0x02B9
                PUSH HL
                JP 0x3D2F

; ¯¥à¥å¢ â  ¤à¥á  0x5CC2
DSK_ERR_CAPTURE
                DI
                POP DE
                LD HL,0x0D6B
                AND A
                SBC HL,DE
                JR NZ,.L1
                LD A,B
                LD (DOSVARS.COPY_1F),A
                RET

.L1             LD HL,0x10
                AND A
                SBC HL,DE
                RET Z
                LD HL,0x1A1B
                AND A
                SBC HL,DE
                RET Z
                AND A
                LD HL,0x028E
                SBC HL,DE
                SCF
                RET Z
                LD HL,0x031E
                AND A
                SBC HL,DE
                SCF
                RET Z
                LD HL,0x1F54
                AND A
                SBC HL,DE
                SCF
                RET Z
                LD HL,0x0333
                AND A
                SBC HL,DE
                JR Z,RAI
                PUSH DE
                LD HL,(TRD_5D02)
                LD DE,(TRD_5D04)
                RET

        IF 0
; ¯¥à¥å¢ â ¤¨áª®¢®© ®è¨¡ª¨ ¤«ï ®¡à ¡®âª¨
ONERR           EX (SP),HL
                PUSH AF

                PUSH DE
                PUSH HL
                LD DE,0x1303
                AND A
                SBC HL,DE
                POP HL
                POP DE
                JR Z,ONERR1
                PUSH DE
                PUSH HL
                LD DE,0x0D6B
                AND A
                SBC HL,DE
                POP HL
                POP DE
                JR NZ,ONERNCLS
;               LD A,H
;               CP HIGH (0x0D6B)
;               JR NZ,ONERNCLS
;               LD A,L
;               CP LOW (0x0D6B)
;               JR NZ,ONERNCLS

ONERR1          POP HL
                POP HL
                POP HL
                POP HL
                POP HL
        ENDIF
RAI
                EI
                CALL GLUDIN
                LD HL,TRD_5CF4
                LD A,(HL)                       ; ¢§ï«¨ ­®¬¥à ᥪâ®à 
                INC A
                CALL DIV10
                LD (NUM_SEC_TXT+1),A
                LD A,D
                LD (NUM_SEC_TXT),A
                INC HL
                LD A,(HL)                       ; ¢§ï«¨ ­®¬¥à â४ 
                SRL A
                LD E,A
                ADC A,"0"
                SUB E
                LD (SIDE_DISK),A                ; áâ®à®­  ¤¨áª 
                LD A,E
                CALL DIV10
                LD (NUM_TRK_TXT+1),A
                LD A,D
                LD (NUM_TRK_TXT),A
                LD IX,DSK_ERR                   ; ®ª­® ¢ë¢®¤¨¬ ¯®«­®áâìî
        RST8 _WINW
                JP _RULILKA

RESET_VG        LD C,0xFF
                XOR A
                LD IX,0x3FF0                    ; OUT (C),A
                CALL DOSIX
                LD A,(DRV_SYM)
                OR 0x3C
                LD HL,0x2A53
                CALL SET_DOS_PAGE               ; ãáâ ­®¢ª  DOS áâà ­¨æë
                LD A,0x68                       ; è £ ­ § ¤
                LD C,0x1F
                JP DOSIX
;               LD HL,DSTUPID
;               LD (ERR_SP),HL
;               LD A,0xC3
;               LD (TRD_5CC2),A
;               LD HL,ONERR
;               LD (TRD_5CC3),HL
;               RET