mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
промежуточное
This commit is contained in:
parent
f236cf5bcf
commit
33b49c9f4d
@ -3845,7 +3845,7 @@ A227F: ;ld (hl),'\' ; ;
|
||||
; ¢ë室: A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
Func_1E:ex de,hl ; de=ªã¤
|
||||
ld hl,T1510 ; ®âªã¤ ; DIRSPEC
|
||||
ld hl,T1510 ; ŽâŞă¤ ; CurrentDirectory
|
||||
ld a,(hl)
|
||||
or a
|
||||
ldi
|
||||
|
||||
2370
DSS/DOS5.ASM
2370
DSS/DOS5.ASM
File diff suppressed because it is too large
Load Diff
@ -548,6 +548,11 @@ TSTSIZE XOR A
|
||||
LD (READ.COD),A
|
||||
RET
|
||||
|
||||
; HL - ADDRESS
|
||||
; DE - SIZE
|
||||
; A - FM
|
||||
READ_FN:
|
||||
; _mSavePath 1
|
||||
; HL - ADDRESS
|
||||
; DE - SIZE
|
||||
; A - FM
|
||||
|
||||
@ -159,7 +159,7 @@ CURRDSK: LD A,(FatBuffer.DRIVE)
|
||||
; A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
DISKINF:
|
||||
CP #FF
|
||||
CP #FF ; !FIXIT WorkDirectory
|
||||
JR Z,CURRDS ;R06
|
||||
CALL CHNDISK ;R06
|
||||
RET C ;R06
|
||||
@ -562,9 +562,18 @@ FatBuffer:
|
||||
;
|
||||
|
||||
;!TODO ª ¡ãä¥à ¬!
|
||||
DIRSPEC: DB '\'
|
||||
BLOCK DIRSPEC.DEPTH
|
||||
;
|
||||
CurrentDirectory: DB '\'
|
||||
.DEPTH: EQU DIRECTORY_PATH_LENGTH
|
||||
BLOCK CurrentDirectory.DEPTH,0 ; ¥ .DEPTH-1 ç⮡ ¡ë« 0 ¢ ª®æ¥
|
||||
|
||||
IF SAVE_PATH_MACRO
|
||||
WorkDirectory: DB '\'
|
||||
.DEPTH: EQU DIRECTORY_PATH_LENGTH
|
||||
BLOCK WorkDirectory.DEPTH,0 ; ¥ .DEPTH-1 ç⮡ ¡ë« 0 ¢ ª®æ¥
|
||||
ELSE
|
||||
WorkDirectory EQU CurrentDirectory
|
||||
.DEPTH EQU CurrentDirectory.DEPTH
|
||||
ENDIF
|
||||
|
||||
;R11
|
||||
; !TODO ¯®ç¨¨âì
|
||||
@ -620,7 +629,7 @@ BACK_CUR_PATH:
|
||||
PUSH AF
|
||||
|
||||
LD HL,TMP_CURDIR_AUTO
|
||||
CALL CHDIR.tmp
|
||||
CALL CHDIR
|
||||
|
||||
; ¯®ç¥¬ã ¥ POP AF : OUT (SLOT3),A
|
||||
//POP BC
|
||||
|
||||
@ -378,8 +378,8 @@ ADRST10: ;DS 512 ;,0
|
||||
;...............................................[LOW ADDRESS ]:
|
||||
; 0 1 2 3 4 5 6 7 8 9 DEC HEX
|
||||
DB low F_START, low CHNDISK, low CURRDSK, low DISKINF, low NOPS, low NOPS, low NOPS, low NOPS, low SCANDRV, low BOOTDSK ; 0 00..09
|
||||
DB low CREATE, low CREAT_N, low NOPS, low NOPS, low DELETE, low NOPS, low RENAME, low OPEN_FN, low CLOSE_FN, low READ ; 1 0A..13
|
||||
DB low WRITE, low MOVE_FP, low ATTRIB, low GET_D_T, low PUT_D_T, low F_FIRST, low F_NEXT, low MKDIR, low RMDIR, low CHDIR ; 2 14..1D
|
||||
DB low CREATE, low CREAT_N, low NOPS, low NOPS, low DEL_FN, low NOPS, low RENAME, low OPEN_FN, low CLOSE_FN, low READ_FN ; 1 0A..13
|
||||
DB low WRITE, low MOVE_FP, low ATTRIB, low GET_D_T, low PUT_D_T, low F_FIRST, low F_NEXT, low MKDIR, low RMDIR, low CHDIR_FN ; 2 14..1D
|
||||
DB low CURRDIR, low NOPS, low NOPS, low SYSTIME, low SETTIME, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS ; 3 1E..27
|
||||
DB low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low WAITKEY, low SCANKEY ; 4 28..31
|
||||
DB low ECHOKEY, low CTRLKEY, low NOPS, low K_CLEAR, low K_SETUP, low TESTKEY, low SETWIN, low SETWIN1, low SETWIN2, low SETWIN3 ; 5 32..3B
|
||||
@ -405,8 +405,8 @@ ADRST10: ;DS 512 ;,0
|
||||
ENDIF
|
||||
;...............................................[HIGH ADDRESS]:
|
||||
DB high F_START,high CHNDISK,high CURRDSK,high DISKINF,high NOPS, high NOPS, high NOPS, high NOPS, high SCANDRV, high BOOTDSK
|
||||
DB high CREATE, high CREAT_N,high NOPS, high NOPS, high DELETE, high NOPS, high RENAME, high OPEN_FN,high CLOSE_FN,high READ
|
||||
DB high WRITE, high MOVE_FP,high ATTRIB, high GET_D_T,high PUT_D_T,high F_FIRST,high F_NEXT, high MKDIR, high RMDIR, high CHDIR
|
||||
DB high CREATE, high CREAT_N,high NOPS, high NOPS, high DEL_FN, high NOPS, high RENAME, high OPEN_FN,high CLOSE_FN,high READ
|
||||
DB high WRITE, high MOVE_FP,high ATTRIB, high GET_D_T,high PUT_D_T,high F_FIRST,high F_NEXT, high MKDIR, high RMDIR, high CHDIR_FN
|
||||
DB high CURRDIR,high NOPS, high NOPS, high SYSTIME,high SETTIME,high NOPS, high NOPS, high NOPS, high NOPS, high NOPS
|
||||
DB high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high WAITKEY, high SCANKEY
|
||||
DB high ECHOKEY,high CTRLKEY,high NOPS, high K_CLEAR,high K_SETUP,high TESTKEY,high SETWIN, high SETWIN1,high SETWIN2, high SETWIN3
|
||||
|
||||
@ -23,6 +23,7 @@
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
; !FIXIT âãâ ®¤¨ § âã¯ë ¨ ¤¥¡¨«¨§¬
|
||||
; ”ãªæ¨ï #47. <20>®«ã票¥ ¨ä®à¬ 樨 ¯à¨«®¦¥¨ï.
|
||||
;
|
||||
; ¢å®¤: HL - ¡ãä¥à ¤ ëå
|
||||
@ -40,11 +41,12 @@
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
;LAST_PSP_PTR: DW 0
|
||||
APPINFO: INC B
|
||||
APPINF0: DJNZ APPINF1
|
||||
EX DE,HL
|
||||
;
|
||||
DJNZ .FN1
|
||||
; ¯®«ã票¥ ¯ à ¬¥â஢ ª®¬ ¤®© áâப¨ EX DE,HL
|
||||
XOR A
|
||||
LD (DE),A
|
||||
LD HL,(LAST_PSP_PTR)
|
||||
LD HL,(.LAST_PSP_PTR)
|
||||
LD C,(HL)
|
||||
INC C
|
||||
RET Z
|
||||
@ -53,13 +55,11 @@ APPINF0: DJNZ APPINF1
|
||||
AND A
|
||||
RET
|
||||
|
||||
; <20>®«ã票¥ ¯ à ¬¥â஢ ª®¬ ¤®© áâப¨
|
||||
APPINF1:
|
||||
DJNZ APPINF2
|
||||
.FN1: DJNZ .FN2
|
||||
; ¯®«ã票¥ ¯®«®£® ¯ã⨠ª ª â «®£ã ¯à®£à ¬¬ë
|
||||
EX DE,HL
|
||||
LAST_PSP_PTR+1:
|
||||
.LAST_PSP_PTR+1:
|
||||
LD HL,0
|
||||
|
||||
LD C,(HL)
|
||||
INC HL
|
||||
ADD HL,BC
|
||||
@ -69,9 +69,9 @@ LAST_PSP_PTR+1:
|
||||
LD BC,#100 ;!HARDCODE ¤«¨ ª®¬¬ ¤®© áâப¨
|
||||
XOR A
|
||||
CPIR
|
||||
DEC HL ;R10 ;[x] ¨á¯à ¢«¥ ¡ £ á ¯ àᨣ®¬ ¡ãä¥à ª â «®£
|
||||
DEC HL ;R10,5 - ¥ â¥á⨫ ;!!!!!
|
||||
LD BC,#100 ;R10 ;[x] ¥ ¡ë«® í⮩ ª®¬ ¤ë, CPDR ¬®£ ¥ ¯à®è¥àáâ¨âì ¢áñ ;!HARDCODE ¤«¨ ª®¬¬ ¤®© áâப¨
|
||||
DEC HL ;R10 ;[x] ¨á¯à ¢«¥ ¡ £ á ¯ àᨣ®¬ ¡ãä¥à ª â «®£
|
||||
DEC HL ;R10,5 - ¥ â¥á⨫ ;!!!!!
|
||||
LD BC,#100 ;R10 ;[x] ¥ ¡ë«® í⮩ ª®¬ ¤ë, CPDR ¬®£ ¥ ¯à®è¥àáâ¨âì ¢áñ ;!HARDCODE ¤«¨ ª®¬¬ ¤®© áâப¨
|
||||
LD A,'\'
|
||||
CPDR
|
||||
INC HL
|
||||
@ -79,6 +79,10 @@ LAST_PSP_PTR+1:
|
||||
POP BC
|
||||
AND A
|
||||
SBC HL,BC
|
||||
;R10 ;[x] ¬®£«® ¢áñ ¢ ª®á¬®á ã«¥â¥âì
|
||||
LD A,DSS_Error.sys.COMMON_ERROR
|
||||
JR C,.error
|
||||
;
|
||||
LD A,B ;EX HL,A,BC
|
||||
LD B,H
|
||||
LD H,A
|
||||
@ -89,25 +93,29 @@ LAST_PSP_PTR+1:
|
||||
XOR A
|
||||
LD (DE),A
|
||||
RET
|
||||
|
||||
; <20>®«ã票¥ ¯®«®£® ¯ã⨠ª ª â «®£ã ¯à®£à ¬¬ë
|
||||
APPINF2:
|
||||
DJNZ APPINF3
|
||||
;
|
||||
.FN2: DJNZ .FN3
|
||||
; ¯®«ã票¥ ¯®«®£® ¯ã⨠¨ ¨¬¥¨ ä ©«
|
||||
EX DE,HL
|
||||
LD HL,(LAST_PSP_PTR)
|
||||
LD HL,(.LAST_PSP_PTR)
|
||||
LD C,(HL)
|
||||
INC HL
|
||||
ADD HL,BC
|
||||
INC HL
|
||||
INC HL
|
||||
APINF2 LD A,(HL)
|
||||
;
|
||||
.loop LD A,(HL)
|
||||
LDI
|
||||
OR A
|
||||
JR NZ,APINF2
|
||||
JR NZ,.loop
|
||||
;
|
||||
RET
|
||||
|
||||
APPINF3 LD A,DSS_Error.sys.INVALID_FUNCTION
|
||||
SCF
|
||||
;
|
||||
.FN3:
|
||||
;
|
||||
; ®è¨¡ª
|
||||
LD A,DSS_Error.sys.INVALID_FUNCTION
|
||||
.error: SCF
|
||||
RET
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
@ -337,7 +345,7 @@ PATH_YEP: XOR A
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
LD HL,(NM_PATH)
|
||||
LD BC,#00FF ; !FIXIT £«ã¡¨ ¡ãä¥à ¥ § ¢¨á¨â ®â DIRSPEC.DEPTH
|
||||
LD BC,#00FF ; !FIXIT £«ã¡¨ ¡ãä¥à ¥ § ¢¨á¨â ®â CurrentDirectory.DEPTH
|
||||
CPIR
|
||||
DEC HL
|
||||
EX DE,HL
|
||||
@ -687,7 +695,7 @@ FINDPATH:
|
||||
PUSH BC
|
||||
EX DE,HL
|
||||
CALL Z,GOTO_CURDIR
|
||||
CALL CHDIR.tmp
|
||||
CALL CHDIR
|
||||
JR C,.BADPATH
|
||||
LD HL,CORE_BUFFERS.EXEBUFF
|
||||
LD DE,MASKARE
|
||||
@ -712,7 +720,7 @@ FINDPATH:
|
||||
GOTO_CURDIR:
|
||||
PUSH HL
|
||||
LD HL,TMP_CURDIR
|
||||
CALL CHDIR.tmp
|
||||
CALL CHDIR
|
||||
POP HL
|
||||
RET
|
||||
|
||||
@ -828,7 +836,7 @@ EXEC: _mSavePath 1
|
||||
; ¯à¨ ¢ë室¥ á ®è¨¡ª®©, ¢ ॣ¨áâॠ€ - ª®¤ ®è¨¡ª¨
|
||||
EXEC_1: LD (CMDLINE),HL
|
||||
LD A,#01 ; %7600000R = !FAT_ATTR ;!HARDCODE
|
||||
LD (ACCESS),A
|
||||
LD (F_FIRST.ACCESS),A
|
||||
CALL GETWORD
|
||||
RET C
|
||||
LD HL,TMPNAME
|
||||
@ -839,7 +847,7 @@ EXEC_1: LD (CMDLINE),HL
|
||||
LD A,DSS_Error.sys.FILE_NOT_FOUND
|
||||
RET C
|
||||
CALL INCTASK ;R08
|
||||
CALL OPENEXE
|
||||
CALL OPEN.FILE
|
||||
JR NC,.noError
|
||||
CALL DECTASK ;R08
|
||||
AND A
|
||||
@ -903,7 +911,7 @@ EXEC02: LD (EXE_FM),A
|
||||
;
|
||||
;R09
|
||||
_mRestorStackAfterRestorePath
|
||||
_mRestorePath
|
||||
;_mRestorePath
|
||||
;R09
|
||||
;
|
||||
LD DE,(CORE_BUFFERS.EXEBUFF.LOADER)
|
||||
@ -1017,7 +1025,6 @@ FRC000: LD A,(DE)
|
||||
OUT (SLOT3),A
|
||||
CALL M_PSP
|
||||
|
||||
|
||||
LD HL,(CORE_BUFFERS.EXEBUFF.OFFCOD2)
|
||||
LD IX,(CORE_BUFFERS.EXEBUFF.OFFCOD1)
|
||||
LD B,Dss.Move_FP.FrStart
|
||||
@ -1041,7 +1048,7 @@ FRC000: LD A,(DE)
|
||||
|
||||
;!FIXIT double 2
|
||||
;R09
|
||||
_mRestorePath
|
||||
;_mRestorePath
|
||||
;
|
||||
LD SP,(CORE_BUFFERS.EXEBUFF.SP_REG)
|
||||
LD HL,(CORE_BUFFERS.EXEBUFF.LD_ADDR)
|
||||
@ -1055,6 +1062,9 @@ FRC000: LD A,(DE)
|
||||
LD DE,RETFAR ; ¤à¥á ¯/¯ "¥®¦¨¤ ®¥ § ¢¥à襨¥ ¯à®æ¥áá "
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
|
||||
_mRestorePath
|
||||
|
||||
RET
|
||||
;
|
||||
;[ ]
|
||||
@ -1205,7 +1215,7 @@ FRC000H: LD A,(DE)
|
||||
|
||||
;!FIXIT double 2
|
||||
;R09
|
||||
_mRestorePath
|
||||
;_mRestorePath
|
||||
;
|
||||
LD SP,(CORE_BUFFERS.EXEBUFF.SP_REG)
|
||||
LD HL,(CORE_BUFFERS.EXEBUFF.LD_ADDR)
|
||||
@ -1219,6 +1229,9 @@ FRC000H: LD A,(DE)
|
||||
LD DE,RETFAR
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
|
||||
_mRestorePath
|
||||
|
||||
RET
|
||||
;
|
||||
|
||||
@ -1308,6 +1321,7 @@ M_PSP: LD HL,(CORE_BUFFERS.EXEBUFF.LD_ADDR)
|
||||
INC HL
|
||||
LD (HL),B
|
||||
INC HL
|
||||
;!FIXIT âãâ ¢®ááâ ¢«¨¢ âì ¯à ¢¨«ìë© ª â «®£
|
||||
CALL CURRDSK
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
@ -1317,9 +1331,10 @@ M_PSP: LD HL,(CORE_BUFFERS.EXEBUFF.LD_ADDR)
|
||||
INC HL
|
||||
PUSH HL
|
||||
CALL CURRDIR
|
||||
;
|
||||
POP HL
|
||||
XOR A
|
||||
LD BC,#0100 ;!FIXIT ¥â ¯à¨¢ï§ª¨ ª DIRSPEC.DEPTH
|
||||
LD BC,#0100 ;!FIXIT ¥â ¯à¨¢ï§ª¨ ª CurrentDirectory.DEPTH
|
||||
CPIR ;!FIXIT ¥â ¯à®¢¥àª¨ ¢ë室 ¯® BC=0
|
||||
DEC HL
|
||||
DEC HL
|
||||
@ -1338,7 +1353,7 @@ M_PSP: LD HL,(CORE_BUFFERS.EXEBUFF.LD_ADDR)
|
||||
DEC DE
|
||||
XOR A
|
||||
LD (DE),A
|
||||
LD (LAST_PSP_PTR),IX
|
||||
LD (APPINFO.LAST_PSP_PTR),IX
|
||||
;
|
||||
RET
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ RESERVED2 BLOCK 490,0
|
||||
.DIR_CLUSTER: WORD #0000 ;+36 DIRECTORY CLUSTER
|
||||
.HANDLE: WORD #0000 ;+38 HANDLE NUMBER
|
||||
.DRIVE: BYTE #00 ;+40 DRIVE OR CURRENT
|
||||
.ACCESS_MODE: BYTE #00 ;+41 ACCESS MODE
|
||||
.ACCESS_MODE: BYTE #00 ;+41 ACCESS MODE ¯à¨§ ª ¨§¬¥¥¨ï ä ©«
|
||||
.TASK_NUM: BYTE #00 ;+42 TASK
|
||||
.EMPTY: BYTE #00 ;+43 EMPTY
|
||||
ENDS
|
||||
|
||||
@ -1 +1 @@
|
||||
454
|
||||
474
|
||||
@ -15,7 +15,7 @@ DSS_MAX_DRIVES_AMOUNT EQU 26
|
||||
DEFINE TABisSPACES 0
|
||||
DEFINE EnoughtOnly_LF 0
|
||||
DEFINE CLASSIC_CURSOR 0
|
||||
DEFINE SAVE_PATH_MACRO 1
|
||||
DEFINE SAVE_PATH_MACRO 0
|
||||
DEFINE MINIMUM_BIOS_VERSION 2*256 + 55 ; version 2.55
|
||||
;
|
||||
;-------------------[MEMORY]-------------------------;
|
||||
@ -32,8 +32,7 @@ DRVPAGE EQU 3
|
||||
DEFINE USING_MEMPAGES 4 ; à §¬¥à ¡«®ª ¤®¯®«¨â¥«ìëå áâà ¨æ
|
||||
COREPAGE EQU 4 ; ® ®â¤¥«ì® ¨ ¥ á ¡«®ª®¬ ¢ëè¥.
|
||||
;-----------------------------------------------------------------------
|
||||
|
||||
DIRSPEC.DEPTH EQU 256 ; '\' + 1..255
|
||||
DIRECTORY_PATH_LENGTH EQU 256 ; '\' + 1..255
|
||||
ENVIRONMENT_STRING_LENGTH EQU 255
|
||||
|
||||
TXTADDR EQU #C000
|
||||
|
||||
@ -1 +1 @@
|
||||
84
|
||||
85
|
||||
@ -1 +1 @@
|
||||
Subproject commit 1b025338c449183aa1cfbe595994fd9ddf7feb8e
|
||||
Subproject commit a7128fd1547d624249d95fdcbbb3aaa090f90357
|
||||
Loading…
Reference in New Issue
Block a user