mirror of
https://github.com/Tolik-Trek/ZX-SP-ROMs.git
synced 2026-06-15 09:21:45 +03:00
...
This commit is contained in:
parent
4ff08eb365
commit
bf811fce1b
@ -2079,7 +2079,8 @@ x1403 XOR A ;
|
|||||||
|
|
||||||
RET ;¢®§¢p â
|
RET ;¢®§¢p â
|
||||||
|
|
||||||
;€¤à¥á #1451. Š®¯¨à®¢ ¨¥ ä ©« ®¤®¬ ¤¨áª®¢®¤¥. <20>®¬¥áâ¨â¥ ®¯¨á ⥫ì ä ©« ¢ #5CDD ¨ ¥£® ç áâì ¢ #5CED ¨ ãáâ ®¢¨â¥ #5CF1, #5D21, #5D23 ¨ #5CCF. <20>®¤¯à®£à ¬¬ ãáâ ¢«¨¢ ¥â #5CBB, #5CD9, #5CDA ¨ #5C92.
|
;€¤à¥á #1451. Š®¯¨à®¢ ¨¥ ä ©« ®¤®¬ ¤¨áª®¢®¤¥. <20>®¬¥áâ¨â¥ ®¯¨á ⥫ì ä ©« ¢ #5CDD ¨ ¥£® ç áâì ¢ #5CED ¨ ãáâ ®¢¨â¥ #5CF1,
|
||||||
|
; #5D21, #5D23 ¨ #5CCF. <20>®¤¯à®£à ¬¬ ãáâ ¢«¨¢ ¥â #5CBB, #5CD9, #5CDA ¨ #5C92.
|
||||||
|
|
||||||
x1451 LD A,(#5CF1) ;¢á¥ ᪮¯¨à®¢ «¨?
|
x1451 LD A,(#5CF1) ;¢á¥ ᪮¯¨à®¢ «¨?
|
||||||
OR A
|
OR A
|
||||||
|
|||||||
315
SP_TRDOS.ASM
315
SP_TRDOS.ASM
@ -12,6 +12,8 @@
|
|||||||
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'
|
||||||
|
INCLUDE 'Shared_Includes/constants/ZX_VARS.inc'
|
||||||
|
INCLUDE 'Shared_Includes/macroses/macros.z80'
|
||||||
|
|
||||||
TRDOS_ROM_CMD:
|
TRDOS_ROM_CMD:
|
||||||
.READ_BPB EQU BIOS.HDD_READ_BPB and #BF
|
.READ_BPB EQU BIOS.HDD_READ_BPB and #BF
|
||||||
@ -68,8 +70,6 @@ AUTO_FF00 EQU #FF00
|
|||||||
AUTO_FFFF EQU #FFFF
|
AUTO_FFFF EQU #FFFF
|
||||||
|
|
||||||
;****************************************
|
;****************************************
|
||||||
|
|
||||||
DISPLAY "Start."
|
|
||||||
START: DI
|
START: DI
|
||||||
LD DE,#FFFF
|
LD DE,#FFFF
|
||||||
LD A,7
|
LD A,7
|
||||||
@ -82,7 +82,7 @@ CONT_1:
|
|||||||
JR CONT_2
|
JR CONT_2
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
BLOCK #10-$,0
|
_mInfoBLOCK #10-$,0
|
||||||
RST10:
|
RST10:
|
||||||
JP PRINT_SYM
|
JP PRINT_SYM
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
@ -92,7 +92,7 @@ CONT_2:
|
|||||||
JP CONT_3
|
JP CONT_3
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
BLOCK #18-$,0
|
_mInfoBLOCK #18-$,0
|
||||||
PRINT_LN:
|
PRINT_LN:
|
||||||
JP PRINT_L
|
JP PRINT_L
|
||||||
CONT_3:
|
CONT_3:
|
||||||
@ -103,7 +103,7 @@ AUTO_001E:
|
|||||||
JR CONT_4
|
JR CONT_4
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
BLOCK #20-$,0
|
_mInfoBLOCK #20-$,0
|
||||||
RST20:
|
RST20:
|
||||||
JP RST20_EXE
|
JP RST20_EXE
|
||||||
RET
|
RET
|
||||||
@ -115,7 +115,7 @@ CONT_4:
|
|||||||
JR CONT_5
|
JR CONT_5
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
BLOCK #28-$,0
|
_mInfoBLOCK #28-$,0
|
||||||
RST28:
|
RST28:
|
||||||
JP RST28_EXE
|
JP RST28_EXE
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
@ -129,7 +129,7 @@ CONT_5:
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
REDIR_RST38:
|
REDIR_RST38:
|
||||||
BLOCK #38-$,#FF
|
_mInfoBLOCK #38-$,#FF
|
||||||
; JP RST38X
|
; JP RST38X
|
||||||
; EI
|
; EI
|
||||||
; RET
|
; RET
|
||||||
@ -161,14 +161,14 @@ CONT_7:
|
|||||||
LD HL,#B8ED
|
LD HL,#B8ED
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
BLOCK #64-$,0
|
_mInfoBLOCK #64-$,0
|
||||||
AUTO_0064:
|
AUTO_0064:
|
||||||
JR CONT_8
|
JR CONT_8
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
BLOCK #66-$,0
|
_mInfoBLOCK #66-$,0
|
||||||
;********** MAGIC ***********
|
;********** MAGIC ***********
|
||||||
; JP MAGIC_1 ;AUTO_2A56
|
; JP MAGIC_1 ;AUTO_2A56
|
||||||
RETN
|
RETN
|
||||||
@ -191,7 +191,7 @@ RET_1:
|
|||||||
LD BC,AUTO_0540
|
LD BC,AUTO_0540
|
||||||
LD (ZX_VARS.ERR_BEEP),BC
|
LD (ZX_VARS.ERR_BEEP),BC
|
||||||
LD (ZX_VARS.TOP_CLEAR),HL
|
LD (ZX_VARS.TOP_CLEAR),HL
|
||||||
LD HL,03C00h
|
LD HL,#3C00
|
||||||
LD (ZX_VARS.ZG),HL
|
LD (ZX_VARS.ZG),HL
|
||||||
LD HL,(ZX_VARS.TOP_CLEAR)
|
LD HL,(ZX_VARS.TOP_CLEAR)
|
||||||
LD (HL),'>'
|
LD (HL),'>'
|
||||||
@ -246,7 +246,7 @@ AUTO_00C8:
|
|||||||
AUTO_0100:
|
AUTO_0100:
|
||||||
LD (HL),201
|
LD (HL),201
|
||||||
RST_ROM ROUTINE.clear_prb
|
RST_ROM ROUTINE.clear_prb
|
||||||
LD HL,ZX_VARS.L_SCR_SIZE
|
LD HL,ZX_VARS.SCR_SIZE
|
||||||
LD (HL),2
|
LD (HL),2
|
||||||
LD HL,AUTO_128B
|
LD HL,AUTO_128B
|
||||||
PUSH HL
|
PUSH HL
|
||||||
@ -935,7 +935,7 @@ AUTO_063C:
|
|||||||
CALL AUTO_03FD
|
CALL AUTO_03FD
|
||||||
LD A,(ZX_VARS.N_FILES)
|
LD A,(ZX_VARS.N_FILES)
|
||||||
CP 128
|
CP 128
|
||||||
JP Z,AUTO_1C45
|
JP Z,AUTO_2723
|
||||||
LD HL,ZX_VARS.VAR_2
|
LD HL,ZX_VARS.VAR_2
|
||||||
LD DE,ZX_VARS.FL_START
|
LD DE,ZX_VARS.FL_START
|
||||||
LD BC,7
|
LD BC,7
|
||||||
@ -1043,7 +1043,7 @@ AUTO_072F:
|
|||||||
OR A
|
OR A
|
||||||
RET Z
|
RET Z
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,ZX_VARS.L_5D23
|
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||||
SUB (HL)
|
SUB (HL)
|
||||||
POP HL
|
POP HL
|
||||||
JR NC,AUTO_0775
|
JR NC,AUTO_0775
|
||||||
@ -1075,7 +1075,7 @@ AUTO_0744:
|
|||||||
AUTO_0775:
|
AUTO_0775:
|
||||||
LD (ZX_VARS.VAR_2_0),A
|
LD (ZX_VARS.VAR_2_0),A
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,ZX_VARS.L_5D23
|
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||||
LD B,(HL)
|
LD B,(HL)
|
||||||
POP HL
|
POP HL
|
||||||
XOR A
|
XOR A
|
||||||
@ -1140,7 +1140,7 @@ AUTO_07D2:
|
|||||||
|
|
||||||
;
|
;
|
||||||
AUTO_07E7:
|
AUTO_07E7:
|
||||||
BLOCK #07E7-$,255
|
_mInfoBLOCK #07E7-$,255
|
||||||
CALL AUTO_03FD
|
CALL AUTO_03FD
|
||||||
LD HL,(ZX_VARS.FL_PLACE)
|
LD HL,(ZX_VARS.FL_PLACE)
|
||||||
LD (ZX_VARS.CLEAR_SEC),HL
|
LD (ZX_VARS.CLEAR_SEC),HL
|
||||||
@ -1154,74 +1154,71 @@ WG93_EXE_:
|
|||||||
AND 252
|
AND 252
|
||||||
JP WG93_EXE
|
JP WG93_EXE
|
||||||
;**************************************
|
;**************************************
|
||||||
DISPLAY "2k"
|
;INCLUDE 'trdos/tr_HDD_4.asz'
|
||||||
;INCLUDE 'trdos/tr_msd_4.asz'
|
_mInfoBLOCK #0840-$,255
|
||||||
BLOCK #0840-$,255
|
|
||||||
INCLUDE 'trdos/tr_msd_3.asz'
|
INCLUDE 'trdos/tr_msd_3.asz'
|
||||||
|
|
||||||
|
|
||||||
BLOCK #0B00-$,255
|
_mInfoBLOCK #0B00-$,255
|
||||||
ZG_RUS:
|
;!TODO russian charset
|
||||||
DB 3 ; ¨¤¥â¨ä¨ª â®à ¢¥àᨨ TR-DOS ???
|
ZG_RUS: DB 3 ; ¨¤¥â¨ä¨ª â®à ¢¥àᨨ TR-DOS ???
|
||||||
;**************************************
|
;**************************************
|
||||||
INCLUDE 'trdos/tr_msd_2.asz'
|
INCLUDE 'trdos/tr_msd_2.asz'
|
||||||
|
|
||||||
; DSS 0E00h,255
|
; DSS 0E00h,255
|
||||||
|
|
||||||
;**************************************
|
;**************************************
|
||||||
;
|
;!TODO russian charset
|
||||||
; <20>ãá᪨© § ª®£¥¥à â®à - 40h..7Fh ᨬ¢®«ë.
|
; <20>ãá᪨© § ª®£¥¥à â®à - 40h..7Fh ᨬ¢®«ë.
|
||||||
;
|
;
|
||||||
; DSS 0E00h,255
|
; DSS 0E00h,255
|
||||||
|
|
||||||
; DB 0,0,76,82,114,82,76,0,0,0,56,4,60,68
|
; DB 0,0,76,82,114,82,76,0,0,0,56,4,60,68
|
||||||
; DB 60,0,0,0,120,64,120,68,120,0,0,0,72
|
; DB 60,0,0,0,120,64,120,68,120,0,0,0,72
|
||||||
; DB 72,72,72,124,4,0,0,24,40,40,40,124,68
|
; DB 72,72,72,124,4,0,0,24,40,40,40,124,68
|
||||||
; DB 0,0,56,68,120,64,60,0,0,16,56,84,84
|
; DB 0,0,56,68,120,64,60,0,0,16,56,84,84
|
||||||
; DB 56,16,0,0,0,124,64,64,64,64,0,0,0,68
|
; DB 56,16,0,0,0,124,64,64,64,64,0,0,0,68
|
||||||
; DB 40,16,40,68,0,0,0,68,76,84,100,68,0
|
; DB 40,16,40,68,0,0,0,68,76,84,100,68,0
|
||||||
; DB 0,16,68,76,84,100,68,0,0,0,72,80,112
|
; DB 0,16,68,76,84,100,68,0,0,0,72,80,112
|
||||||
; DB 72,68,0,0,0,28,36,36,36,68,0,0,0,68
|
; DB 72,68,0,0,0,28,36,36,36,68,0,0,0,68
|
||||||
; DB 108,84,84,68,0,0,0,68,68,124,68,68,0
|
; DB 108,84,84,68,0,0,0,68,68,124,68,68,0
|
||||||
; DB 0,0,56,68,68,68,56,0,0,0,124,68,68,68
|
; DB 0,0,56,68,68,68,56,0,0,0,124,68,68,68
|
||||||
; DB 68,0,0,0,60,68,60,36,68,0,0,0,120,68
|
; DB 68,0,0,0,60,68,60,36,68,0,0,0,120,68
|
||||||
; DB 68,120,64,64,0,0,56,64,64,64,56,0,0
|
; DB 68,120,64,64,0,0,56,64,64,64,56,0,0
|
||||||
; DB 0,124,16,16,16,16,0,0,0,68,68,60,4,56
|
; DB 0,124,16,16,16,16,0,0,0,68,68,60,4,56
|
||||||
; DB 0,0,0,84,84,56,84,84,0,0,0,120,68,120
|
; DB 0,0,0,84,84,56,84,84,0,0,0,120,68,120
|
||||||
; DB 68,120,0,0,0,64,64,120,68,120,0,0,0
|
; DB 68,120,0,0,0,64,64,120,68,120,0,0,0
|
||||||
; DB 68,68,116,76,116,0,0,0,56,68,24,68,56
|
; DB 68,68,116,76,116,0,0,0,56,68,24,68,56
|
||||||
; DB 0,0,0,84,84,84,84,124,0,0,0,56,4,28
|
; DB 0,0,0,84,84,84,84,124,0,0,0,56,4,28
|
||||||
; DB 4,56,0,0,0,84,84,84,84,126,2,0,0,68
|
; DB 4,56,0,0,0,84,84,84,84,126,2,0,0,68
|
||||||
; DB 68,60,4,4,0,0,0,96,32,56,36,56,0,0,76
|
; DB 68,60,4,4,0,0,0,96,32,56,36,56,0,0,76
|
||||||
; DB 82,114,82,82,76,0,0,60,66,66,126,66
|
; DB 82,114,82,82,76,0,0,60,66,66,126,66
|
||||||
; DB 66,0,0,124,64,124,66,66,124,0,0,68,68
|
; DB 66,0,0,124,64,124,66,66,124,0,0,68,68
|
||||||
; DB 68,68,68,126,2,0,24,36,36,36,36,126
|
; DB 68,68,68,126,2,0,24,36,36,36,36,126
|
||||||
; DB 66,0,126,64,124,64,64,126,0,0,56,84
|
; DB 66,0,126,64,124,64,64,126,0,0,56,84
|
||||||
; DB 84,56,16,16,0,0,126,64,64,64,64,64,0
|
; DB 84,56,16,16,0,0,126,64,64,64,64,64,0
|
||||||
; DB 0,66,36,24,24,36,66,0,0,66,70,74,82
|
; DB 0,66,36,24,24,36,66,0,0,66,70,74,82
|
||||||
; DB 98,66,0,0,90,70,74,82,98,66,0,0,68,72
|
; DB 98,66,0,0,90,70,74,82,98,66,0,0,68,72
|
||||||
; DB 112,72,68,66,0,0,30,34,34,34,34,66,0
|
; DB 112,72,68,66,0,0,30,34,34,34,34,66,0
|
||||||
; DB 0,66,102,90,66,66,66,0,0,66,66,126,66
|
; DB 0,66,102,90,66,66,66,0,0,66,66,126,66
|
||||||
; DB 66,66,0,0,60,66,66,66,66,60,0,0,126
|
; DB 66,66,0,0,60,66,66,66,66,60,0,0,126
|
||||||
; DB 66,66,66,66,66,0,0,62,66,66,62,34,66
|
; DB 66,66,66,66,66,0,0,62,66,66,62,34,66
|
||||||
; DB 0,0,124,66,66,124,64,64,0,0,60,66,64
|
; DB 0,0,124,66,66,124,64,64,0,0,60,66,64
|
||||||
; DB 64,66,60,0,0,254,16,16,16,16,16,0,0
|
; DB 64,66,60,0,0,254,16,16,16,16,16,0,0
|
||||||
; DB 66,66,62,2,66,60,0,0,84,84,56,84,84
|
; DB 66,66,62,2,66,60,0,0,84,84,56,84,84
|
||||||
; DB 84,0,0,124,66,124,66,66,124,0,0,64,64
|
; DB 84,0,0,124,66,124,66,66,124,0,0,64,64
|
||||||
; DB 124,66,66,124,0,0,66,66,114,74,74,114
|
; DB 124,66,66,124,0,0,66,66,114,74,74,114
|
||||||
; DB 0,0,60,66,12,2,66,60,0,0,84,84,84,84
|
; DB 0,0,60,66,12,2,66,60,0,0,84,84,84,84
|
||||||
; DB 84,124,0,0,60,66,14,2,66,60,0,0,84,84
|
; DB 84,124,0,0,60,66,14,2,66,60,0,0,84,84
|
||||||
; DB 84,84,84,126,2,0,66,66,66,126,2,2,0
|
; DB 84,84,84,126,2,0,66,66,66,126,2,2,0
|
||||||
; DB 60,66,153,161,161,153,66,60
|
; DB 60,66,153,161,161,153,66,60
|
||||||
;
|
;
|
||||||
;**************************************
|
;**************************************
|
||||||
;**************************************
|
;**************************************
|
||||||
INCLUDE 'trdos/tr_msd_4.asz'
|
INCLUDE 'trdos/tr_HDD_4.asz'
|
||||||
BLOCK #1000 - $,255
|
_mInfoBLOCK #1000 - $,255
|
||||||
|
|
||||||
;**************************************
|
;**************************************
|
||||||
DISPLAY "4k"
|
|
||||||
|
|
||||||
AUTO_1000:
|
AUTO_1000:
|
||||||
DB 22,9,5,"Interface one fitted",0
|
DB 22,9,5,"Interface one fitted",0
|
||||||
;
|
;
|
||||||
@ -1762,7 +1759,7 @@ AUTO_146F:
|
|||||||
OR A
|
OR A
|
||||||
RET Z
|
RET Z
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,ZX_VARS.L_5D23
|
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||||
SUB (HL)
|
SUB (HL)
|
||||||
POP HL
|
POP HL
|
||||||
JR NC,AUTO_14CB
|
JR NC,AUTO_14CB
|
||||||
@ -1802,7 +1799,7 @@ AUTO_14A5:
|
|||||||
AUTO_14CB:
|
AUTO_14CB:
|
||||||
LD (ZX_VARS.VAR_2_0),A
|
LD (ZX_VARS.VAR_2_0),A
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,ZX_VARS.L_5D23
|
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||||
LD B,(HL)
|
LD B,(HL)
|
||||||
POP HL
|
POP HL
|
||||||
XOR A
|
XOR A
|
||||||
@ -1929,7 +1926,7 @@ AUTO_15DB:
|
|||||||
RET Z
|
RET Z
|
||||||
PUSH BC
|
PUSH BC
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,ZX_VARS.L_5D23
|
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||||
LD C,(HL)
|
LD C,(HL)
|
||||||
LD B,0
|
LD B,0
|
||||||
POP HL
|
POP HL
|
||||||
@ -1975,7 +1972,7 @@ AUTO_162A:
|
|||||||
AUTO_1644:
|
AUTO_1644:
|
||||||
LD (ZX_VARS.FL_TYPE),HL
|
LD (ZX_VARS.FL_TYPE),HL
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,ZX_VARS.L_5D23
|
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||||
LD C,(HL)
|
LD C,(HL)
|
||||||
LD B,0
|
LD B,0
|
||||||
POP HL
|
POP HL
|
||||||
@ -2019,7 +2016,7 @@ AUTO_1680:
|
|||||||
LD A,17
|
LD A,17
|
||||||
AUTO_168F:
|
AUTO_168F:
|
||||||
DEC A
|
DEC A
|
||||||
LD (ZX_VARS.L_5D23),A
|
LD (ZX_VARS.WORK_SPACE.Size),A
|
||||||
LD B,A
|
LD B,A
|
||||||
LD C,0
|
LD C,0
|
||||||
RET
|
RET
|
||||||
@ -2045,9 +2042,9 @@ CMD_MOVE:
|
|||||||
LD DE,0900h
|
LD DE,0900h
|
||||||
ADD HL,DE
|
ADD HL,DE
|
||||||
LD (ZX_VARS.VAR_1),HL
|
LD (ZX_VARS.VAR_1),HL
|
||||||
LD A,(ZX_VARS.L_5D23)
|
LD A,(ZX_VARS.WORK_SPACE.Size)
|
||||||
SUB 9
|
SUB 9
|
||||||
LD (ZX_VARS.L_5D23),A
|
LD (ZX_VARS.WORK_SPACE.Size),A
|
||||||
LD HL,(ZX_VARS.FL_N_4)
|
LD HL,(ZX_VARS.FL_N_4)
|
||||||
LD DE,0
|
LD DE,0
|
||||||
LD B,9
|
LD B,9
|
||||||
@ -2136,7 +2133,7 @@ CMD_MOVE:
|
|||||||
LD DE,0
|
LD DE,0
|
||||||
LD B,9
|
LD B,9
|
||||||
CALL WRITE_DISK
|
CALL WRITE_DISK
|
||||||
LD A,(ZX_VARS.L_5D23)
|
LD A,(ZX_VARS.WORK_SPACE.Size)
|
||||||
ADD A,9
|
ADD A,9
|
||||||
LD B,A
|
LD B,A
|
||||||
LD C,0
|
LD C,0
|
||||||
@ -2178,7 +2175,7 @@ AUTO_17A5:
|
|||||||
OR A
|
OR A
|
||||||
RET Z
|
RET Z
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,ZX_VARS.L_5D23
|
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||||
SUB (HL)
|
SUB (HL)
|
||||||
POP HL
|
POP HL
|
||||||
JR NC,AUTO_17DD
|
JR NC,AUTO_17DD
|
||||||
@ -2204,7 +2201,7 @@ AUTO_17BA:
|
|||||||
AUTO_17DD:
|
AUTO_17DD:
|
||||||
LD (ZX_VARS.AUTO_5CD3),A
|
LD (ZX_VARS.AUTO_5CD3),A
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,ZX_VARS.L_5D23
|
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||||
LD B,(HL)
|
LD B,(HL)
|
||||||
POP HL
|
POP HL
|
||||||
XOR A
|
XOR A
|
||||||
@ -2235,7 +2232,6 @@ AUTO_17F7:
|
|||||||
AUTO_180D:
|
AUTO_180D:
|
||||||
LDIR
|
LDIR
|
||||||
RET
|
RET
|
||||||
DISPLAY "6k"
|
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
@ -3170,7 +3166,7 @@ AUTO_1E67:
|
|||||||
JP R_W_REDIR
|
JP R_W_REDIR
|
||||||
|
|
||||||
;LD (HL),30 ; <20>… ¨á¯. !!!
|
;LD (HL),30 ; <20>… ¨á¯. !!!
|
||||||
BLOCK #1E70-$,0
|
_mInfoBLOCK #1E70-$,0
|
||||||
AUTO_1E70:
|
AUTO_1E70:
|
||||||
POP HL
|
POP HL
|
||||||
POP BC
|
POP BC
|
||||||
@ -3342,21 +3338,24 @@ AUTO_1F55:
|
|||||||
CALL AUTO_1DA9
|
CALL AUTO_1DA9
|
||||||
JP AUTO_01D3
|
JP AUTO_01D3
|
||||||
AUTO_1FB9:
|
AUTO_1FB9:
|
||||||
DB 1,9,2,10,3,11,4,12,5,13,6,14,7,15,8,16,1
|
;€¤à¥á #1FB9. ’ ¡«¨æ ᥪâ®à®¢ ¤«ï ä®à¬ â¨à®¢ ¨ï ®¡ë箣® ¤¨áª . ˆá¯®«ì§ã¥âáï â ª¦¥ á ¤à¥á #1FBA ¤«ï ¯à®¢¥àª¨ ¤®à®¦ª¨.
|
||||||
|
DB 1
|
||||||
|
DB 9,2,#A,3,#B,4,#C,5,#D,6,#E,7,#F,8,#10,1
|
||||||
|
|
||||||
test_d_traks:
|
test_d_traks:
|
||||||
CALL get_disk_time
|
CALL get_disk_time
|
||||||
OR 17
|
OR 17
|
||||||
LD B,A
|
LD B,A
|
||||||
LD A,'2'
|
LD A,#32
|
||||||
CALL Goto_trk
|
CALL Goto_trk
|
||||||
LD A,2
|
LD A,2
|
||||||
CALL Goto_trk
|
CALL Goto_trk
|
||||||
CALL pause_50ms
|
CALL pause_50ms
|
||||||
IN A,(FDC_93.Command)
|
IN A,(FDC_93.Command)
|
||||||
AND 4
|
AND 4
|
||||||
LD A,'P'
|
LD A,#50
|
||||||
JR Z,AUTO_1FE7
|
JR Z,AUTO_1FE7
|
||||||
LD A,'('
|
LD A,#28
|
||||||
AUTO_1FE7:
|
AUTO_1FE7:
|
||||||
LD (ZX_VARS.MED_START),A
|
LD (ZX_VARS.MED_START),A
|
||||||
RET
|
RET
|
||||||
@ -3519,7 +3518,7 @@ AUTO_20E5:
|
|||||||
xchg_intf1:
|
xchg_intf1:
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,(ZX_VARS.BEG_ADRESS)
|
LD A,(ZX_VARS.BEG_ADRESS)
|
||||||
CP 244
|
CP #F4
|
||||||
JR Z,AUTO_211C
|
JR Z,AUTO_211C
|
||||||
XOR A
|
XOR A
|
||||||
LD HL,ZX_VARS.INT_1_VAR
|
LD HL,ZX_VARS.INT_1_VAR
|
||||||
@ -3533,7 +3532,7 @@ xchg_intf1:
|
|||||||
JR NZ,AUTO_2111
|
JR NZ,AUTO_2111
|
||||||
LD DE,AUTO_5E34
|
LD DE,AUTO_5E34
|
||||||
AUTO_2111:
|
AUTO_2111:
|
||||||
LD B,'-'
|
LD B,#2D
|
||||||
AUTO_2113:
|
AUTO_2113:
|
||||||
LD C,(HL)
|
LD C,(HL)
|
||||||
LD A,(DE)
|
LD A,(DE)
|
||||||
@ -4517,9 +4516,6 @@ AUTO_27ED:
|
|||||||
DB "Directory full",141
|
DB "Directory full",141
|
||||||
AUTO_27FC:
|
AUTO_27FC:
|
||||||
DB "No disk",141
|
DB "No disk",141
|
||||||
|
|
||||||
DISPLAY "10k"
|
|
||||||
|
|
||||||
AUTO_2804:
|
AUTO_2804:
|
||||||
DB "Stream opened",141
|
DB "Stream opened",141
|
||||||
AUTO_2812:
|
AUTO_2812:
|
||||||
@ -5426,19 +5422,20 @@ AUTO_2ECC:
|
|||||||
RRCA
|
RRCA
|
||||||
RRCA
|
RRCA
|
||||||
RRCA
|
RRCA
|
||||||
OUT (0FEH),A
|
OUT (BorderColor),A
|
||||||
LD A,(ZX_VARS.AUTO_5B08)
|
LD A,(ZX_VARS.SWAP_ROM_PRESENCE) ;¡¥à¥¬ ¡ ©â ¨§ #5B08
|
||||||
CP 238
|
CP #EE ;â ¬ #EE? ®¯ª®¤ XOR ¢ ¯à®æ¥¤ãॠ¯¥à¥ª«îç¥¨ï ¡ ®ª ROM Basic 48<->128
|
||||||
JR NZ,AUTO_2EF7
|
;Žè¨¡ª !!! —¨á«® #EE ¯® ¤à¥áã #5B08 ¥é¥ ¨ ® 祬 ¥ £®¢®p¨â.
|
||||||
|
JR NZ,AUTO_2EF7 ;¥á«¨ ¥â, â® á¨á⥬ëå ¯¥à¥¬¥ëå 128Š ¥â
|
||||||
PUSH BC
|
PUSH BC
|
||||||
LD BC,PORT_128
|
LD BC,PORT_128
|
||||||
LD A,(ZX_VARS.AUTO_5B5C)
|
LD A,(ZX_VARS.COPY_P128)
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
POP BC
|
POP BC
|
||||||
AUTO_2EF7:
|
AUTO_2EF7:
|
||||||
LD A,(ZX_VARS.K_STATE)
|
LD A,(ZX_VARS.K_STATE) ;¡¥à¥¬ ä« £ ¯à¥àë¢ ¨©
|
||||||
OR A
|
OR A
|
||||||
LD A,201
|
LD A,#C9 ;ãáâ ®¢ª ¯¥à¥ª«îç ⥫ï <20>‡“ ¡¥©á¨ª
|
||||||
LD (ZX_VARS.K_STATE),A
|
LD (ZX_VARS.K_STATE),A
|
||||||
JR NZ,AUTO_2F03
|
JR NZ,AUTO_2F03
|
||||||
EI
|
EI
|
||||||
@ -5447,7 +5444,7 @@ AUTO_2F03:
|
|||||||
JP ZX_VARS.K_STATE
|
JP ZX_VARS.K_STATE
|
||||||
AUTO_2F07:
|
AUTO_2F07:
|
||||||
LD A,(AUTO_4011)
|
LD A,(AUTO_4011)
|
||||||
OR 3Ch
|
OR #3C
|
||||||
AUTO_2F0C:
|
AUTO_2F0C:
|
||||||
OUT (FDC_93.DrvCTRL),A
|
OUT (FDC_93.DrvCTRL),A
|
||||||
RET
|
RET
|
||||||
@ -5862,7 +5859,7 @@ AUTO_31C8:
|
|||||||
;
|
;
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
BLOCK #31F3 - $,255
|
_mInfoBLOCK #31F3 - $,255
|
||||||
AUTO_31F3:
|
AUTO_31F3:
|
||||||
LD HL,(ZX_VARS.CHANS)
|
LD HL,(ZX_VARS.CHANS)
|
||||||
OR A
|
OR A
|
||||||
@ -5871,7 +5868,7 @@ AUTO_31F3:
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
|
|
||||||
BLOCK #3200-$,#FF
|
_mInfoBLOCK #3200-$,#FF
|
||||||
INIT_2X80:
|
INIT_2X80:
|
||||||
JP AUTO_106E
|
JP AUTO_106E
|
||||||
INIT_2X80_1:
|
INIT_2X80_1:
|
||||||
@ -6339,7 +6336,7 @@ EDIT_X00:
|
|||||||
LD (HL),128
|
LD (HL),128
|
||||||
EDIT_X01:
|
EDIT_X01:
|
||||||
RST RST20 ; ¢¢®¤ ª« ¢¨è¨
|
RST RST20 ; ¢¢®¤ ª« ¢¨è¨
|
||||||
DW 015D4H
|
DW #15D4
|
||||||
EDIT_X02:
|
EDIT_X02:
|
||||||
CALL BEEP_1
|
CALL BEEP_1
|
||||||
CP 24
|
CP 24
|
||||||
@ -6349,11 +6346,11 @@ EDIT_X02:
|
|||||||
CP 16 ; ®â 7 ¤® 16 - ।. áâப¨
|
CP 16 ; ®â 7 ¤® 16 - ।. áâப¨
|
||||||
JR C,EDIT_X04
|
JR C,EDIT_X04
|
||||||
RST RST20 ; ¢¢®¤ ᯥæ ᨬ¢®«®¢
|
RST RST20 ; ¢¢®¤ ᯥæ ᨬ¢®«®¢
|
||||||
DW 00F58H
|
DW #0F58
|
||||||
JR EDIT_X01
|
JR EDIT_X01
|
||||||
EDIT_X03:
|
EDIT_X03:
|
||||||
RST RST20 ; áâ ¤. ¢¢®¤ ¢ ¡ãä¥à । ªâ¨à®¢ ¨ï
|
RST RST20 ; áâ ¤. ¢¢®¤ ¢ ¡ãä¥à । ªâ¨à®¢ ¨ï
|
||||||
DW 00F81H
|
DW #0F81
|
||||||
JR EDIT_X01
|
JR EDIT_X01
|
||||||
EDIT_X04:
|
EDIT_X04:
|
||||||
CP 7 ; 7 - ¥â ®¯¥à 樨
|
CP 7 ; 7 - ¥â ®¯¥à 樨
|
||||||
@ -6365,7 +6362,7 @@ EDIT_X04:
|
|||||||
CP 11
|
CP 11
|
||||||
JR Z,EDIT_X01
|
JR Z,EDIT_X01
|
||||||
RST RST20 ; ¢ë¯®«¨âì ®¯¥à æ¨î । ªâ¨à®¢ ¨ï
|
RST RST20 ; ¢ë¯®«¨âì ®¯¥à æ¨î । ªâ¨à®¢ ¨ï
|
||||||
DW 00F92H
|
DW #0F92
|
||||||
JR EDIT_X01
|
JR EDIT_X01
|
||||||
|
|
||||||
|
|
||||||
@ -6375,32 +6372,29 @@ EDIT_X05:
|
|||||||
|
|
||||||
;******************************************
|
;******************************************
|
||||||
|
|
||||||
RUS_PRINT:
|
;!TODO russian charset
|
||||||
AND '?'
|
; RUS_PRINT:
|
||||||
LD L,A
|
; AND #3F
|
||||||
LD H,0
|
; LD L,A
|
||||||
ADD HL,HL
|
; LD H,0
|
||||||
ADD HL,HL
|
; ADD HL,HL
|
||||||
ADD HL,HL
|
; ADD HL,HL
|
||||||
LD BC,ZG_RUS
|
; ADD HL,HL
|
||||||
ADD HL,BC
|
; LD BC,ZG_RUS
|
||||||
DB 17
|
; ADD HL,BC
|
||||||
SUB D
|
; LD DE,#5C92
|
||||||
LD E,H
|
; LD BC,8
|
||||||
LD BC,RST08
|
; LDIR
|
||||||
LDIR
|
; LD A,#C9
|
||||||
LD A,201
|
; LD (ZX_VARS.AUTO_5C9A),A
|
||||||
LD (ZX_VARS.AUTO_5C9A),A
|
; JP ZX_VARS.AUTO_5C9A
|
||||||
JP ZX_VARS.AUTO_5C9A
|
|
||||||
|
|
||||||
;**************************************
|
;**************************************
|
||||||
|
|
||||||
; DSS 3900H,'#'
|
; DSS 3900H,'#'
|
||||||
|
|
||||||
;**********************************
|
;**********************************
|
||||||
DISPLAY "14k"
|
_mInfoBLOCK #3C00 - $,255
|
||||||
|
|
||||||
BLOCK #3C00 - $,255
|
|
||||||
AUTO_3C00:
|
AUTO_3C00:
|
||||||
RST R38
|
RST R38
|
||||||
JR AUTO_3C06
|
JR AUTO_3C06
|
||||||
@ -6408,18 +6402,18 @@ AUTO_3C00:
|
|||||||
JR AUTO_3C09
|
JR AUTO_3C09
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
BLOCK #3C06 - $,255
|
_mInfoBLOCK #3C06 - $,255
|
||||||
AUTO_3C06:
|
AUTO_3C06:
|
||||||
JP AUTO_3D00
|
JP AUTO_3D00
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
BLOCK #3C09 - $,255
|
_mInfoBLOCK #3C09 - $,255
|
||||||
AUTO_3C09:
|
AUTO_3C09:
|
||||||
JP AUTO_3D03
|
JP AUTO_3D03
|
||||||
|
|
||||||
;************************************
|
;************************************
|
||||||
;!FIXIT not used
|
;!FIXIT not used
|
||||||
BLOCK #3C10 - $,255
|
_mInfoBLOCK #3C10 - $,255
|
||||||
;KBD_EXP:
|
;KBD_EXP:
|
||||||
LD A,CNF_PORT.ZX_BIOS
|
LD A,CNF_PORT.ZX_BIOS
|
||||||
OUT (CNF_PORT.ON),A
|
OUT (CNF_PORT.ON),A
|
||||||
@ -6427,7 +6421,7 @@ AUTO_3C09:
|
|||||||
;
|
;
|
||||||
;************************************
|
;************************************
|
||||||
;!FIXIT not used
|
;!FIXIT not used
|
||||||
BLOCK #3C18 - $,255
|
_mInfoBLOCK #3C18 - $,255
|
||||||
;KBD_OFF:
|
;KBD_OFF:
|
||||||
LD A,CNF_PORT.ZX_BIOS
|
LD A,CNF_PORT.ZX_BIOS
|
||||||
OUT (CNF_PORT.ON),A
|
OUT (CNF_PORT.ON),A
|
||||||
@ -6435,14 +6429,14 @@ AUTO_3C09:
|
|||||||
|
|
||||||
;************************************
|
;************************************
|
||||||
;!FIXIT not used
|
;!FIXIT not used
|
||||||
BLOCK #3C20 - $,255
|
_mInfoBLOCK #3C20 - $,255
|
||||||
READR_X:
|
READR_X:
|
||||||
CALL get_disk_time
|
CALL get_disk_time
|
||||||
LD B,A
|
LD B,A
|
||||||
JP set_side_0
|
JP set_side_0
|
||||||
;************************************
|
;************************************
|
||||||
;!FIXIT not used
|
;!FIXIT not used
|
||||||
BLOCK #3C30 - $,255
|
_mInfoBLOCK #3C30 - $,255
|
||||||
IN A,(FDC_93.Command)
|
IN A,(FDC_93.Command)
|
||||||
RET
|
RET
|
||||||
|
|
||||||
@ -6525,7 +6519,7 @@ CMD_COPY.FIXED:
|
|||||||
INC SP
|
INC SP
|
||||||
JP AUTO_03D9
|
JP AUTO_03D9
|
||||||
;*******************************
|
;*******************************
|
||||||
BLOCK #3CC0 - $,255
|
_mInfoBLOCK #3CC0 - $,255
|
||||||
MAGIC_1:
|
MAGIC_1:
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,CNF_PORT.ZX_BIOS
|
LD A,CNF_PORT.ZX_BIOS
|
||||||
@ -6533,7 +6527,7 @@ MAGIC_1:
|
|||||||
POP AF
|
POP AF
|
||||||
JP MAGIC_2
|
JP MAGIC_2
|
||||||
;*******************************
|
;*******************************
|
||||||
BLOCK #3CC9 - $,255
|
_mInfoBLOCK #3CC9 - $,255
|
||||||
MAGIC_3:
|
MAGIC_3:
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,CNF_PORT.ZX_BIOS
|
LD A,CNF_PORT.ZX_BIOS
|
||||||
@ -6573,17 +6567,17 @@ REDIR_3D13:
|
|||||||
JP EXP_FNS
|
JP EXP_FNS
|
||||||
;
|
;
|
||||||
;*****************************
|
;*****************************
|
||||||
BLOCK #3CFA - $,255
|
_mInfoBLOCK #3CFA - $,255
|
||||||
AUTO_3CFA:
|
AUTO_3CFA:
|
||||||
JP xchg_intf1
|
JP xchg_intf1
|
||||||
|
|
||||||
;****** 3D13 redirection ******
|
;****** 3D13 redirection ******
|
||||||
BLOCK #3CFD - $,255
|
_mInfoBLOCK #3CFD - $,255
|
||||||
AUTO_3CFD:
|
AUTO_3CFD:
|
||||||
JP REDIR_3D13
|
JP REDIR_3D13
|
||||||
; JP AUTO_283C
|
; JP AUTO_283C
|
||||||
;***********************************************************************;
|
;***********************************************************************;
|
||||||
BLOCK #3D00-$,#FF
|
_mInfoBLOCK #3D00-$,#FF
|
||||||
|
|
||||||
AUTO_3D00:
|
AUTO_3D00:
|
||||||
NOP
|
NOP
|
||||||
@ -6602,7 +6596,7 @@ AUTO_3D0E:
|
|||||||
NOP
|
NOP
|
||||||
JR AUTO_3CFA
|
JR AUTO_3CFA
|
||||||
;****** 3D13 point !!! ****
|
;****** 3D13 point !!! ****
|
||||||
BLOCK #3D13-$,#FF
|
_mInfoBLOCK #3D13-$,#FF
|
||||||
NOP
|
NOP
|
||||||
JR AUTO_3CFD
|
JR AUTO_3CFD
|
||||||
AUTO_3D16:
|
AUTO_3D16:
|
||||||
@ -6647,7 +6641,7 @@ AUTO_3D44:
|
|||||||
AUTO_3D4C:
|
AUTO_3D4C:
|
||||||
XOR A
|
XOR A
|
||||||
OUT (FDC_93.DrvCTRL),A
|
OUT (FDC_93.DrvCTRL),A
|
||||||
IN A,(#F6)
|
IN A,(#F6) ; ¨ç¥£® ¥ ¤ ñâ
|
||||||
LD HL,AUTO_3D38
|
LD HL,AUTO_3D38
|
||||||
LD DE,ZX_VARS.MEM_BOT
|
LD DE,ZX_VARS.MEM_BOT
|
||||||
LD BC,AUTO_3D38.Size + AUTO_3D44.Size
|
LD BC,AUTO_3D38.Size + AUTO_3D44.Size
|
||||||
@ -6663,31 +6657,34 @@ AUTO_3D67: ;
|
|||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,AUTO_3D2F
|
LD HL,AUTO_3D2F
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,1655h ;!HARDCODE
|
LD HL,ZX_VARS.PROG.MAKE_ROOM
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,ZX_VARS.AUTO_5BFF
|
LD HL,ZX_VARS.TSTACK
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD (HL),#C9 ; RET code
|
LD (HL),#C9 ; RET code
|
||||||
LD HL,ZX_VARS.P_RAMTOP+1
|
LD HL,ZX_VARS.P_RAMTOP+1
|
||||||
LD BC,CONT_8+7
|
LD BC,CONT_8+7
|
||||||
RET
|
RET
|
||||||
PRINT_CR:
|
PRINT_CR:
|
||||||
LD A,13
|
LD A,#0D ; enter
|
||||||
PRINT_SYM:
|
PRINT_SYM:
|
||||||
JP PRINT_RED
|
JP PRINT_RED
|
||||||
RST R38
|
|
||||||
RST R38
|
_mInfoBLOCK #3D8F-$,#FF ; •…<E280A2>
|
||||||
NOP
|
DW 0000 ; ‡<>€…’
|
||||||
NOP
|
_mInfoBLOCK 3,#FF ; ‡€—…Œ
|
||||||
JP RUS_PRINT
|
|
||||||
RST R38
|
;=======================================================================
|
||||||
RST R38
|
;!TODO russian charset
|
||||||
RST R38
|
; PRINT_CR:
|
||||||
NOP
|
; LD A,#0D ; enter
|
||||||
NOP
|
; PRINT_SYM:
|
||||||
RST R38
|
; CP #80
|
||||||
RST R38
|
; JP C,PRINT_RED
|
||||||
RST R38
|
; JP RUS_PRINT
|
||||||
|
;=======================================================================
|
||||||
|
|
||||||
|
|
||||||
AUTO_3D94:
|
AUTO_3D94:
|
||||||
RST_ROM ROUTINE.print_a
|
RST_ROM ROUTINE.print_a
|
||||||
RET
|
RET
|
||||||
@ -6731,22 +6728,22 @@ SET_DISK:
|
|||||||
AUTO_3DCE:
|
AUTO_3DCE:
|
||||||
LD HL,ZX_VARS.PDOS_COPY
|
LD HL,ZX_VARS.PDOS_COPY
|
||||||
LD C,A
|
LD C,A
|
||||||
LD A,3Ch
|
LD A,#3C
|
||||||
OR C
|
OR C
|
||||||
OUT (FDC_93.DrvCTRL),A
|
OUT (FDC_93.DrvCTRL),A
|
||||||
LD (HL),A
|
LD (HL),A
|
||||||
CALL get_disk_time
|
CALL get_disk_time
|
||||||
AND 128
|
AND #80
|
||||||
JR Z,AUTO_3DFA
|
JR Z,AUTO_3DFA
|
||||||
CALL RESET_WG
|
CALL RESET_WG
|
||||||
CALL test_disk
|
CALL test_disk
|
||||||
CALL get_disk_type
|
CALL get_disk_type
|
||||||
CP 255
|
CP #FF
|
||||||
JR NZ,AUTO_3DFA
|
JR NZ,AUTO_3DFA
|
||||||
PUSH HL
|
PUSH HL
|
||||||
CALL test_d_traks
|
CALL test_d_traks
|
||||||
POP HL
|
POP HL
|
||||||
CP 'P'
|
CP #50
|
||||||
LD A,0
|
LD A,0
|
||||||
JR NZ,AUTO_3DF9
|
JR NZ,AUTO_3DF9
|
||||||
LD A,128
|
LD A,128
|
||||||
@ -6755,7 +6752,7 @@ AUTO_3DF9:
|
|||||||
AUTO_3DFA:
|
AUTO_3DFA:
|
||||||
CALL READ_TRK_NUM
|
CALL READ_TRK_NUM
|
||||||
pause_50ms:
|
pause_50ms:
|
||||||
LD A,12 ;'P'
|
LD A,12 ; #50
|
||||||
pause_1ms:
|
pause_1ms:
|
||||||
LD C,255
|
LD C,255
|
||||||
AUTO_3E01:
|
AUTO_3E01:
|
||||||
@ -7081,7 +7078,7 @@ AUTO_3FEC:
|
|||||||
|
|
||||||
;[x]] ¯®¯à ¢«¥ë ®¬¥à äãªæ¨© ¯à¨ ¢ë§®¢ å API ¨ ¯àë£ ¥â áà §ã ¢ BIOS ç¥à¥§ #3FF8
|
;[x]] ¯®¯à ¢«¥ë ®¬¥à äãªæ¨© ¯à¨ ¢ë§®¢ å API ¨ ¯àë£ ¥â áà §ã ¢ BIOS ç¥à¥§ #3FF8
|
||||||
;-------[ From TR-DOS to API 4x ]-------
|
;-------[ From TR-DOS to API 4x ]-------
|
||||||
BLOCK #3FF0-$, #FF
|
_mInfoBLOCK #3FF0-$, #FF
|
||||||
HD_CMD: PUSH AF
|
HD_CMD: PUSH AF
|
||||||
DI
|
DI
|
||||||
;LD A,SYS_PORT.EXTENSION
|
;LD A,SYS_PORT.EXTENSION
|
||||||
@ -7093,7 +7090,7 @@ HD_CMD: PUSH AF
|
|||||||
|
|
||||||
;
|
;
|
||||||
;----[ From TR-DOS to API #80..#FF]-----
|
;----[ From TR-DOS to API #80..#FF]-----
|
||||||
BLOCK #3FF8-$, #FF
|
_mInfoBLOCK #3FF8-$, #FF
|
||||||
EXP_FNS:;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
EXP_FNS:;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||||
;PUSH AF
|
;PUSH AF
|
||||||
;DI ;!TODO ¯®¤ã¬ âì, ª ª á®åà ïâì á®áâ®ï¨¥ ¯à¥àë¢ ¨© ¨ ¨ç¥£® ¥ á«®¬ âì
|
;DI ;!TODO ¯®¤ã¬ âì, ª ª á®åà ïâì á®áâ®ï¨¥ ¯à¥àë¢ ¨© ¨ ¨ç¥£® ¥ á«®¬ âì
|
||||||
@ -7108,7 +7105,7 @@ EXP_FNS_PREPARE_RET:
|
|||||||
;
|
;
|
||||||
|
|
||||||
;
|
;
|
||||||
BLOCK #4000-$, #FF
|
_mInfoBLOCK #4000-$, #FF
|
||||||
DISPLAY "16k..ALL!"
|
|
||||||
;
|
;
|
||||||
|
DISPLAY "\n\rNEW RAMDRV READ = ",/D,NEW_RAMDRV_READ
|
||||||
|
;
|
||||||
@ -19096,11 +19096,8 @@ L3BC9: SCF ; Return as if no trailing space
|
|||||||
|
|
||||||
JP $0B03 ; PO-FETCH - Return via Position Fetch routine
|
JP $0B03 ; PO-FETCH - Return via Position Fetch routine
|
||||||
|
|
||||||
L3BD2: DEFM "SPECTRU" ; SPECTRUM token
|
L3BD2: DC "SPECTRUM" ; SPECTRUM token
|
||||||
DEFB 'M'+$80
|
L3BDA: DC "PLAY" ; PLAY token
|
||||||
|
|
||||||
L3BDA: DEFM "PLA" ; PLAY token
|
|
||||||
DEFB 'Y'+$80
|
|
||||||
|
|
||||||
;; KP_SCAN2
|
;; KP_SCAN2
|
||||||
L3BDE: JP L3C01 ; This is not called from either ROM. It can be used to scan the keypad.
|
L3BDE: JP L3C01 ; This is not called from either ROM. It can be used to scan the keypad.
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 713bcf1538ff822231da15aed4d8fb7611ebe205
|
Subproject commit 4d14c951c21a9e98b8c301bece3f16bd5d5e5cfc
|
||||||
@ -1,36 +1,4 @@
|
|||||||
|
|
||||||
HDD_SET:;!TEST
|
|
||||||
.loop: LD A,(DE)
|
|
||||||
INC DE
|
|
||||||
CP ' '
|
|
||||||
JR Z,.loop
|
|
||||||
CP #0D
|
|
||||||
JR Z,.init
|
|
||||||
;
|
|
||||||
DEC DE
|
|
||||||
DEC DE
|
|
||||||
JP CHOOSE_HDD
|
|
||||||
;
|
|
||||||
|
|
||||||
.init: ;!TEST 06/01/2024 ã¡¨à ¥¬ «¨è¨¥ ⥫®¤¢¨¦¥¨ï
|
|
||||||
;LD C,BIOS.HDD_INIT and #BF
|
|
||||||
;CALL HD_CMD
|
|
||||||
LD C,BIOS.HDD_INIT
|
|
||||||
CALL EXP_FNS
|
|
||||||
;
|
|
||||||
JP C,HDD_PROG_E
|
|
||||||
|
|
||||||
LD A,(ZX_VARS.OPER_DISK)
|
|
||||||
LD B,A
|
|
||||||
XOR A
|
|
||||||
LD C,BIOS.HDD_TO_DRV
|
|
||||||
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
|
||||||
JP EXP_FNS
|
|
||||||
;CALL EXP_FNS
|
|
||||||
;EI
|
|
||||||
;RET
|
|
||||||
;
|
|
||||||
|
|
||||||
;[x] 29/01/2024
|
;[x] 29/01/2024
|
||||||
;¢ë室: A: bit1 - Primary/Secondary, bit0 - master/slave, bit2..3: ¨á¯®«ì§ãî騩áï à §¤¥« ¢ MBR
|
;¢ë室: A: bit1 - Primary/Secondary, bit0 - master/slave, bit2..3: ¨á¯®«ì§ãî騩áï à §¤¥« ¢ MBR
|
||||||
CHOOSE_HDD:
|
CHOOSE_HDD:
|
||||||
@ -446,7 +446,7 @@ FAT_ALL:
|
|||||||
;INCLUDE 'trdos/tr_msd_4.asz'
|
;INCLUDE 'trdos/tr_msd_4.asz'
|
||||||
|
|
||||||
;-----------------------------------------------------------------------
|
;-----------------------------------------------------------------------
|
||||||
BLOCK #09FF-$, #FF
|
_mInfoBLOCK #09FF-$, #FF
|
||||||
;牀え<E78980><E38188>瓷┤ ▲<><E296B2> <20>ム襤<E383A0>⑧<EFBFBD>
|
;牀え<E78980><E38188>瓷┤ ▲<><E296B2> <20>ム襤<E383A0>⑧<EFBFBD>
|
||||||
DW #FFFF
|
DW #FFFF
|
||||||
;-----------------------------------------------------------------------
|
;-----------------------------------------------------------------------
|
||||||
@ -613,6 +613,35 @@ HDD_PROG_E:
|
|||||||
JP AUTO_03E4
|
JP AUTO_03E4
|
||||||
|
|
||||||
;
|
;
|
||||||
;***************************************************************************
|
HDD_SET:;!TEST
|
||||||
|
.loop: LD A,(DE)
|
||||||
|
INC DE
|
||||||
|
CP ' '
|
||||||
|
JR Z,.loop
|
||||||
|
CP #0D
|
||||||
|
JR Z,.init
|
||||||
|
;
|
||||||
|
DEC DE
|
||||||
|
DEC DE
|
||||||
|
JP CHOOSE_HDD
|
||||||
|
;
|
||||||
|
|
||||||
|
.init: ;!TEST 06/01/2024 ã¡¨à ¥¬ «¨è¨¥ ⥫®¤¢¨¦¥¨ï
|
||||||
|
;LD C,BIOS.HDD_INIT and #BF
|
||||||
|
;CALL HD_CMD
|
||||||
|
LD C,BIOS.HDD_INIT
|
||||||
|
CALL EXP_FNS
|
||||||
|
;
|
||||||
|
JP C,HDD_PROG_E
|
||||||
|
|
||||||
|
LD A,(ZX_VARS.OPER_DISK)
|
||||||
|
LD B,A
|
||||||
|
XOR A
|
||||||
|
LD C,BIOS.HDD_TO_DRV
|
||||||
|
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||||
|
JP EXP_FNS
|
||||||
|
;CALL EXP_FNS
|
||||||
|
;EI
|
||||||
|
;RET
|
||||||
|
;
|
||||||
|
;***************************************************************************
|
||||||
@ -1,4 +1,7 @@
|
|||||||
;
|
;
|
||||||
|
DEFINE NEW_RAMDRV_READ 0
|
||||||
|
|
||||||
|
|
||||||
DISK_REDIR:
|
DISK_REDIR:
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
PUSH BC
|
||||||
@ -43,7 +46,7 @@ RECALL_MSD:
|
|||||||
|
|
||||||
TEST_RAMD:
|
TEST_RAMD:
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD C,#CE ;!HARDCODE BIOS.GET_RAMD_ST
|
LD C,BIOS.GET_RAMD_ST
|
||||||
CALL EXP_FNS
|
CALL EXP_FNS
|
||||||
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||||
;EI
|
;EI
|
||||||
@ -51,250 +54,7 @@ TEST_RAMD:
|
|||||||
POP HL
|
POP HL
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
|
||||||
; º RD/WR SECTOR HL - ZX_VARS.BUFFER º\
|
|
||||||
; º ZX_VARS.CONT_SEC - SEC/TRK FOR READ/WRITE º\
|
|
||||||
; º COM_RD_WR - ª®¬ ¤ ç⥨¥/§ ¯¨áì º\
|
|
||||||
; º 0 - ç⥨¥, 255 - § ¯¨áì º\
|
|
||||||
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\
|
|
||||||
; \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
|
||||||
|
|
||||||
READ_WRITE_RAMD:
|
|
||||||
|
|
||||||
;
|
|
||||||
; CALL DISK_REDIR
|
|
||||||
; SUB 4
|
|
||||||
; RET C
|
|
||||||
; CP 16
|
|
||||||
; CCF
|
|
||||||
; RET C
|
|
||||||
;
|
|
||||||
; PUSH HL
|
|
||||||
; LD HL,RAMD_KEYS
|
|
||||||
; ADD A,L
|
|
||||||
; LD L,A
|
|
||||||
; IN A,(SLOT3)
|
|
||||||
; LD C,A
|
|
||||||
; LD A,SYS_PAGE
|
|
||||||
; DI
|
|
||||||
; OUT (SLOT3),A
|
|
||||||
; LD L,(HL)
|
|
||||||
; LD A,C
|
|
||||||
; OUT (SLOT3),A
|
|
||||||
; EI
|
|
||||||
; LD A,L ; 1-st block
|
|
||||||
; POP HL
|
|
||||||
;
|
|
||||||
; AND A
|
|
||||||
; SCF
|
|
||||||
; RET Z
|
|
||||||
; EX AF,AF'
|
|
||||||
;
|
|
||||||
; IN A,(RGADR)
|
|
||||||
; PUSH AF
|
|
||||||
;
|
|
||||||
; PUSH HL
|
|
||||||
; PUSH DE
|
|
||||||
; PUSH BC
|
|
||||||
;
|
|
||||||
; LD DE,(ZX_VARS.CONT_SEC)
|
|
||||||
; LD A,D ; ”ˆ‡ˆ—…‘Šˆ… -> ‹Žƒˆ—…‘Šˆ… !!!
|
|
||||||
; RRCA
|
|
||||||
; RRCA
|
|
||||||
; RRCA
|
|
||||||
; RRCA
|
|
||||||
; LD D,A
|
|
||||||
; AND 0F0H
|
|
||||||
; OR E
|
|
||||||
; LD E,A
|
|
||||||
; LD A,D
|
|
||||||
; AND 0FH
|
|
||||||
; LD D,A
|
|
||||||
;
|
|
||||||
; LD A,(ZX_VARS.RD_WR_COM)
|
|
||||||
; AND A
|
|
||||||
; JR Z,RAMD_READ
|
|
||||||
; PUSH AF
|
|
||||||
; LD A,0C0H
|
|
||||||
; OUT (RGADR),A
|
|
||||||
; POP AF
|
|
||||||
;RAMD_READ:
|
|
||||||
;
|
|
||||||
; POP BC
|
|
||||||
; PUSH BC
|
|
||||||
; LD C,0C8H
|
|
||||||
; DI
|
|
||||||
; EX AF,AF'
|
|
||||||
; CALL EXP_FNS ; ç⥨¥/§ ¯¨áì RAM-Disk
|
|
||||||
; EI
|
|
||||||
; POP BC
|
|
||||||
; POP DE
|
|
||||||
; POP HL
|
|
||||||
; POP AF
|
|
||||||
; OUT (RGADR),A
|
|
||||||
; LD DE,(ZX_VARS.CONT_SEC)
|
|
||||||
;
|
|
||||||
; LD A,B
|
|
||||||
;
|
|
||||||
;RAMD_TRK_CONT:
|
|
||||||
; SUB 16
|
|
||||||
; JR C,RAMD_NO_TRK
|
|
||||||
; INC D
|
|
||||||
; JR RAMD_TRK_CONT
|
|
||||||
;
|
|
||||||
;RAMD_NO_TRK:
|
|
||||||
; ADD A,16
|
|
||||||
; ADD A,E
|
|
||||||
; CP 16
|
|
||||||
; JR C,RAMD_NO_TRK1
|
|
||||||
; SUB 16
|
|
||||||
; INC D
|
|
||||||
;RAMD_NO_TRK1:
|
|
||||||
; LD E,A
|
|
||||||
;
|
|
||||||
; LD A,H
|
|
||||||
; ADD A,B
|
|
||||||
; LD H,A
|
|
||||||
;
|
|
||||||
; LD B,0
|
|
||||||
;
|
|
||||||
; LD (ZX_VARS.CONT_SEC),DE
|
|
||||||
; AND A
|
|
||||||
; RET
|
|
||||||
;
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
INC B
|
|
||||||
WD_WR_RAMD_LOOP:
|
|
||||||
DEC B
|
|
||||||
RET Z
|
|
||||||
PUSH BC
|
|
||||||
PUSH HL
|
|
||||||
CALL RD_WR_1SEC
|
|
||||||
POP HL
|
|
||||||
CALL RAMD_NEXT_SEC
|
|
||||||
POP BC
|
|
||||||
JR WD_WR_RAMD_LOOP
|
|
||||||
|
|
||||||
RAMD_NEXT_SEC:
|
|
||||||
PUSH HL
|
|
||||||
LD HL,ZX_VARS.CONT_SEC
|
|
||||||
LD A,16
|
|
||||||
INC (HL)
|
|
||||||
CP (HL)
|
|
||||||
JR NZ,RAMD_NEXT_1
|
|
||||||
LD (HL),0
|
|
||||||
INC HL
|
|
||||||
INC (HL)
|
|
||||||
RAMD_NEXT_1:
|
|
||||||
POP HL
|
|
||||||
LD BC,0100h
|
|
||||||
ADD HL,BC
|
|
||||||
RET
|
|
||||||
|
|
||||||
RD_WR_1SEC:
|
|
||||||
LD DE,(ZX_VARS.CONT_SEC)
|
|
||||||
CALL PAGE_CALC2
|
|
||||||
DI
|
|
||||||
LD A,(ZX_VARS.RD_WR_COM)
|
|
||||||
AND 0C0H
|
|
||||||
OUT (RGADR),A
|
|
||||||
LD A,H
|
|
||||||
CP 0A0H
|
|
||||||
LD A,(ZX_VARS.RD_WR_COM)
|
|
||||||
LD E,0
|
|
||||||
LD D,C
|
|
||||||
SET 6,D
|
|
||||||
JR C,RD_WR_C000
|
|
||||||
|
|
||||||
RD_WR_4000:
|
|
||||||
RES 7,D ; DE - ¤à¥á ¤ ëå RAMD
|
|
||||||
LD C,SLOT1
|
|
||||||
EX AF,AF'
|
|
||||||
IN A,(C)
|
|
||||||
EX AF,AF'
|
|
||||||
OUT (C),B
|
|
||||||
;****** <20>…<EFBFBD>…Œ…™…<E284A2>ˆ… „€<E2809E><E282AC>›• *****
|
|
||||||
LD BC,100H
|
|
||||||
AND A
|
|
||||||
JR NZ,MOVE_NOT_EX3
|
|
||||||
EX DE,HL
|
|
||||||
MOVE_NOT_EX3:
|
|
||||||
LDIR ; à ¡®â âì §¤¥áì ¦¥, ¢ TR-DOS !!!
|
|
||||||
AND A
|
|
||||||
JR NZ,MOVE_NOT_EX4
|
|
||||||
EX DE,HL
|
|
||||||
MOVE_NOT_EX4:
|
|
||||||
;*******************************
|
|
||||||
EX AF,AF'
|
|
||||||
OUT (SLOT1),A
|
|
||||||
EX AF,AF'
|
|
||||||
; RET_PAGE1
|
|
||||||
MOVE_RET:
|
|
||||||
LD A,0
|
|
||||||
OUT (RGADR),A
|
|
||||||
EI
|
|
||||||
RET
|
|
||||||
|
|
||||||
RD_WR_C000:
|
|
||||||
SET 7,D
|
|
||||||
LD C,SLOT3
|
|
||||||
EX AF,AF'
|
|
||||||
IN A,(C)
|
|
||||||
EX AF,AF'
|
|
||||||
OUT (C),B
|
|
||||||
;****** <20>…<EFBFBD>…Œ…™…<E284A2>ˆ… „€<E2809E><E282AC>›• *****
|
|
||||||
LD BC,100H
|
|
||||||
AND A
|
|
||||||
JR NZ,MOVE_NOT_EX1
|
|
||||||
EX DE,HL
|
|
||||||
MOVE_NOT_EX1:
|
|
||||||
LDIR ; à ¡®â âì §¤¥áì ¦¥, ¢ TR-DOS !!!
|
|
||||||
AND A
|
|
||||||
JR NZ,MOVE_NOT_EX2
|
|
||||||
EX DE,HL
|
|
||||||
MOVE_NOT_EX2:
|
|
||||||
;*******************************
|
|
||||||
EX AF,AF'
|
|
||||||
OUT (SLOT3),A
|
|
||||||
EX AF,AF'
|
|
||||||
; RET_PAGE3
|
|
||||||
JR MOVE_RET
|
|
||||||
|
|
||||||
;**********************************************
|
|
||||||
PAGE_CALC2:
|
|
||||||
LD A,D ; ”ˆ‡ˆ—…‘Šˆ… -> ‹Žƒˆ—…‘Šˆ… !!!
|
|
||||||
RRCA
|
|
||||||
RRCA
|
|
||||||
RRCA
|
|
||||||
RRCA
|
|
||||||
LD D,A
|
|
||||||
AND #F0
|
|
||||||
OR E
|
|
||||||
LD E,A
|
|
||||||
LD A,D
|
|
||||||
AND #0F
|
|
||||||
LD D,A
|
|
||||||
PUSH HL
|
|
||||||
LD C,BIOS.RAMD_CALC_PAGE
|
|
||||||
CALL DISK_REDIR
|
|
||||||
SUB 4
|
|
||||||
CALL EXP_FNS ; ¢ëç¨á«¥¨¥ ¤à¥á ¨ áâà ¨æë RAM-Disk
|
|
||||||
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
|
||||||
;EI
|
|
||||||
;
|
|
||||||
LD B,A
|
|
||||||
LD C,H
|
|
||||||
POP HL
|
|
||||||
;EI
|
|
||||||
RET NC
|
|
||||||
JP ERROR_DISK
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;*********************************************
|
|
||||||
RAMD_X12: ; ¯à®¢¥àª ¤¨áª
|
RAMD_X12: ; ¯à®¢¥àª ¤¨áª
|
||||||
LD (ZX_VARS.OPER_DISK),A
|
LD (ZX_VARS.OPER_DISK),A
|
||||||
CALL DISK_REDIR
|
CALL DISK_REDIR
|
||||||
@ -326,7 +86,7 @@ RAMD_X14: ; FORMATING
|
|||||||
|
|
||||||
DISK_FORM:
|
DISK_FORM:
|
||||||
LD A,(ZX_VARS.MED_START+1)
|
LD A,(ZX_VARS.MED_START+1)
|
||||||
CP 14H
|
CP #14
|
||||||
JR Z,QVICK_FORMAT
|
JR Z,QVICK_FORMAT
|
||||||
POP HL
|
POP HL
|
||||||
POP BC
|
POP BC
|
||||||
@ -349,7 +109,7 @@ RAMD_FORMAT:
|
|||||||
POP HL
|
POP HL
|
||||||
POP BC
|
POP BC
|
||||||
POP AF
|
POP AF
|
||||||
LD B,28H ; à §¬¥à 640K
|
LD B,#28 ; à §¬¥à 640K
|
||||||
CALL DISK_REDIR
|
CALL DISK_REDIR
|
||||||
SUB 4
|
SUB 4
|
||||||
|
|
||||||
@ -358,7 +118,7 @@ RAMD_FORMAT:
|
|||||||
Q_FORM_1:
|
Q_FORM_1:
|
||||||
LD HL,ZX_VARS.BUFFER ; CLEAR DISK ZX_VARS.BUFFER
|
LD HL,ZX_VARS.BUFFER ; CLEAR DISK ZX_VARS.BUFFER
|
||||||
LD DE,ZX_VARS.BUFFER+1
|
LD DE,ZX_VARS.BUFFER+1
|
||||||
LD BC,0FFh
|
LD BC,#FF
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
LDIR
|
LDIR
|
||||||
|
|
||||||
@ -481,4 +241,353 @@ RAMD_SYM:
|
|||||||
RAMD_SYM_OK:
|
RAMD_SYM_OK:
|
||||||
POP AF
|
POP AF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
;
|
;
|
||||||
|
;======================================================================-
|
||||||
|
; READ_WRITE_RAMD:
|
||||||
|
;
|
||||||
|
; CALL DISK_REDIR
|
||||||
|
; SUB 4
|
||||||
|
; RET C
|
||||||
|
; CP 16
|
||||||
|
; CCF
|
||||||
|
; RET C
|
||||||
|
;
|
||||||
|
; PUSH HL
|
||||||
|
; LD HL,RAMD_KEYS
|
||||||
|
; ADD A,L
|
||||||
|
; LD L,A
|
||||||
|
; IN A,(SLOT3)
|
||||||
|
; LD C,A
|
||||||
|
; LD A,SYS_PAGE
|
||||||
|
; DI
|
||||||
|
; OUT (SLOT3),A
|
||||||
|
; LD L,(HL)
|
||||||
|
; LD A,C
|
||||||
|
; OUT (SLOT3),A
|
||||||
|
; EI
|
||||||
|
; LD A,L ; 1-st block
|
||||||
|
; POP HL
|
||||||
|
;
|
||||||
|
; AND A
|
||||||
|
; SCF
|
||||||
|
; RET Z
|
||||||
|
; EX AF,AF'
|
||||||
|
;
|
||||||
|
; IN A,(RGADR)
|
||||||
|
; PUSH AF
|
||||||
|
;
|
||||||
|
; PUSH HL
|
||||||
|
; PUSH DE
|
||||||
|
; PUSH BC
|
||||||
|
;
|
||||||
|
; LD DE,(ZX_VARS.CONT_SEC)
|
||||||
|
; LD A,D ; ”ˆ‡ˆ—…‘Šˆ… -> ‹Žƒˆ—…‘Šˆ… !!!
|
||||||
|
; RRCA
|
||||||
|
; RRCA
|
||||||
|
; RRCA
|
||||||
|
; RRCA
|
||||||
|
; LD D,A
|
||||||
|
; AND 0F0H
|
||||||
|
; OR E
|
||||||
|
; LD E,A
|
||||||
|
; LD A,D
|
||||||
|
; AND 0FH
|
||||||
|
; LD D,A
|
||||||
|
;
|
||||||
|
; LD A,(ZX_VARS.RD_WR_COM)
|
||||||
|
; AND A
|
||||||
|
; JR Z,RAMD_READ
|
||||||
|
; PUSH AF
|
||||||
|
; LD A,0C0H
|
||||||
|
; OUT (RGADR),A
|
||||||
|
; POP AF
|
||||||
|
;RAMD_READ:
|
||||||
|
;
|
||||||
|
; POP BC
|
||||||
|
; PUSH BC
|
||||||
|
; LD C,0C8H
|
||||||
|
; DI
|
||||||
|
; EX AF,AF'
|
||||||
|
; CALL EXP_FNS ; ç⥨¥/§ ¯¨áì RAM-Disk
|
||||||
|
; EI
|
||||||
|
; POP BC
|
||||||
|
; POP DE
|
||||||
|
; POP HL
|
||||||
|
; POP AF
|
||||||
|
; OUT (RGADR),A
|
||||||
|
; LD DE,(ZX_VARS.CONT_SEC)
|
||||||
|
;
|
||||||
|
; LD A,B
|
||||||
|
;
|
||||||
|
;RAMD_TRK_CONT:
|
||||||
|
; SUB 16
|
||||||
|
; JR C,RAMD_NO_TRK
|
||||||
|
; INC D
|
||||||
|
; JR RAMD_TRK_CONT
|
||||||
|
;
|
||||||
|
;RAMD_NO_TRK:
|
||||||
|
; ADD A,16
|
||||||
|
; ADD A,E
|
||||||
|
; CP 16
|
||||||
|
; JR C,RAMD_NO_TRK1
|
||||||
|
; SUB 16
|
||||||
|
; INC D
|
||||||
|
;RAMD_NO_TRK1:
|
||||||
|
; LD E,A
|
||||||
|
;
|
||||||
|
; LD A,H
|
||||||
|
; ADD A,B
|
||||||
|
; LD H,A
|
||||||
|
;
|
||||||
|
; LD B,0
|
||||||
|
;
|
||||||
|
; LD (ZX_VARS.CONT_SEC),DE
|
||||||
|
; AND A
|
||||||
|
; RET
|
||||||
|
;======================================================================-
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;***********************************************************************
|
||||||
|
READ_WRITE_RAMD:
|
||||||
|
|
||||||
|
IFN NEW_RAMDRV_READ
|
||||||
|
|
||||||
|
|
||||||
|
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||||
|
; º RD/WR SECTOR º\
|
||||||
|
; º HL - BUFFER º\
|
||||||
|
; º CONT_SEC - SEC/TRK FOR READ/WRITE º\
|
||||||
|
; º RD_WR_COM - ª®¬ ¤ ç⥨¥/§ ¯¨áì º\
|
||||||
|
; º 0 - ç⥨¥, 255 - § ¯¨áì º\
|
||||||
|
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\
|
||||||
|
; \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||||||
|
INC B
|
||||||
|
WD_WR_RAMD_LOOP:
|
||||||
|
DEC B
|
||||||
|
RET Z
|
||||||
|
PUSH BC
|
||||||
|
PUSH HL
|
||||||
|
CALL RD_WR_1SEC
|
||||||
|
POP HL
|
||||||
|
CALL RAMD_NEXT_SEC
|
||||||
|
POP BC
|
||||||
|
JR WD_WR_RAMD_LOOP
|
||||||
|
|
||||||
|
RAMD_NEXT_SEC:
|
||||||
|
PUSH HL
|
||||||
|
LD HL,ZX_VARS.CONT_SEC
|
||||||
|
LD A,16
|
||||||
|
INC (HL)
|
||||||
|
CP (HL)
|
||||||
|
JR NZ,.RAMD_NEXT_1
|
||||||
|
LD (HL),0
|
||||||
|
INC HL
|
||||||
|
INC (HL)
|
||||||
|
.RAMD_NEXT_1:
|
||||||
|
POP HL
|
||||||
|
LD BC,#100
|
||||||
|
ADD HL,BC
|
||||||
|
RET
|
||||||
|
|
||||||
|
RD_WR_1SEC:
|
||||||
|
LD DE,(ZX_VARS.CONT_SEC)
|
||||||
|
CALL PAGE_CALC2
|
||||||
|
DI
|
||||||
|
LD A,(ZX_VARS.RD_WR_COM)
|
||||||
|
AND #C0
|
||||||
|
OUT (RGADR),A
|
||||||
|
LD A,H
|
||||||
|
CP #A0
|
||||||
|
LD A,(ZX_VARS.RD_WR_COM)
|
||||||
|
LD E,0
|
||||||
|
LD D,C
|
||||||
|
SET 6,D
|
||||||
|
JR C,.RD_WR_C000
|
||||||
|
;RD_WR_4000:
|
||||||
|
RES 7,D ; DE - ¤à¥á ¤ ëå RAMD
|
||||||
|
LD C,SLOT1
|
||||||
|
EX AF,AF'
|
||||||
|
IN A,(C)
|
||||||
|
EX AF,AF'
|
||||||
|
OUT (C),B
|
||||||
|
; <20>…<EFBFBD>…Œ…™…<E284A2>ˆ… „€<E2809E><E282AC>›•
|
||||||
|
LD BC,#100
|
||||||
|
AND A
|
||||||
|
JR NZ,.MOVE_NOT_EX3
|
||||||
|
EX DE,HL
|
||||||
|
.MOVE_NOT_EX3:
|
||||||
|
LDIR ; à ¡®â âì §¤¥áì ¦¥, ¢ TR-DOS !!!
|
||||||
|
AND A
|
||||||
|
JR NZ,.MOVE_NOT_EX4
|
||||||
|
EX DE,HL
|
||||||
|
.MOVE_NOT_EX4:
|
||||||
|
;*******************
|
||||||
|
EX AF,AF'
|
||||||
|
OUT (SLOT1),A
|
||||||
|
EX AF,AF'
|
||||||
|
; RET_PAGE1
|
||||||
|
.MOVE_RET:
|
||||||
|
LD A,0
|
||||||
|
OUT (RGADR),A
|
||||||
|
EI
|
||||||
|
RET
|
||||||
|
.RD_WR_C000:
|
||||||
|
SET 7,D
|
||||||
|
LD C,SLOT3
|
||||||
|
EX AF,AF'
|
||||||
|
IN A,(C)
|
||||||
|
EX AF,AF'
|
||||||
|
OUT (C),B
|
||||||
|
; <20>…<EFBFBD>…Œ…™…<E284A2>ˆ… „€<E2809E><E282AC>›•
|
||||||
|
LD BC,#100
|
||||||
|
AND A
|
||||||
|
JR NZ,.MOVE_NOT_EX1
|
||||||
|
EX DE,HL
|
||||||
|
.MOVE_NOT_EX1:
|
||||||
|
LDIR ; à ¡®â âì §¤¥áì ¦¥, ¢ TR-DOS !!!
|
||||||
|
AND A
|
||||||
|
JR NZ,.MOVE_NOT_EX2
|
||||||
|
EX DE,HL
|
||||||
|
;********************
|
||||||
|
.MOVE_NOT_EX2:
|
||||||
|
EX AF,AF'
|
||||||
|
OUT (SLOT3),A
|
||||||
|
EX AF,AF'
|
||||||
|
; RET_PAGE3
|
||||||
|
JR .MOVE_RET
|
||||||
|
|
||||||
|
;**********************************************
|
||||||
|
PAGE_CALC2:
|
||||||
|
LD A,D ; ”ˆ‡ˆ—…‘Šˆ… -> ‹Žƒˆ—…‘Šˆ… !!!
|
||||||
|
RRCA
|
||||||
|
RRCA
|
||||||
|
RRCA
|
||||||
|
RRCA
|
||||||
|
LD D,A
|
||||||
|
AND #F0
|
||||||
|
OR E
|
||||||
|
LD E,A
|
||||||
|
LD A,D
|
||||||
|
AND #0F
|
||||||
|
LD D,A
|
||||||
|
PUSH HL
|
||||||
|
LD C,BIOS.RAMD_CALC_PAGE
|
||||||
|
CALL DISK_REDIR
|
||||||
|
SUB 4
|
||||||
|
CALL EXP_FNS ; ¢ëç¨á«¥¨¥ ¤à¥á ¨ áâà ¨æë RAM-Disk
|
||||||
|
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||||
|
;EI
|
||||||
|
;
|
||||||
|
LD B,A
|
||||||
|
LD C,H
|
||||||
|
POP HL
|
||||||
|
;EI
|
||||||
|
RET NC
|
||||||
|
JP ERROR_DISK
|
||||||
|
;********************************************
|
||||||
|
|
||||||
|
ELSE
|
||||||
|
|
||||||
|
;********************************************
|
||||||
|
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||||
|
; º RD/WR SECTOR º\
|
||||||
|
; º HL - BUFFER º\
|
||||||
|
; º B - Number of sectors º\
|
||||||
|
; º CONT_SEC - SEC/TRK FOR READ/WRITE º\
|
||||||
|
; º RD_WR_COM - ª®¬ ¤ ç⥨¥/§ ¯¨áì º\
|
||||||
|
; º 0 - ç⥨¥, 255 - § ¯¨áì º\
|
||||||
|
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\
|
||||||
|
; \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||||||
|
PUSH HL
|
||||||
|
PUSH BC
|
||||||
|
;Get RAM Block ID
|
||||||
|
LD A,(ZX_VARS.OPER_DISK)
|
||||||
|
AND 3
|
||||||
|
LD C,BIOS.GET_DRV_ST
|
||||||
|
CALL EXP_FNS
|
||||||
|
JP C,.ERROR
|
||||||
|
SUB 4
|
||||||
|
LD C,BIOS.GET_RAMD_ST
|
||||||
|
CALL EXP_FNS
|
||||||
|
JP C,.ERROR
|
||||||
|
; A = RAM Block ID
|
||||||
|
EX AF,AF'
|
||||||
|
;
|
||||||
|
POP BC
|
||||||
|
LD C,B
|
||||||
|
; !TEST ªàã稢 ¥¬ áçñâ稪 r/w ᥪâ®à®¢
|
||||||
|
LD HL,(ZX_VARS.CONT_SEC)
|
||||||
|
LD A,16
|
||||||
|
INC C
|
||||||
|
.loop: DEC C
|
||||||
|
JR Z,.next
|
||||||
|
INC L
|
||||||
|
CP L
|
||||||
|
JR NZ,.loop
|
||||||
|
INC H
|
||||||
|
LD L,0
|
||||||
|
JR .loop
|
||||||
|
.next: ;
|
||||||
|
; ”ˆ‡ˆ—…‘Šˆ‰ ‘…Š’Ž<E28099> -> ‹Žƒˆ—…‘Šˆ‰
|
||||||
|
LD DE,(ZX_VARS.CONT_SEC)
|
||||||
|
LD A,D
|
||||||
|
RRCA
|
||||||
|
RRCA
|
||||||
|
RRCA
|
||||||
|
RRCA
|
||||||
|
LD D,A
|
||||||
|
AND #F0
|
||||||
|
OR E
|
||||||
|
LD E,A
|
||||||
|
LD A,D
|
||||||
|
AND #0F
|
||||||
|
LD D,A
|
||||||
|
;
|
||||||
|
EX (SP),HL
|
||||||
|
; Get command r/w
|
||||||
|
LD A,(ZX_VARS.RD_WR_COM)
|
||||||
|
EX AF,AF'
|
||||||
|
LD C,BIOS.BLK_RD_WR
|
||||||
|
CALL EXP_FNS
|
||||||
|
POP HL
|
||||||
|
JP C,AUTO_3EE7
|
||||||
|
; á®åà 塞 ªàãç¥ë© áçñâ稪
|
||||||
|
LD (ZX_VARS.CONT_SEC),HL
|
||||||
|
RET
|
||||||
|
|
||||||
|
.ERROR: POP BC
|
||||||
|
POP HL
|
||||||
|
JP AUTO_3EE7 ;Disk error
|
||||||
|
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||||
|
; º RD/WR SECTOR º\
|
||||||
|
; º HL - BUFER º\
|
||||||
|
; º DE - ABS sector ¢ 256b ¡«®ª å º\
|
||||||
|
; º B - ç¨á«® ¤ ëå ¢ 256b ¡«®ª å º\
|
||||||
|
; º A - block RAM º\
|
||||||
|
; º A' - ª®¬ ¤ ç⥨¥/§ ¯¨áì/ç⥨¥ ROM Disk º\
|
||||||
|
; º 0 - read, 255 - write, 70 - read ROM DISK º\
|
||||||
|
; º ** NOT USED TR-DOS VARS ** º\
|
||||||
|
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\
|
||||||
|
; \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||||||
|
|
||||||
|
; RAMD_NEXT_SEC:
|
||||||
|
; PUSH HL
|
||||||
|
; LD HL,ZX_VARS.CONT_SEC
|
||||||
|
; LD A,16
|
||||||
|
; INC (HL)
|
||||||
|
; CP (HL)
|
||||||
|
; JR NZ,.RAMD_NEXT_1
|
||||||
|
; LD (HL),0
|
||||||
|
; INC HL
|
||||||
|
; INC (HL)
|
||||||
|
; .RAMD_NEXT_1:
|
||||||
|
; POP HL
|
||||||
|
; LD BC,#100
|
||||||
|
; ADD HL,BC
|
||||||
|
; RET
|
||||||
|
|
||||||
|
ENDIF
|
||||||
|
;***********************************************************************
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user