mirror of
https://github.com/Tolik-Trek/ZX-SP-ROMs.git
synced 2026-06-15 17:31:45 +03:00
замена меток на Sp2000.inc
This commit is contained in:
parent
5ea974f002
commit
44ea99c6ba
1878
SP_TRDOS.ASM
1878
SP_TRDOS.ASM
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@
|
||||
Subproject commit d3cdfc6e7644fab96ebe2c6e87959359cda6319c
|
||||
Subproject commit 84d47b2818758fdceda21ecf2953324c1f339858
|
||||
@ -28,13 +28,13 @@ MSDOS_1ST_FL:
|
||||
MSDOS_TEST_FL:
|
||||
PUSH DE
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
LD E,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
LD A,E
|
||||
LD E,(HL)
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
EI
|
||||
LD A,E
|
||||
POP DE
|
||||
@ -53,16 +53,16 @@ MSDOS_NEXT_FL:
|
||||
LD DE,20H
|
||||
ADD HL,DE
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
LD D,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
LD A,(COUNT_FL)
|
||||
OUT (SLOT3),A
|
||||
LD A,(SYS_PAGE.COUNT_FL)
|
||||
DEC A
|
||||
LD (COUNT_FL),A
|
||||
LD (SYS_PAGE.COUNT_FL),A
|
||||
LD E,A
|
||||
LD A,D
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
; RET_PAGE3
|
||||
EI
|
||||
LD A,E
|
||||
@ -71,16 +71,16 @@ MSDOS_NEXT_FL:
|
||||
JR NZ,MSDOS_TEST_FL
|
||||
PUSH DE
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
LD D,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
LD A,(COUNT_SEC)
|
||||
OUT (SLOT3),A
|
||||
LD A,(SYS_PAGE.COUNT_SEC)
|
||||
DEC A
|
||||
LD (COUNT_SEC),A
|
||||
LD (SYS_PAGE.COUNT_SEC),A
|
||||
LD E,A
|
||||
LD A,D
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
; RET_PAGE3
|
||||
EI
|
||||
LD A,E
|
||||
@ -91,7 +91,7 @@ MSDOS_NEXT_FL:
|
||||
PUSH DE
|
||||
CALL READ_NEXT_DIR
|
||||
POP DE
|
||||
LD HL,MS_DIR
|
||||
LD HL,SYS_PAGE.MS_DIR
|
||||
JR MSDOS_TEST_FL
|
||||
|
||||
;**********************************
|
||||
@ -140,7 +140,7 @@ CAT_END:
|
||||
PRINT_MSD_NAME:
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
LD HL,FL_NAME
|
||||
LD HL,ZX_VARS.FL_NAME
|
||||
LD A,' '
|
||||
RST 10H
|
||||
LD A,' '
|
||||
@ -169,7 +169,7 @@ PRINT_MSD_L2:
|
||||
PRINT_MSD_DATS:
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
LD HL,FL_PLACE+1
|
||||
LD HL,ZX_VARS.FL_PLACE+1
|
||||
LD A,(HL)
|
||||
DEC HL
|
||||
CALL PRINT_HEX_A
|
||||
@ -199,12 +199,12 @@ COPY_NAME_MSD:
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
LD C,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
LD A,C
|
||||
LD DE,FL_NAME
|
||||
LD DE,ZX_VARS.FL_NAME
|
||||
LD BC,11
|
||||
LDIR
|
||||
|
||||
@ -214,7 +214,7 @@ COPY_NAME_MSD:
|
||||
LDIR
|
||||
|
||||
LD L,(HL)
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
; RET_PAGE3
|
||||
EI
|
||||
LD A,L
|
||||
@ -230,7 +230,7 @@ CMD_MSDOS: ; MS-DOS
|
||||
CALL SINTAX_RET
|
||||
LD HL,WORDS
|
||||
LOOP_FIND2:
|
||||
LD DE,(ADR_DOS_COM)
|
||||
LD DE,(ZX_VARS.ADR_DOS_COM)
|
||||
INC DE ; <20>யãáâ¨âì /
|
||||
|
||||
LD A,(HL)
|
||||
@ -283,19 +283,19 @@ END_TAB:
|
||||
JR C,END_TAB3
|
||||
CP 4
|
||||
JR NC,END_TAB2
|
||||
LD (OPER_DISK),A
|
||||
LD (CONT_DISK),A
|
||||
LD (ZX_VARS.OPER_DISK),A
|
||||
LD (ZX_VARS.CONT_DISK),A
|
||||
LD B,A
|
||||
LD A,(PDOS_COPY)
|
||||
LD A,(ZX_VARS.PDOS_COPY)
|
||||
AND 7CH
|
||||
OR B
|
||||
LD (PDOS_COPY),A
|
||||
OUT (P_DOS_FF),A
|
||||
LD (ZX_VARS.PDOS_COPY),A
|
||||
OUT (FDC_93.DrvCTRL),A
|
||||
JP AUTO_03E1
|
||||
|
||||
END_TAB2:
|
||||
SUB 4
|
||||
CP RAMD_KEY_NUM
|
||||
CP SYS_PAGE.RAMD_KEYS.NUM
|
||||
JR NC,END_TAB3
|
||||
CALL RAMD_SET1
|
||||
JP AUTO_03E1
|
||||
@ -314,12 +314,12 @@ LOAD_RMD:
|
||||
CALL RAMD_SYM ; ¯®«ãç¨âì ®¬¥à RAM-Disk ¨§ (DE)
|
||||
JP C,MSD_ERR
|
||||
LOAD_RMD_XX:
|
||||
LD (MED_START+1),A ; á®åà ¨âì
|
||||
LD (ZX_VARS.MED_START+1),A ; á®åà ¨âì
|
||||
CALL MSDOS_FIND_FILE
|
||||
JP C,MSD_ERR
|
||||
|
||||
CALL RMD_BLKS_FL ; B - ç¨á«® ¡«®ª®¢ , DE - ¡á®«îâë© á¥ªâ®à
|
||||
LD A,(MED_START+1)
|
||||
LD A,(ZX_VARS.MED_START+1)
|
||||
PUSH AF
|
||||
CALL CLEAR_RMD_A ; ®á¢®¡®¤¨âì RAM-Disk A
|
||||
POP AF
|
||||
@ -332,13 +332,13 @@ LOAD_RMD_XX:
|
||||
SAVE_RMD:
|
||||
CALL RAMD_SYM ; ¯®«ãç¨âì ®¬¥à RAM-Disk ¨§ (DE)
|
||||
JP C,MSD_ERR
|
||||
LD (MED_START+1),A
|
||||
LD (ZX_VARS.MED_START+1),A
|
||||
CALL MSDOS_FIND_FILE
|
||||
JP C,MSD_ERR
|
||||
|
||||
CALL RMD_BLKS_FL
|
||||
|
||||
LD A,(MED_START+1)
|
||||
LD A,(ZX_VARS.MED_START+1)
|
||||
CALL TEST_RAMD ; ¯à®¢¥à¨âì «¨ç¨¥ RAM-Disk A à §¬¥à®¬ B
|
||||
JP C,MSD_ERR ; A - ®¬¥à ¯¥à¢®£® ¡«®ª
|
||||
JP Z,MSD_ERR
|
||||
@ -348,9 +348,9 @@ SAVE_RMD:
|
||||
JP AUTO_03E1
|
||||
|
||||
RMD_BLKS_FL:
|
||||
LD A,(FL_SIZE+2)
|
||||
LD A,(ZX_VARS.FL_SIZE+2)
|
||||
PUSH HL
|
||||
LD HL,(FL_SIZE)
|
||||
LD HL,(ZX_VARS.FL_SIZE)
|
||||
LD B,A
|
||||
AND A
|
||||
RL L
|
||||
@ -372,7 +372,7 @@ RMD_BLKS_L2:
|
||||
MSDOS_KOMP_FL: ; DE - ˆŒŸ ”€‰‹€ ‘Ž *,?
|
||||
; HL - ˆŒŸ ‚ Š€’€‹Žƒ…
|
||||
CALL COPY_NAME_MSD ; <20>…<EFBFBD>…Œ…‘’ˆ’œ ˆŒŸ ‚ Ž<>‹€‘’œ TR-DOS
|
||||
LD A,(FL_NAME)
|
||||
LD A,(ZX_VARS.FL_NAME)
|
||||
AND A
|
||||
JR NZ,KOMP_CONT1
|
||||
LD A,2 ; ŠŽ<C5A0>…– Š€’€‹Žƒ€
|
||||
@ -389,7 +389,7 @@ KOMP_CONT1:
|
||||
KOMP_CONT2:
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD HL,FL_NAME
|
||||
LD HL,ZX_VARS.FL_NAME
|
||||
CALL MSDOS_KOMP_ALL
|
||||
POP HL
|
||||
POP DE
|
||||
@ -485,11 +485,11 @@ CALC_CLAST: ; HL -
|
||||
DEC HL
|
||||
DEC HL
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
LD A,(MS_BPB+CLAST_SIZE)
|
||||
OUT (SLOT3),A
|
||||
LD A,(SYS_PAGE.MS_BPB+CLAST_SIZE)
|
||||
|
||||
EX DE,HL
|
||||
LD BC,0
|
||||
@ -504,14 +504,14 @@ CALC_CL_LP:
|
||||
DEC A
|
||||
JR NZ,CALC_CL_LP
|
||||
|
||||
LD DE,(MSD_DAT_SEC)
|
||||
LD BC,(MSD_DAT_SEC2)
|
||||
LD DE,(SYS_PAGE.MSD_DAT_SEC)
|
||||
LD BC,(SYS_PAGE.MSD_DAT_SEC2)
|
||||
|
||||
ADD IX,DE
|
||||
ADC HL,BC ; HL,IX - ‘Œ…™…<E284A2>ˆ… Š‹€‘’…<E28099>€ Ž’ <20>€—€‹€ „€<E2809E><E282AC>›•
|
||||
|
||||
EX AF,AF'
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
|
||||
PUSH IX
|
||||
EX (SP),HL
|
||||
|
||||
@ -31,16 +31,16 @@ INIT_RMD:
|
||||
RAMD_FAT_PROG:
|
||||
CALL AUTO_1D97 ; CLS
|
||||
CALL OPEN_CH2
|
||||
LD HL,RAMD_FAT
|
||||
LD HL,SYS_PAGE.RAMD_FAT
|
||||
RAMD_F_L1:
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
LD C,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
LD A,C
|
||||
LD C,(HL)
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
EI
|
||||
PUSH HL
|
||||
LD A,C
|
||||
@ -85,19 +85,19 @@ TB_ONOFF:
|
||||
; § £à㧪¨
|
||||
;***************************************************************************
|
||||
MSDOS_WRITE_FILE:
|
||||
LD (CONT_BUF_ADR),HL ; ¤à¥á § £à㧪¨
|
||||
LD (MED_START),A ; áâà ¨æ § £à㧪¨
|
||||
LD (ZX_VARS.CONT_BUF_ADR),HL ; ¤à¥á § £à㧪¨
|
||||
LD (ZX_VARS.MED_START),A ; áâà ¨æ § £à㧪¨
|
||||
LD A,TRDOS_ROM_CMD.WRITE
|
||||
JR MSDOS_R_W_FILE
|
||||
;
|
||||
MSDOS_READ_FILE:
|
||||
LD (CONT_BUF_ADR),HL ; ¤à¥á § £à㧪¨
|
||||
LD (MED_START),A ; áâà ¨æ § £à㧪¨
|
||||
LD (ZX_VARS.CONT_BUF_ADR),HL ; ¤à¥á § £à㧪¨
|
||||
LD (ZX_VARS.MED_START),A ; áâà ¨æ § £à㧪¨
|
||||
LD A,TRDOS_ROM_CMD.READ
|
||||
MSDOS_R_W_FILE:
|
||||
LD (MED_LEN),A
|
||||
LD (ZX_VARS.MED_LEN),A
|
||||
; beg=start_claster. <20>®«ãç¨âì ç «ìë© ª« áâ¥à
|
||||
LD IX,(START_CLASTER) ; áâ àâ®¢ë© ª« áâ¥à
|
||||
LD IX,(ZX_VARS.START_CLUSTER) ; áâ àâ®¢ë© ª« áâ¥à
|
||||
; next=beg
|
||||
; max=file_len. ¤«¨ ¢ ª« áâ¥à å
|
||||
CALL GET_FILE_CLASTERS_BC
|
||||
@ -109,14 +109,14 @@ msd_rf_cont2:
|
||||
; max2=blk_len ; ¤«¨ ¡«®ª ¢ ª« áâ¥à å
|
||||
|
||||
; DI ; GET_BLK_CLASTERS_L
|
||||
; IN A,(PAGE3)
|
||||
; IN A,(SLOT3)
|
||||
; EX AF,AF'
|
||||
; LD A,SYS_PAGE
|
||||
; OUT (PAGE3),A
|
||||
; OUT (SLOT3),A
|
||||
; LD A,(C_P_B)
|
||||
; LD L,A
|
||||
; EX AF,AF'
|
||||
; OUT (PAGE3),A
|
||||
; OUT (SLOT3),A
|
||||
; EI
|
||||
|
||||
LD L,128
|
||||
@ -218,7 +218,7 @@ READ_num_clasters_from_beg:
|
||||
CALL CLAST_TO_SEC
|
||||
|
||||
PUSH AF
|
||||
LD A,(MED_LEN)
|
||||
LD A,(ZX_VARS.MED_LEN)
|
||||
LD C,A
|
||||
SUB TRDOS_ROM_CMD.READ
|
||||
JR Z,CONT_XX1
|
||||
@ -236,13 +236,13 @@ LOOP_128:
|
||||
PUSH IX
|
||||
PUSH BC
|
||||
|
||||
LD HL,(CONT_BUF_ADR)
|
||||
LD A,(MED_START)
|
||||
LD HL,(ZX_VARS.CONT_BUF_ADR)
|
||||
LD A,(ZX_VARS.MED_START)
|
||||
|
||||
CALL MSD_R_W_UT
|
||||
|
||||
LD (CONT_BUF_ADR),HL
|
||||
LD (MED_START),A
|
||||
LD (ZX_VARS.CONT_BUF_ADR),HL
|
||||
LD (ZX_VARS.MED_START),A
|
||||
|
||||
POP BC
|
||||
POP IX
|
||||
@ -289,14 +289,14 @@ CLAST_TO_SEC:
|
||||
CALL CALC_CLAST
|
||||
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
LD B,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
LD A,(MS_BPB+CLAST_SIZE)
|
||||
OUT (SLOT3),A
|
||||
LD A,(SYS_PAGE.MS_BPB+CLAST_SIZE)
|
||||
LD C,A
|
||||
LD A,B
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
EI
|
||||
|
||||
POP AF
|
||||
@ -332,14 +332,14 @@ FAT_DE_to_HL:
|
||||
PUSH BC
|
||||
PUSH IX
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
LD C,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
LD A,C
|
||||
LD HL,(FAT_FLAG)
|
||||
LD BC,(MS_BPB+SEC_SIZE) ; à §¬¥à ᥪâ®à
|
||||
OUT (PAGE3),A
|
||||
LD HL,(SYS_PAGE.FAT_FLAG)
|
||||
LD BC,(SYS_PAGE.MS_BPB+SEC_SIZE) ; à §¬¥à ᥪâ®à
|
||||
OUT (SLOT3),A
|
||||
EI
|
||||
|
||||
PUSH HL
|
||||
@ -394,20 +394,20 @@ CALL_ALL:
|
||||
AND B
|
||||
LD H,A
|
||||
|
||||
LD BC,MS_FAT
|
||||
LD BC,SYS_PAGE.MS_FAT
|
||||
ADD HL,BC
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
LD C,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
LD A,C
|
||||
LD (FAT_FLAG),DE
|
||||
LD (SYS_PAGE.FAT_FLAG),DE
|
||||
LD C,(HL) ; áç¨â âì ª« áâ¥à
|
||||
INC HL
|
||||
LD B,(HL)
|
||||
INC HL
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
; RET_PAGE3
|
||||
EI
|
||||
POP AF
|
||||
@ -477,14 +477,14 @@ READ_FAT_SEC:
|
||||
LD D,0
|
||||
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
LD L,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
LD A,L
|
||||
LD IX,(MSD_FAT_SEC)
|
||||
LD HL,(MSD_FAT_SEC2)
|
||||
OUT (PAGE3),A
|
||||
LD IX,(SYS_PAGE.MSD_FAT_SEC)
|
||||
LD HL,(SYS_PAGE.MSD_FAT_SEC2)
|
||||
OUT (SLOT3),A
|
||||
EI
|
||||
|
||||
LD BC,0
|
||||
@ -496,20 +496,20 @@ READ_FAT_SEC:
|
||||
PUSH HL
|
||||
POP IX
|
||||
|
||||
LD HL,(CONT_BUF_ADR)
|
||||
LD A,(MED_START)
|
||||
LD HL,(ZX_VARS.CONT_BUF_ADR)
|
||||
LD A,(ZX_VARS.MED_START)
|
||||
PUSH AF
|
||||
PUSH HL
|
||||
|
||||
LD HL,MS_FAT
|
||||
LD HL,SYS_PAGE.MS_FAT
|
||||
LD A,SYS_PAGE
|
||||
LD BC,256*2 + TRDOS_ROM_CMD.READ
|
||||
CALL MSD_R_W_UT
|
||||
|
||||
POP HL
|
||||
POP AF
|
||||
LD (CONT_BUF_ADR),HL
|
||||
LD (MED_START),A
|
||||
LD (ZX_VARS.CONT_BUF_ADR),HL
|
||||
LD (ZX_VARS.MED_START),A
|
||||
|
||||
POP DE
|
||||
POP BC
|
||||
@ -524,17 +524,17 @@ READ_FAT_SEC:
|
||||
|
||||
GET_FILE_CLASTERS_BC:
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
LD L,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
LD A,L
|
||||
LD HL,(CLASTER_LEN)
|
||||
OUT (PAGE3),A
|
||||
LD HL,(SYS_PAGE.CLASTER_LEN)
|
||||
OUT (SLOT3),A
|
||||
; RET_PAGE3
|
||||
EI
|
||||
LD BC,(FL_SIZE)
|
||||
LD A,(FL_SIZE+2)
|
||||
LD BC,(ZX_VARS.FL_SIZE)
|
||||
LD A,(ZX_VARS.FL_SIZE+2)
|
||||
LD DE,0
|
||||
SCF
|
||||
GET_FL_CL_2: ; ¢ëç¨á«¥¨¥ ª®«¨ç¥á⢠ª« áâ¥à®¢ ¢ ä ©«¥
|
||||
@ -562,14 +562,14 @@ HDD_PROG:
|
||||
CALL EXP_FNS
|
||||
;
|
||||
JP C,HDD_PROG_E
|
||||
LD HL,HD_IDF_ADR+54
|
||||
LD HL,SYS_PAGE.HD_IDF_ADR+54
|
||||
LD B,32
|
||||
HDD_PROG_L:
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
LD D,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
LD A,L
|
||||
XOR 1
|
||||
LD L,A
|
||||
@ -579,7 +579,7 @@ HDD_PROG_L:
|
||||
LD L,A
|
||||
INC HL
|
||||
LD A,D
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
; RET_PAGE3
|
||||
EI
|
||||
LD A,C
|
||||
|
||||
@ -53,7 +53,7 @@ MSD_R_W_UT:
|
||||
; EX (SP),HL
|
||||
; POP IX
|
||||
; LD C,12H
|
||||
; LD A,(OPER_DISK)
|
||||
; LD A,(ZX_VARS.OPER_DISK)
|
||||
; DI
|
||||
; PUSH IY
|
||||
; CALL HD_CMD
|
||||
@ -74,7 +74,7 @@ MSD_R_W_UT:
|
||||
; EX (SP),HL
|
||||
; POP IX
|
||||
; LD C,13H
|
||||
; LD A,(OPER_DISK)
|
||||
; LD A,(ZX_VARS.OPER_DISK)
|
||||
; DI
|
||||
; PUSH IY
|
||||
; CALL HD_CMD
|
||||
@ -102,37 +102,37 @@ MSD_cmd4:
|
||||
LD DE,0
|
||||
MSD_cmd5:
|
||||
LD A,0
|
||||
LD (RD_WR_COM),A
|
||||
LD (ZX_VARS.RD_WR_COM),A
|
||||
EX AF,AF'
|
||||
JR MSD_RWU1
|
||||
MSD_cmd6:
|
||||
LD A,255
|
||||
LD (RD_WR_COM),A
|
||||
LD (ZX_VARS.RD_WR_COM),A
|
||||
EX AF,AF'
|
||||
JR MSD_RWU1
|
||||
|
||||
PREPARE1:
|
||||
LD (MED_START),A
|
||||
LD (CONT_BUF_ADR),HL
|
||||
LD (ZX_VARS.MED_START),A
|
||||
LD (ZX_VARS.CONT_BUF_ADR),HL
|
||||
DI
|
||||
IN A,(PAGE2)
|
||||
IN A,(SLOT2)
|
||||
LD C,A
|
||||
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
|
||||
SET 0,A
|
||||
LD (DS_1440-4000H),A
|
||||
LD (SYS_PAGE.DS_1440-4000H),A
|
||||
LD A,C
|
||||
OUT (PAGE2),A
|
||||
OUT (SLOT2),A
|
||||
EI
|
||||
CALL Z,RES_1440
|
||||
CALL NZ,SET_1440
|
||||
|
||||
CALL CALC_SECTOR
|
||||
LD (CONT_SEC),DE
|
||||
LD A,(RD_WR_COM)
|
||||
LD (ZX_VARS.CONT_SEC),DE
|
||||
LD A,(ZX_VARS.RD_WR_COM)
|
||||
RET
|
||||
|
||||
MSD_RWU1:
|
||||
@ -144,34 +144,34 @@ MSD_RWU1:
|
||||
MSD_R_W_LOOP:
|
||||
POP HL
|
||||
POP BC
|
||||
LD A,(MED_START)
|
||||
LD A,(ZX_VARS.MED_START)
|
||||
INC B
|
||||
DEC B
|
||||
LD DE,(CONT_SEC)
|
||||
LD DE,(ZX_VARS.CONT_SEC)
|
||||
RET Z
|
||||
|
||||
DEC B
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
LD (CONT_BUF_ADR),HL
|
||||
LD A,(CONT_SEC)
|
||||
LD (SEC_NUM),A
|
||||
LD A,(CONT_TRK)
|
||||
LD (ZX_VARS.CONT_BUF_ADR),HL
|
||||
LD A,(ZX_VARS.CONT_SEC)
|
||||
LD (ZX_VARS.SEC_NUM),A
|
||||
LD A,(ZX_VARS.CONT_TRK)
|
||||
CALL Global_trk
|
||||
LD A,(RD_WR_COM)
|
||||
LD A,(ZX_VARS.RD_WR_COM)
|
||||
OR A
|
||||
PUSH AF
|
||||
CALL Z,MSD_3F0E
|
||||
POP AF
|
||||
CALL NZ,MSD_3F0A
|
||||
DI
|
||||
IN A,(PAGE2)
|
||||
IN A,(SLOT2)
|
||||
LD C,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE2),A
|
||||
LD DE,(MS_BPB+SEC_SIZE-#4000)
|
||||
OUT (SLOT2),A
|
||||
LD DE,(SYS_PAGE.MS_BPB+SEC_SIZE-#4000)
|
||||
LD A,C
|
||||
OUT (PAGE2),A
|
||||
OUT (SLOT2),A
|
||||
EI
|
||||
POP HL
|
||||
ADD HL,DE
|
||||
@ -179,44 +179,44 @@ MSD_R_W_LOOP:
|
||||
OR L
|
||||
JR NZ,MSD_NO_PAGE
|
||||
DI
|
||||
IN A,(PAGE2)
|
||||
IN A,(SLOT2)
|
||||
LD C,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE2),A
|
||||
LD A,(MED_START)
|
||||
LD HL,RAMD_FAT-#4000
|
||||
OUT (SLOT2),A
|
||||
LD A,(ZX_VARS.MED_START)
|
||||
LD HL,SYS_PAGE.RAMD_FAT-#4000
|
||||
LD L,A
|
||||
LD L,(HL)
|
||||
LD A,C
|
||||
OUT (PAGE2),A
|
||||
OUT (SLOT2),A
|
||||
EI
|
||||
LD A,L
|
||||
LD HL,#C000
|
||||
LD (MED_START),A
|
||||
LD (ZX_VARS.MED_START),A
|
||||
MSD_NO_PAGE:
|
||||
LD (CONT_BUF_ADR),HL
|
||||
LD (ZX_VARS.CONT_BUF_ADR),HL
|
||||
PUSH HL
|
||||
|
||||
DI
|
||||
IN A,(PAGE2)
|
||||
IN A,(SLOT2)
|
||||
LD C,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE2),A
|
||||
LD A,(DS_1440-#4000)
|
||||
OUT (SLOT2),A
|
||||
LD A,(SYS_PAGE.DS_1440-#4000)
|
||||
AND %1111'1110
|
||||
LD (DS_1440-#4000),A
|
||||
LD A,(MSD_SECS-#4000)
|
||||
LD (SYS_PAGE.DS_1440-#4000),A
|
||||
LD A,(SYS_PAGE.MSD_SECS-#4000)
|
||||
LD L,A
|
||||
LD A,C
|
||||
OUT (PAGE2),A
|
||||
OUT (SLOT2),A
|
||||
EI
|
||||
LD A,L
|
||||
LD HL,CONT_SEC
|
||||
LD HL,ZX_VARS.CONT_SEC
|
||||
INC (HL)
|
||||
CP (HL)
|
||||
JP NZ,MSD_R_W_LOOP
|
||||
LD (HL),0
|
||||
LD HL,CONT_TRK
|
||||
LD HL,ZX_VARS.CONT_TRK
|
||||
INC (HL)
|
||||
JP MSD_R_W_LOOP
|
||||
;*****************************************
|
||||
@ -228,30 +228,30 @@ MSD_3F0A:
|
||||
MSD_3F0E:
|
||||
LD A,128
|
||||
MSD_3F10:
|
||||
LD (COMAND_WG),A
|
||||
LD (ZX_VARS.COMAND_WG),A
|
||||
MSD_3F13:
|
||||
LD D,5 ; —ˆ‘‹Ž <20>Ž‚’Ž<E28099>…<EFBFBD>ˆ‰
|
||||
MSD_3F15:
|
||||
PUSH DE
|
||||
PUSH IX
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,(MED_START)
|
||||
OUT (PAGE3),A
|
||||
LD A,(ZX_VARS.MED_START)
|
||||
OUT (SLOT3),A
|
||||
AND A
|
||||
JR Z,NO_OFF_SCR
|
||||
LD A,0C0H
|
||||
OUT (RGADR),A
|
||||
NO_OFF_SCR:
|
||||
LD IX,MSD_RET_ADR
|
||||
LD A,(SEC_NUM)
|
||||
LD A,(ZX_VARS.SEC_NUM)
|
||||
INC A
|
||||
OUT (WG_SEC),A
|
||||
LD HL,(CONT_BUF_ADR)
|
||||
OUT (FDC_93.Sector),A
|
||||
LD HL,(ZX_VARS.CONT_BUF_ADR)
|
||||
LD C,127
|
||||
LD A,(COMAND_WG)
|
||||
OUT (WG_COM),A
|
||||
LD A,(ZX_VARS.COMAND_WG)
|
||||
OUT (FDC_93.Command),A
|
||||
CP 160
|
||||
JP Z,MSD_3FBA ; ‡€<E280A1>ˆ‘œ ‘…Š’Ž<E28099>€
|
||||
JP MSD_3FD5 ; —’…<E28099>ˆ… ‘…Š’Ž<E28099>€
|
||||
@ -259,11 +259,11 @@ MSD_RET_ADR:
|
||||
LD A,0
|
||||
OUT (RGADR),A
|
||||
EX AF,AF'
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
POP IX
|
||||
POP DE
|
||||
EI
|
||||
IN A,(WG_COM)
|
||||
IN A,(FDC_93.Command)
|
||||
LD B,A
|
||||
AND 127
|
||||
RET Z
|
||||
@ -283,7 +283,7 @@ MSD_3F48:
|
||||
LD HL,DISK_ERROR_MSG
|
||||
MSD_3F4B:
|
||||
LD A,208
|
||||
OUT (WG_COM),A
|
||||
OUT (FDC_93.Command),A
|
||||
LD A,B
|
||||
AND 1
|
||||
JP NZ,AUTO_3EE7
|
||||
@ -294,11 +294,11 @@ MSD_3F4B:
|
||||
RST PRINT_LN
|
||||
LD HL,AUTO_2A13
|
||||
RST PRINT_LN
|
||||
IN A,(WG_TRK)
|
||||
IN A,(FDC_93.Track)
|
||||
CALL AUTO_1DA3
|
||||
LD HL,AUTO_2A18
|
||||
RST PRINT_LN
|
||||
IN A,(WG_SEC)
|
||||
IN A,(FDC_93.Sector)
|
||||
CALL AUTO_1DA3
|
||||
LD HL,AUTO_29FE
|
||||
RST PRINT_LN
|
||||
@ -312,10 +312,10 @@ MSD_3F7B:
|
||||
JR NZ,MSD_3F7B
|
||||
CALL exit_No_disk
|
||||
LD A,7
|
||||
LD (DOS_ERR_2),A
|
||||
LD (ZX_VARS.DOS_ERR_2),A
|
||||
JP AUTO_01D3
|
||||
MSD_3F94:
|
||||
LD A,(CONT_TRK)
|
||||
LD A,(ZX_VARS.CONT_TRK)
|
||||
CALL Global_trk
|
||||
CALL pause_750ms
|
||||
JP MSD_3F13
|
||||
@ -325,7 +325,7 @@ MSD_3FA0:
|
||||
CALL SWITCH_DT
|
||||
PUSH DE
|
||||
CALL AUTO_3D98 ; RESET_WG
|
||||
LD A,(CONT_TRK)
|
||||
LD A,(ZX_VARS.CONT_TRK)
|
||||
CALL Global_trk ; <20>އˆ–ˆŽ<CB86>ˆ<EFBFBD>Ž‚€<E2809A>ˆ…
|
||||
POP DE
|
||||
JP MSD_3F15
|
||||
@ -333,25 +333,25 @@ MSD_3FA0:
|
||||
|
||||
SWITCH_DT:
|
||||
DI
|
||||
IN A,(PAGE2)
|
||||
IN A,(SLOT2)
|
||||
LD C,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE2),A
|
||||
LD A,(DS_1440-4000H)
|
||||
OUT (SLOT2),A
|
||||
LD A,(SYS_PAGE.DS_1440-4000H)
|
||||
BIT 0,A
|
||||
JR Z,NO_SW_DT
|
||||
XOR BIT_MASK_1440
|
||||
LD (DS_1440-4000H),A
|
||||
LD (SYS_PAGE.DS_1440-4000H),A
|
||||
AND BIT_MASK_1440
|
||||
LD A,C
|
||||
OUT (PAGE2),A
|
||||
OUT (SLOT2),A
|
||||
EI
|
||||
CALL Z,RES_1440
|
||||
CALL NZ,SET_1440
|
||||
RET
|
||||
NO_SW_DT:
|
||||
LD A,C
|
||||
OUT (PAGE2),A
|
||||
OUT (SLOT2),A
|
||||
EI
|
||||
RET
|
||||
|
||||
@ -361,7 +361,7 @@ NO_SW_DT:
|
||||
MSD_3FBA:
|
||||
LD B,4
|
||||
MSD_3FBC:
|
||||
IN A,(P_DOS_FF)
|
||||
IN A,(FDC_93.DrvCTRL)
|
||||
AND 192
|
||||
JR NZ,MSD_3FD1
|
||||
INC DE
|
||||
@ -372,7 +372,7 @@ MSD_3FBC:
|
||||
MSD_RET_IX:
|
||||
JP (IX)
|
||||
MSD_3FCA:
|
||||
IN A,(P_DOS_FF)
|
||||
IN A,(FDC_93.DrvCTRL)
|
||||
AND 192
|
||||
JR Z,MSD_3FCA
|
||||
JP M,MSD_RET_IX
|
||||
@ -385,7 +385,7 @@ MSD_3FD1:
|
||||
MSD_3FD5:
|
||||
LD B,4
|
||||
MSD_3FD7:
|
||||
IN A,(P_DOS_FF)
|
||||
IN A,(FDC_93.DrvCTRL)
|
||||
AND 192
|
||||
JR NZ,MSD_3FEC
|
||||
INC DE
|
||||
@ -396,7 +396,7 @@ MSD_3FD7:
|
||||
MSD_RET_IX2:
|
||||
JP (IX)
|
||||
MSD_3FE5:
|
||||
IN A,(P_DOS_FF)
|
||||
IN A,(FDC_93.DrvCTRL)
|
||||
AND 192
|
||||
JR Z,MSD_3FE5
|
||||
JP M,MSD_RET_IX2
|
||||
@ -436,7 +436,7 @@ READ_BPB:
|
||||
LD IX,0
|
||||
LD DE,63 ;!HARDCODE
|
||||
LD A,SYS_PAGE
|
||||
LD HL,MS_BPB
|
||||
LD HL,SYS_PAGE.MS_BPB
|
||||
;
|
||||
LD BC,256*1 + TRDOS_ROM_CMD.READ
|
||||
CALL MSD_R_W_UT
|
||||
@ -445,7 +445,7 @@ READ_BPB:
|
||||
RET NC
|
||||
JP .ERROR_MSDOS
|
||||
.MAIN: LD A,SYS_PAGE
|
||||
LD HL,MS_BPB
|
||||
LD HL,SYS_PAGE.MS_BPB
|
||||
LD C,TRDOS_ROM_CMD.READ_BPB
|
||||
CALL MSD_R_W_UT
|
||||
|
||||
@ -454,38 +454,38 @@ READ_BPB:
|
||||
;RET
|
||||
|
||||
; LD C,18H
|
||||
; LD A,(OPER_DISK)
|
||||
; LD A,(ZX_VARS.OPER_DISK)
|
||||
; CALL HD_CMD
|
||||
; ;
|
||||
; DI
|
||||
; IN A,(PAGE3)
|
||||
; IN A,(SLOT3)
|
||||
; EX AF,AF'
|
||||
; 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
|
||||
; ;
|
||||
; EX AF,AF'
|
||||
; OUT (PAGE3),A
|
||||
; OUT (SLOT3),A
|
||||
; EI
|
||||
; ;
|
||||
; LD A,(OPER_DISK)
|
||||
; LD A,(ZX_VARS.OPER_DISK)
|
||||
; LD C,19H
|
||||
; CALL HD_CMD
|
||||
|
||||
.PARAMS:
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
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
|
||||
JP C,.ERROR_BPB
|
||||
|
||||
LD HL,MS_BPB+FAT_ID
|
||||
LD HL,SYS_PAGE.MS_BPB+FAT_ID
|
||||
LD DE,.FAT1_MSG
|
||||
LD B,4
|
||||
.L1: LD A,(DE)
|
||||
@ -508,10 +508,10 @@ READ_BPB:
|
||||
|
||||
.PC_DOS:
|
||||
LD HL,#01FF ; FAT12 ä« £
|
||||
.FAT: LD (FAT_FLAG),HL
|
||||
.FAT: LD (SYS_PAGE.FAT_FLAG),HL
|
||||
|
||||
LD A,(MS_BPB+S_P_T) ; Š®«¨ç¥á⢮ ᥪâ®à®¢ â४
|
||||
LD (MSD_SECS),A
|
||||
LD A,(SYS_PAGE.MS_BPB+S_P_T) ; Š®«¨ç¥á⢮ ᥪâ®à®¢ â४
|
||||
LD (SYS_PAGE.MSD_SECS),A
|
||||
|
||||
BIT 7,H
|
||||
|
||||
@ -519,32 +519,32 @@ READ_BPB:
|
||||
LD HL,0 ; ¢ëç¨á«¨âì ç «ìë© á¥ªâ®à FAT
|
||||
|
||||
JR Z,.NO_LD_SPECIAL
|
||||
LD IX,(MS_BPB+SPECIAL_SECS)
|
||||
LD HL,(MS_BPB+SPECIAL_SECS+2)
|
||||
LD IX,(SYS_PAGE.MS_BPB+SPECIAL_SECS)
|
||||
LD HL,(SYS_PAGE.MS_BPB+SPECIAL_SECS+2)
|
||||
.NO_LD_SPECIAL:
|
||||
LD BC,0
|
||||
LD DE,(MS_BPB+RESERV_SECS)
|
||||
LD DE,(SYS_PAGE.MS_BPB+RESERV_SECS)
|
||||
|
||||
ADD IX,DE
|
||||
ADC HL,BC
|
||||
|
||||
LD (MSD_FAT_SEC),IX ; ç «ìë© á¥ªâ®à FAT
|
||||
LD (MSD_FAT_SEC2),HL ; ç «ìë© á¥ªâ®à FAT
|
||||
LD (SYS_PAGE.MSD_FAT_SEC),IX ; ç «ìë© á¥ªâ®à 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 A,(MS_BPB+FATS_NUM) ; ª®«¨ç¥á⢮ FATs
|
||||
LD A,(SYS_PAGE.MS_BPB+FATS_NUM) ; ª®«¨ç¥á⢮ FATs
|
||||
.NEXT_ADD:
|
||||
ADD IX,DE
|
||||
ADC HL,BC
|
||||
DEC A
|
||||
JR NZ,.NEXT_ADD
|
||||
|
||||
LD (MSD_CAT_SEC),IX ; ç «ìë© á¥ªâ®à DIR
|
||||
LD (MSD_CAT_SEC2),HL ; ç «ìë© á¥ªâ®à DIR
|
||||
LD (SYS_PAGE.MSD_CAT_SEC),IX ; ç «ìë© á¥ªâ®à 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 B
|
||||
RL C
|
||||
@ -554,9 +554,9 @@ READ_BPB:
|
||||
LD C,B
|
||||
LD B,0 ; BC - ç¨á«® ä ©«®¢ëå § ¯¨á¥© ¢ ᥪâ®à¥
|
||||
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
|
||||
DEC HL
|
||||
@ -571,17 +571,17 @@ READ_BPB:
|
||||
LD E,A ; A - ç¨á«® ᥪâ®à®¢ ¢ DIR
|
||||
LD D,0
|
||||
LD BC,0
|
||||
LD (S_P_C),A
|
||||
LD (SYS_PAGE.S_P_C),A
|
||||
|
||||
ADD IX,DE ; <20> ç «® DATA area
|
||||
ADC HL,BC
|
||||
|
||||
LD (MSD_DAT_SEC),IX
|
||||
LD (MSD_DAT_SEC2),HL
|
||||
LD (SYS_PAGE.MSD_DAT_SEC),IX
|
||||
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 A,(MS_BPB+CLAST_SIZE)
|
||||
LD A,(SYS_PAGE.MS_BPB+CLAST_SIZE)
|
||||
LD D,A
|
||||
LD A,0
|
||||
.NEXT_ADD3:
|
||||
@ -590,28 +590,28 @@ READ_BPB:
|
||||
DEC D
|
||||
JR NZ,.NEXT_ADD3
|
||||
|
||||
LD (CLASTER_LEN),HL
|
||||
LD (SYS_PAGE.CLASTER_LEN),HL
|
||||
LD B,0
|
||||
LD C,A
|
||||
LD (CLASTER_LEN2),BC
|
||||
LD (SYS_PAGE.CLASTER_LEN2),BC
|
||||
|
||||
LD HL,0
|
||||
LD BC,(MS_BPB+S_P_T)
|
||||
LD A,(MS_BPB+H_P_S)
|
||||
LD BC,(SYS_PAGE.MS_BPB+S_P_T)
|
||||
LD A,(SYS_PAGE.MS_BPB+H_P_S)
|
||||
.BPB_L1:; ‚›—ˆ‘‹ˆ’œ ŠŽ‹ˆ—…‘’‚Ž ‘…Š’Ž<E28099>Ž‚ <20>€ –ˆ‹ˆ<E280B9>„<EFBFBD>
|
||||
ADD HL,BC
|
||||
DEC A
|
||||
JR NZ,.BPB_L1
|
||||
LD (S_X_H),HL
|
||||
LD (SYS_PAGE.S_X_H),HL
|
||||
;
|
||||
EX AF,AF'
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
EI
|
||||
AND A
|
||||
RET
|
||||
.ERROR_BPB:
|
||||
EX AF,AF'
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
SCF
|
||||
EI
|
||||
RET
|
||||
@ -623,59 +623,59 @@ READ_BPB:
|
||||
;********************************************
|
||||
READ_NEXT_DIR:
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
LD DE,(MSD_CONT_SEC)
|
||||
LD IX,(MSD_CONT_SEC2)
|
||||
OUT (SLOT3),A
|
||||
LD DE,(SYS_PAGE.MSD_CONT_SEC)
|
||||
LD IX,(SYS_PAGE.MSD_CONT_SEC2)
|
||||
JR READ_NEXT2
|
||||
;********************************************
|
||||
READ_1ST_DIR:
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
LD IX,(MSD_CAT_SEC2) ;
|
||||
LD DE,(MSD_CAT_SEC) ; <20>€—€‹œ<E280B9>›‰ ‘…Š’Ž<E28099> Š€’€‹Žƒ€
|
||||
LD (MSD_CONT_SEC),DE
|
||||
LD (MSD_CONT_SEC2),IX
|
||||
LD A,(S_P_C) ; ‘…Š’Ž<E28099>Ž‚ ‚ Š€’€‹Žƒ…
|
||||
LD (COUNT_SEC),A
|
||||
OUT (SLOT3),A
|
||||
LD IX,(SYS_PAGE.MSD_CAT_SEC2) ;
|
||||
LD DE,(SYS_PAGE.MSD_CAT_SEC) ; <20>€—€‹œ<E280B9>›‰ ‘…Š’Ž<E28099> Š€’€‹Žƒ€
|
||||
LD (SYS_PAGE.MSD_CONT_SEC),DE
|
||||
LD (SYS_PAGE.MSD_CONT_SEC2),IX
|
||||
LD A,(SYS_PAGE.S_P_C) ; ‘…Š’Ž<E28099>Ž‚ ‚ Š€’€‹Žƒ…
|
||||
LD (SYS_PAGE.COUNT_SEC),A
|
||||
READ_NEXT2:
|
||||
EX AF,AF'
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
; RET_PAGE3
|
||||
EI
|
||||
LD HL,MS_DIR
|
||||
LD HL,SYS_PAGE.MS_DIR
|
||||
LD A,SYS_PAGE
|
||||
LD BC,256*1 + TRDOS_ROM_CMD.READ
|
||||
CALL MSD_R_W_UT
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
|
||||
LD DE,(MSD_CONT_SEC)
|
||||
LD DE,(SYS_PAGE.MSD_CONT_SEC)
|
||||
INC DE
|
||||
LD (MSD_CONT_SEC),DE
|
||||
LD (SYS_PAGE.MSD_CONT_SEC),DE
|
||||
LD A,D
|
||||
OR E
|
||||
JR NZ,READ_NEXT3
|
||||
LD IX,(MSD_CONT_SEC2)
|
||||
LD IX,(SYS_PAGE.MSD_CONT_SEC2)
|
||||
INC IX
|
||||
LD (MSD_CONT_SEC2),IX
|
||||
LD (SYS_PAGE.MSD_CONT_SEC2),IX
|
||||
READ_NEXT3:
|
||||
LD A,(F_P_S) ; ”€‰‹Ž‚ ‚ ‘…Š’Ž<E28099>…
|
||||
LD (COUNT_FL),A
|
||||
LD A,(SYS_PAGE.F_P_S) ; ”€‰‹Ž‚ ‚ ‘…Š’Ž<E28099>…
|
||||
LD (SYS_PAGE.COUNT_FL),A
|
||||
|
||||
EX AF,AF'
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
; RET_PAGE3
|
||||
EI
|
||||
LD HL,MS_DIR
|
||||
LD HL,SYS_PAGE.MS_DIR
|
||||
AND A
|
||||
RET
|
||||
|
||||
@ -692,11 +692,11 @@ CALC_SECT_L1:
|
||||
PUSH BC
|
||||
EX DE,HL
|
||||
DI
|
||||
IN A,(PAGE3)
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (PAGE3),A
|
||||
LD BC,(MS_BPB+S_P_T)
|
||||
OUT (SLOT3),A
|
||||
LD BC,(SYS_PAGE.MS_BPB+S_P_T)
|
||||
XOR A
|
||||
LOOP_TRK:
|
||||
SBC HL,BC
|
||||
@ -711,7 +711,7 @@ SEC_ENDER:
|
||||
LD H,A ; ’<>…Š
|
||||
; LD L,L ; ‘…Š’Ž<E28099>
|
||||
EX AF,AF'
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
EI
|
||||
EX DE,HL
|
||||
POP BC
|
||||
@ -720,8 +720,8 @@ SEC_ENDER:
|
||||
;************************************************
|
||||
|
||||
REDIR_LINE_CODING:
|
||||
LD (MED_START),HL
|
||||
LD HL,(DOS_CH_ADR)
|
||||
LD (ZX_VARS.MED_START),HL
|
||||
LD HL,(ZX_VARS.DOS_CH_ADR)
|
||||
LD A,(HL)
|
||||
CP '/'
|
||||
RET Z
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
DISK_REDIR:
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
LD A,(OPER_DISK)
|
||||
LD A,(ZX_VARS.OPER_DISK)
|
||||
AND 3
|
||||
LD C,BIOS.GET_DRV_ST
|
||||
CALL EXP_FNS
|
||||
@ -24,7 +24,7 @@ ERROR_DISK:
|
||||
|
||||
RECALL_1E70:
|
||||
CALL RES_1440
|
||||
LD A,(RD_WR_COM)
|
||||
LD A,(ZX_VARS.RD_WR_COM)
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
CALL READ_TRK_NUM
|
||||
@ -52,8 +52,8 @@ TEST_RAMD:
|
||||
RET
|
||||
|
||||
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
; º RD/WR SECTOR HL - BUFER º\
|
||||
; º CONT_SEC - SEC/TRK FOR READ/WRITE º\
|
||||
; º RD/WR SECTOR HL - ZX_VARS.BUFFER º\
|
||||
; º ZX_VARS.CONT_SEC - SEC/TRK FOR READ/WRITE º\
|
||||
; º COM_RD_WR - ª®¬ ¤ ç⥨¥/§ ¯¨áì º\
|
||||
; º 0 - ç⥨¥, 255 - § ¯¨áì º\
|
||||
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\
|
||||
@ -73,14 +73,14 @@ READ_WRITE_RAMD:
|
||||
; LD HL,RAMD_KEYS
|
||||
; ADD A,L
|
||||
; LD L,A
|
||||
; IN A,(PAGE3)
|
||||
; IN A,(SLOT3)
|
||||
; LD C,A
|
||||
; LD A,SYS_PAGE
|
||||
; DI
|
||||
; OUT (PAGE3),A
|
||||
; OUT (SLOT3),A
|
||||
; LD L,(HL)
|
||||
; LD A,C
|
||||
; OUT (PAGE3),A
|
||||
; OUT (SLOT3),A
|
||||
; EI
|
||||
; LD A,L ; 1-st block
|
||||
; POP HL
|
||||
@ -97,7 +97,7 @@ READ_WRITE_RAMD:
|
||||
; PUSH DE
|
||||
; PUSH BC
|
||||
;
|
||||
; LD DE,(CONT_SEC)
|
||||
; LD DE,(ZX_VARS.CONT_SEC)
|
||||
; LD A,D ; ”ˆ‡ˆ—…‘Šˆ… -> ‹Žƒˆ—…‘Šˆ… !!!
|
||||
; RRCA
|
||||
; RRCA
|
||||
@ -111,7 +111,7 @@ READ_WRITE_RAMD:
|
||||
; AND 0FH
|
||||
; LD D,A
|
||||
;
|
||||
; LD A,(RD_WR_COM)
|
||||
; LD A,(ZX_VARS.RD_WR_COM)
|
||||
; AND A
|
||||
; JR Z,RAMD_READ
|
||||
; PUSH AF
|
||||
@ -132,7 +132,7 @@ READ_WRITE_RAMD:
|
||||
; POP HL
|
||||
; POP AF
|
||||
; OUT (RGADR),A
|
||||
; LD DE,(CONT_SEC)
|
||||
; LD DE,(ZX_VARS.CONT_SEC)
|
||||
;
|
||||
; LD A,B
|
||||
;
|
||||
@ -158,7 +158,7 @@ READ_WRITE_RAMD:
|
||||
;
|
||||
; LD B,0
|
||||
;
|
||||
; LD (CONT_SEC),DE
|
||||
; LD (ZX_VARS.CONT_SEC),DE
|
||||
; AND A
|
||||
; RET
|
||||
;
|
||||
@ -180,7 +180,7 @@ WD_WR_RAMD_LOOP:
|
||||
|
||||
RAMD_NEXT_SEC:
|
||||
PUSH HL
|
||||
LD HL,CONT_SEC
|
||||
LD HL,ZX_VARS.CONT_SEC
|
||||
LD A,16
|
||||
INC (HL)
|
||||
CP (HL)
|
||||
@ -195,15 +195,15 @@ RAMD_NEXT_1:
|
||||
RET
|
||||
|
||||
RD_WR_1SEC:
|
||||
LD DE,(CONT_SEC)
|
||||
LD DE,(ZX_VARS.CONT_SEC)
|
||||
CALL PAGE_CALC2
|
||||
DI
|
||||
LD A,(RD_WR_COM)
|
||||
LD A,(ZX_VARS.RD_WR_COM)
|
||||
AND 0C0H
|
||||
OUT (RGADR),A
|
||||
LD A,H
|
||||
CP 0A0H
|
||||
LD A,(RD_WR_COM)
|
||||
LD A,(ZX_VARS.RD_WR_COM)
|
||||
LD E,0
|
||||
LD D,C
|
||||
SET 6,D
|
||||
@ -211,7 +211,7 @@ RD_WR_1SEC:
|
||||
|
||||
RD_WR_4000:
|
||||
RES 7,D ; DE - ¤à¥á ¤ ëå RAMD
|
||||
LD C,PAGE1
|
||||
LD C,SLOT1
|
||||
EX AF,AF'
|
||||
IN A,(C)
|
||||
EX AF,AF'
|
||||
@ -229,7 +229,7 @@ MOVE_NOT_EX3:
|
||||
MOVE_NOT_EX4:
|
||||
;*******************************
|
||||
EX AF,AF'
|
||||
OUT (PAGE1),A
|
||||
OUT (SLOT1),A
|
||||
EX AF,AF'
|
||||
; RET_PAGE1
|
||||
MOVE_RET:
|
||||
@ -240,7 +240,7 @@ MOVE_RET:
|
||||
|
||||
RD_WR_C000:
|
||||
SET 7,D
|
||||
LD C,PAGE3
|
||||
LD C,SLOT3
|
||||
EX AF,AF'
|
||||
IN A,(C)
|
||||
EX AF,AF'
|
||||
@ -258,7 +258,7 @@ MOVE_NOT_EX1:
|
||||
MOVE_NOT_EX2:
|
||||
;*******************************
|
||||
EX AF,AF'
|
||||
OUT (PAGE3),A
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
; RET_PAGE3
|
||||
JR MOVE_RET
|
||||
@ -296,7 +296,7 @@ PAGE_CALC2:
|
||||
|
||||
;*********************************************
|
||||
RAMD_X12: ; ¯à®¢¥àª ¤¨áª
|
||||
LD (OPER_DISK),A
|
||||
LD (ZX_VARS.OPER_DISK),A
|
||||
CALL DISK_REDIR
|
||||
CP 4
|
||||
JR C,X_AUTO_3DCE
|
||||
@ -308,7 +308,7 @@ NO_DISK2:
|
||||
|
||||
X_AUTO_3DCE:
|
||||
CALL RES_1440
|
||||
LD A,(OPER_DISK)
|
||||
LD A,(ZX_VARS.OPER_DISK)
|
||||
JP AUTO_3DCE
|
||||
|
||||
;*************************************
|
||||
@ -325,7 +325,7 @@ RAMD_X14: ; FORMATING
|
||||
JP READ_ONLY
|
||||
|
||||
DISK_FORM:
|
||||
LD A,(MED_START+1)
|
||||
LD A,(ZX_VARS.MED_START+1)
|
||||
CP 14H
|
||||
JR Z,QVICK_FORMAT
|
||||
POP HL
|
||||
@ -356,15 +356,15 @@ RAMD_FORMAT:
|
||||
CALL GET_RAM_BLK ; ‚›„…‹…<E280B9>ˆ… <20>€ŒŸ’ˆ
|
||||
; LD C,A ; Š‹ž— RAM-Disk
|
||||
Q_FORM_1:
|
||||
LD HL,BUFER ; CLEAR DISK BUFER
|
||||
LD DE,BUFER+1
|
||||
LD HL,ZX_VARS.BUFFER ; CLEAR DISK ZX_VARS.BUFFER
|
||||
LD DE,ZX_VARS.BUFFER+1
|
||||
LD BC,0FFh
|
||||
LD (HL),0
|
||||
LDIR
|
||||
|
||||
LD DE,0
|
||||
RAMD_F_LOOP:
|
||||
LD HL,BUFER
|
||||
LD HL,ZX_VARS.BUFFER
|
||||
LD B,1
|
||||
PUSH DE
|
||||
CALL WRITE_DISK
|
||||
@ -391,7 +391,7 @@ CLEAR_RAMD:
|
||||
CLEAR_NEXT:
|
||||
SUB 4
|
||||
RET C
|
||||
CP RAMD_KEY_NUM
|
||||
CP SYS_PAGE.RAMD_KEYS.NUM
|
||||
CCF
|
||||
RET C
|
||||
|
||||
@ -429,7 +429,7 @@ READ_ONLY:
|
||||
JP ERR_EXIT
|
||||
|
||||
FDD_SET:
|
||||
LD A,(OPER_DISK)
|
||||
LD A,(ZX_VARS.OPER_DISK)
|
||||
LD B,A
|
||||
LD C,BIOS.FDD_TO_DRV
|
||||
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||
@ -447,7 +447,7 @@ HDD_SET:;!TEST 06/01/2024 㡨ࠥ
|
||||
;
|
||||
JP C,HDD_PROG_E
|
||||
|
||||
LD A,(OPER_DISK)
|
||||
LD A,(ZX_VARS.OPER_DISK)
|
||||
LD B,A
|
||||
XOR A
|
||||
LD C,BIOS.HDD_TO_DRV
|
||||
@ -463,7 +463,7 @@ RAMD_SET:
|
||||
RET C
|
||||
RAMD_SET1:
|
||||
PUSH AF
|
||||
LD A,(OPER_DISK)
|
||||
LD A,(ZX_VARS.OPER_DISK)
|
||||
LD B,A
|
||||
POP AF
|
||||
LD C,BIOS.RAMD_TO_DRV
|
||||
@ -505,7 +505,7 @@ RAMD_SYM_OK:
|
||||
;[ ] 07/01/2024
|
||||
CHOOSE_HDD:
|
||||
PUSH DE
|
||||
LD A,(OPER_DISK)
|
||||
LD A,(ZX_VARS.OPER_DISK)
|
||||
LD C,BIOS.GET_DRV_ST
|
||||
CALL EXP_FNS
|
||||
POP DE
|
||||
|
||||
Loading…
Reference in New Issue
Block a user