mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 09:21:47 +03:00
...
This commit is contained in:
parent
8baff9d928
commit
5d914d4e5c
@ -1766,21 +1766,21 @@ GETyesZERO:
|
|||||||
RET
|
RET
|
||||||
*/
|
*/
|
||||||
|
|
||||||
HELP LD DE,HELPMSG
|
HELP: LD DE,HELPMSG
|
||||||
CALL MESSAGE
|
CALL MESSAGE
|
||||||
RET
|
RET
|
||||||
|
|
||||||
CEXIT LD A,(TASKX)
|
CEXIT: LD A,(TASKX)
|
||||||
DEC A
|
DEC A
|
||||||
DEC A
|
DEC A
|
||||||
RET Z
|
RET Z
|
||||||
POP HL
|
POP HL
|
||||||
QUIT LD B,0
|
QUIT: LD B,0
|
||||||
LD C,Dss.Exit
|
LD C,Dss.Exit
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
RET
|
RET
|
||||||
|
|
||||||
ERR_MSG INC DE
|
ERR_MSG: INC DE
|
||||||
LD HL,ERR0
|
LD HL,ERR0
|
||||||
LD BC,ERR1-ERR0
|
LD BC,ERR1-ERR0
|
||||||
CALL LCPIR
|
CALL LCPIR
|
||||||
@ -1788,12 +1788,12 @@ ERR_MSG INC DE
|
|||||||
CALL CRLF
|
CALL CRLF
|
||||||
JP CRLF
|
JP CRLF
|
||||||
|
|
||||||
MESSAGE CALL FMESAGE
|
MESSAGE: CALL FMESAGE
|
||||||
CALL PRINTZ
|
CALL PRINTZ
|
||||||
CALL GETXY
|
CALL GETXY
|
||||||
RET
|
RET
|
||||||
|
|
||||||
FMESAGE INC DE
|
FMESAGE: INC DE
|
||||||
LD HL,MSG0
|
LD HL,MSG0
|
||||||
LD BC,MSG1-MSG0
|
LD BC,MSG1-MSG0
|
||||||
LCPIR: XOR A
|
LCPIR: XOR A
|
||||||
@ -1814,8 +1814,8 @@ LCPIR: XOR A
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
|
|
||||||
PUTPRM LD BC,15
|
PUTPRM: LD BC,15
|
||||||
PUTPRMA LD A,(HL)
|
PUTPRMA: LD A,(HL)
|
||||||
LDI
|
LDI
|
||||||
RET PO
|
RET PO
|
||||||
OR A
|
OR A
|
||||||
@ -1833,12 +1833,12 @@ PUTPRMA LD A,(HL)
|
|||||||
// ret
|
// ret
|
||||||
|
|
||||||
|
|
||||||
PRINTZ LD A,(HL)
|
PRINTZ: LD A,(HL)
|
||||||
INC HL
|
INC HL
|
||||||
OR A
|
OR A
|
||||||
RET Z
|
RET Z
|
||||||
CP "%"
|
CP "%"
|
||||||
JR NZ,PRINTZ2
|
JR NZ,.char
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
INC HL
|
INC HL
|
||||||
SUB "1"
|
SUB "1"
|
||||||
@ -1854,24 +1854,24 @@ PRINTZ LD A,(HL)
|
|||||||
LD C,Dss.PChars
|
LD C,Dss.PChars
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
POP HL
|
POP HL
|
||||||
JR PRINTZ
|
JP PRINTZ
|
||||||
PRINTZ2 LD C,Dss.PutChar
|
.char: LD C,Dss.PutChar
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
JP PRINTZ
|
JP PRINTZ
|
||||||
|
|
||||||
ROOT DB '\',0
|
ROOT: DB '\',0
|
||||||
|
|
||||||
ALLFS DB "*.*",0
|
ALLFS: DB "*.*",0
|
||||||
|
|
||||||
SER_NUM DB "C37F-73AB",0
|
SER_NUM: DB "C37F-73AB",0
|
||||||
//SER_NUM DB "XXXX-XXXX",0
|
//SER_NUM DB "XXXX-XXXX",0
|
||||||
|
|
||||||
EXTBF BLOCK 4,0
|
EXTBF: BLOCK 4,0
|
||||||
|
|
||||||
BATBF DB "BAT"
|
BATBF: DB "BAT"
|
||||||
|
|
||||||
ECHOON DB "ON",0
|
ECHOON: DB "ON",0
|
||||||
ECHOOFF DB "OFF",0
|
ECHOOFF: DB "OFF",0
|
||||||
|
|
||||||
|
|
||||||
DIR1MSG EQU 0
|
DIR1MSG EQU 0
|
||||||
@ -1887,7 +1887,7 @@ DIR2MSG EQU 9
|
|||||||
DIR3MSG EQU 10
|
DIR3MSG EQU 10
|
||||||
HELPMSG EQU 11
|
HELPMSG EQU 11
|
||||||
|
|
||||||
MSG0 DB 0
|
MSG0: DB 0
|
||||||
DB "Volume in drive %1 has no label",CR,LF ; !FIXIT
|
DB "Volume in drive %1 has no label",CR,LF ; !FIXIT
|
||||||
DB "Volume Serial number is %2",CR,LF
|
DB "Volume Serial number is %2",CR,LF
|
||||||
DB "Directory of %3",CR,LF,CR,LF,0
|
DB "Directory of %3",CR,LF,CR,LF,0
|
||||||
|
|||||||
@ -46,10 +46,15 @@ VERSION:
|
|||||||
//OSINFO:
|
//OSINFO:
|
||||||
//OSINFO_SIG: DB "OSINFOSTRUCTURE",0
|
//OSINFO_SIG: DB "OSINFOSTRUCTURE",0
|
||||||
|
|
||||||
|
//BOOTDRV: DB 0
|
||||||
|
|
||||||
;R09
|
;/////////////////////////////////////////////////////////////////////
|
||||||
BOOTDRV: DB #FF
|
; ”γ<CEB3>ζ¨ο #09. <20>®¬¥ΰ α¨α⥬®£® ¤¨α<C2A8> .
|
||||||
|
; ‚®§Άΰ ι ¥β ®¬¥ΰ ¤¨α<C2A8> , c <20>®β®ΰ®£® § £ΰ㦥 α¨α⥬ .
|
||||||
|
;
|
||||||
|
; Άε®¤: B = 0 (01h - ¨α―. boot-§ £ΰγ§η¨<CEB7> α¨α⥬λ)
|
||||||
|
; Άλ室: A - ®¬¥ΰ α¨α⥬®£® ¤¨α<C2A8> (0=A,1=B,..)
|
||||||
|
;/////////////////////////////////////////////////////////////////////
|
||||||
BOOTDSK:
|
BOOTDSK:
|
||||||
INC B
|
INC B
|
||||||
DEC B
|
DEC B
|
||||||
@ -61,11 +66,14 @@ BOOTDSK:
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
;GET BOOT DISK
|
;GET BOOT DISK
|
||||||
GETBOOT LD A,(BOOTDRV)
|
GETBOOT:
|
||||||
|
BOOTDRV+1: LD A,0 ;R09
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
;SET BOOT DISK
|
;SET BOOT DISK
|
||||||
|
; ‘®®΅ι¨βμ DSS α <20> <EFBFBD>®£® ¤¨α<C2A8> § £ΰγ¦ ¥βαο α¨α⥬ .
|
||||||
|
; <20>α―. § £ΰγ§η¨<CEB7> α¨αβ¥¬λ ¤«ο ¨¨ζ. ο祩<C2A5>¨ "boot_disk".
|
||||||
SETBOOT:
|
SETBOOT:
|
||||||
LD B,A
|
LD B,A
|
||||||
LD C,0
|
LD C,0
|
||||||
@ -153,7 +161,7 @@ FRESP2: LD D,B
|
|||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
LDRIVE: DB #02
|
LDRIVE: DB #FF
|
||||||
TDRIVE: DB #00
|
TDRIVE: DB #00
|
||||||
TCLUST: DW #0000
|
TCLUST: DW #0000
|
||||||
TCOUNT: DW #0000
|
TCOUNT: DW #0000
|
||||||
@ -519,6 +527,12 @@ BACK_CUR_PATH:
|
|||||||
;R11
|
;R11
|
||||||
|
|
||||||
;R12
|
;R12
|
||||||
|
;/////////////////////////////////////////////////////////////////////
|
||||||
|
; ”γ<CEB3>ζ¨ο #08 (DSS_RESCAN). <20>¥ΰ¥α<C2A5> ¨ΰ®Ά βμ ¤¥Ά ©αλ α¨α⥬λ.
|
||||||
|
;
|
||||||
|
; Άε®¤: ¥β
|
||||||
|
; Άλ室: A - ®¬¥ΰ ―®α«¥¤¥£® «®£. ¤¨α<C2A8> Ά α¨α⥬¥
|
||||||
|
;/////////////////////////////////////////////////////////////////////
|
||||||
SCANDRV:
|
SCANDRV:
|
||||||
;!TEST ¢ DRV-MAIN ¬®£ãâ ¡ëâì ¯à®¡«¥¬ë á ¯à¥àë¢ ¨ï¬¨
|
;!TEST ¢ DRV-MAIN ¬®£ãâ ¡ëâì ¯à®¡«¥¬ë á ¯à¥àë¢ ¨ï¬¨
|
||||||
;DI
|
;DI
|
||||||
|
|||||||
@ -58,7 +58,7 @@ A0010: ;JP RST_10 ;
|
|||||||
A0018: PUSH AF ;
|
A0018: PUSH AF ;
|
||||||
PUSH BC ;
|
PUSH BC ;
|
||||||
MAIN_PG_NUMBER+2: ;
|
MAIN_PG_NUMBER+2: ;
|
||||||
LD BC,0*256+SLOT0 ; !FIXIT сюЄ Ѕ ЄЎЋІы Ђст ЂЋяться ЎЌЅр ЂыЄЅЋЅых стр Јц?
|
LD BC,0*256 + SLOT0 ; !FIXIT сюЄ Ѕ ЄЎЋІы Ђст ЂЋяться ЎЌЅр ЂыЄЅЋЅых стр Јц?
|
||||||
JP PORTAL.outDRV ;
|
JP PORTAL.outDRV ;
|
||||||
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
||||||
;
|
;
|
||||||
|
|||||||
121
DSS/ENVIRON.ASM
121
DSS/ENVIRON.ASM
@ -4,38 +4,55 @@
|
|||||||
;---------------------------------------------------------------
|
;---------------------------------------------------------------
|
||||||
;Rev Date Name Description
|
;Rev Date Name Description
|
||||||
;---------------------------------------------------------------
|
;---------------------------------------------------------------
|
||||||
|
;R02 13-05-2023 BAO ˆ¨æ¨ «¨§ æ¨ï ¯¥à¥¬¥®© BOOTDSK ¯à¨ áâ à⥠;!TODO ¯à®¢¥à¨âì ª ª ã ‘ ©¬ ᤥ« ®
|
||||||
|
;R03 09-03-2007 VAS ”ãªæ¨ï ENV_EX ⥯¥àì ®¡à¥§ ¥â ᫨誮¬ ¤«¨ãî áâப㠯¥à¥¤ ¢ë室®¬
|
||||||
;R01 19-11-2002 DNS CORRECT DE ADDRESS IN GETENV
|
;R01 19-11-2002 DNS CORRECT DE ADDRESS IN GETENV
|
||||||
;---------------------------------------------------------------
|
;---------------------------------------------------------------
|
||||||
|
|
||||||
; LD HL,MYVAR
|
;/////////////////////////////////////////////////////////////////////
|
||||||
; CALL SETENV
|
; ”ãªæ¨ï #46. ‘¨á⥬®¥ ®ªà㦥¨¥.
|
||||||
; LD HL,MYVAR2
|
;
|
||||||
; LD DE,MYBUF
|
; ¢å®¤: B - ®¬¥à ¯®¤äãªæ¨¨:
|
||||||
; CALL GETENV
|
; B=0, ¯®«ã票¥ á¨á⥬®£® ®ªà㦥¨ï.
|
||||||
|
; HL - ¡ãä¥à
|
||||||
|
; B=1, ¯®«ãç¨âì ¯¥à¥¬¥ãî ®ªà㦥¨ï.
|
||||||
|
; HL - ¨¬ï ¯¥à¥¬¥®©
|
||||||
|
; DE - ¡ãä¥à ¤«ï § ç¥¨ï ¯¥à¥¬¥®©
|
||||||
|
; B=2, ãáâ ®¢¨âì/㤠«¨âì ¯¥à¥¬¥ãî ®ªà㦥¨ï
|
||||||
|
; HL - <20>…<EFBFBD>…Œ…<C592><E280A6>€Ÿ=‡<>€—…<E28094>ˆ…
|
||||||
|
; ‚ ª®æ¥ áâப¨ ®«ì.
|
||||||
|
|
||||||
|
; ¢ë室: A - á®áâ®ï¨¥, ¥á«¨ CF=0
|
||||||
|
; DE - 㪠§ë¢ ¥â ª®¥æ ¡ãä¥à (⮫쪮 ¤«ï B=1)
|
||||||
|
; A=#FF - ¯¥à¥¬¥ ï ®¡ à㦥
|
||||||
|
; A=0 - ¯¥à¥¬¥ ï ¥ ®¡ à㦥
|
||||||
|
; A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||||
|
;/////////////////////////////////////////////////////////////////////
|
||||||
ENVIRON:
|
ENVIRON:
|
||||||
INC B
|
INC B
|
||||||
JR Z,INITENV ;B=FF
|
JR Z,INITENV ; B=#FF
|
||||||
DEC B
|
DEC B
|
||||||
JR Z,READENV ;B=0
|
JR Z,READENV ; B=0. ¯®«ãç¨âì á¨áâ. ®ªà㦥¨¥
|
||||||
DEC B
|
DEC B
|
||||||
JP Z,GETENV ;B=1
|
JP Z,GETENV ; B=1. ¯®«ãç¨âì ¯¥à¥¬. ®ªà㦥¨ï
|
||||||
DEC B
|
DEC B
|
||||||
JP Z,SETENV ;B=2
|
JP Z,SETENV ; B=2. ãáâ ®¢¨âì/㤠«¨âì ¯¥à¥¬. ®ªà㦥¨ï
|
||||||
LD A,DSS_Error.sys.INVALID_FUNCTION
|
LD A,DSS_Error.sys.INVALID_FUNCTION
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
;-------------------------------------------------
|
||||||
|
; ˆ¨æ¨ «¨§ æ¨ï ¡ãä¥à ¯¥à¥¬¥ëå ®ªà㦥¨ï
|
||||||
|
;-------------------------------------------------
|
||||||
INITENV:
|
INITENV:
|
||||||
SET_PAGE_X ENVPAGE
|
SET_PAGE_X ENVPAGE
|
||||||
PUSH AF
|
PUSH AF
|
||||||
;!TEST
|
;R02
|
||||||
LD A,(BOOTDRV)
|
LD A,(BOOTDRV)
|
||||||
ADD A,'A'
|
ADD A,'A'
|
||||||
LD (DEFAULT_ENV.boot_disk),A
|
LD (DEFAULT_ENV.boot_disk),A
|
||||||
;
|
;
|
||||||
LD DE,ENVIRONMENT
|
LD DE,ENVIRONMENT ; ç «® ¡ãä¥à ¯¥à¥¬¥ëå ®ªà㦥¨ï
|
||||||
XOR A
|
XOR A
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
INC DE
|
INC DE
|
||||||
@ -53,6 +70,9 @@ INITENV:
|
|||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
;-------------------------------------------------
|
||||||
|
; <20>®«ãç¨âì á¨áâ. ®ªà㦥¨¥
|
||||||
|
;-------------------------------------------------
|
||||||
READENV:
|
READENV:
|
||||||
PUSH HL
|
PUSH HL
|
||||||
|
|
||||||
@ -82,39 +102,48 @@ READENV:
|
|||||||
OR C
|
OR C
|
||||||
EXX
|
EXX
|
||||||
JR NZ,.loop
|
JR NZ,.loop
|
||||||
XOR A
|
//XOR A
|
||||||
|
;A=0
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
;-------------------------------------------------
|
||||||
|
; <20>®«ãç¨âì ¯¥à¥¬¥ãî ®ªà㦥¨ï
|
||||||
|
;-------------------------------------------------
|
||||||
GETENV: PUSH DE
|
GETENV: PUSH DE
|
||||||
CALL ENV_EX
|
CALL ENV_EX ; ᪮¯¨à. áâப㠯¥à¥¬. ®ªàã¦. ¢ ¡ãä¥àë
|
||||||
|
|
||||||
SET_PAGE_X ENVPAGE
|
SET_PAGE_X ENVPAGE
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
|
|
||||||
CALL F_ENV
|
CALL F_ENV ; RET: DE - VAR VALUE; HL - VAR ADDRESS; BC - ENVIRONMENT SIZE
|
||||||
POP DE
|
POP DE
|
||||||
LD A,0
|
LD A,0
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
JR NC,GE_1
|
JR NC,.exit
|
||||||
GE_0: LD A,(HL)
|
.loop: LD A,(HL)
|
||||||
LDI
|
LDI
|
||||||
OR A
|
OR A
|
||||||
JR NZ,GE_0
|
JR NZ,.loop
|
||||||
DEC DE ;R01
|
DEC DE ;R01
|
||||||
LD A,#FF
|
LD A,#FF
|
||||||
|
|
||||||
GE_1: EX AF,AF'
|
.exit: EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
SETENV: CALL ENV_EX
|
;-------------------------------------------------
|
||||||
|
; “áâ ®¢¨âì/“¤ «¨âì ¯¥à¥¬¥ãî ®ªà㦥¨ï
|
||||||
|
;
|
||||||
|
; ¢å®¤: hl=¨¬ï ¯¥à¥¬. ¨ § 票¥, à §¤¥«. ᨬ¢®«®¬ "="
|
||||||
|
;-------------------------------------------------
|
||||||
|
SETENV: CALL ENV_EX ; ᪮¯¨à. áâப㠯¥à¥¬. ®ªàã¦. ¢ ¡ãä¥àë
|
||||||
|
|
||||||
SET_PAGE_X ENVPAGE
|
SET_PAGE_X ENVPAGE
|
||||||
PUSH AF
|
PUSH AF
|
||||||
|
|
||||||
CALL F_ENV
|
CALL F_ENV ; RET: DE - VAR VALUE; HL - VAR ADDRESS; BC - ENVIRONMENT SIZE
|
||||||
JR NC,PENV
|
JR NC,PENV
|
||||||
XOR A
|
XOR A
|
||||||
CPIR
|
CPIR
|
||||||
@ -176,12 +205,18 @@ END_OF_ENV
|
|||||||
POP DE
|
POP DE
|
||||||
RET
|
RET
|
||||||
|
|
||||||
ENV_EX LD B,ENVIRONMENT_STRING_LENGTH
|
;-----------------------------------------------------------
|
||||||
LD DE,ENVNAME
|
; ‘ª®¯¨à®¢ âì áâப㠯¥à¥¬¥®© ®ªà㦥¨ï ¢ ¡ãä¥àë
|
||||||
ENV_E0 XOR A
|
; (¨¬ï ¨ § 票¥ ¢ à §ë¥ ¡ãä¥àë)
|
||||||
|
; ¢å®¤: hl=¨¬ï ¯¥à¥¬. ¨ § 票¥, à §¤¥«. ᨬ¢®«®¬ "="
|
||||||
|
;-----------------------------------------------------------
|
||||||
|
ENV_EX: LD B,ENVIRONMENT_STRING_LENGTH ; 255 ¬ ªá. ¤«¨ áâப¨ (¨¬ï+§ ç.)
|
||||||
|
LD DE,ENVNAME ; ªã¤
|
||||||
|
ENV_E0: XOR A
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
LD (ENVVALUE),A
|
LD (ENVVALUE),A
|
||||||
ENV_E1 LD A,(HL)
|
; ᪮¯¨à. ¢ "ENVNAME" ¨¬ï ¯¥à¥¬¥®©
|
||||||
|
ENV_E1: LD A,(HL)
|
||||||
INC HL
|
INC HL
|
||||||
CP "="
|
CP "="
|
||||||
JR Z,EQUAL_SG
|
JR Z,EQUAL_SG
|
||||||
@ -191,35 +226,42 @@ ENV_E1 LD A,(HL)
|
|||||||
LD (DE),A
|
LD (DE),A
|
||||||
INC DE
|
INC DE
|
||||||
DJNZ ENV_E1
|
DJNZ ENV_E1
|
||||||
;!TEST from Vasil
|
;R03
|
||||||
|
; ᫨誮¬ ¤«¨ ï áâப
|
||||||
ld a,b
|
ld a,b
|
||||||
ld (de),a ; ®¡à¥§ âì ᫨誮¬ ¤«¨ãî áâபã
|
ld (de),a ; ®¡à¥§ âì ᫨誮¬ ¤«¨ãî áâபã
|
||||||
inc de
|
inc de
|
||||||
;
|
;
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
; § 票¥ ¥ § ¤ ®
|
||||||
ENV_E3 LD A,"="
|
ENV_E3: LD A,"="
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
INC DE
|
INC DE
|
||||||
XOR A
|
XOR A
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
INC DE
|
INC DE
|
||||||
RET
|
RET
|
||||||
|
; § 票¥ § ¤ ®
|
||||||
EQUAL_SG:
|
EQUAL_SG: LD (DE),A ; á®åà. "="
|
||||||
LD (DE),A
|
|
||||||
INC DE
|
INC DE
|
||||||
XOR A
|
XOR A
|
||||||
|
LD (DE),A ; ¢ ª®¥æ ¨¬¥¨ ¯¥à¥¬.
|
||||||
|
; ᪮¯¨à. ¢ "ENVVALUE" § 票¥ ¯¥à¥¬¥®© (áâப㠯ã⥩)
|
||||||
|
LD DE,ENVVALUE ; 512 ¡ ©â, ¡ãä¥à
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
LD DE,ENVVALUE
|
LD C,#FF ; ç⮡ë "ldi" ¥ ¯®à⨫ "b"
|
||||||
LD (DE),A
|
|
||||||
LD C,#FF
|
|
||||||
ENV_E2 LD A,(HL)
|
ENV_E2 LD A,(HL)
|
||||||
LDI
|
LDI
|
||||||
OR A
|
OR A
|
||||||
RET Z
|
RET Z ; ª®¥æ áâப¨ § ç. ¯¥à¥¬¥®©
|
||||||
DJNZ ENV_E2
|
DJNZ ENV_E2
|
||||||
|
;R03
|
||||||
|
; ᫨誮¬ ¤«¨ ï áâப
|
||||||
|
ld a,b
|
||||||
|
ld (de),a ; ®¡à¥§ âì ᫨誮¬ ¤«¨ãî áâபã
|
||||||
|
inc de
|
||||||
|
;
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
@ -230,9 +272,12 @@ ENVSIZE DW DEF_ENV_SIZE ;E_END-ENVIRONMENT ;160
|
|||||||
|
|
||||||
ENVIRONMENT EQU ENVADDR
|
ENVIRONMENT EQU ENVADDR
|
||||||
|
|
||||||
DEFAULT_ENV: DB 'BOOTDSK='
|
DEFAULT_ENV: DB 'BOOTDSK=' ;R02
|
||||||
.boot_disk: DB 'X:',0
|
.boot_disk: DB 'X:',0 ;R02
|
||||||
DEF_ENV_SIZE EQU $-DEFAULT_ENV
|
; DB 'SYSTEM=C:\system.exe',0
|
||||||
|
; DB 'PATH=\SYSTEM\;\COMMAND\;',0
|
||||||
|
DEF_ENV_SIZE EQU $-DEFAULT_ENV ;R02
|
||||||
|
|
||||||
|
|
||||||
; DB 'SYSTEM=C:\system.exe',0
|
; DB 'SYSTEM=C:\system.exe',0
|
||||||
; DB 'PATH=\SYSTEM\;\COMMAND\;',0
|
; DB 'PATH=\SYSTEM\;\COMMAND\;',0
|
||||||
|
|||||||
@ -1255,6 +1255,12 @@ LEAVE: LD A,B
|
|||||||
;
|
;
|
||||||
.exit: JP (HL)
|
.exit: JP (HL)
|
||||||
|
|
||||||
|
;/////////////////////////////////////////////////////////////////////
|
||||||
|
; ”ãªæ¨ï #42. <20>®«ãç¨âì ª®¤ § ¢¥àè¥¨ï ¯à®£à ¬¬ë.
|
||||||
|
;
|
||||||
|
; ¢å®¤: ¥â
|
||||||
|
; ¢ë室: A - ª®¤ § ¢¥à襨ï
|
||||||
|
;/////////////////////////////////////////////////////////////////////
|
||||||
WAIT: LD A,(ERLEVEL)
|
WAIT: LD A,(ERLEVEL)
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
@ -1301,8 +1307,8 @@ M_PSP: LD HL,(EXEBUFF.LD_ADDR)
|
|||||||
CALL CURRDIR
|
CALL CURRDIR
|
||||||
POP HL
|
POP HL
|
||||||
XOR A
|
XOR A
|
||||||
LD BC,#0100 ;!FIXIT ¥â ¯à¨¢ï§ª¨ ª DIRSPEC.DEPTH
|
LD BC,#0100 ;!FIXIT ¥â ¯à¨¢ï§ª¨ ª DIRSPEC.DEPTH
|
||||||
CPIR ;!FIXIT ¥â ¯à®¢¥àª¨ ¢ë室 ¯® BC=0
|
CPIR ;!FIXIT ¥â ¯à®¢¥àª¨ ¢ë室 ¯® BC=0
|
||||||
DEC HL
|
DEC HL
|
||||||
DEC HL
|
DEC HL
|
||||||
LD A,'\'
|
LD A,'\'
|
||||||
@ -1345,41 +1351,40 @@ SCOPYS: LD BC,#80*256 + ' '+1
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
|
|
||||||
EXE_EXT DB "E","X","E"
|
EXE_EXT: DB "EXE"
|
||||||
|
|
||||||
TASK DB #01
|
TASK: DB #01 ; ã஢¥ì ⥪ã饩 ¯à®£à ¬¬ë
|
||||||
|
|
||||||
RAMMAP DB #00,#00,#00,#00
|
RAMMAP: DB #00,#00,#00,#00
|
||||||
|
|
||||||
ERLEVEL DB #00
|
ERLEVEL: DB #00 ; ª®¤ § ¢¥àè¥¨ï ¯à®£à ¬¬ë (¯à®æ¥áá )
|
||||||
|
|
||||||
EXE_FM DB #00
|
EXE_FM: DB #00 ; ¤¥áªà. ä ©«
|
||||||
EXE_MEM DB #00
|
EXE_MEM: DB #00 ; ¨¤¥â¨ä¨ª â®à ¡«®ª ¯ ¬ïâ¨
|
||||||
|
|
||||||
CMDLINE DW #0000
|
CMDLINE: DW #0000
|
||||||
|
|
||||||
EXSTACK DW XSTACK
|
EXSTACK: DW XSTACK ; ¤à¥á á⥪
|
||||||
|
|
||||||
;R11 \\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
;R11 \\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||||||
;;
|
;;
|
||||||
; EXEBUFF:
|
; EXEBUFF:
|
||||||
; DB "EXE"
|
; DB "EXE"
|
||||||
; DB #00
|
; DB #00
|
||||||
; OFFCOD1 DW #0000
|
; OFFCOD1 DW #0000
|
||||||
; OFFCOD2 DW #0000
|
; OFFCOD2 DW #0000
|
||||||
; LOADER DW #0000
|
; LOADER DW #0000
|
||||||
; DW #0000
|
; DW #0000
|
||||||
; DW #0000
|
; DW #0000
|
||||||
; DW #0000
|
; DW #0000
|
||||||
; LD_ADDR DW #0000
|
; LD_ADDR DW #0000
|
||||||
; PC_REG DW #0000
|
; PC_REG DW #0000
|
||||||
; SP_REG DW #0000
|
; SP_REG DW #0000
|
||||||
; BLOCK 512-($-EXEBUFF),0
|
; BLOCK 512-($-EXEBUFF),0
|
||||||
; ;(!!!HERE STACK FOR EXEC!!!)
|
; ;(!!!HERE STACK FOR EXEC!!!)
|
||||||
; BLOCK 255,0
|
; BLOCK 255,0
|
||||||
; XSTACK DB #00
|
; XSTACK DB #00
|
||||||
;R11 ////////////////////////////
|
;R11 ////////////////////////////
|
||||||
|
|
||||||
;//MODULE: EXECUTE
|
;//MODULE: EXECUTE
|
||||||
;[END]
|
;[END]
|
||||||
|
|
||||||
@ -130,6 +130,10 @@ R_DSK EQU #FF ;Drive Control
|
|||||||
|
|
||||||
COM_B EQU #1B
|
COM_B EQU #1B
|
||||||
|
|
||||||
|
|
||||||
|
;-------------------------------------------------
|
||||||
|
; Ž¡à ¡®â稪 FDD (rst 18h)
|
||||||
|
;-------------------------------------------------
|
||||||
FDDRIVE:
|
FDDRIVE:
|
||||||
INC C
|
INC C
|
||||||
DEC C
|
DEC C
|
||||||
|
|||||||
@ -1,3 +1,12 @@
|
|||||||
|
;[BEGIN]
|
||||||
|
;//MODULE: Shared AUTHOR: Denis Parinov
|
||||||
|
;//CREATE: A LONG TIME AGO :)
|
||||||
|
;---------------------------------------------------------------
|
||||||
|
;Rev Date Name Description
|
||||||
|
;R01 17-04-2023 BAO „®¡ ¢«¥ ¯à®æ¥¤ãà INITDVC_RET_DRIVE ¨ ¨§¬¥¥ INTDISK ¤«ï ¯®¤¤¥à¦ª¨ à¥áª ¤à ©¢®¢
|
||||||
|
;---------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; DISK DRIVER SPECIFICATION
|
; DISK DRIVER SPECIFICATION
|
||||||
;---------------------------------------------
|
;---------------------------------------------
|
||||||
@ -107,15 +116,19 @@
|
|||||||
; EX (SP),HL
|
; EX (SP),HL
|
||||||
; RET
|
; RET
|
||||||
|
|
||||||
|
;-------------------------------------------------
|
||||||
|
; RST 18h. ‚¥ªâ®à ¤¨áª®¢ëå ãáâனáâ¢
|
||||||
|
; ¢å®¤: a=®¬¥à ãáâனá⢠(0-25)
|
||||||
|
;-------------------------------------------------
|
||||||
DSS_MAX_DRIVES_AMOUNT EQU 26
|
DSS_MAX_DRIVES_AMOUNT EQU 26
|
||||||
|
|
||||||
INTDISK:
|
INTDISK:
|
||||||
CP #FF
|
;R01
|
||||||
JR NZ,.noNeedRescan
|
CP #FF
|
||||||
CP C
|
JR NZ,.noNeedRescan
|
||||||
JR Z,INITDVC_RET_DRIVE
|
CP C
|
||||||
|
JR Z,INITDVC_RET_DRIVE
|
||||||
.noNeedRescan:
|
.noNeedRescan:
|
||||||
|
;
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
PUSH BC
|
||||||
LD C,A
|
LD C,A
|
||||||
@ -138,7 +151,7 @@ INTDISK:
|
|||||||
EX (SP),HL
|
EX (SP),HL
|
||||||
RET
|
RET
|
||||||
|
|
||||||
NODEV POP BC
|
NODEV: POP BC
|
||||||
POP HL
|
POP HL
|
||||||
LD A,DSS_Error.drv.INVALID_DRIVE
|
LD A,DSS_Error.drv.INVALID_DRIVE
|
||||||
SCF
|
SCF
|
||||||
@ -175,26 +188,34 @@ NETWORK EQU #0008
|
|||||||
; DB #80 ;PHISICAL DRIVE NUMBER
|
; DB #80 ;PHISICAL DRIVE NUMBER
|
||||||
;
|
;
|
||||||
; DB #00 ;END OF TABLE
|
; DB #00 ;END OF TABLE
|
||||||
INITDVC_RET_DRIVE:
|
;-----------------------------------------------------------------------
|
||||||
CALL INITDVC
|
|
||||||
LD A,(LDRIVE)
|
|
||||||
AND A
|
|
||||||
RET
|
|
||||||
|
|
||||||
INITDVC XOR A
|
;R01
|
||||||
LD (LDRIVE),A
|
INITDVC_RET_DRIVE:
|
||||||
|
CALL INITDVC
|
||||||
|
LD A,(LDRIVE)
|
||||||
|
AND A
|
||||||
|
RET
|
||||||
|
;
|
||||||
|
|
||||||
|
;-----------------------------------------------------------
|
||||||
|
; <20>à®áª ¨à®¢ âì á¨á⥬ã FDD/HDD ¤¥¢ ©áë ¨ RAM-¤¨áª¨
|
||||||
|
;-----------------------------------------------------------
|
||||||
|
INITDVC: XOR A
|
||||||
|
LD (LDRIVE),A ; á¡à. ï祩ªã
|
||||||
LD HL,DEVICE
|
LD HL,DEVICE
|
||||||
LD (PDEVICE),HL
|
LD (PDEVICE),HL ; ¢®ááâ. ï祩ªã
|
||||||
|
; FDD ¤¥¢ ©áë
|
||||||
LD C,A
|
LD C,A
|
||||||
CALL FDDRIVE
|
CALL FDDRIVE ; ã§ âì ç¨á«® FDD-¤¥¢ ©á®¢
|
||||||
LD DE,FDDRIVE
|
LD DE,FDDRIVE ; ¤à¥á ®¡à ¡®â稪 ⥪. ¤¥¢ ©á
|
||||||
CALL MAKEDVC
|
CALL MAKEDVC ; ¨¨æ. â ¡«¨æã ¯¥à¥å®¤®¢
|
||||||
// XOR A
|
; HDD ¤¥¢ ©áë
|
||||||
LD C,0
|
LD C,0
|
||||||
CALL HDDRIVE
|
CALL HDDRIVE
|
||||||
LD DE,HDDRIVE
|
LD DE,HDDRIVE
|
||||||
CALL MAKEDVC
|
CALL MAKEDVC
|
||||||
// XOR A
|
; RAM-¤¨áª¨
|
||||||
LD C,0
|
LD C,0
|
||||||
CALL RMDRIVE
|
CALL RMDRIVE
|
||||||
LD DE,RMDRIVE
|
LD DE,RMDRIVE
|
||||||
@ -202,22 +223,25 @@ INITDVC XOR A
|
|||||||
XOR A
|
XOR A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
MAKEDVC LD C,A
|
; ˆ¨æ¨¨à®¢ âì â ¡«¨æã ¯¥à¥å®¤®¢ ¤¥¢ ©á .
|
||||||
LD HL,LDRIVE
|
; ¢å®¤: de= ¤à¥á ®¡à ¡®â稪 ¤¥¢ ©á
|
||||||
|
; a=ç¨á«® ¤¥¢ ©á®¢ (0=¥â)
|
||||||
|
MAKEDVC: LD C,A
|
||||||
|
LD HL,LDRIVE ; ï祩ª ®¬¥à ¯®á«. ¤¨áª
|
||||||
ADD A,(HL)
|
ADD A,(HL)
|
||||||
LD (HL),A
|
LD (HL),A
|
||||||
LD A,C
|
LD A,C
|
||||||
LD C,0
|
LD C,0 ; á¡à.
|
||||||
OR A
|
OR A
|
||||||
RET Z
|
RET Z ; ¥â ¤¥¢ ©á®¢
|
||||||
LD HL,(PDEVICE)
|
LD HL,(PDEVICE) ; ⥪. ¯®«®¦. ¢ â ¡«¨æ¥
|
||||||
.loop: LD (HL),C
|
.loop: LD (HL),C ; ®¬¥à ¤à ©¢ í⮣® ãáâனá⢠(¬« ¤è¨¥ 4 ¡¨â ). <20> ¯à¨¬¥à, ¤«ï HDD #81: #80 - ⨯ ¤à ©¢ , 1 - ®¬¥à ¤à ©¢
|
||||||
INC HL
|
INC HL
|
||||||
LD (HL),E
|
LD (HL),E ; de= ¤à¥á ®¡à ¡®â稪
|
||||||
INC HL
|
INC HL
|
||||||
LD (HL),D
|
LD (HL),D
|
||||||
INC HL
|
INC HL
|
||||||
INC C
|
INC C ; ++®¬¥à ¤à ©¢
|
||||||
DEC A
|
DEC A
|
||||||
JR NZ,.loop
|
JR NZ,.loop
|
||||||
LD (PDEVICE),HL
|
LD (PDEVICE),HL
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
;
|
;
|
||||||
STRUCT _sStack ; 256 bytes
|
STRUCT _sStack ; 256 bytes
|
||||||
buffer BLOCK 255,0
|
buffer BLOCK 256,0
|
||||||
SPoint BYTE 0
|
SPoint BYTE 0
|
||||||
ENDS
|
ENDS
|
||||||
;
|
;
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
40
|
43
|
||||||
@ -129,24 +129,15 @@ NOSHELL EQU 5
|
|||||||
STARTDO EQU 6
|
STARTDO EQU 6
|
||||||
;a BIOS version that is incompatible with this version of DOS
|
;a BIOS version that is incompatible with this version of DOS
|
||||||
; 0 10 20 30 40 50 60 70 80
|
; 0 10 20 30 40 50 60 70 80
|
||||||
MSG0 DB 0
|
MSG0: DB 0
|
||||||
DB 13,10,"The system has been halted. Press RESET to restart your computer.",13,10
|
DB 13,10,"The system has been halted. Press RESET to restart your computer.",13,10,0
|
||||||
DB 0
|
DB 13,10,"You started your computer with a BIOS version that is incompatible with this",13,10,0
|
||||||
DB 13,10
|
DB "version of DSS. Please update BIOS to run this version of DSS.",13,10,0
|
||||||
DB "You started your computer with a BIOS version that is incompatible with this",13,10
|
DB "Invalid partition table.",13,10,0
|
||||||
DB "version of DSS. Please update BIOS to run this version of DSS.",13,10
|
DB "Invalid BOOT sector.",13,10,0
|
||||||
DB 0
|
DB "Can't open file SYSTEM.DOS ...",13,10,0
|
||||||
DB "Invalid partition table.",13,10
|
DB 13,10,"Starting DSS... ",13,10,13,10,0
|
||||||
DB 0
|
MSGE DB 0
|
||||||
DB "Invalid BOOT sector.",13,10
|
|
||||||
DB 0
|
|
||||||
DB "Can't open file SYSTEM.DOS ...",13,10
|
|
||||||
DB 0
|
|
||||||
DB "Can't open file SYSTEM.EXE ...",13,10
|
|
||||||
DB 0
|
|
||||||
DB 13,10,"Starting DSS... ",13,10,13,10
|
|
||||||
DB 0
|
|
||||||
MSGE DB 0
|
|
||||||
|
|
||||||
CONTINU
|
CONTINU
|
||||||
LD HL,0
|
LD HL,0
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
;!TODO ®¯à¥¤¥«¥¨¥ ¯®¯ë⪨ ᤥ« âì § £àã§®çë¬ ¥ ¯¥à¢ë© à §¤¥«
|
;!TODO ®¯à¥¤¥«¥¨¥ ¯®¯ë⪨ ᤥ« âì § £àã§®çë¬ ¥ ¯¥à¢ë© à §¤¥«
|
||||||
|
|
||||||
; <20>®α«¥¤οο । <C2A4>ζ¨ο: 25.04.2006
|
|
||||||
; <20>à®£à ¬¬ § ¯¨á¨ FDD/HDD boot-§ £àã§ç¨ª ¨ ä ©«®¢ á¨á⥬ë.
|
; <20>à®£à ¬¬ § ¯¨á¨ FDD/HDD boot-§ £àã§ç¨ª ¨ ä ©«®¢ á¨á⥬ë.
|
||||||
;
|
;
|
||||||
; ‡ £à㦠¥â á¨áâ. ä ©«ë ¨§ ª®àï ¤¨áª , á ª®â®à®£® ¡ë«
|
; ‡ £à㦠¥â á¨áâ. ä ©«ë ¨§ ª®àï ¤¨áª , á ª®â®à®£® ¡ë«
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user