mirror of
https://github.com/Tolik-Trek/ZX-SP-ROMs.git
synced 2026-06-15 09:21:45 +03:00
замена HD_CMD на EXP_FNS в TRDOS. Мелкие фиксы
This commit is contained in:
parent
7c6a680d63
commit
d9d14974c0
336
SP_TRDOS.ASM
336
SP_TRDOS.ASM
@ -12,74 +12,87 @@
|
|||||||
INCLUDE 'inc/rom_routines.inc'
|
INCLUDE 'inc/rom_routines.inc'
|
||||||
INCLUDE 'Shared_Includes/constants/zx_char_codes.inc'
|
INCLUDE 'Shared_Includes/constants/zx_char_codes.inc'
|
||||||
INCLUDE 'Shared_Includes/constants/BIOS_equ.inc'
|
INCLUDE 'Shared_Includes/constants/BIOS_equ.inc'
|
||||||
;***************************************
|
|
||||||
;CNF_PORT EQU #74
|
|
||||||
AUTO_4000 EQU 04000H
|
|
||||||
AUTO_4010 EQU 04010H
|
|
||||||
AUTO_4011 EQU 04011H
|
|
||||||
AUTO_4020 EQU 04020H
|
|
||||||
AUTO_4080 EQU 04080H
|
|
||||||
AUTO_40E1 EQU 040E1H
|
|
||||||
AUTO_40E3 EQU 040E3H
|
|
||||||
AUTO_40E4 EQU 040E4H
|
|
||||||
AUTO_40E5 EQU 040E5H
|
|
||||||
AUTO_40F0 EQU 040F0H
|
|
||||||
AUTO_40F1 EQU 040F1H
|
|
||||||
AUTO_40FF EQU 040FFH
|
|
||||||
AUTO_4100 EQU 04100H
|
|
||||||
AUTO_4101 EQU 04101H
|
|
||||||
AUTO_4102 EQU 04102H
|
|
||||||
AUTO_4103 EQU 04103H
|
|
||||||
AUTO_4110 EQU 04110H
|
|
||||||
AUTO_4111 EQU 04111H
|
|
||||||
AUTO_4118 EQU 04118H
|
|
||||||
AUTO_4119 EQU 04119H
|
|
||||||
AUTO_411B EQU 0411BH
|
|
||||||
AUTO_411D EQU 0411DH
|
|
||||||
AUTO_411E EQU 0411EH
|
|
||||||
AUTO_4130 EQU 04130H
|
|
||||||
AUTO_4140 EQU 04140H
|
|
||||||
AUTO_41FF EQU 041FFH
|
|
||||||
AUTO_5220 EQU 05220H
|
|
||||||
AUTO_58E8 EQU 058E8H
|
|
||||||
|
|
||||||
AUTO_5E34 EQU 05E34H
|
TRDOS_ROM_CMD:
|
||||||
AUTO_5F00 EQU 05F00H
|
.READ_BPB EQU BIOS.HDD_READ_BPB and #BF
|
||||||
AUTO_5F10 EQU 05F10H
|
.READ EQU BIOS.HDD_READ and #BF
|
||||||
AUTO_5F12 EQU 05F12H
|
.WRITE EQU BIOS.HDD_WRITE and #BF
|
||||||
AUTO_6000 EQU 06000H
|
;***************************************
|
||||||
PORT_128 EQU 07FFDH
|
|
||||||
AUTO_A1DB EQU 0A1DBH
|
|
||||||
AUTO_B0ED EQU 0B0EDH
|
;CNF_PORT EQU #74
|
||||||
AUTO_B8ED EQU 0B8EDH
|
AUTO_4000 EQU #4000
|
||||||
AUTO_C000 EQU 0C000H
|
AUTO_4010 EQU #4010
|
||||||
AUTO_C130 EQU 0C130H
|
AUTO_4011 EQU #4011
|
||||||
AUTO_C308 EQU 0C308H
|
AUTO_4020 EQU #4020
|
||||||
AUTO_C916 EQU 0C916H
|
AUTO_4080 EQU #4080
|
||||||
AUTO_FE15 EQU 0FE15H
|
AUTO_40E1 EQU #40E1
|
||||||
AUTO_FF00 EQU 0FF00H
|
AUTO_40E3 EQU #40E3
|
||||||
AUTO_FFFF EQU 0FFFFH
|
AUTO_40E4 EQU #40E4
|
||||||
|
AUTO_40E5 EQU #40E5
|
||||||
|
AUTO_40F0 EQU #40F0
|
||||||
|
AUTO_40F1 EQU #40F1
|
||||||
|
AUTO_40FF EQU #40FF
|
||||||
|
AUTO_4100 EQU #4100
|
||||||
|
AUTO_4101 EQU #4101
|
||||||
|
AUTO_4102 EQU #4102
|
||||||
|
AUTO_4103 EQU #4103
|
||||||
|
AUTO_4110 EQU #4110
|
||||||
|
AUTO_4111 EQU #4111
|
||||||
|
AUTO_4118 EQU #4118
|
||||||
|
AUTO_4119 EQU #4119
|
||||||
|
AUTO_411B EQU #411B
|
||||||
|
AUTO_411D EQU #411D
|
||||||
|
AUTO_411E EQU #411E
|
||||||
|
AUTO_4130 EQU #4130
|
||||||
|
AUTO_4140 EQU #4140
|
||||||
|
AUTO_41FF EQU #41FF
|
||||||
|
AUTO_5220 EQU #5220
|
||||||
|
AUTO_58E8 EQU #58E8
|
||||||
|
|
||||||
|
AUTO_5E34 EQU #5E34
|
||||||
|
AUTO_5F00 EQU #5F00
|
||||||
|
AUTO_5F10 EQU #5F10
|
||||||
|
AUTO_5F12 EQU #5F12
|
||||||
|
AUTO_6000 EQU #6000
|
||||||
|
PORT_128 EQU #7FFD
|
||||||
|
AUTO_A1DB EQU #A1DB
|
||||||
|
AUTO_B0ED EQU #B0ED
|
||||||
|
AUTO_B8ED EQU #B8ED
|
||||||
|
AUTO_C000 EQU #C000
|
||||||
|
AUTO_C130 EQU #C130
|
||||||
|
AUTO_C308 EQU #C308
|
||||||
|
AUTO_C916 EQU #C916
|
||||||
|
AUTO_FE15 EQU #FE15
|
||||||
|
AUTO_FF00 EQU #FF00
|
||||||
|
AUTO_FFFF EQU #FFFF
|
||||||
|
|
||||||
;****************************************
|
;****************************************
|
||||||
|
|
||||||
DISPLAY "Start."
|
DISPLAY "Start."
|
||||||
START:
|
START: DI
|
||||||
DI
|
LD DE,#FFFF
|
||||||
LD DE,0FFFFh
|
|
||||||
LD A,7
|
LD A,7
|
||||||
JR CONT_1
|
JR CONT_1
|
||||||
RST08:
|
RST08:
|
||||||
NOP
|
NOP
|
||||||
CONT_1:
|
CONT_1:
|
||||||
OUT (0FEH),A
|
OUT (#FE),A
|
||||||
LD A,'?'
|
LD A,'?'
|
||||||
JR CONT_2
|
JR CONT_2
|
||||||
NOP
|
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
BLOCK #10-$,0
|
||||||
RST10:
|
RST10:
|
||||||
JP PRINT_SYM
|
JP PRINT_SYM
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
CONT_2:
|
CONT_2:
|
||||||
LD I,A
|
LD I,A
|
||||||
JP CONT_3
|
JP CONT_3
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
BLOCK #18-$,0
|
||||||
PRINT_LN:
|
PRINT_LN:
|
||||||
JP PRINT_L
|
JP PRINT_L
|
||||||
CONT_3:
|
CONT_3:
|
||||||
@ -88,32 +101,39 @@ CONT_3:
|
|||||||
NOP
|
NOP
|
||||||
AUTO_001E:
|
AUTO_001E:
|
||||||
JR CONT_4
|
JR CONT_4
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
BLOCK #20-$,0
|
||||||
RST20:
|
RST20:
|
||||||
JP RST20_EXE
|
JP RST20_EXE
|
||||||
RET
|
RET
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
CONT_4:
|
CONT_4:
|
||||||
LD H,D
|
LD H,D
|
||||||
LD L,E
|
LD L,E
|
||||||
JR CONT_5
|
JR CONT_5
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
BLOCK #28-$,0
|
||||||
RST28:
|
RST28:
|
||||||
JP RST28_EXE
|
JP RST28_EXE
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
CONT_5:
|
CONT_5:
|
||||||
LD (HL),2
|
LD (HL),2
|
||||||
DEC HL
|
DEC HL
|
||||||
CP H
|
CP H
|
||||||
JR NZ,CONT_5
|
JR NZ,CONT_5
|
||||||
JR CONT_6
|
JR CONT_6
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
REDIR_RST38:
|
REDIR_RST38:
|
||||||
|
BLOCK #38-$,#FF
|
||||||
; JP RST38X
|
; JP RST38X
|
||||||
; EI
|
; EI
|
||||||
; RET
|
; RET
|
||||||
RST 38H
|
R38: EI
|
||||||
RST 38H
|
|
||||||
RST 38H
|
|
||||||
RST 38H
|
|
||||||
RST 38H
|
|
||||||
R38:
|
|
||||||
EI
|
|
||||||
RET
|
RET
|
||||||
CONT_6:
|
CONT_6:
|
||||||
OR A
|
OR A
|
||||||
@ -128,25 +148,33 @@ CONT_6:
|
|||||||
CONT_7:
|
CONT_7:
|
||||||
DEC HL
|
DEC HL
|
||||||
LD (P_RAMTOP),HL
|
LD (P_RAMTOP),HL
|
||||||
LD DE,3EAFh
|
LD DE,#3EAF
|
||||||
LD BC,00A8h
|
LD BC,#00A8
|
||||||
LD A,E
|
LD A,E
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
LD SP,6000h
|
LD SP,#6000
|
||||||
LD (AUTO_5F00),HL
|
LD (AUTO_5F00),HL
|
||||||
LD HL,RET_1
|
LD HL,RET_1
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,3D2Fh
|
LD HL,#3D2F
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,0B8EDh
|
LD HL,#B8ED
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
BLOCK #64-$,0
|
||||||
AUTO_0064:
|
AUTO_0064:
|
||||||
JR CONT_8
|
JR CONT_8
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
BLOCK #66-$,0
|
||||||
;********** MAGIC ***********
|
;********** MAGIC ***********
|
||||||
; JP MAGIC_1 ;AUTO_2A56
|
; JP MAGIC_1 ;AUTO_2A56
|
||||||
RETN
|
RETN
|
||||||
NOP
|
NOP
|
||||||
;*********************************
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
CONT_8:
|
CONT_8:
|
||||||
LD (AUTO_5F10),HL
|
LD (AUTO_5F10),HL
|
||||||
PUSH AF
|
PUSH AF
|
||||||
@ -567,6 +595,7 @@ AUTO_03CD:
|
|||||||
LD A,(MSG_FLAG)
|
LD A,(MSG_FLAG)
|
||||||
OR A
|
OR A
|
||||||
CALL Z,PRINT_L
|
CALL Z,PRINT_L
|
||||||
|
;!FIXIT Žè¨¡ª !!! <20>¥à¥¤ ¯¥ç âìî ¤® ®âªàëâì ¯®â®ª 0 ¨ ®ç¨áâ¨âì ¨§ íªà .
|
||||||
RET
|
RET
|
||||||
AUTO_03D9:
|
AUTO_03D9:
|
||||||
LD HL,AUTO_2A28
|
LD HL,AUTO_2A28
|
||||||
@ -597,9 +626,16 @@ RD_HEAD_DSK:
|
|||||||
LD A,(CODE_10H)
|
LD A,(CODE_10H)
|
||||||
CP 16
|
CP 16
|
||||||
JR Z,AUTO_0415
|
JR Z,AUTO_0415
|
||||||
LD HL,DISK_ERROR_MSG
|
;!TEST
|
||||||
RST PRINT_LN
|
; <20>¥¯à ¢¨«ì® ®¡à ¡ âë¢ « áì ®è¨¡ª . <20>à®£à ¬¬ ¥ ¯®«ãç « ª®¤
|
||||||
JR AUTO_03C0
|
; ®è¨¡ª¨, ¢¨§ã íªà ᮢ¥à襮 ¥ ª ¬¥áâã ¯®ï¢«ï«áï DISK ERROR.
|
||||||
|
;LD HL,DISK_ERROR_MSG
|
||||||
|
;RST PRINT_LN
|
||||||
|
;JR AUTO_03C0
|
||||||
|
LD HL,DISK_ERROR_MSG
|
||||||
|
JP RD_HEAD_DSK.FIXED
|
||||||
|
;
|
||||||
|
|
||||||
AUTO_0415:
|
AUTO_0415:
|
||||||
CALL get_disk_type
|
CALL get_disk_type
|
||||||
RES 0,(HL)
|
RES 0,(HL)
|
||||||
@ -659,8 +695,11 @@ AUTO_0479:
|
|||||||
PUSH AF
|
PUSH AF
|
||||||
CALL Z,AUTO_1D97
|
CALL Z,AUTO_1D97
|
||||||
POP AF
|
POP AF
|
||||||
CP 17
|
;!TEST
|
||||||
JP NC,CMD_ERROR
|
;CP 17
|
||||||
|
CP #10
|
||||||
|
;
|
||||||
|
JP NC,CMD_ERROR
|
||||||
CALL AUTO_1D84
|
CALL AUTO_1D84
|
||||||
LD A,255
|
LD A,255
|
||||||
LD (DISK_1_FLG),A
|
LD (DISK_1_FLG),A
|
||||||
@ -846,8 +885,10 @@ AUTO_05BD:
|
|||||||
AUTO_05CB:
|
AUTO_05CB:
|
||||||
LD A,(FL_NAME)
|
LD A,(FL_NAME)
|
||||||
CP '*'
|
CP '*'
|
||||||
JP NZ,AUTO_03D9
|
;JP NZ,AUTO_03D9
|
||||||
CALL BAS_2BF1
|
JR Z,.next
|
||||||
|
RET
|
||||||
|
.next: CALL BAS_2BF1
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
CALL SET_DRIVE
|
CALL SET_DRIVE
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
@ -876,7 +917,7 @@ AUTO_05F4:
|
|||||||
JR Z,AUTO_05F4
|
JR Z,AUTO_05F4
|
||||||
LD HL,FL_START
|
LD HL,FL_START
|
||||||
LD DE,VAR_2
|
LD DE,VAR_2
|
||||||
LD BC,START+7
|
LD BC,7
|
||||||
LDIR
|
LDIR
|
||||||
LD A,(DISK_2_FLG)
|
LD A,(DISK_2_FLG)
|
||||||
CALL SET_DISK
|
CALL SET_DISK
|
||||||
@ -897,7 +938,7 @@ AUTO_063C:
|
|||||||
JP Z,AUTO_1C45
|
JP Z,AUTO_1C45
|
||||||
LD HL,VAR_2
|
LD HL,VAR_2
|
||||||
LD DE,FL_START
|
LD DE,FL_START
|
||||||
LD BC,START+7
|
LD BC,7
|
||||||
LDIR
|
LDIR
|
||||||
LD DE,(FL_SIZE)
|
LD DE,(FL_SIZE)
|
||||||
LD D,0
|
LD D,0
|
||||||
@ -945,11 +986,15 @@ CMD_COPY:
|
|||||||
CALL AUTO_1CB0
|
CALL AUTO_1CB0
|
||||||
LD A,(OPER_DISK)
|
LD A,(OPER_DISK)
|
||||||
LD (DISK_1_FLG),A
|
LD (DISK_1_FLG),A
|
||||||
JP NZ,AUTO_05CB
|
;!TEST Žè¨¡ª !!! COPY "*","*" ¤® ¯à®¢¥àïâì ¢á¥£¤ , ¨ ç¥ ¯à¨
|
||||||
|
; «¨ç¨¨ ¤¨áª¥ ä ©« á ¨¬¥¥¬ "*" ᪮¯¨àã¥âáï ⮫쪮 íâ®â ä ©«
|
||||||
|
;JP NZ,AUTO_05CB
|
||||||
|
CALL CMD_COPY.FIXED
|
||||||
|
;
|
||||||
CALL AUTO_165D
|
CALL AUTO_165D
|
||||||
LD HL,FL_START
|
LD HL,FL_START
|
||||||
LD DE,VAR_2
|
LD DE,VAR_2
|
||||||
LD BC,START+7
|
LD BC,7
|
||||||
LDIR
|
LDIR
|
||||||
CALL AUTO_1CB0
|
CALL AUTO_1CB0
|
||||||
PUSH AF
|
PUSH AF
|
||||||
@ -987,7 +1032,7 @@ AUTO_0716:
|
|||||||
CALL AUTO_165D
|
CALL AUTO_165D
|
||||||
LD HL,FL_START
|
LD HL,FL_START
|
||||||
LD DE,VAR_2
|
LD DE,VAR_2
|
||||||
LD BC,START+7
|
LD BC,7
|
||||||
LDIR
|
LDIR
|
||||||
LD A,(DISK_2_FLG)
|
LD A,(DISK_2_FLG)
|
||||||
CALL SET_DISK
|
CALL SET_DISK
|
||||||
@ -1378,7 +1423,7 @@ AUTO_11B0:
|
|||||||
;
|
;
|
||||||
CMD_LIST:
|
CMD_LIST:
|
||||||
CALL TEST_CR
|
CALL TEST_CR
|
||||||
LD BC,START+2
|
LD BC,2
|
||||||
LD (MED_LEN),BC
|
LD (MED_LEN),BC
|
||||||
JR Z,AUTO_1205
|
JR Z,AUTO_1205
|
||||||
CP '#'
|
CP '#'
|
||||||
@ -1438,7 +1483,7 @@ AUTO_123E:
|
|||||||
CALL PRINT_SYM
|
CALL PRINT_SYM
|
||||||
CALL PRINT_CR
|
CALL PRINT_CR
|
||||||
LD HL,(VAR_1)
|
LD HL,(VAR_1)
|
||||||
LD BC,START+3
|
LD BC,3
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
LD HL,(VAR_1)
|
LD HL,(VAR_1)
|
||||||
@ -1450,7 +1495,7 @@ AUTO_123E:
|
|||||||
LD HL,AUTO_10AA
|
LD HL,AUTO_10AA
|
||||||
RST PRINT_LN
|
RST PRINT_LN
|
||||||
LD HL,(VAR_1)
|
LD HL,(VAR_1)
|
||||||
LD BC,START+2
|
LD BC,2
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
LD HL,AUTO_10CE
|
LD HL,AUTO_10CE
|
||||||
@ -1474,7 +1519,7 @@ AUTO_1292:
|
|||||||
LD HL,AUTO_111E
|
LD HL,AUTO_111E
|
||||||
RST PRINT_LN
|
RST PRINT_LN
|
||||||
LD HL,(VAR_1)
|
LD HL,(VAR_1)
|
||||||
LD BC,START+4
|
LD BC,4
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
LD C,(HL)
|
LD C,(HL)
|
||||||
INC HL
|
INC HL
|
||||||
@ -1551,7 +1596,7 @@ AUTO_1303:
|
|||||||
CALL PRINT_CR
|
CALL PRINT_CR
|
||||||
JP AUTO_123E
|
JP AUTO_123E
|
||||||
AUTO_131B:
|
AUTO_131B:
|
||||||
LD BC,START+5
|
LD BC,5
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
LD B,(HL)
|
LD B,(HL)
|
||||||
INC HL
|
INC HL
|
||||||
@ -1638,7 +1683,7 @@ AUTO_13B7:
|
|||||||
CALL AUTO_165D
|
CALL AUTO_165D
|
||||||
LD HL,FL_START
|
LD HL,FL_START
|
||||||
LD DE,VAR_2
|
LD DE,VAR_2
|
||||||
LD BC,START+7
|
LD BC,7
|
||||||
LDIR
|
LDIR
|
||||||
LD A,(VAR_2_0)
|
LD A,(VAR_2_0)
|
||||||
LD (ERR_3D00),A
|
LD (ERR_3D00),A
|
||||||
@ -1679,7 +1724,7 @@ AUTO_1403:
|
|||||||
JP Z,AUTO_2723
|
JP Z,AUTO_2723
|
||||||
LD HL,VAR_2
|
LD HL,VAR_2
|
||||||
LD DE,FL_START
|
LD DE,FL_START
|
||||||
LD BC,START+7
|
LD BC,7
|
||||||
LDIR
|
LDIR
|
||||||
CALL AUTO_03FD
|
CALL AUTO_03FD
|
||||||
LD A,(ERR_3D00)
|
LD A,(ERR_3D00)
|
||||||
@ -1839,7 +1884,7 @@ AUTO_1575:
|
|||||||
SBC HL,BC
|
SBC HL,BC
|
||||||
LD (FL_TYPE),HL
|
LD (FL_TYPE),HL
|
||||||
LD (FL_N_2),HL
|
LD (FL_N_2),HL
|
||||||
LD HL,START
|
LD HL,0
|
||||||
LD (FL_N_4),HL
|
LD (FL_N_4),HL
|
||||||
LD (FL_N_6),HL
|
LD (FL_N_6),HL
|
||||||
CALL AUTO_15B8
|
CALL AUTO_15B8
|
||||||
@ -1890,7 +1935,7 @@ AUTO_15DB:
|
|||||||
POP BC
|
POP BC
|
||||||
JP NC,AUTO_1644
|
JP NC,AUTO_1644
|
||||||
LD BC,(FL_TYPE)
|
LD BC,(FL_TYPE)
|
||||||
LD HL,START
|
LD HL,0
|
||||||
LD (FL_TYPE),HL
|
LD (FL_TYPE),HL
|
||||||
AUTO_15F8:
|
AUTO_15F8:
|
||||||
PUSH BC
|
PUSH BC
|
||||||
@ -1976,6 +2021,7 @@ AUTO_168F:
|
|||||||
LD B,A
|
LD B,A
|
||||||
LD C,0
|
LD C,0
|
||||||
RET
|
RET
|
||||||
|
;
|
||||||
LD (MED_START),HL
|
LD (MED_START),HL
|
||||||
LD (MED_LEN),HL
|
LD (MED_LEN),HL
|
||||||
LD DE,(FL_SIZE)
|
LD DE,(FL_SIZE)
|
||||||
@ -2001,7 +2047,7 @@ CMD_MOVE:
|
|||||||
SUB 9
|
SUB 9
|
||||||
LD (L_5D23),A
|
LD (L_5D23),A
|
||||||
LD HL,(FL_N_4)
|
LD HL,(FL_N_4)
|
||||||
LD DE,START
|
LD DE,0
|
||||||
LD B,9
|
LD B,9
|
||||||
CALL READ_DISK
|
CALL READ_DISK
|
||||||
LD HL,(FL_N_4)
|
LD HL,(FL_N_4)
|
||||||
@ -2085,7 +2131,7 @@ CMD_MOVE:
|
|||||||
ADD HL,DE
|
ADD HL,DE
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
LD HL,(FL_N_4)
|
LD HL,(FL_N_4)
|
||||||
LD DE,START
|
LD DE,0
|
||||||
LD B,9
|
LD B,9
|
||||||
CALL WRITE_DISK
|
CALL WRITE_DISK
|
||||||
LD A,(L_5D23)
|
LD A,(L_5D23)
|
||||||
@ -2469,11 +2515,11 @@ AUTO_1A01:
|
|||||||
LD DE,(FL_START)
|
LD DE,(FL_START)
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,START
|
LD HL,0
|
||||||
LD A,(DISK_2_FLG)
|
LD A,(DISK_2_FLG)
|
||||||
CP 255
|
CP 255
|
||||||
JR Z,AUTO_1A20
|
JR Z,AUTO_1A20
|
||||||
LD HL,START+5
|
LD HL,5
|
||||||
AUTO_1A20:
|
AUTO_1A20:
|
||||||
ADD HL,DE
|
ADD HL,DE
|
||||||
LD (MED_LEN),HL
|
LD (MED_LEN),HL
|
||||||
@ -2586,7 +2632,7 @@ AUTO_1AC4:
|
|||||||
;
|
;
|
||||||
CMD_SAVE:
|
CMD_SAVE:
|
||||||
CALL AUTO_1852
|
CALL AUTO_1852
|
||||||
LD HL,START
|
LD HL,0
|
||||||
LD (AUTO_5CD1),HL
|
LD (AUTO_5CD1),HL
|
||||||
CALL INPUT_TXT
|
CALL INPUT_TXT
|
||||||
CALL AUTO_1D8C
|
CALL AUTO_1D8C
|
||||||
@ -2734,7 +2780,7 @@ AUTO_1BDE:
|
|||||||
AUTO_1BFC:
|
AUTO_1BFC:
|
||||||
CALL AUTO_1C1B
|
CALL AUTO_1C1B
|
||||||
RET NC
|
RET NC
|
||||||
LD HL,START
|
LD HL,0
|
||||||
LD (DOS_CH_ADR),HL
|
LD (DOS_CH_ADR),HL
|
||||||
LD A,(DISK_2_FLG)
|
LD A,(DISK_2_FLG)
|
||||||
CP 255
|
CP 255
|
||||||
@ -3121,8 +3167,8 @@ AUTO_1E67:
|
|||||||
LD (CONT_SEC),DE
|
LD (CONT_SEC),DE
|
||||||
JP R_W_REDIR
|
JP R_W_REDIR
|
||||||
|
|
||||||
LD (HL),30 ; <20>… ¨á¯. !!!
|
;LD (HL),30 ; <20>… ¨á¯. !!!
|
||||||
|
BLOCK #1E70-$,0
|
||||||
AUTO_1E70:
|
AUTO_1E70:
|
||||||
POP HL
|
POP HL
|
||||||
POP BC
|
POP BC
|
||||||
@ -3182,7 +3228,7 @@ AUTO_1EBC:
|
|||||||
;
|
;
|
||||||
;
|
;
|
||||||
CMD_FORMAT:
|
CMD_FORMAT:
|
||||||
LD HL,START
|
LD HL,0
|
||||||
LD (MED_START),HL
|
LD (MED_START),HL
|
||||||
LD (DOS_CH_ADR),HL
|
LD (DOS_CH_ADR),HL
|
||||||
LD (AUTO_5CD1),HL
|
LD (AUTO_5CD1),HL
|
||||||
@ -3711,7 +3757,7 @@ AUTO_229A:
|
|||||||
LD (DOS_CH_ADR),HL
|
LD (DOS_CH_ADR),HL
|
||||||
CALL AUTO_1AC4
|
CALL AUTO_1AC4
|
||||||
CALL AUTO_1B59
|
CALL AUTO_1B59
|
||||||
LD HL,START
|
LD HL,0
|
||||||
LD (FL_LEN),HL
|
LD (FL_LEN),HL
|
||||||
CALL AUTO_166B
|
CALL AUTO_166B
|
||||||
JP AUTO_1E43
|
JP AUTO_1E43
|
||||||
@ -4127,7 +4173,7 @@ AUTO_2504:
|
|||||||
RST RST28
|
RST RST28
|
||||||
LD B,(HL)
|
LD B,(HL)
|
||||||
XOR A
|
XOR A
|
||||||
LD HL,START
|
LD HL,0
|
||||||
LD (MED_LEN),HL
|
LD (MED_LEN),HL
|
||||||
AUTO_2538:
|
AUTO_2538:
|
||||||
ADD HL,DE
|
ADD HL,DE
|
||||||
@ -4455,8 +4501,8 @@ AUTO_276B:
|
|||||||
AUTO_2779:
|
AUTO_2779:
|
||||||
DB "BACKUP DISK",141
|
DB "BACKUP DISK",141
|
||||||
AUTO_2785:
|
AUTO_2785:
|
||||||
DB "Insert Destination disk",13,"then "
|
DB "Insert Destination disk",13
|
||||||
DB "press Y",0
|
DB "then press Y",0
|
||||||
AUTO_27AA:
|
AUTO_27AA:
|
||||||
DB "Insert Source disk then press Y",0
|
DB "Insert Source disk then press Y",0
|
||||||
AUTO_27CA:
|
AUTO_27CA:
|
||||||
@ -4469,13 +4515,16 @@ AUTO_27ED:
|
|||||||
DB "Directory full",141
|
DB "Directory full",141
|
||||||
AUTO_27FC:
|
AUTO_27FC:
|
||||||
DB "No disk",141
|
DB "No disk",141
|
||||||
DISPLAY "10k"
|
|
||||||
|
DISPLAY "10k"
|
||||||
|
|
||||||
AUTO_2804:
|
AUTO_2804:
|
||||||
DB "Stream opened",141
|
DB "Stream opened",141
|
||||||
AUTO_2812:
|
AUTO_2812:
|
||||||
DB "Not disk file",141
|
DB "Not disk file",141
|
||||||
AUTO_2820:
|
AUTO_2820:
|
||||||
DB "File exists",13,"Over write?(Y/N",169
|
DB "File exists",13
|
||||||
|
DC "Over write?(Y/N)"
|
||||||
AUTO_283C:
|
AUTO_283C:
|
||||||
PUSH AF
|
PUSH AF
|
||||||
PUSH BC
|
PUSH BC
|
||||||
@ -4489,7 +4538,7 @@ AUTO_283C:
|
|||||||
POP AF
|
POP AF
|
||||||
LD HL,AUTO_0201
|
LD HL,AUTO_0201
|
||||||
LD (ADR_RET),HL
|
LD (ADR_RET),HL
|
||||||
LD HL,START
|
LD HL,0
|
||||||
ADD HL,SP
|
ADD HL,SP
|
||||||
LD (DOS_SP),HL
|
LD (DOS_SP),HL
|
||||||
DEC HL
|
DEC HL
|
||||||
@ -4711,34 +4760,20 @@ CMD_80: LD A,#80 ;
|
|||||||
;
|
;
|
||||||
;
|
;
|
||||||
;€¤à¥á #29B2. ’¥ªáâë á®®¡é¥¨© TR-DOS.
|
;€¤à¥á #29B2. ’¥ªáâë á®®¡é¥¨© TR-DOS.
|
||||||
AUTO_29B2:
|
AUTO_29B2: DB 13, "*ERROR*", 141
|
||||||
DB 13,"*ERROR*",141
|
AUTO_29BB: DB 13, "No space", 141
|
||||||
AUTO_29BB:
|
AUTO_29C5: DB 13, "File exists", 141
|
||||||
DB 13,"No space",141
|
AUTO_29D2: DB " Free", 141
|
||||||
AUTO_29C5:
|
READ_ONLY_MSG: DC 13, "Read Only"
|
||||||
DB 13,"File exists",141
|
DISK_ERROR_MSG: DC 13, "Disk Error"
|
||||||
AUTO_29D2:
|
AUTO_29ED: DC 13, "Rec. O/F"
|
||||||
DB " Free",141
|
AUTO_29F7: DC "Title: "
|
||||||
READ_ONLY_MSG:
|
AUTO_29FE: DZ 13, "Retry,Abort,Ignore?"
|
||||||
DB 13,"Read Onl",249
|
AUTO_2A13: DC 13, "Trk "
|
||||||
DISK_ERROR_MSG:
|
AUTO_2A18: DC " sec "
|
||||||
DB 13,"Disc Erro",242
|
AUTO_2A1D: DB " Del. File", 141
|
||||||
AUTO_29ED:
|
AUTO_2A28: DB 13, "No"
|
||||||
DB 13,"Rec. O/",198
|
AUTO_2A2B: DZ " File(s)", 141
|
||||||
AUTO_29F7:
|
|
||||||
DB "Title:",160
|
|
||||||
AUTO_29FE:
|
|
||||||
DB 13,"Retry,Abort,Ignore?",0
|
|
||||||
AUTO_2A13:
|
|
||||||
DB 13,"Trk",160
|
|
||||||
AUTO_2A18:
|
|
||||||
DB " sec",160
|
|
||||||
AUTO_2A1D:
|
|
||||||
DB " Del. File",141
|
|
||||||
AUTO_2A28:
|
|
||||||
DB 13,"No"
|
|
||||||
AUTO_2A2B:
|
|
||||||
DB " File(s)",141,0
|
|
||||||
AUTO_2A35:
|
AUTO_2A35:
|
||||||
LD HL,AUTO_2A41
|
LD HL,AUTO_2A41
|
||||||
LD DE,AUTO_4080
|
LD DE,AUTO_4080
|
||||||
@ -4778,7 +4813,7 @@ AUTO_2A56:
|
|||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,R
|
LD A,R
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD HL,START
|
LD HL,0
|
||||||
ADD HL,SP
|
ADD HL,SP
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD A,3Ch
|
LD A,3Ch
|
||||||
@ -4872,13 +4907,13 @@ AUTO_2B09:
|
|||||||
INC HL
|
INC HL
|
||||||
LD (HL),D
|
LD (HL),D
|
||||||
LD HL,AUTO_4000
|
LD HL,AUTO_4000
|
||||||
LD DE,START
|
LD DE,0
|
||||||
IN A,(WG_SEC)
|
IN A,(WG_SEC)
|
||||||
DEC A
|
DEC A
|
||||||
LD E,A
|
LD E,A
|
||||||
LD B,1
|
LD B,1
|
||||||
CALL AUTO_2D73
|
CALL AUTO_2D73
|
||||||
LD HL,START
|
LD HL,0
|
||||||
ADD HL,SP
|
ADD HL,SP
|
||||||
LD (AUTO_4140),HL
|
LD (AUTO_4140),HL
|
||||||
LD SP,AUTO_41FF
|
LD SP,AUTO_41FF
|
||||||
@ -4955,7 +4990,7 @@ AUTO_2B95:
|
|||||||
INC A
|
INC A
|
||||||
LD (AUTO_40E4),A
|
LD (AUTO_40E4),A
|
||||||
LD HL,(AUTO_40E5)
|
LD HL,(AUTO_40E5)
|
||||||
LD DE,START+1
|
LD DE,1
|
||||||
SBC HL,DE
|
SBC HL,DE
|
||||||
LD (AUTO_40E5),HL
|
LD (AUTO_40E5),HL
|
||||||
RET C
|
RET C
|
||||||
@ -6473,11 +6508,22 @@ EXP_FNS_PREPARE:
|
|||||||
RET
|
RET
|
||||||
EXP_FNS_PREPARE_EXIT:
|
EXP_FNS_PREPARE_EXIT:
|
||||||
PUSH AF
|
PUSH AF
|
||||||
XOR A
|
XOR A ; SYS_PORT.BIOS
|
||||||
JP EXP_FNS_PREPARE_RET
|
JP EXP_FNS_PREPARE_RET
|
||||||
;*******************************
|
;*******************************
|
||||||
|
|
||||||
|
RD_HEAD_DSK.FIXED:
|
||||||
|
LD A,7
|
||||||
|
JP AUTO_1C4A
|
||||||
|
|
||||||
|
CMD_COPY.FIXED:
|
||||||
|
PUSH AF
|
||||||
|
CALL AUTO_05CB
|
||||||
|
POP AF
|
||||||
|
RET Z
|
||||||
|
INC SP
|
||||||
|
INC SP
|
||||||
|
JP AUTO_03D9
|
||||||
;*******************************
|
;*******************************
|
||||||
BLOCK #3CC0 - $,255
|
BLOCK #3CC0 - $,255
|
||||||
MAGIC_1:
|
MAGIC_1:
|
||||||
@ -6521,9 +6567,11 @@ REDIR_3D13:
|
|||||||
JP NZ,EXP_FNS ;#3FF8 EXP
|
JP NZ,EXP_FNS ;#3FF8 EXP
|
||||||
BIT 6,C
|
BIT 6,C
|
||||||
JP Z,AUTO_283C
|
JP Z,AUTO_283C
|
||||||
RES 6,C
|
;!TEST 06/01/2024 ã¡¨à ¥¬ «¨è¨¥ ⥫®¤¢¨¦¥¨ï
|
||||||
JP HD_CMD ;#3FF0 ROM. DI
|
;RES 6,C
|
||||||
|
;JP HD_CMD ;#3FF0 ROM. DI
|
||||||
|
JP EXP_FNS
|
||||||
|
;
|
||||||
;*****************************
|
;*****************************
|
||||||
BLOCK #3CFA - $,255
|
BLOCK #3CFA - $,255
|
||||||
AUTO_3CFA:
|
AUTO_3CFA:
|
||||||
@ -6662,7 +6710,7 @@ AUTO_3DA5:
|
|||||||
RESET_WG:
|
RESET_WG:
|
||||||
LD A,8
|
LD A,8
|
||||||
CALL WG93_EXE
|
CALL WG93_EXE
|
||||||
LD DE,START
|
LD DE,0
|
||||||
IN A,(WG_COM)
|
IN A,(WG_COM)
|
||||||
AND 2
|
AND 2
|
||||||
LD B,A
|
LD B,A
|
||||||
@ -7031,25 +7079,25 @@ AUTO_3FEC:
|
|||||||
;******************************************
|
;******************************************
|
||||||
|
|
||||||
|
|
||||||
;!FIXIT Œ®¦® ¯®¯à ¢¨âì ®¬¥à äãªæ¨© ¯à¨ ¢ë§®¢ å API ¨ ¯àë£ âì áà §ã ¢ BIOS ç¥à¥§ #3FF8
|
;[x]] ¯®¯à ¢«¥ë ®¬¥à äãªæ¨© ¯à¨ ¢ë§®¢ å API ¨ ¯àë£ ¥â áà §ã ¢ BIOS ç¥à¥§ #3FF8
|
||||||
;-------[ From TR-DOS to API 4x ]-------
|
;-------[ From TR-DOS to API 4x ]-------
|
||||||
BLOCK #3FF0-$, #FF
|
BLOCK #3FF0-$, #FF
|
||||||
HD_CMD: PUSH AF
|
HD_CMD: PUSH AF
|
||||||
DI
|
DI
|
||||||
LD A,D_ROM16ON
|
;LD A,SYS_PORT.EXTENSION
|
||||||
|
LD A,1
|
||||||
OUT (SYS_PORT_ON),A
|
OUT (SYS_PORT_ON),A
|
||||||
POP AF
|
POP AF
|
||||||
RET
|
RET
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
|
|
||||||
;
|
;
|
||||||
;----[ From API #80..#FF to TR-DOS ]-----
|
;----[ From TR-DOS to API #80..#FF]-----
|
||||||
BLOCK #3FF8-$, #FF
|
BLOCK #3FF8-$, #FF
|
||||||
EXP_FNS:
|
EXP_FNS:;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||||
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
|
||||||
;PUSH AF
|
;PUSH AF
|
||||||
;DI ;!TODO ¯®¤ã¬ âì, ª ª á®åà ïâì á®áâ®ï¨¥ ¯à¥àë¢ ¨© ¨ ¨ç¥£® ¥ á«®¬ âì
|
;DI ;!TODO ¯®¤ã¬ âì, ª ª á®åà ïâì á®áâ®ï¨¥ ¯à¥àë¢ ¨© ¨ ¨ç¥£® ¥ á«®¬ âì
|
||||||
;XOR A ; D_ROM16OFF
|
;XOR A ; SYS_PORT.BIOS
|
||||||
JP EXP_FNS_PREPARE
|
JP EXP_FNS_PREPARE
|
||||||
EXP_FNS_PREPARE_RET:
|
EXP_FNS_PREPARE_RET:
|
||||||
;
|
;
|
||||||
|
|||||||
@ -19260,13 +19260,12 @@ L3C8F: DEFB $13, $00 ; Bright, off
|
|||||||
DEFB $31, $39 ; '1', '9'
|
DEFB $31, $39 ; '1', '9'
|
||||||
DEFB $13, $01 ; Bright, on
|
DEFB $13, $01 ; Bright, on
|
||||||
DEFB $38, $36 ; '8', '6'
|
DEFB $38, $36 ; '8', '6'
|
||||||
|
L3C97:
|
||||||
; ------
|
; ------
|
||||||
; UNUSED
|
; UNUSED
|
||||||
; ------
|
; ------
|
||||||
|
|
||||||
L3C97:
|
BLOCK #3CF0-$,0 ;15600
|
||||||
BLOCK #3CF0-$,0 ;15600
|
|
||||||
;> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >;
|
;> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >;
|
||||||
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||||
; º ¤®¯®«¥¨ï ¤«ï SP48 !! º
|
; º ¤®¯®«¥¨ï ¤«ï SP48 !! º
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 24e062942e2c89a1bcd5817cc82316b52186f86c
|
Subproject commit e7e58e7b816a25137a0a253321164e863bbe782e
|
||||||
@ -100,12 +100,12 @@ MSDOS_CAT:
|
|||||||
CALL AUTO_1D97 ; CLS
|
CALL AUTO_1D97 ; CLS
|
||||||
CALL OPEN_CH2
|
CALL OPEN_CH2
|
||||||
LD A,13
|
LD A,13
|
||||||
RST 10H
|
RST #10
|
||||||
POP DE ; ‘’<E28098>ŽŠ€ <20>Ž‘‹… CAT
|
POP DE ; ‘’<E28098>ŽŠ€ <20>Ž‘‹… CAT
|
||||||
|
|
||||||
CAT_SPACES:
|
CAT_SPACES:
|
||||||
LD A,(DE)
|
LD A,(DE)
|
||||||
CP 20H
|
CP #20
|
||||||
JR NZ,CAT_NO_SPACE
|
JR NZ,CAT_NO_SPACE
|
||||||
INC DE
|
INC DE
|
||||||
JR CAT_SPACES
|
JR CAT_SPACES
|
||||||
@ -523,44 +523,47 @@ CALC_CL_LP:
|
|||||||
POP BC
|
POP BC
|
||||||
RET
|
RET
|
||||||
|
|
||||||
HD_TX: DB ' ERR_HD',0A0H
|
HD_TX: DC ' ERR_HD '
|
||||||
HD_TX2: DB 'HDD not found',0A0H
|
HD_TX2: DC 'HDD not found '
|
||||||
MSG_3: DB 'ERROR...',0A0H
|
MSG_3: DC 'ERROR... '
|
||||||
MSDOS_MSG: DB 'File not found...',0A0H
|
MSDOS_MSG: DC 'File not found... '
|
||||||
NO_MEMORY: DB 'No RAM-Disk MEM',0A0H
|
NO_MEMORY: DC 'No RAM-Disk MEM '
|
||||||
|
|
||||||
WORDS:
|
WORDS: DB 5,'CLEAR' ; ®ç¨áâ¨âì RAM-Disk
|
||||||
DB 5,'CLEAR' ; ®ç¨áâ¨âì RAM-Disk
|
DW CLEAR_RAMD_X
|
||||||
DW CLEAR_RAMD_X
|
DB 3,'CAT' ; ª â «®£ MS-DOS
|
||||||
DB 3,'CAT' ; ª â «®£ MS-DOS
|
DW MSDOS_CAT
|
||||||
DW MSDOS_CAT
|
DB 3,'DIR' ; ª â «®£ MS-DOS
|
||||||
DB 3,'DIR' ; ª â «®£ MS-DOS
|
DW MSDOS_CAT
|
||||||
DW MSDOS_CAT
|
DB 3,'HDD' ; ¯®¤ª«îç¨âì HDD
|
||||||
DB 3,'HDD' ; ¯®¤ª«îç¨âì HDD
|
DW HDD_SET
|
||||||
DW HDD_SET
|
DB 3,'FDD' ; ¯®¤ª«îç¨âì FDD
|
||||||
DB 3,'FDD' ; ¯®¤ª«îç¨âì FDD
|
DW FDD_SET
|
||||||
DW FDD_SET
|
DB 3,'RMD' ; ¯®¤ª«îç¨âì RMD
|
||||||
DB 3,'RMD' ; ¯®¤ª«îç¨âì RMD
|
DW RAMD_SET
|
||||||
DW RAMD_SET
|
DB 3,'HDT' ; â¥áâ HDD
|
||||||
DB 3,'HDT' ; â¥áâ HDD
|
DW HDD_PROG
|
||||||
DW HDD_PROG
|
DB 2,'RD' ; â¥áâ RAM-Disk space
|
||||||
DB 2,'RD' ; â¥áâ RAM-Disk space
|
DW RAMD_FAT_PROG
|
||||||
DW RAMD_FAT_PROG
|
DB 4,'SAVE' ; á®åà ¨âì RAM-Disk
|
||||||
DB 4,'SAVE' ; á®åà ¨âì RAM-Disk
|
DW SAVE_RMD
|
||||||
DW SAVE_RMD
|
DB 4,'LOAD' ; § £à㧨âì RAM-Disk
|
||||||
DB 4,'LOAD' ; § £à㧨âì RAM-Disk
|
DW LOAD_RMD
|
||||||
DW LOAD_RMD
|
DB 4,'TBON' ; ¢ª«îç¨âì âãà¡®
|
||||||
DB 4,'TBON' ; ¢ª«îç¨âì âãà¡®
|
DW TB_ONOFF
|
||||||
DW TB_ONOFF
|
DB 5,'TBOFF' ; ¢ëª«îç¨âì âãà¡®
|
||||||
DB 5,'TBOFF' ; ¢ëª«îç¨âì âãà¡®
|
DW TB_ONOFF
|
||||||
DW TB_ONOFF
|
DB 4,'INIT' ; ¨¨§¨ «¨§ æ¨ï
|
||||||
DB 4,'INIT' ; ¨¨§¨ «¨§ æ¨ï
|
DW INIT_RMD
|
||||||
DW INIT_RMD
|
DB 8,"SPRINTER"
|
||||||
DB 8,"SPRINTER"
|
DW SPR_1
|
||||||
DW SPR_1
|
DB 2,"AY"
|
||||||
DB 2,"AY"
|
DW AY8910
|
||||||
DW AY8910
|
;[ ] 07/01/2024
|
||||||
DB 0
|
DB 6,'SETHDD' ; /SETHDD XYZ, £¤¥ X - chanel, Y - master/slave, Z - 0..3 - ®¬¥à à §¤¥«
|
||||||
|
DW CHOOSE_HDD
|
||||||
|
;
|
||||||
|
DB 0
|
||||||
|
|
||||||
;SAVE_AUTOEXEC:
|
;SAVE_AUTOEXEC:
|
||||||
; LD C,0FEH
|
; LD C,0FEH
|
||||||
@ -577,18 +580,17 @@ AY8910:
|
|||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
SPR_1:
|
SPR_1: LD A,(DE)
|
||||||
LD A,(DE)
|
|
||||||
INC DE
|
INC DE
|
||||||
CP #20
|
CP " "
|
||||||
JR Z,SPR_1
|
JR Z,SPR_1
|
||||||
CP "1"
|
CP "1"
|
||||||
LD C,#F0 ;!HARDCODE BIOS.RST_CONF.SP97_1
|
LD C,BIOS.RST_CONF.SP97_1
|
||||||
JR Z,SP_1
|
JR Z,SP_1
|
||||||
CP "2"
|
CP "2"
|
||||||
SCF
|
SCF
|
||||||
RET NZ
|
RET NZ
|
||||||
LD C,#F1 ;!HARDCODE BIOS.RST_CONF.SP97_2
|
LD C,BIOS.RST_CONF.SP97_2
|
||||||
SP_1: LD A,(DE)
|
SP_1: LD A,(DE)
|
||||||
CP #21
|
CP #21
|
||||||
CCF
|
CCF
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
INIT_RMD:
|
INIT_RMD:
|
||||||
LD C,#9F ;!HARDCODE BIOS.FullInit
|
LD C,BIOS.FullInit
|
||||||
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||||
JP EXP_FNS
|
JP EXP_FNS
|
||||||
;CALL EXP_FNS
|
;CALL EXP_FNS
|
||||||
@ -30,8 +30,8 @@ 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,RAMD_FAT
|
||||||
RAMD_F_L1:
|
RAMD_F_L1:
|
||||||
DI
|
DI
|
||||||
IN A,(PAGE3)
|
IN A,(PAGE3)
|
||||||
@ -41,7 +41,6 @@ RAMD_F_L1:
|
|||||||
LD A,C
|
LD A,C
|
||||||
LD C,(HL)
|
LD C,(HL)
|
||||||
OUT (PAGE3),A
|
OUT (PAGE3),A
|
||||||
; RET_PAGE3
|
|
||||||
EI
|
EI
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD A,C
|
LD A,C
|
||||||
@ -52,22 +51,28 @@ RAMD_F_L1:
|
|||||||
CALL OPEN_CH0
|
CALL OPEN_CH0
|
||||||
JP AUTO_03E1
|
JP AUTO_03E1
|
||||||
;***************************************************************************
|
;***************************************************************************
|
||||||
|
;[x] ¨á¯à ¢«¥ ¡ £ á ¥à ¡®â î騬¨ ª®¬ ¤ ¬¨ TBON/TBOFF
|
||||||
TB_ONOFF:
|
TB_ONOFF:
|
||||||
DEC DE
|
DEC DE
|
||||||
DEC DE
|
DEC DE
|
||||||
LD A,(DE)
|
LD A,(DE)
|
||||||
CP 'F'
|
OR %0010'0000
|
||||||
JR Z,TB_OFF_EXE
|
CP 'f'
|
||||||
CP 'f'
|
LD C,BIOS.FN_TURBO
|
||||||
JR Z,TB_OFF_EXE
|
LD A,BIOS.FN_TURBO.OFF
|
||||||
TB_ON_EXE:
|
JR Z,.set
|
||||||
LD C,#8F ;!HARDCODE BIOS.FN_TURBO
|
;
|
||||||
LD A,4
|
LD A,BIOS.FN_TURBO.ON
|
||||||
JP EXP_FNS
|
.set: JP EXP_FNS
|
||||||
TB_OFF_EXE:
|
|
||||||
LD C,#8F ;!HARDCODE BIOS.FN_TURBO
|
; TB_ON_EXE:
|
||||||
LD A,3
|
; LD C,BIOS.FN_TURBO
|
||||||
JP EXP_FNS
|
; LD A,4
|
||||||
|
; JP EXP_FNS
|
||||||
|
; TB_OFF_EXE:
|
||||||
|
; LD C,BIOS.FN_TURBO
|
||||||
|
; LD A,3
|
||||||
|
; JP EXP_FNS
|
||||||
;
|
;
|
||||||
;***************************************************************************
|
;***************************************************************************
|
||||||
;
|
;
|
||||||
@ -82,19 +87,19 @@ TB_OFF_EXE:
|
|||||||
MSDOS_WRITE_FILE:
|
MSDOS_WRITE_FILE:
|
||||||
LD (CONT_BUF_ADR),HL ; ¤à¥á § £à㧪¨
|
LD (CONT_BUF_ADR),HL ; ¤à¥á § £à㧪¨
|
||||||
LD (MED_START),A ; áâà ¨æ § £à㧪¨
|
LD (MED_START),A ; áâà ¨æ § £à㧪¨
|
||||||
LD A,6
|
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 (CONT_BUF_ADR),HL ; ¤à¥á § £à㧪¨
|
||||||
LD (MED_START),A ; áâà ¨æ § £à㧪¨
|
LD (MED_START),A ; áâà ¨æ § £à㧪¨
|
||||||
LD A,5
|
LD A,TRDOS_ROM_CMD.READ
|
||||||
MSDOS_R_W_FILE:
|
MSDOS_R_W_FILE:
|
||||||
LD (MED_LEN),A
|
LD (MED_LEN),A
|
||||||
; beg=start_claster ; <20>®«ãç¨âì ç «ìë© ª« áâ¥à
|
; beg=start_claster. <20>®«ãç¨âì ç «ìë© ª« áâ¥à
|
||||||
LD IX,(START_CLASTER) ; áâ àâ®¢ë© ª« áâ¥à
|
LD IX,(START_CLASTER) ; áâ àâ®¢ë© ª« áâ¥à
|
||||||
; next=beg
|
; next=beg
|
||||||
; max=file_len ; ¤«¨ ¢ ª« áâ¥à å
|
; max=file_len. ¤«¨ ¢ ª« áâ¥à å
|
||||||
CALL GET_FILE_CLASTERS_BC
|
CALL GET_FILE_CLASTERS_BC
|
||||||
; LD A,B
|
; LD A,B
|
||||||
; CALL PRINT_HEX_A
|
; CALL PRINT_HEX_A
|
||||||
@ -215,10 +220,11 @@ READ_num_clasters_from_beg:
|
|||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,(MED_LEN)
|
LD A,(MED_LEN)
|
||||||
LD C,A
|
LD C,A
|
||||||
SUB 5
|
SUB TRDOS_ROM_CMD.READ
|
||||||
JR Z,CONT_XX1
|
JR Z,CONT_XX1
|
||||||
DEC A
|
DEC A
|
||||||
JR NZ,SKEEP_XX1
|
JR NZ,SKEEP_XX1
|
||||||
|
;TRDOS_ROM_CMD.WRITE
|
||||||
CONT_XX1:
|
CONT_XX1:
|
||||||
POP AF
|
POP AF
|
||||||
|
|
||||||
@ -497,8 +503,7 @@ READ_FAT_SEC:
|
|||||||
|
|
||||||
LD HL,MS_FAT
|
LD HL,MS_FAT
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
LD B,2
|
LD BC,256*2 + TRDOS_ROM_CMD.READ
|
||||||
LD C,5
|
|
||||||
CALL MSD_R_W_UT
|
CALL MSD_R_W_UT
|
||||||
|
|
||||||
POP HL
|
POP HL
|
||||||
@ -550,8 +555,12 @@ GET_FL_L2:
|
|||||||
;***************************************************************************
|
;***************************************************************************
|
||||||
|
|
||||||
HDD_PROG:
|
HDD_PROG:
|
||||||
LD C,BIOS.HDD_INIT and #BF
|
;!TEST 06/01/2024 ã¡¨à ¥¬ «¨è¨¥ ⥫®¤¢¨¦¥¨ï
|
||||||
CALL HD_CMD
|
;LD C,BIOS.HDD_INIT and #BF
|
||||||
|
;CALL HD_CMD
|
||||||
|
LD C,BIOS.HDD_INIT
|
||||||
|
CALL EXP_FNS
|
||||||
|
;
|
||||||
JP C,HDD_PROG_E
|
JP C,HDD_PROG_E
|
||||||
LD HL,HD_IDF_ADR+54
|
LD HL,HD_IDF_ADR+54
|
||||||
LD B,32
|
LD B,32
|
||||||
@ -578,8 +587,12 @@ HDD_PROG_L:
|
|||||||
RST 10H
|
RST 10H
|
||||||
POP BC
|
POP BC
|
||||||
DJNZ HDD_PROG_L
|
DJNZ HDD_PROG_L
|
||||||
LD C,BIOS.HDD_RECAL and #BF
|
;!TEST 06/01/2024 ã¡¨à ¥¬ «¨è¨¥ ⥫®¤¢¨¦¥¨ï
|
||||||
CALL HD_CMD
|
;LD C,BIOS.HDD_RECAL and #BF
|
||||||
|
;CALL HD_CMD
|
||||||
|
LD C,BIOS.HDD_RECAL
|
||||||
|
CALL EXP_FNS
|
||||||
|
;
|
||||||
JP NC,AUTO_03E1
|
JP NC,AUTO_03E1
|
||||||
|
|
||||||
HDD_ERROR:
|
HDD_ERROR:
|
||||||
|
|||||||
@ -5,7 +5,6 @@
|
|||||||
;********************************************
|
;********************************************
|
||||||
; MS-DOS utilites
|
; MS-DOS utilites
|
||||||
;********************************************
|
;********************************************
|
||||||
|
|
||||||
MSD_R_W_UT:
|
MSD_R_W_UT:
|
||||||
PUSH AF
|
PUSH AF
|
||||||
CALL DISK_REDIR
|
CALL DISK_REDIR
|
||||||
@ -20,7 +19,11 @@ MSD_R_W_UT:
|
|||||||
;* 5. ‘âà ¨æ Ž‡“ - A *
|
;* 5. ‘âà ¨æ Ž‡“ - A *
|
||||||
;************************************************
|
;************************************************
|
||||||
.HDD: POP AF
|
.HDD: POP AF
|
||||||
CALL HD_CMD
|
;!TEST 06/01/2024 ã¡¨à ¥¬ «¨è¨¥ ⥫®¤¢¨¦¥¨ï
|
||||||
|
;CALL HD_CMD
|
||||||
|
SET 6,C
|
||||||
|
CALL EXP_FNS
|
||||||
|
;
|
||||||
RET NC
|
RET NC
|
||||||
JP HDD_ERROR
|
JP HDD_ERROR
|
||||||
;************************************************
|
;************************************************
|
||||||
@ -162,50 +165,50 @@ MSD_R_W_LOOP:
|
|||||||
POP AF
|
POP AF
|
||||||
CALL NZ,MSD_3F0A
|
CALL NZ,MSD_3F0A
|
||||||
DI
|
DI
|
||||||
IN A,(PAGE2)
|
IN A,(PAGE2)
|
||||||
LD C,A
|
LD C,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (PAGE2),A
|
OUT (PAGE2),A
|
||||||
LD DE,(MS_BPB+SEC_SIZE-4000h)
|
LD DE,(MS_BPB+SEC_SIZE-#4000)
|
||||||
LD A,C
|
LD A,C
|
||||||
OUT (PAGE2),A
|
OUT (PAGE2),A
|
||||||
EI
|
EI
|
||||||
POP HL
|
POP HL
|
||||||
ADD HL,DE
|
ADD HL,DE
|
||||||
LD A,H
|
LD A,H
|
||||||
OR L
|
OR L
|
||||||
JR NZ,MSD_NO_PAGE
|
JR NZ,MSD_NO_PAGE
|
||||||
DI
|
DI
|
||||||
IN A,(PAGE2)
|
IN A,(PAGE2)
|
||||||
LD C,A
|
LD C,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (PAGE2),A
|
OUT (PAGE2),A
|
||||||
LD A,(MED_START)
|
LD A,(MED_START)
|
||||||
LD HL,RAMD_FAT-4000H
|
LD HL,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 (PAGE2),A
|
||||||
EI
|
EI
|
||||||
LD A,L
|
LD A,L
|
||||||
LD HL,0C000H
|
LD HL,#C000
|
||||||
LD (MED_START),A
|
LD (MED_START),A
|
||||||
MSD_NO_PAGE:
|
MSD_NO_PAGE:
|
||||||
LD (CONT_BUF_ADR),HL
|
LD (CONT_BUF_ADR),HL
|
||||||
PUSH HL
|
PUSH HL
|
||||||
|
|
||||||
DI
|
DI
|
||||||
IN A,(PAGE2)
|
IN A,(PAGE2)
|
||||||
LD C,A
|
LD C,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (PAGE2),A
|
OUT (PAGE2),A
|
||||||
LD A,(DS_1440-4000H)
|
LD A,(DS_1440-#4000)
|
||||||
RES 0,A
|
AND %1111'1110
|
||||||
LD (DS_1440-4000H),A
|
LD (DS_1440-#4000),A
|
||||||
LD A,(MSD_SECS-4000h)
|
LD A,(MSD_SECS-#4000)
|
||||||
LD L,A
|
LD L,A
|
||||||
LD A,C
|
LD A,C
|
||||||
OUT (PAGE2),A
|
OUT (PAGE2),A
|
||||||
EI
|
EI
|
||||||
LD A,L
|
LD A,L
|
||||||
LD HL,CONT_SEC
|
LD HL,CONT_SEC
|
||||||
@ -434,16 +437,18 @@ READ_BPB:
|
|||||||
LD DE,63 ;!HARDCODE
|
LD DE,63 ;!HARDCODE
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
LD HL,MS_BPB
|
LD HL,MS_BPB
|
||||||
LD C,BIOS.HDD_READ and #BF
|
;
|
||||||
LD B,1
|
LD BC,256*1 + TRDOS_ROM_CMD.READ
|
||||||
CALL MSD_R_W_UT
|
CALL MSD_R_W_UT
|
||||||
CALL READ_BPB.PARAMS
|
CALL READ_BPB.PARAMS
|
||||||
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,MS_BPB
|
||||||
LD C,BIOS.HDD_READ_BPB and #BF
|
LD C,TRDOS_ROM_CMD.READ_BPB
|
||||||
CALL MSD_R_W_UT
|
CALL MSD_R_W_UT
|
||||||
|
|
||||||
|
|
||||||
;CALL BPB_PARAMS
|
;CALL BPB_PARAMS
|
||||||
;RET
|
;RET
|
||||||
|
|
||||||
@ -644,8 +649,7 @@ READ_NEXT2:
|
|||||||
EI
|
EI
|
||||||
LD HL,MS_DIR
|
LD HL,MS_DIR
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
LD B,1
|
LD BC,256*1 + TRDOS_ROM_CMD.READ
|
||||||
LD C,5
|
|
||||||
CALL MSD_R_W_UT
|
CALL MSD_R_W_UT
|
||||||
DI
|
DI
|
||||||
IN A,(PAGE3)
|
IN A,(PAGE3)
|
||||||
|
|||||||
@ -288,7 +288,7 @@ PAGE_CALC2:
|
|||||||
LD B,A
|
LD B,A
|
||||||
LD C,H
|
LD C,H
|
||||||
POP HL
|
POP HL
|
||||||
EI
|
;EI
|
||||||
RET NC
|
RET NC
|
||||||
JP ERROR_DISK
|
JP ERROR_DISK
|
||||||
|
|
||||||
@ -399,7 +399,7 @@ CLEAR_RMD_A:
|
|||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH BC
|
PUSH BC
|
||||||
LD C,#93 ;!HARDCODE BIOS.FreeMemRMD
|
LD C,BIOS.FreeMemRMD
|
||||||
CALL EXP_FNS ; ¢ë§¢ âì äãªæ¨î
|
CALL EXP_FNS ; ¢ë§¢ âì äãªæ¨î
|
||||||
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||||
;EI
|
;EI
|
||||||
@ -410,9 +410,10 @@ CLEAR_RMD_A:
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
;*********************************************************
|
;*********************************************************
|
||||||
|
; B - —ˆ‘‹Ž ’<>…<EFBFBD>“…Œ›• <20>‹ŽŠŽ‚, A - Š‹ž— RAM-Disk
|
||||||
GET_RMD_A:
|
GET_RMD_A:
|
||||||
GET_RAM_BLK: ; B - —ˆ‘‹<E28098> ’<>…<EFBFBD>“…Œ›• <20>‹<EFBFBD>Š<EFBFBD>‚, A - Š‹<C5A0>— RAM-Disk
|
GET_RAM_BLK:
|
||||||
LD C,#92 ;!HARDCODE BIOS.GetMemRMD
|
LD C,BIOS.GetMemRMD
|
||||||
CALL EXP_FNS ; A,L - Š‹ž— RAM-Disk - ®¬¥à ¯¥à¢®£® ¡«®ª
|
CALL EXP_FNS ; A,L - Š‹ž— RAM-Disk - ®¬¥à ¯¥à¢®£® ¡«®ª
|
||||||
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||||
;EI
|
;EI
|
||||||
@ -438,15 +439,18 @@ FDD_SET:
|
|||||||
;RET
|
;RET
|
||||||
;
|
;
|
||||||
|
|
||||||
HDD_SET:
|
HDD_SET:;!TEST 06/01/2024 ã¡¨à ¥¬ «¨è¨¥ ⥫®¤¢¨¦¥¨ï
|
||||||
LD C,BIOS.HDD_INIT and #BF
|
;LD C,BIOS.HDD_INIT and #BF
|
||||||
CALL HD_CMD
|
;CALL HD_CMD
|
||||||
|
LD C,BIOS.HDD_INIT
|
||||||
|
CALL EXP_FNS
|
||||||
|
;
|
||||||
JP C,HDD_PROG_E
|
JP C,HDD_PROG_E
|
||||||
|
|
||||||
LD A,(OPER_DISK)
|
LD A,(OPER_DISK)
|
||||||
LD B,A
|
LD B,A
|
||||||
LD A,0
|
XOR A
|
||||||
LD C,#CD ;!HARDCODE BIOS.HDD_TO_DRV
|
LD C,BIOS.HDD_TO_DRV
|
||||||
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||||
JP EXP_FNS
|
JP EXP_FNS
|
||||||
;CALL EXP_FNS
|
;CALL EXP_FNS
|
||||||
@ -498,3 +502,61 @@ RAMD_SYM_OK:
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
|
|
||||||
|
;[ ] 07/01/2024
|
||||||
|
CHOOSE_HDD:
|
||||||
|
PUSH DE
|
||||||
|
LD A,(OPER_DISK)
|
||||||
|
LD C,BIOS.GET_DRV_ST
|
||||||
|
CALL EXP_FNS
|
||||||
|
POP DE
|
||||||
|
JR C,.error
|
||||||
|
AND #40 ;!HARDCODE HDD
|
||||||
|
JR Z,.error
|
||||||
|
;
|
||||||
|
.loop: LD A,(DE)
|
||||||
|
INC DE
|
||||||
|
CP ' '
|
||||||
|
JR Z,.loop
|
||||||
|
LD A,(DE)
|
||||||
|
CP #0D
|
||||||
|
JR Z,.error
|
||||||
|
; ®¬¥à à §¤¥«
|
||||||
|
INC DE
|
||||||
|
LD A,(DE)
|
||||||
|
CP "4"
|
||||||
|
JR NC,.error
|
||||||
|
CP "0"
|
||||||
|
JR C,.error
|
||||||
|
SUB "0"
|
||||||
|
RLA
|
||||||
|
RLA
|
||||||
|
LD C,A
|
||||||
|
; master/slave
|
||||||
|
DEC DE
|
||||||
|
LD A,(DE)
|
||||||
|
CP "2"
|
||||||
|
JR NC,.error
|
||||||
|
CP "0"
|
||||||
|
JR C,.error
|
||||||
|
SUB "0"
|
||||||
|
RLA
|
||||||
|
OR C
|
||||||
|
LD C,A
|
||||||
|
; Primary/Secondary
|
||||||
|
DEC DE
|
||||||
|
LD A,(DE)
|
||||||
|
CP "2"
|
||||||
|
JR NC,.error
|
||||||
|
CP "0"
|
||||||
|
JR C,.error
|
||||||
|
SUB "0"
|
||||||
|
OR C
|
||||||
|
;
|
||||||
|
LD C,BIOS.HDD_PART
|
||||||
|
CALL EXP_FNS
|
||||||
|
RET NC
|
||||||
|
;
|
||||||
|
.error: LD HL,MSG_3
|
||||||
|
JP ERR_EXIT
|
||||||
|
|
||||||
|
;bit0: Primary/Secondary, bit1 - master/slave, bit2..3: ¨á¯®«ì§ãî騩áï à §¤¥« ¢ MBR
|
||||||
Loading…
Reference in New Issue
Block a user