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:
|
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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user