замена меток на Sp2000.inc

This commit is contained in:
Anatoliy Belyanskiy 2024-01-28 01:52:52 +10:00
parent 523f36dc6d
commit 2a869d746e
6 changed files with 1197 additions and 1199 deletions

File diff suppressed because it is too large Load Diff

@ -1 +1 @@
Subproject commit d3cdfc6e7644fab96ebe2c6e87959359cda6319c Subproject commit 84d47b2818758fdceda21ecf2953324c1f339858

View File

@ -28,13 +28,13 @@ MSDOS_1ST_FL:
MSDOS_TEST_FL: MSDOS_TEST_FL:
PUSH DE PUSH DE
DI DI
IN A,(PAGE3) IN A,(SLOT3)
LD E,A LD E,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD A,E LD A,E
LD E,(HL) LD E,(HL)
OUT (PAGE3),A OUT (SLOT3),A
EI EI
LD A,E LD A,E
POP DE POP DE
@ -53,16 +53,16 @@ MSDOS_NEXT_FL:
LD DE,20H LD DE,20H
ADD HL,DE ADD HL,DE
DI DI
IN A,(PAGE3) IN A,(SLOT3)
LD D,A LD D,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD A,(COUNT_FL) LD A,(SYS_PAGE.COUNT_FL)
DEC A DEC A
LD (COUNT_FL),A LD (SYS_PAGE.COUNT_FL),A
LD E,A LD E,A
LD A,D LD A,D
OUT (PAGE3),A OUT (SLOT3),A
; RET_PAGE3 ; RET_PAGE3
EI EI
LD A,E LD A,E
@ -71,16 +71,16 @@ MSDOS_NEXT_FL:
JR NZ,MSDOS_TEST_FL JR NZ,MSDOS_TEST_FL
PUSH DE PUSH DE
DI DI
IN A,(PAGE3) IN A,(SLOT3)
LD D,A LD D,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD A,(COUNT_SEC) LD A,(SYS_PAGE.COUNT_SEC)
DEC A DEC A
LD (COUNT_SEC),A LD (SYS_PAGE.COUNT_SEC),A
LD E,A LD E,A
LD A,D LD A,D
OUT (PAGE3),A OUT (SLOT3),A
; RET_PAGE3 ; RET_PAGE3
EI EI
LD A,E LD A,E
@ -91,7 +91,7 @@ MSDOS_NEXT_FL:
PUSH DE PUSH DE
CALL READ_NEXT_DIR CALL READ_NEXT_DIR
POP DE POP DE
LD HL,MS_DIR LD HL,SYS_PAGE.MS_DIR
JR MSDOS_TEST_FL JR MSDOS_TEST_FL
;********************************** ;**********************************
@ -140,7 +140,7 @@ CAT_END:
PRINT_MSD_NAME: PRINT_MSD_NAME:
PUSH HL PUSH HL
PUSH DE PUSH DE
LD HL,FL_NAME LD HL,ZX_VARS.FL_NAME
LD A,' ' LD A,' '
RST 10H RST 10H
LD A,' ' LD A,' '
@ -169,7 +169,7 @@ PRINT_MSD_L2:
PRINT_MSD_DATS: PRINT_MSD_DATS:
PUSH HL PUSH HL
PUSH DE PUSH DE
LD HL,FL_PLACE+1 LD HL,ZX_VARS.FL_PLACE+1
LD A,(HL) LD A,(HL)
DEC HL DEC HL
CALL PRINT_HEX_A CALL PRINT_HEX_A
@ -199,12 +199,12 @@ COPY_NAME_MSD:
PUSH HL PUSH HL
PUSH DE PUSH DE
DI DI
IN A,(PAGE3) IN A,(SLOT3)
LD C,A LD C,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD A,C LD A,C
LD DE,FL_NAME LD DE,ZX_VARS.FL_NAME
LD BC,11 LD BC,11
LDIR LDIR
@ -214,7 +214,7 @@ COPY_NAME_MSD:
LDIR LDIR
LD L,(HL) LD L,(HL)
OUT (PAGE3),A OUT (SLOT3),A
; RET_PAGE3 ; RET_PAGE3
EI EI
LD A,L LD A,L
@ -230,7 +230,7 @@ CMD_MSDOS: ; MS-DOS
CALL SINTAX_RET CALL SINTAX_RET
LD HL,WORDS LD HL,WORDS
LOOP_FIND2: LOOP_FIND2:
LD DE,(ADR_DOS_COM) LD DE,(ZX_VARS.ADR_DOS_COM)
INC DE ; <20>யãáâ¨âì / INC DE ; <20>யãáâ¨âì /
LD A,(HL) LD A,(HL)
@ -283,19 +283,19 @@ END_TAB:
JR C,END_TAB3 JR C,END_TAB3
CP 4 CP 4
JR NC,END_TAB2 JR NC,END_TAB2
LD (OPER_DISK),A LD (ZX_VARS.OPER_DISK),A
LD (CONT_DISK),A LD (ZX_VARS.CONT_DISK),A
LD B,A LD B,A
LD A,(PDOS_COPY) LD A,(ZX_VARS.PDOS_COPY)
AND 7CH AND 7CH
OR B OR B
LD (PDOS_COPY),A LD (ZX_VARS.PDOS_COPY),A
OUT (P_DOS_FF),A OUT (FDC_93.DrvCTRL),A
JP AUTO_03E1 JP AUTO_03E1
END_TAB2: END_TAB2:
SUB 4 SUB 4
CP RAMD_KEY_NUM CP SYS_PAGE.RAMD_KEYS.NUM
JR NC,END_TAB3 JR NC,END_TAB3
CALL RAMD_SET1 CALL RAMD_SET1
JP AUTO_03E1 JP AUTO_03E1
@ -314,12 +314,12 @@ LOAD_RMD:
CALL RAMD_SYM ; ¯®«ãç¨âì ­®¬¥à RAM-Disk ¨§ (DE) CALL RAMD_SYM ; ¯®«ãç¨âì ­®¬¥à RAM-Disk ¨§ (DE)
JP C,MSD_ERR JP C,MSD_ERR
LOAD_RMD_XX: LOAD_RMD_XX:
LD (MED_START+1),A ; á®åà ­¨âì LD (ZX_VARS.MED_START+1),A ; á®åà ­¨âì
CALL MSDOS_FIND_FILE CALL MSDOS_FIND_FILE
JP C,MSD_ERR JP C,MSD_ERR
CALL RMD_BLKS_FL ; B - ç¨á«® ¡«®ª®¢ , DE -  ¡á®«îâ­ë© ᥪâ®à CALL RMD_BLKS_FL ; B - ç¨á«® ¡«®ª®¢ , DE -  ¡á®«îâ­ë© ᥪâ®à
LD A,(MED_START+1) LD A,(ZX_VARS.MED_START+1)
PUSH AF PUSH AF
CALL CLEAR_RMD_A ; ®á¢®¡®¤¨âì RAM-Disk A CALL CLEAR_RMD_A ; ®á¢®¡®¤¨âì RAM-Disk A
POP AF POP AF
@ -332,13 +332,13 @@ LOAD_RMD_XX:
SAVE_RMD: SAVE_RMD:
CALL RAMD_SYM ; ¯®«ãç¨âì ­®¬¥à RAM-Disk ¨§ (DE) CALL RAMD_SYM ; ¯®«ãç¨âì ­®¬¥à RAM-Disk ¨§ (DE)
JP C,MSD_ERR JP C,MSD_ERR
LD (MED_START+1),A LD (ZX_VARS.MED_START+1),A
CALL MSDOS_FIND_FILE CALL MSDOS_FIND_FILE
JP C,MSD_ERR JP C,MSD_ERR
CALL RMD_BLKS_FL CALL RMD_BLKS_FL
LD A,(MED_START+1) LD A,(ZX_VARS.MED_START+1)
CALL TEST_RAMD ; ¯à®¢¥à¨âì ­ «¨ç¨¥ RAM-Disk A à §¬¥à®¬ B CALL TEST_RAMD ; ¯à®¢¥à¨âì ­ «¨ç¨¥ RAM-Disk A à §¬¥à®¬ B
JP C,MSD_ERR ; A - ­®¬¥à ¯¥à¢®£® ¡«®ª  JP C,MSD_ERR ; A - ­®¬¥à ¯¥à¢®£® ¡«®ª 
JP Z,MSD_ERR JP Z,MSD_ERR
@ -348,9 +348,9 @@ SAVE_RMD:
JP AUTO_03E1 JP AUTO_03E1
RMD_BLKS_FL: RMD_BLKS_FL:
LD A,(FL_SIZE+2) LD A,(ZX_VARS.FL_SIZE+2)
PUSH HL PUSH HL
LD HL,(FL_SIZE) LD HL,(ZX_VARS.FL_SIZE)
LD B,A LD B,A
AND A AND A
RL L RL L
@ -372,7 +372,7 @@ RMD_BLKS_L2:
MSDOS_KOMP_FL: ; DE - ˆŒŸ ”€‰‹€ ‘Ž *,? MSDOS_KOMP_FL: ; DE - ˆŒŸ ”€‰‹€ ‘Ž *,?
; HL - ˆŒŸ Š€’€‹Žƒ… ; HL - ˆŒŸ Š€’€‹Žƒ…
CALL COPY_NAME_MSD ; <20><EFBFBD>…Œ…ˆœ ˆŒŸ Ž<>œ TR-DOS CALL COPY_NAME_MSD ; <20><EFBFBD>…Œ…ˆœ ˆŒŸ Ž<>œ TR-DOS
LD A,(FL_NAME) LD A,(ZX_VARS.FL_NAME)
AND A AND A
JR NZ,KOMP_CONT1 JR NZ,KOMP_CONT1
LD A,2 ; ŠŽ<C5A0> Š€’€‹Žƒ€ LD A,2 ; ŠŽ<C5A0> Š€’€‹Žƒ€
@ -389,7 +389,7 @@ KOMP_CONT1:
KOMP_CONT2: KOMP_CONT2:
PUSH DE PUSH DE
PUSH HL PUSH HL
LD HL,FL_NAME LD HL,ZX_VARS.FL_NAME
CALL MSDOS_KOMP_ALL CALL MSDOS_KOMP_ALL
POP HL POP HL
POP DE POP DE
@ -485,11 +485,11 @@ CALC_CLAST: ; HL -
DEC HL DEC HL
DEC HL DEC HL
DI DI
IN A,(PAGE3) IN A,(SLOT3)
EX AF,AF' EX AF,AF'
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD A,(MS_BPB+CLAST_SIZE) LD A,(SYS_PAGE.MS_BPB+CLAST_SIZE)
EX DE,HL EX DE,HL
LD BC,0 LD BC,0
@ -504,14 +504,14 @@ CALC_CL_LP:
DEC A DEC A
JR NZ,CALC_CL_LP JR NZ,CALC_CL_LP
LD DE,(MSD_DAT_SEC) LD DE,(SYS_PAGE.MSD_DAT_SEC)
LD BC,(MSD_DAT_SEC2) LD BC,(SYS_PAGE.MSD_DAT_SEC2)
ADD IX,DE ADD IX,DE
ADC HL,BC ; HL,IX - Œ…™…<E284A2>ˆ… Š<E28099>€ Ž’ <20>€—€€ „€<E2809E><E282AC> ADC HL,BC ; HL,IX - Œ…™…<E284A2>ˆ… Š<E28099>€ Ž’ <20>€—€€ „€<E2809E><E282AC>
EX AF,AF' EX AF,AF'
OUT (PAGE3),A OUT (SLOT3),A
PUSH IX PUSH IX
EX (SP),HL EX (SP),HL

View File

@ -31,16 +31,16 @@ INIT_RMD:
RAMD_FAT_PROG: RAMD_FAT_PROG:
CALL AUTO_1D97 ; CLS CALL AUTO_1D97 ; CLS
CALL OPEN_CH2 CALL OPEN_CH2
LD HL,RAMD_FAT LD HL,SYS_PAGE.RAMD_FAT
RAMD_F_L1: RAMD_F_L1:
DI DI
IN A,(PAGE3) IN A,(SLOT3)
LD C,A LD C,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD A,C LD A,C
LD C,(HL) LD C,(HL)
OUT (PAGE3),A OUT (SLOT3),A
EI EI
PUSH HL PUSH HL
LD A,C LD A,C
@ -85,19 +85,19 @@ TB_ONOFF:
; § £à㧪¨ ; § £à㧪¨
;*************************************************************************** ;***************************************************************************
MSDOS_WRITE_FILE: MSDOS_WRITE_FILE:
LD (CONT_BUF_ADR),HL ;  ¤à¥á § £à㧪¨ LD (ZX_VARS.CONT_BUF_ADR),HL ;  ¤à¥á § £à㧪¨
LD (MED_START),A ; áâà ­¨æ  § £à㧪¨ LD (ZX_VARS.MED_START),A ; áâà ­¨æ  § £à㧪¨
LD A,TRDOS_ROM_CMD.WRITE LD A,TRDOS_ROM_CMD.WRITE
JR MSDOS_R_W_FILE JR MSDOS_R_W_FILE
; ;
MSDOS_READ_FILE: MSDOS_READ_FILE:
LD (CONT_BUF_ADR),HL ;  ¤à¥á § £à㧪¨ LD (ZX_VARS.CONT_BUF_ADR),HL ;  ¤à¥á § £à㧪¨
LD (MED_START),A ; áâà ­¨æ  § £à㧪¨ LD (ZX_VARS.MED_START),A ; áâà ­¨æ  § £à㧪¨
LD A,TRDOS_ROM_CMD.READ LD A,TRDOS_ROM_CMD.READ
MSDOS_R_W_FILE: MSDOS_R_W_FILE:
LD (MED_LEN),A LD (ZX_VARS.MED_LEN),A
; beg=start_claster. <20>®«ãç¨âì ­ ç «ì­ë© ª« áâ¥à ; beg=start_claster. <20>®«ãç¨âì ­ ç «ì­ë© ª« áâ¥à
LD IX,(START_CLASTER) ; áâ àâ®¢ë© ª« áâ¥à LD IX,(ZX_VARS.START_CLUSTER) ; áâ àâ®¢ë© ª« áâ¥à
; next=beg ; next=beg
; max=file_len. ¤«¨­  ¢ ª« áâ¥à å ; max=file_len. ¤«¨­  ¢ ª« áâ¥à å
CALL GET_FILE_CLASTERS_BC CALL GET_FILE_CLASTERS_BC
@ -109,14 +109,14 @@ msd_rf_cont2:
; max2=blk_len ; ¤«¨­  ¡«®ª  ¢ ª« áâ¥à å ; max2=blk_len ; ¤«¨­  ¡«®ª  ¢ ª« áâ¥à å
; DI ; GET_BLK_CLASTERS_L ; DI ; GET_BLK_CLASTERS_L
; IN A,(PAGE3) ; IN A,(SLOT3)
; EX AF,AF' ; EX AF,AF'
; LD A,SYS_PAGE ; LD A,SYS_PAGE
; OUT (PAGE3),A ; OUT (SLOT3),A
; LD A,(C_P_B) ; LD A,(C_P_B)
; LD L,A ; LD L,A
; EX AF,AF' ; EX AF,AF'
; OUT (PAGE3),A ; OUT (SLOT3),A
; EI ; EI
LD L,128 LD L,128
@ -218,7 +218,7 @@ READ_num_clasters_from_beg:
CALL CLAST_TO_SEC CALL CLAST_TO_SEC
PUSH AF PUSH AF
LD A,(MED_LEN) LD A,(ZX_VARS.MED_LEN)
LD C,A LD C,A
SUB TRDOS_ROM_CMD.READ SUB TRDOS_ROM_CMD.READ
JR Z,CONT_XX1 JR Z,CONT_XX1
@ -236,13 +236,13 @@ LOOP_128:
PUSH IX PUSH IX
PUSH BC PUSH BC
LD HL,(CONT_BUF_ADR) LD HL,(ZX_VARS.CONT_BUF_ADR)
LD A,(MED_START) LD A,(ZX_VARS.MED_START)
CALL MSD_R_W_UT CALL MSD_R_W_UT
LD (CONT_BUF_ADR),HL LD (ZX_VARS.CONT_BUF_ADR),HL
LD (MED_START),A LD (ZX_VARS.MED_START),A
POP BC POP BC
POP IX POP IX
@ -289,14 +289,14 @@ CLAST_TO_SEC:
CALL CALC_CLAST CALL CALC_CLAST
DI DI
IN A,(PAGE3) IN A,(SLOT3)
LD B,A LD B,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD A,(MS_BPB+CLAST_SIZE) LD A,(SYS_PAGE.MS_BPB+CLAST_SIZE)
LD C,A LD C,A
LD A,B LD A,B
OUT (PAGE3),A OUT (SLOT3),A
EI EI
POP AF POP AF
@ -332,14 +332,14 @@ FAT_DE_to_HL:
PUSH BC PUSH BC
PUSH IX PUSH IX
DI DI
IN A,(PAGE3) IN A,(SLOT3)
LD C,A LD C,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD A,C LD A,C
LD HL,(FAT_FLAG) LD HL,(SYS_PAGE.FAT_FLAG)
LD BC,(MS_BPB+SEC_SIZE) ; à §¬¥à ᥪâ®à  LD BC,(SYS_PAGE.MS_BPB+SEC_SIZE) ; à §¬¥à ᥪâ®à 
OUT (PAGE3),A OUT (SLOT3),A
EI EI
PUSH HL PUSH HL
@ -394,20 +394,20 @@ CALL_ALL:
AND B AND B
LD H,A LD H,A
LD BC,MS_FAT LD BC,SYS_PAGE.MS_FAT
ADD HL,BC ADD HL,BC
DI DI
IN A,(PAGE3) IN A,(SLOT3)
LD C,A LD C,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD A,C LD A,C
LD (FAT_FLAG),DE LD (SYS_PAGE.FAT_FLAG),DE
LD C,(HL) ; áç¨â âì ª« áâ¥à LD C,(HL) ; áç¨â âì ª« áâ¥à
INC HL INC HL
LD B,(HL) LD B,(HL)
INC HL INC HL
OUT (PAGE3),A OUT (SLOT3),A
; RET_PAGE3 ; RET_PAGE3
EI EI
POP AF POP AF
@ -477,14 +477,14 @@ READ_FAT_SEC:
LD D,0 LD D,0
DI DI
IN A,(PAGE3) IN A,(SLOT3)
LD L,A LD L,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD A,L LD A,L
LD IX,(MSD_FAT_SEC) LD IX,(SYS_PAGE.MSD_FAT_SEC)
LD HL,(MSD_FAT_SEC2) LD HL,(SYS_PAGE.MSD_FAT_SEC2)
OUT (PAGE3),A OUT (SLOT3),A
EI EI
LD BC,0 LD BC,0
@ -496,20 +496,20 @@ READ_FAT_SEC:
PUSH HL PUSH HL
POP IX POP IX
LD HL,(CONT_BUF_ADR) LD HL,(ZX_VARS.CONT_BUF_ADR)
LD A,(MED_START) LD A,(ZX_VARS.MED_START)
PUSH AF PUSH AF
PUSH HL PUSH HL
LD HL,MS_FAT LD HL,SYS_PAGE.MS_FAT
LD A,SYS_PAGE LD A,SYS_PAGE
LD BC,256*2 + TRDOS_ROM_CMD.READ LD BC,256*2 + TRDOS_ROM_CMD.READ
CALL MSD_R_W_UT CALL MSD_R_W_UT
POP HL POP HL
POP AF POP AF
LD (CONT_BUF_ADR),HL LD (ZX_VARS.CONT_BUF_ADR),HL
LD (MED_START),A LD (ZX_VARS.MED_START),A
POP DE POP DE
POP BC POP BC
@ -524,17 +524,17 @@ READ_FAT_SEC:
GET_FILE_CLASTERS_BC: GET_FILE_CLASTERS_BC:
DI DI
IN A,(PAGE3) IN A,(SLOT3)
LD L,A LD L,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD A,L LD A,L
LD HL,(CLASTER_LEN) LD HL,(SYS_PAGE.CLASTER_LEN)
OUT (PAGE3),A OUT (SLOT3),A
; RET_PAGE3 ; RET_PAGE3
EI EI
LD BC,(FL_SIZE) LD BC,(ZX_VARS.FL_SIZE)
LD A,(FL_SIZE+2) LD A,(ZX_VARS.FL_SIZE+2)
LD DE,0 LD DE,0
SCF SCF
GET_FL_CL_2: ; ¢ëç¨á«¥­¨¥ ª®«¨ç¥á⢠ ª« áâ¥à®¢ ¢ ä ©«¥ GET_FL_CL_2: ; ¢ëç¨á«¥­¨¥ ª®«¨ç¥á⢠ ª« áâ¥à®¢ ¢ ä ©«¥
@ -562,14 +562,14 @@ HDD_PROG:
CALL EXP_FNS CALL EXP_FNS
; ;
JP C,HDD_PROG_E JP C,HDD_PROG_E
LD HL,HD_IDF_ADR+54 LD HL,SYS_PAGE.HD_IDF_ADR+54
LD B,32 LD B,32
HDD_PROG_L: HDD_PROG_L:
DI DI
IN A,(PAGE3) IN A,(SLOT3)
LD D,A LD D,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD A,L LD A,L
XOR 1 XOR 1
LD L,A LD L,A
@ -579,7 +579,7 @@ HDD_PROG_L:
LD L,A LD L,A
INC HL INC HL
LD A,D LD A,D
OUT (PAGE3),A OUT (SLOT3),A
; RET_PAGE3 ; RET_PAGE3
EI EI
LD A,C LD A,C

View File

@ -53,7 +53,7 @@ MSD_R_W_UT:
; EX (SP),HL ; EX (SP),HL
; POP IX ; POP IX
; LD C,12H ; LD C,12H
; LD A,(OPER_DISK) ; LD A,(ZX_VARS.OPER_DISK)
; DI ; DI
; PUSH IY ; PUSH IY
; CALL HD_CMD ; CALL HD_CMD
@ -74,7 +74,7 @@ MSD_R_W_UT:
; EX (SP),HL ; EX (SP),HL
; POP IX ; POP IX
; LD C,13H ; LD C,13H
; LD A,(OPER_DISK) ; LD A,(ZX_VARS.OPER_DISK)
; DI ; DI
; PUSH IY ; PUSH IY
; CALL HD_CMD ; CALL HD_CMD
@ -102,37 +102,37 @@ MSD_cmd4:
LD DE,0 LD DE,0
MSD_cmd5: MSD_cmd5:
LD A,0 LD A,0
LD (RD_WR_COM),A LD (ZX_VARS.RD_WR_COM),A
EX AF,AF' EX AF,AF'
JR MSD_RWU1 JR MSD_RWU1
MSD_cmd6: MSD_cmd6:
LD A,255 LD A,255
LD (RD_WR_COM),A LD (ZX_VARS.RD_WR_COM),A
EX AF,AF' EX AF,AF'
JR MSD_RWU1 JR MSD_RWU1
PREPARE1: PREPARE1:
LD (MED_START),A LD (ZX_VARS.MED_START),A
LD (CONT_BUF_ADR),HL LD (ZX_VARS.CONT_BUF_ADR),HL
DI DI
IN A,(PAGE2) IN A,(SLOT2)
LD C,A LD C,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE2),A OUT (SLOT2),A
LD A,(DS_1440-4000H) LD A,(SYS_PAGE.DS_1440-4000H)
AND BIT_MASK_1440 AND BIT_MASK_1440
SET 0,A SET 0,A
LD (DS_1440-4000H),A LD (SYS_PAGE.DS_1440-4000H),A
LD A,C LD A,C
OUT (PAGE2),A OUT (SLOT2),A
EI EI
CALL Z,RES_1440 CALL Z,RES_1440
CALL NZ,SET_1440 CALL NZ,SET_1440
CALL CALC_SECTOR CALL CALC_SECTOR
LD (CONT_SEC),DE LD (ZX_VARS.CONT_SEC),DE
LD A,(RD_WR_COM) LD A,(ZX_VARS.RD_WR_COM)
RET RET
MSD_RWU1: MSD_RWU1:
@ -144,34 +144,34 @@ MSD_RWU1:
MSD_R_W_LOOP: MSD_R_W_LOOP:
POP HL POP HL
POP BC POP BC
LD A,(MED_START) LD A,(ZX_VARS.MED_START)
INC B INC B
DEC B DEC B
LD DE,(CONT_SEC) LD DE,(ZX_VARS.CONT_SEC)
RET Z RET Z
DEC B DEC B
PUSH BC PUSH BC
PUSH HL PUSH HL
LD (CONT_BUF_ADR),HL LD (ZX_VARS.CONT_BUF_ADR),HL
LD A,(CONT_SEC) LD A,(ZX_VARS.CONT_SEC)
LD (SEC_NUM),A LD (ZX_VARS.SEC_NUM),A
LD A,(CONT_TRK) LD A,(ZX_VARS.CONT_TRK)
CALL Global_trk CALL Global_trk
LD A,(RD_WR_COM) LD A,(ZX_VARS.RD_WR_COM)
OR A OR A
PUSH AF PUSH AF
CALL Z,MSD_3F0E CALL Z,MSD_3F0E
POP AF POP AF
CALL NZ,MSD_3F0A CALL NZ,MSD_3F0A
DI DI
IN A,(PAGE2) IN A,(SLOT2)
LD C,A LD C,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE2),A OUT (SLOT2),A
LD DE,(MS_BPB+SEC_SIZE-#4000) LD DE,(SYS_PAGE.MS_BPB+SEC_SIZE-#4000)
LD A,C LD A,C
OUT (PAGE2),A OUT (SLOT2),A
EI EI
POP HL POP HL
ADD HL,DE ADD HL,DE
@ -179,44 +179,44 @@ MSD_R_W_LOOP:
OR L OR L
JR NZ,MSD_NO_PAGE JR NZ,MSD_NO_PAGE
DI DI
IN A,(PAGE2) IN A,(SLOT2)
LD C,A LD C,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE2),A OUT (SLOT2),A
LD A,(MED_START) LD A,(ZX_VARS.MED_START)
LD HL,RAMD_FAT-#4000 LD HL,SYS_PAGE.RAMD_FAT-#4000
LD L,A LD L,A
LD L,(HL) LD L,(HL)
LD A,C LD A,C
OUT (PAGE2),A OUT (SLOT2),A
EI EI
LD A,L LD A,L
LD HL,#C000 LD HL,#C000
LD (MED_START),A LD (ZX_VARS.MED_START),A
MSD_NO_PAGE: MSD_NO_PAGE:
LD (CONT_BUF_ADR),HL LD (ZX_VARS.CONT_BUF_ADR),HL
PUSH HL PUSH HL
DI DI
IN A,(PAGE2) IN A,(SLOT2)
LD C,A LD C,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE2),A OUT (SLOT2),A
LD A,(DS_1440-#4000) LD A,(SYS_PAGE.DS_1440-#4000)
AND %1111'1110 AND %1111'1110
LD (DS_1440-#4000),A LD (SYS_PAGE.DS_1440-#4000),A
LD A,(MSD_SECS-#4000) LD A,(SYS_PAGE.MSD_SECS-#4000)
LD L,A LD L,A
LD A,C LD A,C
OUT (PAGE2),A OUT (SLOT2),A
EI EI
LD A,L LD A,L
LD HL,CONT_SEC LD HL,ZX_VARS.CONT_SEC
INC (HL) INC (HL)
CP (HL) CP (HL)
JP NZ,MSD_R_W_LOOP JP NZ,MSD_R_W_LOOP
LD (HL),0 LD (HL),0
LD HL,CONT_TRK LD HL,ZX_VARS.CONT_TRK
INC (HL) INC (HL)
JP MSD_R_W_LOOP JP MSD_R_W_LOOP
;***************************************** ;*****************************************
@ -228,30 +228,30 @@ MSD_3F0A:
MSD_3F0E: MSD_3F0E:
LD A,128 LD A,128
MSD_3F10: MSD_3F10:
LD (COMAND_WG),A LD (ZX_VARS.COMAND_WG),A
MSD_3F13: MSD_3F13:
LD D,5 ; —ˆ‘‹Ž <20>ŽŽ<E28099><EFBFBD>ˆ LD D,5 ; —ˆ‘‹Ž <20>ŽŽ<E28099><EFBFBD>ˆ
MSD_3F15: MSD_3F15:
PUSH DE PUSH DE
PUSH IX PUSH IX
DI DI
IN A,(PAGE3) IN A,(SLOT3)
EX AF,AF' EX AF,AF'
LD A,(MED_START) LD A,(ZX_VARS.MED_START)
OUT (PAGE3),A OUT (SLOT3),A
AND A AND A
JR Z,NO_OFF_SCR JR Z,NO_OFF_SCR
LD A,0C0H LD A,0C0H
OUT (RGADR),A OUT (RGADR),A
NO_OFF_SCR: NO_OFF_SCR:
LD IX,MSD_RET_ADR LD IX,MSD_RET_ADR
LD A,(SEC_NUM) LD A,(ZX_VARS.SEC_NUM)
INC A INC A
OUT (WG_SEC),A OUT (FDC_93.Sector),A
LD HL,(CONT_BUF_ADR) LD HL,(ZX_VARS.CONT_BUF_ADR)
LD C,127 LD C,127
LD A,(COMAND_WG) LD A,(ZX_VARS.COMAND_WG)
OUT (WG_COM),A OUT (FDC_93.Command),A
CP 160 CP 160
JP Z,MSD_3FBA ; ‡€<E280A1>ˆœ …ŠŽ<E28099> JP Z,MSD_3FBA ; ‡€<E280A1>ˆœ …ŠŽ<E28099>
JP MSD_3FD5 ; —<E28099>ˆ…ŠŽ<E28099> JP MSD_3FD5 ; —<E28099>ˆ…ŠŽ<E28099>
@ -259,11 +259,11 @@ MSD_RET_ADR:
LD A,0 LD A,0
OUT (RGADR),A OUT (RGADR),A
EX AF,AF' EX AF,AF'
OUT (PAGE3),A OUT (SLOT3),A
POP IX POP IX
POP DE POP DE
EI EI
IN A,(WG_COM) IN A,(FDC_93.Command)
LD B,A LD B,A
AND 127 AND 127
RET Z RET Z
@ -283,7 +283,7 @@ MSD_3F48:
LD HL,DISK_ERROR_MSG LD HL,DISK_ERROR_MSG
MSD_3F4B: MSD_3F4B:
LD A,208 LD A,208
OUT (WG_COM),A OUT (FDC_93.Command),A
LD A,B LD A,B
AND 1 AND 1
JP NZ,AUTO_3EE7 JP NZ,AUTO_3EE7
@ -294,11 +294,11 @@ MSD_3F4B:
RST PRINT_LN RST PRINT_LN
LD HL,AUTO_2A13 LD HL,AUTO_2A13
RST PRINT_LN RST PRINT_LN
IN A,(WG_TRK) IN A,(FDC_93.Track)
CALL AUTO_1DA3 CALL AUTO_1DA3
LD HL,AUTO_2A18 LD HL,AUTO_2A18
RST PRINT_LN RST PRINT_LN
IN A,(WG_SEC) IN A,(FDC_93.Sector)
CALL AUTO_1DA3 CALL AUTO_1DA3
LD HL,AUTO_29FE LD HL,AUTO_29FE
RST PRINT_LN RST PRINT_LN
@ -312,10 +312,10 @@ MSD_3F7B:
JR NZ,MSD_3F7B JR NZ,MSD_3F7B
CALL exit_No_disk CALL exit_No_disk
LD A,7 LD A,7
LD (DOS_ERR_2),A LD (ZX_VARS.DOS_ERR_2),A
JP AUTO_01D3 JP AUTO_01D3
MSD_3F94: MSD_3F94:
LD A,(CONT_TRK) LD A,(ZX_VARS.CONT_TRK)
CALL Global_trk CALL Global_trk
CALL pause_750ms CALL pause_750ms
JP MSD_3F13 JP MSD_3F13
@ -325,7 +325,7 @@ MSD_3FA0:
CALL SWITCH_DT CALL SWITCH_DT
PUSH DE PUSH DE
CALL AUTO_3D98 ; RESET_WG CALL AUTO_3D98 ; RESET_WG
LD A,(CONT_TRK) LD A,(ZX_VARS.CONT_TRK)
CALL Global_trk ; <20>އˆˆŽ<CB86>ˆ<EFBFBD>Ž<E2809A>ˆ CALL Global_trk ; <20>އˆˆŽ<CB86>ˆ<EFBFBD>Ž<E2809A>ˆ
POP DE POP DE
JP MSD_3F15 JP MSD_3F15
@ -333,25 +333,25 @@ MSD_3FA0:
SWITCH_DT: SWITCH_DT:
DI DI
IN A,(PAGE2) IN A,(SLOT2)
LD C,A LD C,A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE2),A OUT (SLOT2),A
LD A,(DS_1440-4000H) LD A,(SYS_PAGE.DS_1440-4000H)
BIT 0,A BIT 0,A
JR Z,NO_SW_DT JR Z,NO_SW_DT
XOR BIT_MASK_1440 XOR BIT_MASK_1440
LD (DS_1440-4000H),A LD (SYS_PAGE.DS_1440-4000H),A
AND BIT_MASK_1440 AND BIT_MASK_1440
LD A,C LD A,C
OUT (PAGE2),A OUT (SLOT2),A
EI EI
CALL Z,RES_1440 CALL Z,RES_1440
CALL NZ,SET_1440 CALL NZ,SET_1440
RET RET
NO_SW_DT: NO_SW_DT:
LD A,C LD A,C
OUT (PAGE2),A OUT (SLOT2),A
EI EI
RET RET
@ -361,7 +361,7 @@ NO_SW_DT:
MSD_3FBA: MSD_3FBA:
LD B,4 LD B,4
MSD_3FBC: MSD_3FBC:
IN A,(P_DOS_FF) IN A,(FDC_93.DrvCTRL)
AND 192 AND 192
JR NZ,MSD_3FD1 JR NZ,MSD_3FD1
INC DE INC DE
@ -372,7 +372,7 @@ MSD_3FBC:
MSD_RET_IX: MSD_RET_IX:
JP (IX) JP (IX)
MSD_3FCA: MSD_3FCA:
IN A,(P_DOS_FF) IN A,(FDC_93.DrvCTRL)
AND 192 AND 192
JR Z,MSD_3FCA JR Z,MSD_3FCA
JP M,MSD_RET_IX JP M,MSD_RET_IX
@ -385,7 +385,7 @@ MSD_3FD1:
MSD_3FD5: MSD_3FD5:
LD B,4 LD B,4
MSD_3FD7: MSD_3FD7:
IN A,(P_DOS_FF) IN A,(FDC_93.DrvCTRL)
AND 192 AND 192
JR NZ,MSD_3FEC JR NZ,MSD_3FEC
INC DE INC DE
@ -396,7 +396,7 @@ MSD_3FD7:
MSD_RET_IX2: MSD_RET_IX2:
JP (IX) JP (IX)
MSD_3FE5: MSD_3FE5:
IN A,(P_DOS_FF) IN A,(FDC_93.DrvCTRL)
AND 192 AND 192
JR Z,MSD_3FE5 JR Z,MSD_3FE5
JP M,MSD_RET_IX2 JP M,MSD_RET_IX2
@ -436,7 +436,7 @@ READ_BPB:
LD IX,0 LD IX,0
LD DE,63 ;!HARDCODE LD DE,63 ;!HARDCODE
LD A,SYS_PAGE LD A,SYS_PAGE
LD HL,MS_BPB LD HL,SYS_PAGE.MS_BPB
; ;
LD BC,256*1 + TRDOS_ROM_CMD.READ LD BC,256*1 + TRDOS_ROM_CMD.READ
CALL MSD_R_W_UT CALL MSD_R_W_UT
@ -445,7 +445,7 @@ READ_BPB:
RET NC RET NC
JP .ERROR_MSDOS JP .ERROR_MSDOS
.MAIN: LD A,SYS_PAGE .MAIN: LD A,SYS_PAGE
LD HL,MS_BPB LD HL,SYS_PAGE.MS_BPB
LD C,TRDOS_ROM_CMD.READ_BPB LD C,TRDOS_ROM_CMD.READ_BPB
CALL MSD_R_W_UT CALL MSD_R_W_UT
@ -454,38 +454,38 @@ READ_BPB:
;RET ;RET
; LD C,18H ; LD C,18H
; LD A,(OPER_DISK) ; LD A,(ZX_VARS.OPER_DISK)
; CALL HD_CMD ; CALL HD_CMD
; ; ; ;
; DI ; DI
; IN A,(PAGE3) ; IN A,(SLOT3)
; EX AF,AF' ; EX AF,AF'
; LD A,SYS_PAGE ; LD A,SYS_PAGE
; OUT (PAGE3),A ; OUT (SLOT3),A
; ; ; ;
; LD A,(MS_BPB+S_P_T) ; Š®«¨ç¥á⢮ ᥪâ®à®¢ ­  â४ ; LD A,(SYS_PAGE.MS_BPB+S_P_T) ; Š®«¨ç¥á⢮ ᥪâ®à®¢ ­  â४
; LD L,A ; LD L,A
; ; ; ;
; EX AF,AF' ; EX AF,AF'
; OUT (PAGE3),A ; OUT (SLOT3),A
; EI ; EI
; ; ; ;
; LD A,(OPER_DISK) ; LD A,(ZX_VARS.OPER_DISK)
; LD C,19H ; LD C,19H
; CALL HD_CMD ; CALL HD_CMD
.PARAMS: .PARAMS:
DI DI
IN A,(PAGE3) IN A,(SLOT3)
EX AF,AF' EX AF,AF'
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD A,(MS_BPB+FORM_CODE) LD A,(SYS_PAGE.MS_BPB+FORM_CODE)
CP #F0 CP #F0
JP C,.ERROR_BPB JP C,.ERROR_BPB
LD HL,MS_BPB+FAT_ID LD HL,SYS_PAGE.MS_BPB+FAT_ID
LD DE,.FAT1_MSG LD DE,.FAT1_MSG
LD B,4 LD B,4
.L1: LD A,(DE) .L1: LD A,(DE)
@ -508,10 +508,10 @@ READ_BPB:
.PC_DOS: .PC_DOS:
LD HL,#01FF ; FAT12 ä« £ LD HL,#01FF ; FAT12 ä« £
.FAT: LD (FAT_FLAG),HL .FAT: LD (SYS_PAGE.FAT_FLAG),HL
LD A,(MS_BPB+S_P_T) ; Š®«¨ç¥á⢮ ᥪâ®à®¢ ­  â४ LD A,(SYS_PAGE.MS_BPB+S_P_T) ; Š®«¨ç¥á⢮ ᥪâ®à®¢ ­  â४
LD (MSD_SECS),A LD (SYS_PAGE.MSD_SECS),A
BIT 7,H BIT 7,H
@ -519,32 +519,32 @@ READ_BPB:
LD HL,0 ; ¢ëç¨á«¨âì ­ ç «ì­ë© ᥪâ®à FAT LD HL,0 ; ¢ëç¨á«¨âì ­ ç «ì­ë© ᥪâ®à FAT
JR Z,.NO_LD_SPECIAL JR Z,.NO_LD_SPECIAL
LD IX,(MS_BPB+SPECIAL_SECS) LD IX,(SYS_PAGE.MS_BPB+SPECIAL_SECS)
LD HL,(MS_BPB+SPECIAL_SECS+2) LD HL,(SYS_PAGE.MS_BPB+SPECIAL_SECS+2)
.NO_LD_SPECIAL: .NO_LD_SPECIAL:
LD BC,0 LD BC,0
LD DE,(MS_BPB+RESERV_SECS) LD DE,(SYS_PAGE.MS_BPB+RESERV_SECS)
ADD IX,DE ADD IX,DE
ADC HL,BC ADC HL,BC
LD (MSD_FAT_SEC),IX ; ­ ç «ì­ë© ᥪâ®à FAT LD (SYS_PAGE.MSD_FAT_SEC),IX ; ­ ç «ì­ë© ᥪâ®à FAT
LD (MSD_FAT_SEC2),HL ; ­ ç «ì­ë© ᥪâ®à FAT LD (SYS_PAGE.MSD_FAT_SEC2),HL ; ­ ç «ì­ë© ᥪâ®à FAT
LD DE,(MS_BPB+S_P_F) ; ç¨á«® ᥪâ®à®¢ ¢ FAT LD DE,(SYS_PAGE.MS_BPB+S_P_F) ; ç¨á«® ᥪâ®à®¢ ¢ FAT
LD BC,0 LD BC,0
LD A,(MS_BPB+FATS_NUM) ; ª®«¨ç¥á⢮ FATs LD A,(SYS_PAGE.MS_BPB+FATS_NUM) ; ª®«¨ç¥á⢮ FATs
.NEXT_ADD: .NEXT_ADD:
ADD IX,DE ADD IX,DE
ADC HL,BC ADC HL,BC
DEC A DEC A
JR NZ,.NEXT_ADD JR NZ,.NEXT_ADD
LD (MSD_CAT_SEC),IX ; ­ ç «ì­ë© ᥪâ®à DIR LD (SYS_PAGE.MSD_CAT_SEC),IX ; ­ ç «ì­ë© ᥪâ®à DIR
LD (MSD_CAT_SEC2),HL ; ­ ç «ì­ë© ᥪâ®à DIR LD (SYS_PAGE.MSD_CAT_SEC2),HL ; ­ ç «ì­ë© ᥪâ®à DIR
LD BC,(MS_BPB+SEC_SIZE) ; <20> §¬¥à ᥪâ®à  LD BC,(SYS_PAGE.MS_BPB+SEC_SIZE) ; <20> §¬¥à ᥪâ®à 
RL C RL C
RL B RL B
RL C RL C
@ -554,9 +554,9 @@ READ_BPB:
LD C,B LD C,B
LD B,0 ; BC - ç¨á«® ä ©«®¢ëå § ¯¨á¥© ¢ ᥪâ®à¥ LD B,0 ; BC - ç¨á«® ä ©«®¢ëå § ¯¨á¥© ¢ ᥪâ®à¥
LD A,C LD A,C
LD (F_P_S),A LD (SYS_PAGE.F_P_S),A
LD DE,(MS_BPB+FLS_NUM) ; —¨á«® ä ©«®¢ëå § ¯¨á¥© LD DE,(SYS_PAGE.MS_BPB+FLS_NUM) ; —¨á«® ä ©«®¢ëå § ¯¨á¥©
EX DE,HL EX DE,HL
DEC HL DEC HL
@ -571,17 +571,17 @@ READ_BPB:
LD E,A ; A - ç¨á«® ᥪâ®à®¢ ¢ DIR LD E,A ; A - ç¨á«® ᥪâ®à®¢ ¢ DIR
LD D,0 LD D,0
LD BC,0 LD BC,0
LD (S_P_C),A LD (SYS_PAGE.S_P_C),A
ADD IX,DE ; <20> ç «® DATA area ADD IX,DE ; <20> ç «® DATA area
ADC HL,BC ADC HL,BC
LD (MSD_DAT_SEC),IX LD (SYS_PAGE.MSD_DAT_SEC),IX
LD (MSD_DAT_SEC2),HL LD (SYS_PAGE.MSD_DAT_SEC2),HL
LD BC,(MS_BPB+SEC_SIZE) ; <20> §¬¥à ᥪâ®à  LD BC,(SYS_PAGE.MS_BPB+SEC_SIZE) ; <20> §¬¥à ᥪâ®à 
LD HL,0 LD HL,0
LD A,(MS_BPB+CLAST_SIZE) LD A,(SYS_PAGE.MS_BPB+CLAST_SIZE)
LD D,A LD D,A
LD A,0 LD A,0
.NEXT_ADD3: .NEXT_ADD3:
@ -590,28 +590,28 @@ READ_BPB:
DEC D DEC D
JR NZ,.NEXT_ADD3 JR NZ,.NEXT_ADD3
LD (CLASTER_LEN),HL LD (SYS_PAGE.CLASTER_LEN),HL
LD B,0 LD B,0
LD C,A LD C,A
LD (CLASTER_LEN2),BC LD (SYS_PAGE.CLASTER_LEN2),BC
LD HL,0 LD HL,0
LD BC,(MS_BPB+S_P_T) LD BC,(SYS_PAGE.MS_BPB+S_P_T)
LD A,(MS_BPB+H_P_S) LD A,(SYS_PAGE.MS_BPB+H_P_S)
.BPB_L1:; ‚›—ˆ‘‹ˆ’œ ŠŽ‹ˆ—…‘’‚Ž …ŠŽ<E28099>Ž <20>ˆˆ<E280B9><EFBFBD> .BPB_L1:; ‚›—ˆ‘‹ˆ’œ ŠŽ‹ˆ—…‘’‚Ž …ŠŽ<E28099>Ž <20>ˆˆ<E280B9><EFBFBD>
ADD HL,BC ADD HL,BC
DEC A DEC A
JR NZ,.BPB_L1 JR NZ,.BPB_L1
LD (S_X_H),HL LD (SYS_PAGE.S_X_H),HL
; ;
EX AF,AF' EX AF,AF'
OUT (PAGE3),A OUT (SLOT3),A
EI EI
AND A AND A
RET RET
.ERROR_BPB: .ERROR_BPB:
EX AF,AF' EX AF,AF'
OUT (PAGE3),A OUT (SLOT3),A
SCF SCF
EI EI
RET RET
@ -623,59 +623,59 @@ READ_BPB:
;******************************************** ;********************************************
READ_NEXT_DIR: READ_NEXT_DIR:
DI DI
IN A,(PAGE3) IN A,(SLOT3)
EX AF,AF' EX AF,AF'
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD DE,(MSD_CONT_SEC) LD DE,(SYS_PAGE.MSD_CONT_SEC)
LD IX,(MSD_CONT_SEC2) LD IX,(SYS_PAGE.MSD_CONT_SEC2)
JR READ_NEXT2 JR READ_NEXT2
;******************************************** ;********************************************
READ_1ST_DIR: READ_1ST_DIR:
DI DI
IN A,(PAGE3) IN A,(SLOT3)
EX AF,AF' EX AF,AF'
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD IX,(MSD_CAT_SEC2) ; LD IX,(SYS_PAGE.MSD_CAT_SEC2) ;
LD DE,(MSD_CAT_SEC) ; <20>€—€œ<E280B9>…ŠŽ<E28099> Š€’€‹Žƒ€ LD DE,(SYS_PAGE.MSD_CAT_SEC) ; <20>€—€œ<E280B9>…ŠŽ<E28099> Š€’€‹Žƒ€
LD (MSD_CONT_SEC),DE LD (SYS_PAGE.MSD_CONT_SEC),DE
LD (MSD_CONT_SEC2),IX LD (SYS_PAGE.MSD_CONT_SEC2),IX
LD A,(S_P_C) ; …ŠŽ<E28099>Ž Š€’€‹Žƒ… LD A,(SYS_PAGE.S_P_C) ; …ŠŽ<E28099>Ž Š€’€‹Žƒ…
LD (COUNT_SEC),A LD (SYS_PAGE.COUNT_SEC),A
READ_NEXT2: READ_NEXT2:
EX AF,AF' EX AF,AF'
OUT (PAGE3),A OUT (SLOT3),A
; RET_PAGE3 ; RET_PAGE3
EI EI
LD HL,MS_DIR LD HL,SYS_PAGE.MS_DIR
LD A,SYS_PAGE LD A,SYS_PAGE
LD BC,256*1 + TRDOS_ROM_CMD.READ LD BC,256*1 + TRDOS_ROM_CMD.READ
CALL MSD_R_W_UT CALL MSD_R_W_UT
DI DI
IN A,(PAGE3) IN A,(SLOT3)
EX AF,AF' EX AF,AF'
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD DE,(MSD_CONT_SEC) LD DE,(SYS_PAGE.MSD_CONT_SEC)
INC DE INC DE
LD (MSD_CONT_SEC),DE LD (SYS_PAGE.MSD_CONT_SEC),DE
LD A,D LD A,D
OR E OR E
JR NZ,READ_NEXT3 JR NZ,READ_NEXT3
LD IX,(MSD_CONT_SEC2) LD IX,(SYS_PAGE.MSD_CONT_SEC2)
INC IX INC IX
LD (MSD_CONT_SEC2),IX LD (SYS_PAGE.MSD_CONT_SEC2),IX
READ_NEXT3: READ_NEXT3:
LD A,(F_P_S) ; ”€‰‹Ž‚ …ŠŽ<E28099> LD A,(SYS_PAGE.F_P_S) ; ”€‰‹Ž‚ …ŠŽ<E28099>
LD (COUNT_FL),A LD (SYS_PAGE.COUNT_FL),A
EX AF,AF' EX AF,AF'
OUT (PAGE3),A OUT (SLOT3),A
; RET_PAGE3 ; RET_PAGE3
EI EI
LD HL,MS_DIR LD HL,SYS_PAGE.MS_DIR
AND A AND A
RET RET
@ -692,11 +692,11 @@ CALC_SECT_L1:
PUSH BC PUSH BC
EX DE,HL EX DE,HL
DI DI
IN A,(PAGE3) IN A,(SLOT3)
EX AF,AF' EX AF,AF'
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (PAGE3),A OUT (SLOT3),A
LD BC,(MS_BPB+S_P_T) LD BC,(SYS_PAGE.MS_BPB+S_P_T)
XOR A XOR A
LOOP_TRK: LOOP_TRK:
SBC HL,BC SBC HL,BC
@ -711,7 +711,7 @@ SEC_ENDER:
LD H,A ; <>…Š LD H,A ; <>…Š
; LD L,L ; …ŠŽ<E28099> ; LD L,L ; …ŠŽ<E28099>
EX AF,AF' EX AF,AF'
OUT (PAGE3),A OUT (SLOT3),A
EI EI
EX DE,HL EX DE,HL
POP BC POP BC
@ -720,8 +720,8 @@ SEC_ENDER:
;************************************************ ;************************************************
REDIR_LINE_CODING: REDIR_LINE_CODING:
LD (MED_START),HL LD (ZX_VARS.MED_START),HL
LD HL,(DOS_CH_ADR) LD HL,(ZX_VARS.DOS_CH_ADR)
LD A,(HL) LD A,(HL)
CP '/' CP '/'
RET Z RET Z

View File

@ -2,7 +2,7 @@
DISK_REDIR: DISK_REDIR:
PUSH HL PUSH HL
PUSH BC PUSH BC
LD A,(OPER_DISK) LD A,(ZX_VARS.OPER_DISK)
AND 3 AND 3
LD C,BIOS.GET_DRV_ST LD C,BIOS.GET_DRV_ST
CALL EXP_FNS CALL EXP_FNS
@ -24,7 +24,7 @@ ERROR_DISK:
RECALL_1E70: RECALL_1E70:
CALL RES_1440 CALL RES_1440
LD A,(RD_WR_COM) LD A,(ZX_VARS.RD_WR_COM)
PUSH BC PUSH BC
PUSH HL PUSH HL
CALL READ_TRK_NUM CALL READ_TRK_NUM
@ -52,8 +52,8 @@ TEST_RAMD:
RET RET
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º RD/WR SECTOR HL - BUFER º\ ; º RD/WR SECTOR HL - ZX_VARS.BUFFER º\
; º CONT_SEC - SEC/TRK FOR READ/WRITE º\ ; º ZX_VARS.CONT_SEC - SEC/TRK FOR READ/WRITE º\
; º COM_RD_WR - ª®¬ ­¤  ç⥭¨¥/§ ¯¨áì º\ ; º COM_RD_WR - ª®¬ ­¤  ç⥭¨¥/§ ¯¨áì º\
; º 0 - ç⥭¨¥, 255 - § ¯¨áì º\ ; º 0 - ç⥭¨¥, 255 - § ¯¨áì º\
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\ ; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\
@ -73,14 +73,14 @@ READ_WRITE_RAMD:
; LD HL,RAMD_KEYS ; LD HL,RAMD_KEYS
; ADD A,L ; ADD A,L
; LD L,A ; LD L,A
; IN A,(PAGE3) ; IN A,(SLOT3)
; LD C,A ; LD C,A
; LD A,SYS_PAGE ; LD A,SYS_PAGE
; DI ; DI
; OUT (PAGE3),A ; OUT (SLOT3),A
; LD L,(HL) ; LD L,(HL)
; LD A,C ; LD A,C
; OUT (PAGE3),A ; OUT (SLOT3),A
; EI ; EI
; LD A,L ; 1-st block ; LD A,L ; 1-st block
; POP HL ; POP HL
@ -97,7 +97,7 @@ READ_WRITE_RAMD:
; PUSH DE ; PUSH DE
; PUSH BC ; PUSH BC
; ;
; LD DE,(CONT_SEC) ; LD DE,(ZX_VARS.CONT_SEC)
; LD A,D ; ”ˆ‡ˆ—…‘Šˆ… -> ‹Žƒˆ—…‘Šˆ… !!! ; LD A,D ; ”ˆ‡ˆ—…‘Šˆ… -> ‹Žƒˆ—…‘Šˆ… !!!
; RRCA ; RRCA
; RRCA ; RRCA
@ -111,7 +111,7 @@ READ_WRITE_RAMD:
; AND 0FH ; AND 0FH
; LD D,A ; LD D,A
; ;
; LD A,(RD_WR_COM) ; LD A,(ZX_VARS.RD_WR_COM)
; AND A ; AND A
; JR Z,RAMD_READ ; JR Z,RAMD_READ
; PUSH AF ; PUSH AF
@ -132,7 +132,7 @@ READ_WRITE_RAMD:
; POP HL ; POP HL
; POP AF ; POP AF
; OUT (RGADR),A ; OUT (RGADR),A
; LD DE,(CONT_SEC) ; LD DE,(ZX_VARS.CONT_SEC)
; ;
; LD A,B ; LD A,B
; ;
@ -158,7 +158,7 @@ READ_WRITE_RAMD:
; ;
; LD B,0 ; LD B,0
; ;
; LD (CONT_SEC),DE ; LD (ZX_VARS.CONT_SEC),DE
; AND A ; AND A
; RET ; RET
; ;
@ -180,7 +180,7 @@ WD_WR_RAMD_LOOP:
RAMD_NEXT_SEC: RAMD_NEXT_SEC:
PUSH HL PUSH HL
LD HL,CONT_SEC LD HL,ZX_VARS.CONT_SEC
LD A,16 LD A,16
INC (HL) INC (HL)
CP (HL) CP (HL)
@ -195,15 +195,15 @@ RAMD_NEXT_1:
RET RET
RD_WR_1SEC: RD_WR_1SEC:
LD DE,(CONT_SEC) LD DE,(ZX_VARS.CONT_SEC)
CALL PAGE_CALC2 CALL PAGE_CALC2
DI DI
LD A,(RD_WR_COM) LD A,(ZX_VARS.RD_WR_COM)
AND 0C0H AND 0C0H
OUT (RGADR),A OUT (RGADR),A
LD A,H LD A,H
CP 0A0H CP 0A0H
LD A,(RD_WR_COM) LD A,(ZX_VARS.RD_WR_COM)
LD E,0 LD E,0
LD D,C LD D,C
SET 6,D SET 6,D
@ -211,7 +211,7 @@ RD_WR_1SEC:
RD_WR_4000: RD_WR_4000:
RES 7,D ; DE -  ¤à¥á ¤ ­­ëå RAMD RES 7,D ; DE -  ¤à¥á ¤ ­­ëå RAMD
LD C,PAGE1 LD C,SLOT1
EX AF,AF' EX AF,AF'
IN A,(C) IN A,(C)
EX AF,AF' EX AF,AF'
@ -229,7 +229,7 @@ MOVE_NOT_EX3:
MOVE_NOT_EX4: MOVE_NOT_EX4:
;******************************* ;*******************************
EX AF,AF' EX AF,AF'
OUT (PAGE1),A OUT (SLOT1),A
EX AF,AF' EX AF,AF'
; RET_PAGE1 ; RET_PAGE1
MOVE_RET: MOVE_RET:
@ -240,7 +240,7 @@ MOVE_RET:
RD_WR_C000: RD_WR_C000:
SET 7,D SET 7,D
LD C,PAGE3 LD C,SLOT3
EX AF,AF' EX AF,AF'
IN A,(C) IN A,(C)
EX AF,AF' EX AF,AF'
@ -258,7 +258,7 @@ MOVE_NOT_EX1:
MOVE_NOT_EX2: MOVE_NOT_EX2:
;******************************* ;*******************************
EX AF,AF' EX AF,AF'
OUT (PAGE3),A OUT (SLOT3),A
EX AF,AF' EX AF,AF'
; RET_PAGE3 ; RET_PAGE3
JR MOVE_RET JR MOVE_RET
@ -296,7 +296,7 @@ PAGE_CALC2:
;********************************************* ;*********************************************
RAMD_X12: ; ¯à®¢¥àª  ¤¨áª  RAMD_X12: ; ¯à®¢¥àª  ¤¨áª 
LD (OPER_DISK),A LD (ZX_VARS.OPER_DISK),A
CALL DISK_REDIR CALL DISK_REDIR
CP 4 CP 4
JR C,X_AUTO_3DCE JR C,X_AUTO_3DCE
@ -308,7 +308,7 @@ NO_DISK2:
X_AUTO_3DCE: X_AUTO_3DCE:
CALL RES_1440 CALL RES_1440
LD A,(OPER_DISK) LD A,(ZX_VARS.OPER_DISK)
JP AUTO_3DCE JP AUTO_3DCE
;************************************* ;*************************************
@ -325,7 +325,7 @@ RAMD_X14: ; FORMATING
JP READ_ONLY JP READ_ONLY
DISK_FORM: DISK_FORM:
LD A,(MED_START+1) LD A,(ZX_VARS.MED_START+1)
CP 14H CP 14H
JR Z,QVICK_FORMAT JR Z,QVICK_FORMAT
POP HL POP HL
@ -356,15 +356,15 @@ RAMD_FORMAT:
CALL GET_RAM_BLK ; „…<E280B9>ˆ<20>€ŒŸˆ CALL GET_RAM_BLK ; „…<E280B9>ˆ<20>€ŒŸˆ
; LD C,A ; Š‹ž— RAM-Disk ; LD C,A ; Š‹ž— RAM-Disk
Q_FORM_1: Q_FORM_1:
LD HL,BUFER ; CLEAR DISK BUFER LD HL,ZX_VARS.BUFFER ; CLEAR DISK ZX_VARS.BUFFER
LD DE,BUFER+1 LD DE,ZX_VARS.BUFFER+1
LD BC,0FFh LD BC,0FFh
LD (HL),0 LD (HL),0
LDIR LDIR
LD DE,0 LD DE,0
RAMD_F_LOOP: RAMD_F_LOOP:
LD HL,BUFER LD HL,ZX_VARS.BUFFER
LD B,1 LD B,1
PUSH DE PUSH DE
CALL WRITE_DISK CALL WRITE_DISK
@ -391,7 +391,7 @@ CLEAR_RAMD:
CLEAR_NEXT: CLEAR_NEXT:
SUB 4 SUB 4
RET C RET C
CP RAMD_KEY_NUM CP SYS_PAGE.RAMD_KEYS.NUM
CCF CCF
RET C RET C
@ -429,7 +429,7 @@ READ_ONLY:
JP ERR_EXIT JP ERR_EXIT
FDD_SET: FDD_SET:
LD A,(OPER_DISK) LD A,(ZX_VARS.OPER_DISK)
LD B,A LD B,A
LD C,BIOS.FDD_TO_DRV LD C,BIOS.FDD_TO_DRV
;!TEST 06/01/2024 á®å࠭塞 á®áâ®ï­¨¥ ¯à¥à뢠­¨© § ç¥¬-â® ;!TEST 06/01/2024 á®å࠭塞 á®áâ®ï­¨¥ ¯à¥à뢠­¨© § ç¥¬-â®
@ -447,7 +447,7 @@ HDD_SET:;!TEST 06/01/2024 㡨ࠥ
; ;
JP C,HDD_PROG_E JP C,HDD_PROG_E
LD A,(OPER_DISK) LD A,(ZX_VARS.OPER_DISK)
LD B,A LD B,A
XOR A XOR A
LD C,BIOS.HDD_TO_DRV LD C,BIOS.HDD_TO_DRV
@ -463,7 +463,7 @@ RAMD_SET:
RET C RET C
RAMD_SET1: RAMD_SET1:
PUSH AF PUSH AF
LD A,(OPER_DISK) LD A,(ZX_VARS.OPER_DISK)
LD B,A LD B,A
POP AF POP AF
LD C,BIOS.RAMD_TO_DRV LD C,BIOS.RAMD_TO_DRV
@ -505,7 +505,7 @@ RAMD_SYM_OK:
;[ ] 07/01/2024 ;[ ] 07/01/2024
CHOOSE_HDD: CHOOSE_HDD:
PUSH DE PUSH DE
LD A,(OPER_DISK) LD A,(ZX_VARS.OPER_DISK)
LD C,BIOS.GET_DRV_ST LD C,BIOS.GET_DRV_ST
CALL EXP_FNS CALL EXP_FNS
POP DE POP DE