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
31c19d6b26
commit
8930150cf8
@ -2079,7 +2079,8 @@ x1403 XOR A ;
|
||||
|
||||
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) ;¢á¥ ᪮¯¨à®¢ «¨?
|
||||
OR A
|
||||
|
||||
237
SP_TRDOS.ASM
237
SP_TRDOS.ASM
@ -12,6 +12,8 @@
|
||||
INCLUDE 'inc/rom_routines.inc'
|
||||
INCLUDE 'Shared_Includes/constants/zx_char_codes.inc'
|
||||
INCLUDE 'Shared_Includes/constants/BIOS_equ.inc'
|
||||
INCLUDE 'Shared_Includes/constants/ZX_VARS.inc'
|
||||
INCLUDE 'Shared_Includes/macroses/macros.z80'
|
||||
|
||||
TRDOS_ROM_CMD:
|
||||
.READ_BPB EQU BIOS.HDD_READ_BPB and #BF
|
||||
@ -68,8 +70,6 @@ AUTO_FF00 EQU #FF00
|
||||
AUTO_FFFF EQU #FFFF
|
||||
|
||||
;****************************************
|
||||
|
||||
DISPLAY "Start."
|
||||
START: DI
|
||||
LD DE,#FFFF
|
||||
LD A,7
|
||||
@ -82,7 +82,7 @@ CONT_1:
|
||||
JR CONT_2
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
BLOCK #10-$,0
|
||||
_mInfoBLOCK #10-$,0
|
||||
RST10:
|
||||
JP PRINT_SYM
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
@ -92,7 +92,7 @@ CONT_2:
|
||||
JP CONT_3
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
BLOCK #18-$,0
|
||||
_mInfoBLOCK #18-$,0
|
||||
PRINT_LN:
|
||||
JP PRINT_L
|
||||
CONT_3:
|
||||
@ -103,7 +103,7 @@ AUTO_001E:
|
||||
JR CONT_4
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
BLOCK #20-$,0
|
||||
_mInfoBLOCK #20-$,0
|
||||
RST20:
|
||||
JP RST20_EXE
|
||||
RET
|
||||
@ -115,7 +115,7 @@ CONT_4:
|
||||
JR CONT_5
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
BLOCK #28-$,0
|
||||
_mInfoBLOCK #28-$,0
|
||||
RST28:
|
||||
JP RST28_EXE
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
@ -129,7 +129,7 @@ CONT_5:
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
REDIR_RST38:
|
||||
BLOCK #38-$,#FF
|
||||
_mInfoBLOCK #38-$,#FF
|
||||
; JP RST38X
|
||||
; EI
|
||||
; RET
|
||||
@ -161,14 +161,14 @@ CONT_7:
|
||||
LD HL,#B8ED
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
BLOCK #64-$,0
|
||||
_mInfoBLOCK #64-$,0
|
||||
AUTO_0064:
|
||||
JR CONT_8
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
BLOCK #66-$,0
|
||||
_mInfoBLOCK #66-$,0
|
||||
;********** MAGIC ***********
|
||||
; JP MAGIC_1 ;AUTO_2A56
|
||||
RETN
|
||||
@ -191,7 +191,7 @@ RET_1:
|
||||
LD BC,AUTO_0540
|
||||
LD (ZX_VARS.ERR_BEEP),BC
|
||||
LD (ZX_VARS.TOP_CLEAR),HL
|
||||
LD HL,03C00h
|
||||
LD HL,#3C00
|
||||
LD (ZX_VARS.ZG),HL
|
||||
LD HL,(ZX_VARS.TOP_CLEAR)
|
||||
LD (HL),'>'
|
||||
@ -246,7 +246,7 @@ AUTO_00C8:
|
||||
AUTO_0100:
|
||||
LD (HL),201
|
||||
RST_ROM ROUTINE.clear_prb
|
||||
LD HL,ZX_VARS.L_SCR_SIZE
|
||||
LD HL,ZX_VARS.SCR_SIZE
|
||||
LD (HL),2
|
||||
LD HL,AUTO_128B
|
||||
PUSH HL
|
||||
@ -935,7 +935,7 @@ AUTO_063C:
|
||||
CALL AUTO_03FD
|
||||
LD A,(ZX_VARS.N_FILES)
|
||||
CP 128
|
||||
JP Z,AUTO_1C45
|
||||
JP Z,AUTO_2723
|
||||
LD HL,ZX_VARS.VAR_2
|
||||
LD DE,ZX_VARS.FL_START
|
||||
LD BC,7
|
||||
@ -1043,7 +1043,7 @@ AUTO_072F:
|
||||
OR A
|
||||
RET Z
|
||||
PUSH HL
|
||||
LD HL,ZX_VARS.L_5D23
|
||||
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||
SUB (HL)
|
||||
POP HL
|
||||
JR NC,AUTO_0775
|
||||
@ -1075,7 +1075,7 @@ AUTO_0744:
|
||||
AUTO_0775:
|
||||
LD (ZX_VARS.VAR_2_0),A
|
||||
PUSH HL
|
||||
LD HL,ZX_VARS.L_5D23
|
||||
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||
LD B,(HL)
|
||||
POP HL
|
||||
XOR A
|
||||
@ -1140,7 +1140,7 @@ AUTO_07D2:
|
||||
|
||||
;
|
||||
AUTO_07E7:
|
||||
BLOCK #07E7-$,255
|
||||
_mInfoBLOCK #07E7-$,255
|
||||
CALL AUTO_03FD
|
||||
LD HL,(ZX_VARS.FL_PLACE)
|
||||
LD (ZX_VARS.CLEAR_SEC),HL
|
||||
@ -1154,22 +1154,21 @@ WG93_EXE_:
|
||||
AND 252
|
||||
JP WG93_EXE
|
||||
;**************************************
|
||||
DISPLAY "2k"
|
||||
;INCLUDE 'trdos/tr_msd_4.asz'
|
||||
BLOCK #0840-$,255
|
||||
;INCLUDE 'trdos/tr_HDD_4.asz'
|
||||
_mInfoBLOCK #0840-$,255
|
||||
INCLUDE 'trdos/tr_msd_3.asz'
|
||||
|
||||
|
||||
BLOCK #0B00-$,255
|
||||
ZG_RUS:
|
||||
DB 3 ; ¨¤¥â¨ä¨ª â®à ¢¥àᨨ TR-DOS ???
|
||||
_mInfoBLOCK #0B00-$,255
|
||||
;!TODO russian charset
|
||||
ZG_RUS: DB 3 ; ¨¤¥â¨ä¨ª â®à ¢¥àᨨ TR-DOS ???
|
||||
;**************************************
|
||||
INCLUDE 'trdos/tr_msd_2.asz'
|
||||
|
||||
; DSS 0E00h,255
|
||||
|
||||
;**************************************
|
||||
;
|
||||
;!TODO russian charset
|
||||
; <20>ãá᪨© § ª®£¥¥à â®à - 40h..7Fh ᨬ¢®«ë.
|
||||
;
|
||||
; DSS 0E00h,255
|
||||
@ -1216,12 +1215,10 @@ ZG_RUS:
|
||||
;
|
||||
;**************************************
|
||||
;**************************************
|
||||
INCLUDE 'trdos/tr_msd_4.asz'
|
||||
BLOCK #1000 - $,255
|
||||
INCLUDE 'trdos/tr_HDD_4.asz'
|
||||
_mInfoBLOCK #1000 - $,255
|
||||
|
||||
;**************************************
|
||||
DISPLAY "4k"
|
||||
|
||||
AUTO_1000:
|
||||
DB 22,9,5,"Interface one fitted",0
|
||||
;
|
||||
@ -1762,7 +1759,7 @@ AUTO_146F:
|
||||
OR A
|
||||
RET Z
|
||||
PUSH HL
|
||||
LD HL,ZX_VARS.L_5D23
|
||||
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||
SUB (HL)
|
||||
POP HL
|
||||
JR NC,AUTO_14CB
|
||||
@ -1802,7 +1799,7 @@ AUTO_14A5:
|
||||
AUTO_14CB:
|
||||
LD (ZX_VARS.VAR_2_0),A
|
||||
PUSH HL
|
||||
LD HL,ZX_VARS.L_5D23
|
||||
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||
LD B,(HL)
|
||||
POP HL
|
||||
XOR A
|
||||
@ -1929,7 +1926,7 @@ AUTO_15DB:
|
||||
RET Z
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
LD HL,ZX_VARS.L_5D23
|
||||
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||
LD C,(HL)
|
||||
LD B,0
|
||||
POP HL
|
||||
@ -1975,7 +1972,7 @@ AUTO_162A:
|
||||
AUTO_1644:
|
||||
LD (ZX_VARS.FL_TYPE),HL
|
||||
PUSH HL
|
||||
LD HL,ZX_VARS.L_5D23
|
||||
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||
LD C,(HL)
|
||||
LD B,0
|
||||
POP HL
|
||||
@ -2019,7 +2016,7 @@ AUTO_1680:
|
||||
LD A,17
|
||||
AUTO_168F:
|
||||
DEC A
|
||||
LD (ZX_VARS.L_5D23),A
|
||||
LD (ZX_VARS.WORK_SPACE.Size),A
|
||||
LD B,A
|
||||
LD C,0
|
||||
RET
|
||||
@ -2045,9 +2042,9 @@ CMD_MOVE:
|
||||
LD DE,0900h
|
||||
ADD HL,DE
|
||||
LD (ZX_VARS.VAR_1),HL
|
||||
LD A,(ZX_VARS.L_5D23)
|
||||
LD A,(ZX_VARS.WORK_SPACE.Size)
|
||||
SUB 9
|
||||
LD (ZX_VARS.L_5D23),A
|
||||
LD (ZX_VARS.WORK_SPACE.Size),A
|
||||
LD HL,(ZX_VARS.FL_N_4)
|
||||
LD DE,0
|
||||
LD B,9
|
||||
@ -2136,7 +2133,7 @@ CMD_MOVE:
|
||||
LD DE,0
|
||||
LD B,9
|
||||
CALL WRITE_DISK
|
||||
LD A,(ZX_VARS.L_5D23)
|
||||
LD A,(ZX_VARS.WORK_SPACE.Size)
|
||||
ADD A,9
|
||||
LD B,A
|
||||
LD C,0
|
||||
@ -2178,7 +2175,7 @@ AUTO_17A5:
|
||||
OR A
|
||||
RET Z
|
||||
PUSH HL
|
||||
LD HL,ZX_VARS.L_5D23
|
||||
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||
SUB (HL)
|
||||
POP HL
|
||||
JR NC,AUTO_17DD
|
||||
@ -2204,7 +2201,7 @@ AUTO_17BA:
|
||||
AUTO_17DD:
|
||||
LD (ZX_VARS.AUTO_5CD3),A
|
||||
PUSH HL
|
||||
LD HL,ZX_VARS.L_5D23
|
||||
LD HL,ZX_VARS.WORK_SPACE.Size
|
||||
LD B,(HL)
|
||||
POP HL
|
||||
XOR A
|
||||
@ -2235,7 +2232,6 @@ AUTO_17F7:
|
||||
AUTO_180D:
|
||||
LDIR
|
||||
RET
|
||||
DISPLAY "6k"
|
||||
;
|
||||
;
|
||||
;
|
||||
@ -3170,7 +3166,7 @@ AUTO_1E67:
|
||||
JP R_W_REDIR
|
||||
|
||||
;LD (HL),30 ; <20>… ¨á¯. !!!
|
||||
BLOCK #1E70-$,0
|
||||
_mInfoBLOCK #1E70-$,0
|
||||
AUTO_1E70:
|
||||
POP HL
|
||||
POP BC
|
||||
@ -3342,21 +3338,24 @@ AUTO_1F55:
|
||||
CALL AUTO_1DA9
|
||||
JP AUTO_01D3
|
||||
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:
|
||||
CALL get_disk_time
|
||||
OR 17
|
||||
LD B,A
|
||||
LD A,'2'
|
||||
LD A,#32
|
||||
CALL Goto_trk
|
||||
LD A,2
|
||||
CALL Goto_trk
|
||||
CALL pause_50ms
|
||||
IN A,(FDC_93.Command)
|
||||
AND 4
|
||||
LD A,'P'
|
||||
LD A,#50
|
||||
JR Z,AUTO_1FE7
|
||||
LD A,'('
|
||||
LD A,#28
|
||||
AUTO_1FE7:
|
||||
LD (ZX_VARS.MED_START),A
|
||||
RET
|
||||
@ -3519,7 +3518,7 @@ AUTO_20E5:
|
||||
xchg_intf1:
|
||||
PUSH AF
|
||||
LD A,(ZX_VARS.BEG_ADRESS)
|
||||
CP 244
|
||||
CP #F4
|
||||
JR Z,AUTO_211C
|
||||
XOR A
|
||||
LD HL,ZX_VARS.INT_1_VAR
|
||||
@ -3533,7 +3532,7 @@ xchg_intf1:
|
||||
JR NZ,AUTO_2111
|
||||
LD DE,AUTO_5E34
|
||||
AUTO_2111:
|
||||
LD B,'-'
|
||||
LD B,#2D
|
||||
AUTO_2113:
|
||||
LD C,(HL)
|
||||
LD A,(DE)
|
||||
@ -4517,9 +4516,6 @@ AUTO_27ED:
|
||||
DB "Directory full",141
|
||||
AUTO_27FC:
|
||||
DB "No disk",141
|
||||
|
||||
DISPLAY "10k"
|
||||
|
||||
AUTO_2804:
|
||||
DB "Stream opened",141
|
||||
AUTO_2812:
|
||||
@ -5426,19 +5422,20 @@ AUTO_2ECC:
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
OUT (0FEH),A
|
||||
LD A,(ZX_VARS.AUTO_5B08)
|
||||
CP 238
|
||||
JR NZ,AUTO_2EF7
|
||||
OUT (BorderColor),A
|
||||
LD A,(ZX_VARS.SWAP_ROM_PRESENCE) ;¡¥à¥¬ ¡ ©â ¨§ #5B08
|
||||
CP #EE ;â ¬ #EE? ®¯ª®¤ XOR ¢ ¯à®æ¥¤ãॠ¯¥à¥ª«îç¥¨ï ¡ ®ª ROM Basic 48<->128
|
||||
;Žè¨¡ª !!! —¨á«® #EE ¯® ¤à¥áã #5B08 ¥é¥ ¨ ® 祬 ¥ £®¢®p¨â.
|
||||
JR NZ,AUTO_2EF7 ;¥á«¨ ¥â, â® á¨á⥬ëå ¯¥à¥¬¥ëå 128Š ¥â
|
||||
PUSH BC
|
||||
LD BC,PORT_128
|
||||
LD A,(ZX_VARS.AUTO_5B5C)
|
||||
LD A,(ZX_VARS.COPY_P128)
|
||||
OUT (C),A
|
||||
POP BC
|
||||
AUTO_2EF7:
|
||||
LD A,(ZX_VARS.K_STATE)
|
||||
LD A,(ZX_VARS.K_STATE) ;¡¥à¥¬ ä« £ ¯à¥àë¢ ¨©
|
||||
OR A
|
||||
LD A,201
|
||||
LD A,#C9 ;ãáâ ®¢ª ¯¥à¥ª«îç ⥫ï <20>‡“ ¡¥©á¨ª
|
||||
LD (ZX_VARS.K_STATE),A
|
||||
JR NZ,AUTO_2F03
|
||||
EI
|
||||
@ -5447,7 +5444,7 @@ AUTO_2F03:
|
||||
JP ZX_VARS.K_STATE
|
||||
AUTO_2F07:
|
||||
LD A,(AUTO_4011)
|
||||
OR 3Ch
|
||||
OR #3C
|
||||
AUTO_2F0C:
|
||||
OUT (FDC_93.DrvCTRL),A
|
||||
RET
|
||||
@ -5862,7 +5859,7 @@ AUTO_31C8:
|
||||
;
|
||||
;
|
||||
;
|
||||
BLOCK #31F3 - $,255
|
||||
_mInfoBLOCK #31F3 - $,255
|
||||
AUTO_31F3:
|
||||
LD HL,(ZX_VARS.CHANS)
|
||||
OR A
|
||||
@ -5871,7 +5868,7 @@ AUTO_31F3:
|
||||
RET
|
||||
|
||||
|
||||
BLOCK #3200-$,#FF
|
||||
_mInfoBLOCK #3200-$,#FF
|
||||
INIT_2X80:
|
||||
JP AUTO_106E
|
||||
INIT_2X80_1:
|
||||
@ -6339,7 +6336,7 @@ EDIT_X00:
|
||||
LD (HL),128
|
||||
EDIT_X01:
|
||||
RST RST20 ; ¢¢®¤ ª« ¢¨è¨
|
||||
DW 015D4H
|
||||
DW #15D4
|
||||
EDIT_X02:
|
||||
CALL BEEP_1
|
||||
CP 24
|
||||
@ -6349,11 +6346,11 @@ EDIT_X02:
|
||||
CP 16 ; ®â 7 ¤® 16 - ।. áâப¨
|
||||
JR C,EDIT_X04
|
||||
RST RST20 ; ¢¢®¤ ᯥæ ᨬ¢®«®¢
|
||||
DW 00F58H
|
||||
DW #0F58
|
||||
JR EDIT_X01
|
||||
EDIT_X03:
|
||||
RST RST20 ; áâ ¤. ¢¢®¤ ¢ ¡ãä¥à । ªâ¨à®¢ ¨ï
|
||||
DW 00F81H
|
||||
DW #0F81
|
||||
JR EDIT_X01
|
||||
EDIT_X04:
|
||||
CP 7 ; 7 - ¥â ®¯¥à 樨
|
||||
@ -6365,7 +6362,7 @@ EDIT_X04:
|
||||
CP 11
|
||||
JR Z,EDIT_X01
|
||||
RST RST20 ; ¢ë¯®«¨âì ®¯¥à æ¨î । ªâ¨à®¢ ¨ï
|
||||
DW 00F92H
|
||||
DW #0F92
|
||||
JR EDIT_X01
|
||||
|
||||
|
||||
@ -6375,32 +6372,29 @@ EDIT_X05:
|
||||
|
||||
;******************************************
|
||||
|
||||
RUS_PRINT:
|
||||
AND '?'
|
||||
LD L,A
|
||||
LD H,0
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
LD BC,ZG_RUS
|
||||
ADD HL,BC
|
||||
DB 17
|
||||
SUB D
|
||||
LD E,H
|
||||
LD BC,RST08
|
||||
LDIR
|
||||
LD A,201
|
||||
LD (ZX_VARS.AUTO_5C9A),A
|
||||
JP ZX_VARS.AUTO_5C9A
|
||||
;!TODO russian charset
|
||||
; RUS_PRINT:
|
||||
; AND #3F
|
||||
; LD L,A
|
||||
; LD H,0
|
||||
; ADD HL,HL
|
||||
; ADD HL,HL
|
||||
; ADD HL,HL
|
||||
; LD BC,ZG_RUS
|
||||
; ADD HL,BC
|
||||
; LD DE,#5C92
|
||||
; LD BC,8
|
||||
; LDIR
|
||||
; LD A,#C9
|
||||
; LD (ZX_VARS.AUTO_5C9A),A
|
||||
; JP ZX_VARS.AUTO_5C9A
|
||||
|
||||
;**************************************
|
||||
|
||||
; DSS 3900H,'#'
|
||||
|
||||
;**********************************
|
||||
DISPLAY "14k"
|
||||
|
||||
BLOCK #3C00 - $,255
|
||||
_mInfoBLOCK #3C00 - $,255
|
||||
AUTO_3C00:
|
||||
RST R38
|
||||
JR AUTO_3C06
|
||||
@ -6408,18 +6402,18 @@ AUTO_3C00:
|
||||
JR AUTO_3C09
|
||||
;
|
||||
;
|
||||
BLOCK #3C06 - $,255
|
||||
_mInfoBLOCK #3C06 - $,255
|
||||
AUTO_3C06:
|
||||
JP AUTO_3D00
|
||||
;
|
||||
;
|
||||
BLOCK #3C09 - $,255
|
||||
_mInfoBLOCK #3C09 - $,255
|
||||
AUTO_3C09:
|
||||
JP AUTO_3D03
|
||||
|
||||
;************************************
|
||||
;!FIXIT not used
|
||||
BLOCK #3C10 - $,255
|
||||
_mInfoBLOCK #3C10 - $,255
|
||||
;KBD_EXP:
|
||||
LD A,CNF_PORT.ZX_BIOS
|
||||
OUT (CNF_PORT.ON),A
|
||||
@ -6427,7 +6421,7 @@ AUTO_3C09:
|
||||
;
|
||||
;************************************
|
||||
;!FIXIT not used
|
||||
BLOCK #3C18 - $,255
|
||||
_mInfoBLOCK #3C18 - $,255
|
||||
;KBD_OFF:
|
||||
LD A,CNF_PORT.ZX_BIOS
|
||||
OUT (CNF_PORT.ON),A
|
||||
@ -6435,14 +6429,14 @@ AUTO_3C09:
|
||||
|
||||
;************************************
|
||||
;!FIXIT not used
|
||||
BLOCK #3C20 - $,255
|
||||
_mInfoBLOCK #3C20 - $,255
|
||||
READR_X:
|
||||
CALL get_disk_time
|
||||
LD B,A
|
||||
JP set_side_0
|
||||
;************************************
|
||||
;!FIXIT not used
|
||||
BLOCK #3C30 - $,255
|
||||
_mInfoBLOCK #3C30 - $,255
|
||||
IN A,(FDC_93.Command)
|
||||
RET
|
||||
|
||||
@ -6525,7 +6519,7 @@ CMD_COPY.FIXED:
|
||||
INC SP
|
||||
JP AUTO_03D9
|
||||
;*******************************
|
||||
BLOCK #3CC0 - $,255
|
||||
_mInfoBLOCK #3CC0 - $,255
|
||||
MAGIC_1:
|
||||
PUSH AF
|
||||
LD A,CNF_PORT.ZX_BIOS
|
||||
@ -6533,7 +6527,7 @@ MAGIC_1:
|
||||
POP AF
|
||||
JP MAGIC_2
|
||||
;*******************************
|
||||
BLOCK #3CC9 - $,255
|
||||
_mInfoBLOCK #3CC9 - $,255
|
||||
MAGIC_3:
|
||||
PUSH AF
|
||||
LD A,CNF_PORT.ZX_BIOS
|
||||
@ -6573,17 +6567,17 @@ REDIR_3D13:
|
||||
JP EXP_FNS
|
||||
;
|
||||
;*****************************
|
||||
BLOCK #3CFA - $,255
|
||||
_mInfoBLOCK #3CFA - $,255
|
||||
AUTO_3CFA:
|
||||
JP xchg_intf1
|
||||
|
||||
;****** 3D13 redirection ******
|
||||
BLOCK #3CFD - $,255
|
||||
_mInfoBLOCK #3CFD - $,255
|
||||
AUTO_3CFD:
|
||||
JP REDIR_3D13
|
||||
; JP AUTO_283C
|
||||
;***********************************************************************;
|
||||
BLOCK #3D00-$,#FF
|
||||
_mInfoBLOCK #3D00-$,#FF
|
||||
|
||||
AUTO_3D00:
|
||||
NOP
|
||||
@ -6602,7 +6596,7 @@ AUTO_3D0E:
|
||||
NOP
|
||||
JR AUTO_3CFA
|
||||
;****** 3D13 point !!! ****
|
||||
BLOCK #3D13-$,#FF
|
||||
_mInfoBLOCK #3D13-$,#FF
|
||||
NOP
|
||||
JR AUTO_3CFD
|
||||
AUTO_3D16:
|
||||
@ -6647,7 +6641,7 @@ AUTO_3D44:
|
||||
AUTO_3D4C:
|
||||
XOR A
|
||||
OUT (FDC_93.DrvCTRL),A
|
||||
IN A,(#F6)
|
||||
IN A,(#F6) ; ¨ç¥£® ¥ ¤ ñâ
|
||||
LD HL,AUTO_3D38
|
||||
LD DE,ZX_VARS.MEM_BOT
|
||||
LD BC,AUTO_3D38.Size + AUTO_3D44.Size
|
||||
@ -6663,31 +6657,34 @@ AUTO_3D67: ;
|
||||
PUSH HL
|
||||
LD HL,AUTO_3D2F
|
||||
PUSH HL
|
||||
LD HL,1655h ;!HARDCODE
|
||||
LD HL,ZX_VARS.PROG.MAKE_ROOM
|
||||
PUSH HL
|
||||
LD HL,ZX_VARS.AUTO_5BFF
|
||||
LD HL,ZX_VARS.TSTACK
|
||||
PUSH HL
|
||||
LD (HL),#C9 ; RET code
|
||||
LD HL,ZX_VARS.P_RAMTOP+1
|
||||
LD BC,CONT_8+7
|
||||
RET
|
||||
PRINT_CR:
|
||||
LD A,13
|
||||
LD A,#0D ; enter
|
||||
PRINT_SYM:
|
||||
JP PRINT_RED
|
||||
RST R38
|
||||
RST R38
|
||||
NOP
|
||||
NOP
|
||||
JP RUS_PRINT
|
||||
RST R38
|
||||
RST R38
|
||||
RST R38
|
||||
NOP
|
||||
NOP
|
||||
RST R38
|
||||
RST R38
|
||||
RST R38
|
||||
|
||||
_mInfoBLOCK #3D8F-$,#FF ; •…<E280A2>
|
||||
DW 0000 ; ‡<>€…’
|
||||
_mInfoBLOCK 3,#FF ; ‡€—…Œ
|
||||
|
||||
;=======================================================================
|
||||
;!TODO russian charset
|
||||
; PRINT_CR:
|
||||
; LD A,#0D ; enter
|
||||
; PRINT_SYM:
|
||||
; CP #80
|
||||
; JP C,PRINT_RED
|
||||
; JP RUS_PRINT
|
||||
;=======================================================================
|
||||
|
||||
|
||||
AUTO_3D94:
|
||||
RST_ROM ROUTINE.print_a
|
||||
RET
|
||||
@ -6731,22 +6728,22 @@ SET_DISK:
|
||||
AUTO_3DCE:
|
||||
LD HL,ZX_VARS.PDOS_COPY
|
||||
LD C,A
|
||||
LD A,3Ch
|
||||
LD A,#3C
|
||||
OR C
|
||||
OUT (FDC_93.DrvCTRL),A
|
||||
LD (HL),A
|
||||
CALL get_disk_time
|
||||
AND 128
|
||||
AND #80
|
||||
JR Z,AUTO_3DFA
|
||||
CALL RESET_WG
|
||||
CALL test_disk
|
||||
CALL get_disk_type
|
||||
CP 255
|
||||
CP #FF
|
||||
JR NZ,AUTO_3DFA
|
||||
PUSH HL
|
||||
CALL test_d_traks
|
||||
POP HL
|
||||
CP 'P'
|
||||
CP #50
|
||||
LD A,0
|
||||
JR NZ,AUTO_3DF9
|
||||
LD A,128
|
||||
@ -6755,7 +6752,7 @@ AUTO_3DF9:
|
||||
AUTO_3DFA:
|
||||
CALL READ_TRK_NUM
|
||||
pause_50ms:
|
||||
LD A,12 ;'P'
|
||||
LD A,12 ; #50
|
||||
pause_1ms:
|
||||
LD C,255
|
||||
AUTO_3E01:
|
||||
@ -7081,7 +7078,7 @@ AUTO_3FEC:
|
||||
|
||||
;[x]] ¯®¯à ¢«¥ë ®¬¥à äãªæ¨© ¯à¨ ¢ë§®¢ å API ¨ ¯àë£ ¥â áà §ã ¢ BIOS ç¥à¥§ #3FF8
|
||||
;-------[ From TR-DOS to API 4x ]-------
|
||||
BLOCK #3FF0-$, #FF
|
||||
_mInfoBLOCK #3FF0-$, #FF
|
||||
HD_CMD: PUSH AF
|
||||
DI
|
||||
;LD A,SYS_PORT.EXTENSION
|
||||
@ -7093,7 +7090,7 @@ HD_CMD: PUSH AF
|
||||
|
||||
;
|
||||
;----[ From TR-DOS to API #80..#FF]-----
|
||||
BLOCK #3FF8-$, #FF
|
||||
_mInfoBLOCK #3FF8-$, #FF
|
||||
EXP_FNS:;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||
;PUSH AF
|
||||
;DI ;!TODO ¯®¤ã¬ âì, ª ª á®åà ïâì á®áâ®ï¨¥ ¯à¥àë¢ ¨© ¨ ¨ç¥£® ¥ á«®¬ âì
|
||||
@ -7108,7 +7105,7 @@ EXP_FNS_PREPARE_RET:
|
||||
;
|
||||
|
||||
;
|
||||
BLOCK #4000-$, #FF
|
||||
DISPLAY "16k..ALL!"
|
||||
_mInfoBLOCK #4000-$, #FF
|
||||
;
|
||||
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
|
||||
|
||||
L3BD2: DEFM "SPECTRU" ; SPECTRUM token
|
||||
DEFB 'M'+$80
|
||||
|
||||
L3BDA: DEFM "PLA" ; PLAY token
|
||||
DEFB 'Y'+$80
|
||||
L3BD2: DC "SPECTRUM" ; SPECTRUM token
|
||||
L3BDA: DC "PLAY" ; PLAY token
|
||||
|
||||
;; KP_SCAN2
|
||||
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
|
||||
;¢ë室: A: bit1 - Primary/Secondary, bit0 - master/slave, bit2..3: ¨á¯®«ì§ãî騩áï à §¤¥« ¢ MBR
|
||||
CHOOSE_HDD:
|
||||
@ -446,7 +446,7 @@ FAT_ALL:
|
||||
;INCLUDE 'trdos/tr_msd_4.asz'
|
||||
|
||||
;-----------------------------------------------------------------------
|
||||
BLOCK #09FF-$, #FF
|
||||
_mInfoBLOCK #09FF-$, #FF
|
||||
;牀え<E78980><E38188>瓷┤ ▲<><E296B2> <20>ム襤<E383A0>⑧<EFBFBD>
|
||||
DW #FFFF
|
||||
;-----------------------------------------------------------------------
|
||||
@ -613,6 +613,35 @@ HDD_PROG_E:
|
||||
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:
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
@ -43,7 +46,7 @@ RECALL_MSD:
|
||||
|
||||
TEST_RAMD:
|
||||
PUSH HL
|
||||
LD C,#CE ;!HARDCODE BIOS.GET_RAMD_ST
|
||||
LD C,BIOS.GET_RAMD_ST
|
||||
CALL EXP_FNS
|
||||
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||
;EI
|
||||
@ -51,250 +54,7 @@ TEST_RAMD:
|
||||
POP HL
|
||||
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: ; ¯à®¢¥àª ¤¨áª
|
||||
LD (ZX_VARS.OPER_DISK),A
|
||||
CALL DISK_REDIR
|
||||
@ -326,7 +86,7 @@ RAMD_X14: ; FORMATING
|
||||
|
||||
DISK_FORM:
|
||||
LD A,(ZX_VARS.MED_START+1)
|
||||
CP 14H
|
||||
CP #14
|
||||
JR Z,QVICK_FORMAT
|
||||
POP HL
|
||||
POP BC
|
||||
@ -349,7 +109,7 @@ RAMD_FORMAT:
|
||||
POP HL
|
||||
POP BC
|
||||
POP AF
|
||||
LD B,28H ; à §¬¥à 640K
|
||||
LD B,#28 ; à §¬¥à 640K
|
||||
CALL DISK_REDIR
|
||||
SUB 4
|
||||
|
||||
@ -358,7 +118,7 @@ RAMD_FORMAT:
|
||||
Q_FORM_1:
|
||||
LD HL,ZX_VARS.BUFFER ; CLEAR DISK ZX_VARS.BUFFER
|
||||
LD DE,ZX_VARS.BUFFER+1
|
||||
LD BC,0FFh
|
||||
LD BC,#FF
|
||||
LD (HL),0
|
||||
LDIR
|
||||
|
||||
@ -481,4 +241,353 @@ RAMD_SYM:
|
||||
RAMD_SYM_OK:
|
||||
POP AF
|
||||
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