Top secrets sources NedoPC pentevo

Rev

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


;LAST UPDATE: 05.08.2019 savelij

                TITLE "call_trdos.a80"

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 HL,ADR_CAT
                LD DE,8
                LD BC,0X0105
                CALL 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 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

;……•‚€’ „ˆ‘ŠŽ‚Ž‰ Ž˜ˆŠˆ „‹Ÿ Ž€Ž’Šˆ
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
                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
                CALL DOSIX
                LD HL,DSTUPID
                LD (ERR_SP),HL
                LD A,0XC3
                LD (TRD_5CC2),A
                LD HL,ONERR
                LD (TRD_5CC3),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;0XFA
                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