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
c50040b715
commit
f6e41854a8
@ -10,12 +10,11 @@
|
|||||||
;=====================================================================[]
|
;=====================================================================[]
|
||||||
;Rev. Date Name Description
|
;Rev. Date Name Description
|
||||||
;---------------------------------------------------------------------[]
|
;---------------------------------------------------------------------[]
|
||||||
|
;R13 03-08-2023 BAO „®¡ ¢«¥ ¢ë¢®¤ ®¬¥à ¢¥àᨨ Š®á®«¨ ¤«ï ª®¬ ¤ë VERSION
|
||||||
;R12 23-07-2023 BAO „®¡ ¢«¥ ª®¬ ¤ REBOOT - ¯¥à¥§ £à㧪 á ¯®«®© ®ç¨á⪮© ¯ ¬ïâ¨
|
;R12 23-07-2023 BAO „®¡ ¢«¥ ª®¬ ¤ REBOOT - ¯¥à¥§ £à㧪 á ¯®«®© ®ç¨á⪮© ¯ ¬ïâ¨
|
||||||
;R11 20-07-2023 BAO <09>®¯à ¢«¥ äãªæ¨ï LCPIR ¤«ï ª®à४⮣® ¢ë¡®à á®®¡é¥¨ï ®¡ ®è¨¡ª¥ ¯à¨ ®¬¥à¥ ®è¨¡ª¨ > § £®â®¢«¥ëå á®®¡é¥¨©
|
;R11 20-07-2023 BAO <09>®¯à ¢«¥ äãªæ¨ï LCPIR ¤«ï ª®à४⮣® ¢ë¡®à á®®¡é¥¨ï ®¡ ®è¨¡ª¥ ¯à¨ ®¬¥à¥ ®è¨¡ª¨ > § £®â®¢«¥ëå á®®¡é¥¨©
|
||||||
;R10 16-05-2023 BAO TE•T MODE AND TEXT ARE RESTORED AFTER RETURNING FROM THE APP
|
;R10 16-05-2023 BAO TE•T MODE AND TEXT ARE RESTORED AFTER RETURNING FROM THE APP
|
||||||
;R09 ??-??-???? DNS ;????? ????
|
;R08 21-02-2003 DNS FIX BUG IN BAT-PARSER, IT SPLIT STRINGS WHEN LINE BEGAN AT #xx00 OFFSET
|
||||||
;R08 21-02-2003 DNS FIX BUG IN BAT-PARSER, IT SPLIT STRINGS
|
|
||||||
; WHEN LINE BEGAN AT #xx00 OFFSET
|
|
||||||
;R07 14-12-2002 DNS PARSING BATCH LINE
|
;R07 14-12-2002 DNS PARSING BATCH LINE
|
||||||
;R06 12-12-2002 DNS ADD %0, %1, %2 ...
|
;R06 12-12-2002 DNS ADD %0, %1, %2 ...
|
||||||
;R05 11-12-2002 DNS IMPLEMENTED %VAR%
|
;R05 11-12-2002 DNS IMPLEMENTED %VAR%
|
||||||
@ -25,8 +24,10 @@
|
|||||||
;R01 19-11-2002 DNS ADD ENVIRONMENT %VARIABLE% IN ECHO
|
;R01 19-11-2002 DNS ADD ENVIRONMENT %VARIABLE% IN ECHO
|
||||||
;=====================================================================[]
|
;=====================================================================[]
|
||||||
|
|
||||||
include 'shared_includes/constants/bios_equ.inc'
|
includelua 'Shared_includes/lua/Functions.lua'
|
||||||
include 'shared_includes/constants/dss_equ.inc'
|
include 'shared_includes/constants/bios_equ.inc'
|
||||||
|
include 'shared_includes/constants/dss_equ.inc'
|
||||||
|
include 'console/version.inc'
|
||||||
|
|
||||||
;
|
;
|
||||||
; Standart EQU section
|
; Standart EQU section
|
||||||
@ -105,7 +106,7 @@ FPRIMAR LD C,Dss.CTRLKey
|
|||||||
JP CONSOLE
|
JP CONSOLE
|
||||||
|
|
||||||
;R07
|
;R07
|
||||||
MAKE_BATCH_PRM_ARRAY
|
MAKE_BATCH_PRM_ARRAY:
|
||||||
DEC HL
|
DEC HL
|
||||||
B_SKIP_SPACE
|
B_SKIP_SPACE
|
||||||
INC HL
|
INC HL
|
||||||
@ -122,10 +123,10 @@ B_SKIP_SPACE
|
|||||||
LD (HL),D
|
LD (HL),D
|
||||||
INC HL
|
INC HL
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
B_FIND_SPACE
|
B_FIND_SPACE:
|
||||||
INC HL
|
INC HL
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
CP "!"
|
CP " "+1
|
||||||
JR NC,B_FIND_SPACE
|
JR NC,B_FIND_SPACE
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
OR A
|
OR A
|
||||||
@ -187,13 +188,13 @@ ADDBAT PUSH DE
|
|||||||
JR NZ,BATLINE
|
JR NZ,BATLINE
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
LD DE,CMDLINE
|
LD DE,CMDLINE
|
||||||
AND A
|
;AND A
|
||||||
SBC HL,DE
|
SBC HL,DE
|
||||||
RET Z
|
JR Z,.exit
|
||||||
LD A,L
|
LD A,L
|
||||||
LD (CMDLINE-1),A
|
LD (CMDLINE-1),A
|
||||||
CALL CMDMODE
|
CALL CMDMODE
|
||||||
LD A,(BAT_FM)
|
.exit: LD A,(BAT_FM)
|
||||||
LD C,Dss.Close
|
LD C,Dss.Close
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
RET
|
RET
|
||||||
@ -214,24 +215,22 @@ NBLINE CALL MOVWORD
|
|||||||
LD DE,CMDLINE
|
LD DE,CMDLINE
|
||||||
POP HL
|
POP HL
|
||||||
JP NBLINE
|
JP NBLINE
|
||||||
|
MOVWORD: LD A,(BAT_LEN)
|
||||||
MOVWORD LD A,(BAT_LEN)
|
|
||||||
LD B,A
|
LD B,A
|
||||||
M00WORD LD A,(HL)
|
.loop: LD A,(HL)
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
CP #20
|
CP ' '
|
||||||
JR C,M01WORD
|
|
||||||
INC HL
|
INC HL
|
||||||
|
JR C,.loop2
|
||||||
INC DE
|
INC DE
|
||||||
DJNZ M00WORD
|
DJNZ .loop
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
.loop2: LD A,(HL)
|
||||||
M01WORD LD A,(HL)
|
CP ' '
|
||||||
CP #20
|
|
||||||
RET NC
|
RET NC
|
||||||
INC HL
|
INC HL
|
||||||
DJNZ M01WORD
|
DJNZ .loop2
|
||||||
;R08
|
;R08
|
||||||
PUSH DE
|
PUSH DE
|
||||||
CALL READBAT
|
CALL READBAT
|
||||||
@ -240,7 +239,7 @@ M01WORD LD A,(HL)
|
|||||||
LD A,(BAT_LEN)
|
LD A,(BAT_LEN)
|
||||||
LD B,A
|
LD B,A
|
||||||
OR A
|
OR A
|
||||||
JR NZ,M01WORD
|
JR NZ,.loop2
|
||||||
SCF
|
SCF
|
||||||
;R08
|
;R08
|
||||||
RET
|
RET
|
||||||
@ -326,10 +325,12 @@ CONSOLE:
|
|||||||
RE_: CALL GETXY
|
RE_: CALL GETXY
|
||||||
CALL GETPATH
|
CALL GETPATH
|
||||||
; CALL VERS
|
; CALL VERS
|
||||||
LD HL,CMDLINE
|
;!TEST
|
||||||
LD DE,CMDLINE+1
|
LD HL,CMDLINE-1
|
||||||
|
LD DE,CMDLINE
|
||||||
|
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
LD BC,#7F
|
LD BC,#7F ;!HARDCODE ¤«¨ CMDLINE
|
||||||
LDIR
|
LDIR
|
||||||
CALL INPUT
|
CALL INPUT
|
||||||
CALL CRLF
|
CALL CRLF
|
||||||
@ -344,13 +345,13 @@ GETXY LD C,Dss.Cursor
|
|||||||
RST ToDSS
|
RST ToDSS
|
||||||
JP LOCAT
|
JP LOCAT
|
||||||
|
|
||||||
INPUT XOR A
|
INPUT: XOR A
|
||||||
LD (POSIT),A
|
LD (POSIT),A
|
||||||
LD (SHIFT),A
|
LD (PRINT_S.SHIFT),A
|
||||||
LD (LEN_NEW),A
|
LD (LEN_NEW),A
|
||||||
LD IX,CMDLINE-2
|
LD IX,CMDLINE-2
|
||||||
CALL CEDIT
|
CALL CEDIT
|
||||||
CALL RES_CUR
|
CALL RES_CUR ;!FIXIT scroll ¯®ç¨¨âì, âãâ ⮦¥ ¢«¨ï¥â ¢à®¤¥
|
||||||
RET
|
RET
|
||||||
|
|
||||||
COMP: CALL EVALCMD ;R05
|
COMP: CALL EVALCMD ;R05
|
||||||
@ -530,9 +531,9 @@ RUN_BAT CALL BATCH
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
; !! <09>¥ ¤¥« âì ®¤ã ª®¬ ¤ã > 256 ᨬ¢®«®¢)) !!
|
; !! <09>¥ ¤¥« âì ®¤ã ª®¬ ¤ã > 256 ᨬ¢®«®¢)) !!
|
||||||
BATLIST DZ 'PAUSE' : DW CPAUSE
|
BATLIST: DZ 'PAUSE' : DW CPAUSE
|
||||||
DZ 'REM' : DW CREM
|
DZ 'REM' : DW CREM
|
||||||
CMDLIST DZ 'CD' : DW CCHDIR
|
CMDLIST: DZ 'CD' : DW CCHDIR
|
||||||
DZ 'DIR' : DW DIR
|
DZ 'DIR' : DW DIR
|
||||||
DZ 'ECHO' : DW CECHO
|
DZ 'ECHO' : DW CECHO
|
||||||
DZ 'PATH' : DW CPATH
|
DZ 'PATH' : DW CPATH
|
||||||
@ -710,14 +711,14 @@ CPAUSE LD DE,PAUSMSG
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
|
|
||||||
;R09
|
|
||||||
PATHSTR DB "PATH=",0
|
PATHSTR DB "PATH=",0
|
||||||
|
|
||||||
CPATH LD A,(DE)
|
CPATH LD A,(DE)
|
||||||
OR A
|
OR A
|
||||||
JP Z,PRNEPATH
|
JP Z,PRNEPATH
|
||||||
INC DE
|
INC DE
|
||||||
CP 9
|
CP 9 ; Tab
|
||||||
JR Z,CPATH
|
JR Z,CPATH
|
||||||
CP "!"
|
CP "!"
|
||||||
JR C,CPATH
|
JR C,CPATH
|
||||||
@ -751,7 +752,6 @@ PRNEPATH
|
|||||||
RST ToDSS
|
RST ToDSS
|
||||||
CALL CRLF
|
CALL CRLF
|
||||||
RET
|
RET
|
||||||
;R09
|
|
||||||
|
|
||||||
|
|
||||||
CSET LD A,(DE)
|
CSET LD A,(DE)
|
||||||
@ -834,7 +834,7 @@ ECHO_FR LD A,#FF
|
|||||||
|
|
||||||
;R04
|
;R04
|
||||||
|
|
||||||
EVALCMD
|
EVALCMD:
|
||||||
XOR A
|
XOR A
|
||||||
LD HL,CMDLINE-1
|
LD HL,CMDLINE-1
|
||||||
LD C,(HL)
|
LD C,(HL)
|
||||||
@ -862,13 +862,13 @@ MOVLBAK LD A,(HL)
|
|||||||
; HL - STRING WITH %VAR%
|
; HL - STRING WITH %VAR%
|
||||||
EVALSTR
|
EVALSTR
|
||||||
;R04 LD DE,DTA
|
;R04 LD DE,DTA
|
||||||
VARLOOP
|
;VARLOOP
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
CP "%"
|
CP "%"
|
||||||
JR Z,TVARIABLE
|
JR Z,TVARIABLE
|
||||||
VARL1 LDI
|
VARL1 LDI
|
||||||
OR A
|
OR A
|
||||||
JR NZ,VARLOOP
|
JR NZ,EVALSTR
|
||||||
LD BC,0
|
LD BC,0
|
||||||
LD (TVAR_PNT),BC
|
LD (TVAR_PNT),BC
|
||||||
;R04 LD HL,DTA
|
;R04 LD HL,DTA
|
||||||
@ -887,7 +887,7 @@ IEIGHT DB "EIGHT",0
|
|||||||
ININE DB "NINE",0
|
ININE DB "NINE",0
|
||||||
|
|
||||||
;R06
|
;R06
|
||||||
BAT_PRM_ARRAY
|
BAT_PRM_ARRAY:
|
||||||
DW IZERO, IONE, ITWO, ITHREE, IFOUR, IFIVE, ISIX, ISEVEN, IEIGHT, ININE
|
DW IZERO, IONE, ITWO, ITHREE, IFOUR, IFIVE, ISIX, ISEVEN, IEIGHT, ININE
|
||||||
DW 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
DW 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
;R06
|
;R06
|
||||||
@ -934,7 +934,7 @@ MVBTP LD A,(HL)
|
|||||||
JR NZ,MVBTP
|
JR NZ,MVBTP
|
||||||
DEC DE
|
DEC DE
|
||||||
NOBTP POP HL
|
NOBTP POP HL
|
||||||
JP VARLOOP ;R06
|
JP EVALSTR ;R06
|
||||||
;R06
|
;R06
|
||||||
|
|
||||||
TVAR1 PUSH HL
|
TVAR1 PUSH HL
|
||||||
@ -960,7 +960,7 @@ TNOVAR POP HL
|
|||||||
INC HL
|
INC HL
|
||||||
LD BC,0
|
LD BC,0
|
||||||
LD (TVAR_PNT),BC
|
LD (TVAR_PNT),BC
|
||||||
JP VARLOOP
|
JP EVALSTR
|
||||||
;R01
|
;R01
|
||||||
|
|
||||||
COMPARE LD A,(DE)
|
COMPARE LD A,(DE)
|
||||||
@ -1647,28 +1647,16 @@ hex8: push af
|
|||||||
|
|
||||||
VERS: LD C,Dss.Version
|
VERS: LD C,Dss.Version
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
PUSH BC
|
|
||||||
PUSH DE
|
|
||||||
|
|
||||||
LD L,D
|
LD L,D
|
||||||
LD H,0
|
LD H,E
|
||||||
LD DE,PRM1
|
LD DE,PRM1
|
||||||
CALL .num_ver ;decim2 ®¬¥à ¢¥àᨨ (0..9)
|
CALL .Set_Ver_to_PRM ; set DSS version
|
||||||
LD A,'.'
|
;R13
|
||||||
LD (DE),A
|
LD HL,256*CONSOLE_MODF + CONSOLE_VERS
|
||||||
|
LD BC,CONSOLE_BUILD
|
||||||
INC DE
|
LD DE,PRM2
|
||||||
POP HL
|
CALL .Set_Ver_to_PRM ; set Shell version
|
||||||
LD H,0
|
;R13
|
||||||
CALL .num_mod ;decim2 ®¬¥à ¬®¤¨ä¨ª 樨 (0..99)
|
|
||||||
POP HL
|
|
||||||
LD A,'.'
|
|
||||||
LD (DE),A
|
|
||||||
INC DE
|
|
||||||
CALL .num_build ;decim3 ®¬¥à ¡¨«¤ (0..999)
|
|
||||||
XOR A
|
|
||||||
LD (DE),A
|
|
||||||
|
|
||||||
LD DE,VERSMSG
|
LD DE,VERSMSG
|
||||||
JP MESSAGE
|
JP MESSAGE
|
||||||
|
|
||||||
@ -1707,6 +1695,32 @@ VERS: LD C,Dss.Version
|
|||||||
ld (de),a ; á®åà. ¢ ¡ãä¥à¥
|
ld (de),a ; á®åà. ¢ ¡ãä¥à¥
|
||||||
inc de
|
inc de
|
||||||
ret
|
ret
|
||||||
|
;
|
||||||
|
; ‚室:
|
||||||
|
; L - ®¬¥à ¢¥àᨨ (0..9)
|
||||||
|
; H - ®¬¥à ¬®¤¨ä¨ª 樨 (0..99)
|
||||||
|
; BC - ®¬¥à ¡¨«¤ (0..999)
|
||||||
|
; DE - ®¬¥à ¯ à ¬¥âà
|
||||||
|
.Set_Ver_to_PRM:
|
||||||
|
PUSH BC
|
||||||
|
PUSH HL
|
||||||
|
LD H,0
|
||||||
|
CALL .num_ver ;decim2 ®¬¥à ¢¥àᨨ (0..9)
|
||||||
|
LD A,'.'
|
||||||
|
LD (DE),A
|
||||||
|
INC DE
|
||||||
|
POP HL
|
||||||
|
LD L,H
|
||||||
|
LD H,0
|
||||||
|
CALL .num_mod ;decim2 ®¬¥à ¬®¤¨ä¨ª 樨 (0..99)
|
||||||
|
POP HL
|
||||||
|
LD A,'.'
|
||||||
|
LD (DE),A
|
||||||
|
INC DE
|
||||||
|
CALL .num_build ;decim3 ®¬¥à ¡¨«¤ (0..999)
|
||||||
|
XOR A
|
||||||
|
LD (DE),A
|
||||||
|
RET
|
||||||
/*
|
/*
|
||||||
VERS:
|
VERS:
|
||||||
LD C,Dss.Version
|
LD C,Dss.Version
|
||||||
@ -1777,8 +1791,7 @@ CEXIT: LD A,(TASKX)
|
|||||||
DEC A
|
DEC A
|
||||||
RET Z
|
RET Z
|
||||||
POP HL
|
POP HL
|
||||||
QUIT: LD B,0
|
QUIT: LD BC,Dss.Exit
|
||||||
LD C,Dss.Exit
|
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
RET
|
RET
|
||||||
|
|
||||||
@ -1804,7 +1817,7 @@ ERR_MSG: INC DE
|
|||||||
|
|
||||||
MESSAGE: CALL FMESAGE
|
MESSAGE: CALL FMESAGE
|
||||||
CALL PRINTZ
|
CALL PRINTZ
|
||||||
CALL GETXY
|
;CALL GETXY
|
||||||
RET
|
RET
|
||||||
|
|
||||||
FMESAGE: INC DE
|
FMESAGE: INC DE
|
||||||
@ -1847,12 +1860,14 @@ 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,.char
|
JR NZ,.char
|
||||||
|
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
INC HL
|
INC HL
|
||||||
SUB "1"
|
SUB "1"
|
||||||
@ -1902,20 +1917,32 @@ DIR3MSG EQU 10
|
|||||||
HELPMSG EQU 11
|
HELPMSG EQU 11
|
||||||
|
|
||||||
MSG0: DB 0
|
MSG0: DB 0
|
||||||
|
; 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
|
||||||
DB "Estex DSS: Version %1",CR,LF,0 ;R02
|
; 1
|
||||||
|
DB "Estex DSS: Version %1",CR,LF
|
||||||
|
DB "Console: Version %2",CR,LF,0 ;R13
|
||||||
|
; 2
|
||||||
DB "Current date: %1",CR,LF,0
|
DB "Current date: %1",CR,LF,0
|
||||||
|
; 3
|
||||||
DB "Current time: %1",CR,LF,0
|
DB "Current time: %1",CR,LF,0
|
||||||
|
; 4
|
||||||
DB "Press any key to continue . . .",CR,LF,0
|
DB "Press any key to continue . . .",CR,LF,0
|
||||||
|
; 5
|
||||||
DB "Invalid parametr",CR,LF,0
|
DB "Invalid parametr",CR,LF,0
|
||||||
|
; 6
|
||||||
DB "Echo is %1",CR,LF,0
|
DB "Echo is %1",CR,LF,0
|
||||||
|
; 7
|
||||||
DB "on",0
|
DB "on",0
|
||||||
|
; 8
|
||||||
DB "off",0
|
DB "off",0
|
||||||
|
; 9
|
||||||
DB " %1 file(s) %2 bytes",CR,LF,CR,LF,0
|
DB " %1 file(s) %2 bytes",CR,LF,CR,LF,0
|
||||||
; FILENAME EXT SIZE DATE TIME
|
; 10 FILENAME EXT SIZE DATE TIME
|
||||||
DB "%1 %2 %3 %4 %5",CR,LF,0
|
DB "%1 %2 %3 %4 %5",CR,LF,0
|
||||||
|
; 11
|
||||||
DB "COMMANDS:",CR,LF,CR,LF
|
DB "COMMANDS:",CR,LF,CR,LF
|
||||||
DB "DIR REN | RENAME PATH HELP ",CR,LF
|
DB "DIR REN | RENAME PATH HELP ",CR,LF
|
||||||
DB "CD | CHDIR DEL | ERASE SET VER | VERSION ",CR,LF
|
DB "CD | CHDIR DEL | ERASE SET VER | VERSION ",CR,LF
|
||||||
@ -1935,8 +1962,8 @@ ERR0: DB #00
|
|||||||
DZ "File not found" ; 03 - ä ©« ¥ ®¡ à㦥
|
DZ "File not found" ; 03 - ä ©« ¥ ®¡ à㦥
|
||||||
DZ "Path not found" ; 04 - ¥¢¥àë© ¯ãâì
|
DZ "Path not found" ; 04 - ¥¢¥àë© ¯ãâì
|
||||||
DZ "Invalid handle" ; 05 - ¥áãé¥áâ¢ãî騩 ä ©«®¢ë© ¬ ¨¯ã«ïâ®à
|
DZ "Invalid handle" ; 05 - ¥áãé¥áâ¢ãî騩 ä ©«®¢ë© ¬ ¨¯ã«ïâ®à
|
||||||
DZ "No free filehandle" ; 06 - ¥â ᢮¡®¤®£® ä ©«®¢®£® ¬ ¨¯ã«ïâ®à
|
DZ "Too many open files" ; 06 - ¥â ᢮¡®¤®£® ä ©«®¢®£® ¬ ¨¯ã«ïâ®à
|
||||||
DZ "File exist" ; 07 - ä ©« áãé¥áâ¢ã¥â
|
DZ "File already exist" ; 07 - ä ©« áãé¥áâ¢ã¥â
|
||||||
DZ "File read only" ; 08 - ä ©« ⮫쪮 ¤«ï ç⥨ï
|
DZ "File read only" ; 08 - ä ©« ⮫쪮 ¤«ï ç⥨ï
|
||||||
DZ "Root overflow" ; 09 - ¯¥à¥¯®«¥¨¥ ROOT (ª®à¥¢®£® ª â «®£ )
|
DZ "Root overflow" ; 09 - ¯¥à¥¯®«¥¨¥ ROOT (ª®à¥¢®£® ª â «®£ )
|
||||||
DZ "No free space" ; 10 - ¥â ᢮¡®¤®£® ¬¥áâ ¤¨áª¥
|
DZ "No free space" ; 10 - ¥â ᢮¡®¤®£® ¬¥áâ ¤¨áª¥
|
||||||
@ -1959,14 +1986,14 @@ ERR0: DB #00
|
|||||||
DZ "Drive failure" ; 27 - á¡®© ¤¨áª
|
DZ "Drive failure" ; 27 - á¡®© ¤¨áª
|
||||||
DZ "Extended error 28"
|
DZ "Extended error 28"
|
||||||
DZ "Extended error 29"
|
DZ "Extended error 29"
|
||||||
DZ "No free memory" ; 30 - ¥¤®áâ â®ç® ¯ ¬ïâ¨
|
DZ "Not enough memory" ; 30 - ¥¤®áâ â®ç® ¯ ¬ïâ¨
|
||||||
DZ "Invalid memory block" ; 31 - ¥áãé¥áâ¢ãî騩 ¡«®ª ¯ ¬ïâ¨
|
DZ "Invalid memory block" ; 31 - ¥áãé¥áâ¢ãî騩 ¡«®ª ¯ ¬ïâ¨
|
||||||
DZ "Extended error 32"
|
DZ "Extended error 32"
|
||||||
DZ "Maximum PATH size exceeded" ; 33 - ¯à¥¢ëè¥ ¬ ªá¨¬ «ìë© à §¬¥à ¯¥à¥¬¥®©
|
DZ "Maximum PATH size exceeded" ; 33 - ¯à¥¢ëè¥ ¬ ªá¨¬ «ìë© à §¬¥à ¯¥à¥¬¥®©
|
||||||
DZ "Extended error 34"
|
DZ "Extended error 34"
|
||||||
DZ "Too many files in directory" ; 35 - ᫨誮¬ ¬®£® ä ©«®¢ ¢ ¤¨à¥ªâ®à¨¨
|
DZ "Too many files in directory" ; 35 - ᫨誮¬ ¬®£® ä ©«®¢ ¢ ¤¨à¥ªâ®à¨¨
|
||||||
DZ "Directory nesting too large or number of folders > 1023" ; 36 - ᫨誮¬ ¡®«ìè ï ¢«®¦¥®áâì ª â «®£®¢ ¨«¨ ª®«¨ç¥á⢮ ¯ ¯®ª > 1023
|
DZ "Directory nesting too large or number of folders > 1023" ; 36 - ᫨誮¬ ¡®«ìè ï ¢«®¦¥®áâì ª â «®£®¢ ¨«¨ ª®«¨ç¥á⢮ ¯ ¯®ª > 1023
|
||||||
DZ "Operation interrupted by user" ; 37 - ®¯¥à æ¨ï ¯à¥à¢ ¯®«ì§®¢ ⥫¥¬
|
DZ "Operation aborted by user" ; 37 - ®¯¥à æ¨ï ¯à¥à¢ ¯®«ì§®¢ ⥫¥¬
|
||||||
DZ "Common error" ; 38 - ®¡é ï ®è¨¡ª
|
DZ "Common error" ; 38 - ®¡é ï ®è¨¡ª
|
||||||
DZ "Unexpected application termination" ; 39 - unexpected application termination / ¥®¦¨¤ ®¥ § ¢¥à襨¥ ¯à¨«®¦¥¨ï
|
DZ "Unexpected application termination" ; 39 - unexpected application termination / ¥®¦¨¤ ®¥ § ¢¥à襨¥ ¯à¨«®¦¥¨ï
|
||||||
DZ "40"
|
DZ "40"
|
||||||
@ -2085,14 +2112,14 @@ LFF PUSH HL
|
|||||||
POP HL
|
POP HL
|
||||||
RET
|
RET
|
||||||
|
|
||||||
PRINTX CP #20
|
PRINTX: CP ' '
|
||||||
JP NC,CHAR
|
JP NC,CHAR
|
||||||
CP #0D
|
CP #0D
|
||||||
JP Z,CR_
|
JP Z,CR_
|
||||||
CP #0A
|
CP #0A
|
||||||
JP Z,LF_
|
JP Z,LF_
|
||||||
CHAR PUSH BC
|
CHAR: PUSH BC
|
||||||
LD BC,#0182
|
LD BC,1*256 + BIOS.LP_PRINT_SYM
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
POP BC
|
POP BC
|
||||||
RET
|
RET
|
||||||
@ -2113,11 +2140,11 @@ CEDIT PUSH IX
|
|||||||
LD (ETXS),HL
|
LD (ETXS),HL
|
||||||
XOR A
|
XOR A
|
||||||
LD (POSIT),A
|
LD (POSIT),A
|
||||||
LD (SHIFT),A
|
LD (PRINT_S.SHIFT),A
|
||||||
EDIT1 LD DE,(ETXS)
|
EDIT1 LD DE,(ETXS)
|
||||||
CALL PRINT_S
|
CALL PRINT_S
|
||||||
CALL KEY
|
CALL KEY
|
||||||
CP 13
|
CP 13 ; enter code
|
||||||
RET Z
|
RET Z
|
||||||
LD HL,EDIT1
|
LD HL,EDIT1
|
||||||
PUSH HL
|
PUSH HL
|
||||||
@ -2165,7 +2192,7 @@ ADD_SM EX AF,AF'
|
|||||||
LD HL,(ETXE)
|
LD HL,(ETXE)
|
||||||
INC HL
|
INC HL
|
||||||
LD (ETXE),HL
|
LD (ETXE),HL
|
||||||
LD HL,SHIFT
|
LD HL,PRINT_S.SHIFT
|
||||||
SUB (HL)
|
SUB (HL)
|
||||||
CP (IX-1)
|
CP (IX-1)
|
||||||
RET C
|
RET C
|
||||||
@ -2175,14 +2202,14 @@ ADD_SM EX AF,AF'
|
|||||||
; CALL PAGE
|
; CALL PAGE
|
||||||
RET
|
RET
|
||||||
|
|
||||||
BACK LD A,(POSIT)
|
BACK: LD A,(POSIT)
|
||||||
OR A
|
OR A
|
||||||
RET Z ;JP Z,BCK
|
RET Z ;JP Z,BCK
|
||||||
DEC A
|
DEC A
|
||||||
LD (POSIT),A
|
LD (POSIT),A
|
||||||
LD (MAIN_X),A
|
LD (MAIN_X),A
|
||||||
INC A
|
INC A
|
||||||
LD HL,SHIFT
|
LD HL,PRINT_S.SHIFT
|
||||||
SUB (HL)
|
SUB (HL)
|
||||||
RET NZ
|
RET NZ
|
||||||
LD A,(STEP)
|
LD A,(STEP)
|
||||||
@ -2199,7 +2226,7 @@ FORW LD A,(POSIT)
|
|||||||
INC A
|
INC A
|
||||||
LD (POSIT),A
|
LD (POSIT),A
|
||||||
LD (MAIN_X),A
|
LD (MAIN_X),A
|
||||||
LD HL,SHIFT
|
LD HL,PRINT_S.SHIFT
|
||||||
SUB (HL)
|
SUB (HL)
|
||||||
CP (IX-1)
|
CP (IX-1)
|
||||||
RET C
|
RET C
|
||||||
@ -2236,7 +2263,7 @@ SUB_SM XOR A
|
|||||||
LD HL,(ETXE)
|
LD HL,(ETXE)
|
||||||
DEC HL
|
DEC HL
|
||||||
LD (ETXE),HL
|
LD (ETXE),HL
|
||||||
LD HL,SHIFT
|
LD HL,PRINT_S.SHIFT
|
||||||
INC A
|
INC A
|
||||||
SUB (HL)
|
SUB (HL)
|
||||||
RET NZ
|
RET NZ
|
||||||
@ -2249,7 +2276,7 @@ SUB_SM XOR A
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
KEY ;RES 5,(IY+1)
|
KEY ;RES 5,(IY+1)
|
||||||
LD A,(SHIFT)
|
LD A,(PRINT_S.SHIFT)
|
||||||
LD E,A
|
LD E,A
|
||||||
LD A,(POSIT)
|
LD A,(POSIT)
|
||||||
SUB E
|
SUB E
|
||||||
@ -2310,7 +2337,8 @@ RES_CUR LD A,(CURSORX)
|
|||||||
LD A,(_A+1)
|
LD A,(_A+1)
|
||||||
JP PRINTX
|
JP PRINTX
|
||||||
|
|
||||||
PRINT_S PUSH DE
|
PRINT_S:
|
||||||
|
PUSH DE
|
||||||
CALL GETXY ;;;
|
CALL GETXY ;;;
|
||||||
LD DE,(TEMPXY)
|
LD DE,(TEMPXY)
|
||||||
LD E,0
|
LD E,0
|
||||||
@ -2321,36 +2349,34 @@ PRINT_S PUSH DE
|
|||||||
CALL PRINTX
|
CALL PRINTX
|
||||||
POP DE
|
POP DE
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
SH LD BC,#0000
|
.SHIFT+1: LD BC,#0000
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
LD A,(SHIFT)
|
LD A,(.SHIFT)
|
||||||
LD C,A
|
LD C,A
|
||||||
LD A,(IX+1)
|
LD A,(IX+1)
|
||||||
SUB C
|
SUB C
|
||||||
JP Z,EMT_STR
|
JP Z,.EMT_STR
|
||||||
LD B,A
|
LD B,A
|
||||||
LD A,(IX-1)
|
LD A,(IX-1)
|
||||||
SUB B
|
SUB B
|
||||||
JR NC,PR_S
|
JR NC,.PR_S
|
||||||
LD B,(IX-1)
|
LD B,(IX-1)
|
||||||
PR_S PUSH BC
|
.PR_S: PUSH BC
|
||||||
LD C,#86
|
LD C,BIOS.LP_PRINT_LINE2
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
POP BC
|
POP BC
|
||||||
EMT_STR LD A,(IX-1)
|
.EMT_STR: LD A,(IX-1)
|
||||||
SUB B
|
SUB B
|
||||||
EI
|
EI
|
||||||
RET Z
|
RET Z
|
||||||
LD B,A
|
LD B,A
|
||||||
LD C,#82
|
LD A,' '
|
||||||
LD A,#20
|
LD C,BIOS.LP_PRINT_SYM
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
EI
|
EI
|
||||||
RET
|
RET
|
||||||
|
|
||||||
SHIFT EQU SH+1
|
GET_CMD: LD D,XH
|
||||||
|
|
||||||
GET_CMD LD D,XH
|
|
||||||
LD E,XL
|
LD E,XL
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
LD E,(HL)
|
LD E,(HL)
|
||||||
@ -2444,10 +2470,19 @@ BAT_BUFFER.size EQU 128 ;!FIXIT BAT_BUFFER LENGTH
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
; ‘âàãªâãà áâப¨ ¢¢®¤ ~input line~
|
||||||
|
struct_input_line:
|
||||||
|
db max_len_comline ;+0 254 ¬ ªá. ç¨á«® ¢¢®¤. ᨬ¢®«®¢
|
||||||
|
db 0 ;+1 ä« £ ReadyString
|
||||||
|
db 0 ;+2 X ⥪. ¯®«®¦. ªãàá®à ¢ ¯à¥¤¥« å áâப¨
|
||||||
|
db 0 ;+3 X ᬥé. áâப¨ § «¥¢ë© ªà © (¢ ᨬ¢®« å)
|
||||||
|
db 0 ;+4 ç¨á«® ¢¢¥¤¥ëå ᨬ¢®«®¢
|
||||||
|
ds max_len_comline+1 ;+5 áâப ¢¢®¤
|
||||||
|
*/
|
||||||
|
|
||||||
STRUCT BUFFERS_STRUCT
|
STRUCT BUFFERS_STRUCT
|
||||||
CMDLINE BLOCK 256,0
|
CMDLINE BLOCK 256,0 ;!HARDCODE cmdline size
|
||||||
TMPLINE BLOCK 256,0
|
TMPLINE BLOCK 256,0
|
||||||
PRMLINE BLOCK 256,0
|
PRMLINE BLOCK 256,0
|
||||||
;BUFFER
|
;BUFFER
|
||||||
@ -2471,7 +2506,7 @@ BAT_FM DB 0
|
|||||||
BAT_LEN DB 0
|
BAT_LEN DB 0
|
||||||
ECHOFLG DB 0
|
ECHOFLG DB 0
|
||||||
PATHLEN DB 0
|
PATHLEN DB 0
|
||||||
PATH BLOCK 40,0 ;!FIXIT PATH LENGTH
|
PATH BLOCK 40,0 ;!HARDCODE PATH LENGTH
|
||||||
ENDS
|
ENDS
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
1
Console/build.txt
Normal file
1
Console/build.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
31
|
||||||
22
Console/version.inc
Normal file
22
Console/version.inc
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
;------------------[ „®áâ ñ¬ ⥪ãéãî ¤ âã ¨ BUILD++ ]-----------------[]
|
||||||
|
LUA PASS1
|
||||||
|
Console_build = increase_build("./Console/build.txt")
|
||||||
|
if Console_build > 999 then
|
||||||
|
Console_build = 999
|
||||||
|
print("WARNING! Build > 999","WARNING! Build > 999","WARNING! Build > 999","WARNING! Build > 999","\aWARNING! Build > 999\a")
|
||||||
|
end
|
||||||
|
ENDLUA
|
||||||
|
LUA ALLPASS
|
||||||
|
sj.insert_label("lua_BUILD", Console_build)
|
||||||
|
ENDLUA
|
||||||
|
;---------------------------------------------------------------------[]
|
||||||
|
|
||||||
|
;
|
||||||
|
; Shell full version
|
||||||
|
; ®¬¥à ¢¥àᨨ (0..9)
|
||||||
|
CONSOLE_VERS EQU 1
|
||||||
|
; ®¬¥à ¬®¤¨ä¨ª 樨 (0..99)
|
||||||
|
CONSOLE_MODF EQU 2
|
||||||
|
; ®¬¥à ¡¨«¤ (0..999)
|
||||||
|
CONSOLE_BUILD EQU lua_BUILD
|
||||||
|
;
|
||||||
24
DSS/DOS5.ASM
24
DSS/DOS5.ASM
@ -185,7 +185,7 @@ DEL01 EX DE,HL ; hl=
|
|||||||
; INPUT: HL - "old_name.ext",#00 without simbols * ?
|
; INPUT: HL - "old_name.ext",#00 without simbols * ?
|
||||||
; DE - "new_name.ext",#00 without simbols * ?
|
; DE - "new_name.ext",#00 without simbols * ?
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
RENAME PUSH DE
|
RENAME: PUSH DE
|
||||||
LD DE,MASKARE
|
LD DE,MASKARE
|
||||||
CALL MASK
|
CALL MASK
|
||||||
POP DE
|
POP DE
|
||||||
@ -1134,7 +1134,7 @@ MASKARE: BLOCK 8,0 ;
|
|||||||
; RET: C=2 FILE WITHOUT EXTENTION
|
; RET: C=2 FILE WITHOUT EXTENTION
|
||||||
; C=1 FILE WITH EXTENTION
|
; C=1 FILE WITH EXTENTION
|
||||||
;-------------------------------------------------
|
;-------------------------------------------------
|
||||||
MASK PUSH HL
|
MASK: PUSH HL
|
||||||
PUSH DE
|
PUSH DE
|
||||||
LD H,D
|
LD H,D
|
||||||
LD L,E
|
LD L,E
|
||||||
@ -1147,13 +1147,13 @@ MASK PUSH HL
|
|||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
CP '.' ;R07
|
CP '.' ;R07
|
||||||
SCF ;R07
|
SCF ;R07
|
||||||
JR Z,MASKB ;R07
|
JR Z,.MASKB ;R07
|
||||||
CP '!'
|
CP ' '+1
|
||||||
MASKB LD A,DSS_Error.sys.INVALID_NAME
|
.MASKB: LD A,DSS_Error.sys.INVALID_NAME
|
||||||
RET C
|
RET C
|
||||||
LD BC,#0902 ; B - áç¥â稪
|
LD BC,#0902 ; B - áç¥â稪
|
||||||
MASK1 LD A,(HL)
|
MASK1: LD A,(HL)
|
||||||
CP '!'
|
CP ' '+1
|
||||||
CCF
|
CCF
|
||||||
RET NC
|
RET NC
|
||||||
CP '"'
|
CP '"'
|
||||||
@ -1201,20 +1201,20 @@ MASK_ERR:
|
|||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
MASK3 LD A,'?'
|
MASK3: LD A,'?'
|
||||||
INC HL
|
INC HL
|
||||||
DJNZ MASK6
|
DJNZ MASK6
|
||||||
LD A,DSS_Error.sys.INVALID_NAME
|
LD A,DSS_Error.sys.INVALID_NAME
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
MASK6 LD (DE),A
|
MASK6: LD (DE),A
|
||||||
INC DE
|
INC DE
|
||||||
DJNZ MASK6
|
DJNZ MASK6
|
||||||
LD B,1
|
LD B,1
|
||||||
JR MASK1
|
JR MASK1
|
||||||
|
|
||||||
MASK5 LD A,' '
|
MASK5: LD A,' '
|
||||||
INC HL
|
INC HL
|
||||||
DJNZ MASK4
|
DJNZ MASK4
|
||||||
LD B,4
|
LD B,4
|
||||||
@ -1224,7 +1224,7 @@ MASK5 LD A,' '
|
|||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
MASK4 LD (DE),A
|
MASK4: LD (DE),A
|
||||||
INC DE
|
INC DE
|
||||||
DJNZ MASK4
|
DJNZ MASK4
|
||||||
LD B,4
|
LD B,4
|
||||||
@ -1235,7 +1235,7 @@ MASK4 LD (DE),A
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
; a..z -> A..Z
|
; a..z -> A..Z
|
||||||
UPPER CP 'a'
|
UPPER: CP 'a'
|
||||||
RET C
|
RET C
|
||||||
CP '{'
|
CP '{'
|
||||||
JR NC,MDUPPER
|
JR NC,MDUPPER
|
||||||
|
|||||||
@ -60,18 +60,18 @@ A0010: ;JP DRV_PAGE.RST_10 ;
|
|||||||
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
||||||
;
|
;
|
||||||
|
|
||||||
;
|
|
||||||
; ;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
||||||
; ; <[DRIVE API]> ;
|
; <[DRIVE API]> ;
|
||||||
; BLOCK #18-$,#C7 ; #C7 - "RST 0" opcode
|
BLOCK #18-$,#C7 ; #C7 - "RST 0" opcode
|
||||||
; ;A0018 JP INTDISK ;
|
;A0018 JP INTDISK ;
|
||||||
; A0018: PUSH AF ;
|
A0018: PUSH AF ;
|
||||||
; PUSH BC ;
|
PUSH BC ;
|
||||||
; DRV_PAGE.MAIN_PAGE_NUMBER+2: ;
|
DRV_PAGE.MAIN_PAGE_NUMBER+2: ;
|
||||||
; LD BC,0*256 + SLOT0 ; !FIXIT áî¤ ¥ ¤®«¦ë ¢áâ ¢«ïâìáï ®¬¥à ¢ë¤¥«¥ëå áâà ¨æ?
|
LD BC,0*256 + SLOT0 ; !FIXIT áî¤ ¥ ¤®«¦ë ¢áâ ¢«ïâìáï ®¬¥à ¢ë¤¥«¥ëå áâà ¨æ?
|
||||||
; JP PORTAL.outDRV ;
|
JP PORTAL.outDRV ;
|
||||||
; ;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
||||||
;
|
|
||||||
|
|
||||||
;!TODO
|
;!TODO
|
||||||
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
||||||
@ -202,7 +202,7 @@ ADCALL+1: CALL DISPATCH ;
|
|||||||
JP PORTAL.out_DRV ;
|
JP PORTAL.out_DRV ;
|
||||||
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
||||||
;
|
;
|
||||||
display "=============================",/H,(#82-#73-(PORTAL.toMAIN.switch-PORTAL.toMAIN))
|
|
||||||
|
|
||||||
|
|
||||||
;!FIXIT çñâ ¥ â® âãâ
|
;!FIXIT çñâ ¥ â® âãâ
|
||||||
|
|||||||
@ -298,8 +298,10 @@ F_START: DI
|
|||||||
;R05
|
;R05
|
||||||
|
|
||||||
.saveDRV+1: LD A,0
|
.saveDRV+1: LD A,0
|
||||||
LD BC,1*256 + Dss.BootDSK
|
;LD BC,1*256 + Dss.BootDSK
|
||||||
RST ToDSS
|
;RST ToDSS
|
||||||
|
LD B,1
|
||||||
|
CALL BOOTDSK
|
||||||
|
|
||||||
EI
|
EI
|
||||||
;Set new address fn. VERSION
|
;Set new address fn. VERSION
|
||||||
@ -334,8 +336,9 @@ F_START: DI
|
|||||||
;R12
|
;R12
|
||||||
.err_oldBIOS:
|
.err_oldBIOS:
|
||||||
LD HL,.err_oldBIOS_message
|
LD HL,.err_oldBIOS_message
|
||||||
LD C,Dss.PChars
|
;LD C,Dss.PChars
|
||||||
RST ToDSS
|
;RST ToDSS
|
||||||
|
CALL PCHARS
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
.err_oldBIOS_message:
|
.err_oldBIOS_message:
|
||||||
|
|||||||
@ -990,7 +990,7 @@ NOINK: LD A,H
|
|||||||
;R02
|
;R02
|
||||||
LD SP,EXEBUFF+510 ;‚áâ ˘«ďĄâáď ˘ DSS_PAGE
|
LD SP,EXEBUFF+510 ;‚áâ ˘«ďĄâáď ˘ DSS_PAGE
|
||||||
;
|
;
|
||||||
LD A,DSS_PAGE ;!FIXIT ¢âëª âì áâà ¨æë ¯à¨«®¦¥¨ï
|
LD A,SHARED_PAGE
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
OUT (SLOT2),A
|
OUT (SLOT2),A
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
@ -1159,7 +1159,7 @@ NOINK2:
|
|||||||
;R02
|
;R02
|
||||||
LD SP,EXEBUFF+510 ;‚áâ ˘«ďĄâáď ˘ DSS_PAGE
|
LD SP,EXEBUFF+510 ;‚áâ ˘«ďĄâáď ˘ DSS_PAGE
|
||||||
;
|
;
|
||||||
LD A,DSS_PAGE
|
LD A,SHARED_PAGE
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
OUT (SLOT2),A
|
OUT (SLOT2),A
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|||||||
@ -160,8 +160,10 @@ ECHOKEY: CALL Cursor_On ;
|
|||||||
CALL Cursor_Off ; ¢ëª«. ªãàá®à
|
CALL Cursor_Off ; ¢ëª«. ªãàá®à
|
||||||
POP AF
|
POP AF
|
||||||
OR A ; ¤®¡ ¢¨«
|
OR A ; ¤®¡ ¢¨«
|
||||||
CALL NZ,PUTCHAR ; ¢ë¢®¤ "a" íªà
|
;!FIXIT scroll § ¬¥¨âì ¢ë¢®¤ ᨬ¢®« ¡¨®á®¬ ¨«¨ WRCHAR
|
||||||
POP BC
|
CALL NZ,PUTCHAR ; ¢ë¢®¤ "a" íªà
|
||||||
|
;
|
||||||
|
POP BC
|
||||||
POP DE
|
POP DE
|
||||||
LD A,E
|
LD A,E
|
||||||
AND A
|
AND A
|
||||||
|
|||||||
@ -653,7 +653,7 @@ NXTPART LD DE,#10
|
|||||||
|
|
||||||
PARTIT: IN A,(SLOT3)
|
PARTIT: IN A,(SLOT3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,DSS_PAGE
|
LD A,SHARED_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
CALL PARTIT1
|
CALL PARTIT1
|
||||||
POP AF
|
POP AF
|
||||||
|
|||||||
309
DSS/VIDEO.ASM
309
DSS/VIDEO.ASM
@ -6,7 +6,7 @@
|
|||||||
;---------------------------------------------------------------
|
;---------------------------------------------------------------
|
||||||
;Rev Date Name Description
|
;Rev Date Name Description
|
||||||
;---------------------------------------------------------------
|
;---------------------------------------------------------------
|
||||||
;R03 04-04-2023 BAO FIXED BUGS IN FN WINCOPY, WINREST, SCROLL, SETVMOD, SELPAGE
|
;R03 04-04-2023 BAO FIXED BUGS IN FN SCROLL, SETVMOD, SELPAGE
|
||||||
;R02 07-11-2002 DNS CORRECT FN. WINCOPY & WINREST, ADD "DI+EI"
|
;R02 07-11-2002 DNS CORRECT FN. WINCOPY & WINREST, ADD "DI+EI"
|
||||||
;R01 07-11-2002 DNS FIX BUG WITH SCROLLUP FN. (A=0)
|
;R01 07-11-2002 DNS FIX BUG WITH SCROLLUP FN. (A=0)
|
||||||
;---------------------------------------------------------------
|
;---------------------------------------------------------------
|
||||||
@ -20,46 +20,25 @@ CLEAR: LD C,BIOS.LP_CLS_WIN2
|
|||||||
|
|
||||||
; PRINT NULL-TERMINATED CHARS STRING
|
; PRINT NULL-TERMINATED CHARS STRING
|
||||||
; HL - STRING POINTER
|
; HL - STRING POINTER
|
||||||
PCHARS: LD A,(HL)
|
PCHARS: ;CALL CURSOR
|
||||||
|
;LD A,E
|
||||||
|
;LD (.start_x),A
|
||||||
|
|
||||||
|
.loop: LD A,(HL)
|
||||||
INC HL
|
INC HL
|
||||||
OR A
|
OR A
|
||||||
RET Z
|
RET Z
|
||||||
;PUSH HL
|
;PUSH HL
|
||||||
|
;LD C,A
|
||||||
CALL PUTCHAR
|
CALL PUTCHAR
|
||||||
;POP HL
|
|
||||||
JP PCHARS
|
;CALL CURSOR
|
||||||
|
;LD A,(.start_x)
|
||||||
|
;CP E
|
||||||
|
|
||||||
; PRINT CHAR
|
;POP HL
|
||||||
; A - CHAR
|
JP .loop
|
||||||
PUTCHAR:
|
NO_NEED_SCROLL: DB 1
|
||||||
CP #0D
|
|
||||||
JP Z,CR_
|
|
||||||
CP #0A
|
|
||||||
JP Z,LF_
|
|
||||||
CP #09
|
|
||||||
JP Z,TB_
|
|
||||||
CP #08
|
|
||||||
JP Z,BK_
|
|
||||||
; CP #20
|
|
||||||
; JP NC,CHAR
|
|
||||||
CHAR: LD BC,1*256 + BIOS.LP_PRINT_SYM
|
|
||||||
RST ToBIOS
|
|
||||||
; ‘€‰Œ€<C592> âãâ ᨫìë© áªà®«« íªà ¥á«¨ ¯¥ç â « ¢ ¯®§¨æ¨¨ ¯®á«¥¤¥£® ᨬ¢®« ¯®á«¥¤¥© áâப¨
|
|
||||||
; push af
|
|
||||||
; ld a,e
|
|
||||||
; cp #4F
|
|
||||||
; jp nz,.exit
|
|
||||||
; ld a,d
|
|
||||||
; cp #1F
|
|
||||||
; jp nz,.exit
|
|
||||||
; ld e,0
|
|
||||||
; ld c,#84
|
|
||||||
; rst 8
|
|
||||||
; call LFF
|
|
||||||
; .exit:
|
|
||||||
; pop af
|
|
||||||
; ‘€‰Œ€<C592>
|
|
||||||
RET
|
|
||||||
|
|
||||||
BK_: LD C,BIOS.LP_GET_PLACE ;GET CURSOR
|
BK_: LD C,BIOS.LP_GET_PLACE ;GET CURSOR
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
@ -69,45 +48,52 @@ BK_: LD C,BIOS.LP_GET_PLACE ;GET CURSOR
|
|||||||
DEC E
|
DEC E
|
||||||
JP LOCATE
|
JP LOCATE
|
||||||
|
|
||||||
TB_: LD C,BIOS.LP_GET_PLACE ;GET CURSOR
|
;-----[]
|
||||||
RST ToBIOS
|
|
||||||
|
|
||||||
IF TABisSPACES
|
|
||||||
LD B,E
|
|
||||||
LD A,E
|
|
||||||
AND #F8
|
|
||||||
ADD A,8
|
|
||||||
SUB B
|
|
||||||
LD B,A
|
|
||||||
LD C,BIOS.LP_PRINT_SYM
|
|
||||||
LD A,#20
|
|
||||||
RST ToBIOS
|
|
||||||
RET
|
|
||||||
ELSE
|
|
||||||
LD A,E
|
|
||||||
ADD A,8
|
|
||||||
AND #78
|
|
||||||
LD E,A
|
|
||||||
JP LOCATE
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
LF_: LD C,BIOS.LP_GET_PLACE ;GET CURSOR
|
LF_: LD C,BIOS.LP_GET_PLACE ;GET CURSOR
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
LD A,D
|
LD A,D
|
||||||
CP #1F
|
CP #1F
|
||||||
JP NC,LFF
|
JR NC,LFF
|
||||||
INC D
|
INC D
|
||||||
//JP LOCATE
|
IFN EnoughtOnly_LF
|
||||||
CALL LOCATE ; !!!!! ‘ ©¬
|
JP LOCATE
|
||||||
|
ELSE
|
||||||
|
CALL LOCATE
|
||||||
|
; !!!! <20>… à §àë¢ âì LF_ ¨ CR_ !!!!
|
||||||
|
ENDIF
|
||||||
CR_: LD C,BIOS.LP_GET_PLACE ;GET CURSOR
|
CR_: LD C,BIOS.LP_GET_PLACE ;GET CURSOR
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
LD E,0
|
LD E,0
|
||||||
JP LOCATE
|
JP LOCATE
|
||||||
|
;-----[]
|
||||||
|
|
||||||
|
; PRINT CHAR
|
||||||
LFF: PUSH HL
|
; A - CHAR
|
||||||
|
PUTCHAR:
|
||||||
|
;CP ' '
|
||||||
|
;JR NC,CHAR
|
||||||
|
CP #0D
|
||||||
|
JR Z,CR_
|
||||||
|
CP #0A
|
||||||
|
JR Z,LF_
|
||||||
|
CP #09
|
||||||
|
JR Z,TB_
|
||||||
|
CP #08
|
||||||
|
JR Z,BK_
|
||||||
|
;SCF
|
||||||
|
;RET
|
||||||
|
CHAR:
|
||||||
|
LD BC,1*256 + BIOS.LP_PRINT_SYM
|
||||||
|
;!TEST CR+LF+SCROLL
|
||||||
|
;JP ToBIOS
|
||||||
|
RST ToBIOS
|
||||||
|
; ¯à®¢¥àª ¯¥à¥å®¤ ªãàá®à ¢ á ¬®¥ ç «® (X:Y == 0:0)
|
||||||
|
CALL CURSOR
|
||||||
|
LD A,D
|
||||||
|
OR E
|
||||||
|
RET NZ
|
||||||
|
;
|
||||||
|
LFF: PUSH HL ;!FIXIT á®åà ïâì ⥪ã騥 ¯à¥àë¢ ¨ï
|
||||||
;PUSH DE
|
;PUSH DE
|
||||||
LD BC,1*256 + BIOS.LP_SCROLL_UD
|
LD BC,1*256 + BIOS.LP_SCROLL_UD
|
||||||
LD DE,#0020
|
LD DE,#0020
|
||||||
@ -118,7 +104,7 @@ LFF: PUSH HL
|
|||||||
LD DE,#1F00
|
LD DE,#1F00
|
||||||
;PUSH DE
|
;PUSH DE
|
||||||
CALL LOCATE
|
CALL LOCATE
|
||||||
LD A,#20
|
LD A,' '
|
||||||
LD BC,#50*256 + BIOS.LP_PRINT_SYM
|
LD BC,#50*256 + BIOS.LP_PRINT_SYM
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
EI
|
EI
|
||||||
@ -126,7 +112,30 @@ LFF: PUSH HL
|
|||||||
LD DE,#1F00
|
LD DE,#1F00
|
||||||
CALL LOCATE
|
CALL LOCATE
|
||||||
POP HL
|
POP HL
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
|
||||||
|
TB_: LD C,BIOS.LP_GET_PLACE ;GET CURSOR
|
||||||
|
RST ToBIOS
|
||||||
|
|
||||||
|
IF TABisSPACES
|
||||||
|
LD B,E
|
||||||
|
LD A,E
|
||||||
|
AND #F8
|
||||||
|
ADD A,8
|
||||||
|
SUB B
|
||||||
|
LD B,A
|
||||||
|
LD C,BIOS.LP_PRINT_SYM
|
||||||
|
LD A,' '
|
||||||
|
JP ToBIOS
|
||||||
|
ELSE
|
||||||
|
LD A,E
|
||||||
|
ADD A,8
|
||||||
|
AND #78 ;????? £«ïãâì, çâ® ¡ã¤¥â ¥á«¨ ª®®à¤¨ âë ªãàá®à ¢ ª®æ¥ áâப¨ ¯®çâ¨
|
||||||
|
LD E,A
|
||||||
|
JP LOCATE
|
||||||
|
ENDIF
|
||||||
|
;
|
||||||
;
|
;
|
||||||
|
|
||||||
; SET CURRENT CURSOR POSITION
|
; SET CURRENT CURSOR POSITION
|
||||||
@ -134,16 +143,18 @@ LFF: PUSH HL
|
|||||||
; D = Y
|
; D = Y
|
||||||
; E = X
|
; E = X
|
||||||
LOCATE: LD C,BIOS.LP_SET_PLACE
|
LOCATE: LD C,BIOS.LP_SET_PLACE
|
||||||
RST ToBIOS
|
; LD A,C
|
||||||
RET
|
; LD (NO_NEED_SCROLL),A
|
||||||
|
JP ToBIOS
|
||||||
|
;RET
|
||||||
|
|
||||||
; GET CURRENT CURSOR POSITION
|
; GET CURRENT CURSOR POSITION
|
||||||
; out:
|
; out:
|
||||||
; D - Y
|
; D - Y
|
||||||
; E - X
|
; E - X
|
||||||
CURSOR: LD C,BIOS.LP_GET_PLACE
|
CURSOR: LD C,BIOS.LP_GET_PLACE
|
||||||
RST ToBIOS
|
JP ToBIOS
|
||||||
RET
|
;RET
|
||||||
|
|
||||||
; READ CHAR & ATTR FROM THE SCREEN
|
; READ CHAR & ATTR FROM THE SCREEN
|
||||||
; in:
|
; in:
|
||||||
@ -186,14 +197,14 @@ WRCHAR: LD C,A
|
|||||||
; H - HEIGHT
|
; H - HEIGHT
|
||||||
; L - WIDTH
|
; L - WIDTH
|
||||||
; IX - ADDRESS
|
; IX - ADDRESS
|
||||||
; B - PAGE, IF IX > 0C000H ; FIXIT ¥ ª®áïª «¨ âãâ? ¡ ª ¤®«¦ ¢ A' ¯¥à¥¤ ¢ âìáï, ¥ B
|
; B - PAGE, IF IX > #C000
|
||||||
WINCOPY: AND A
|
WINCOPY: AND A
|
||||||
LD A,R ;R02
|
LD A,R ;R02
|
||||||
PUSH AF ;R02
|
PUSH AF ;R02
|
||||||
XOR A
|
XOR A
|
||||||
EX AF,AF' ;R03
|
;EX AF,AF' ;R03
|
||||||
LD A,B ;R03
|
;LD A,B ;R03
|
||||||
EX AF,AF' ;R03
|
;EX AF,AF' ;R03
|
||||||
LD C,BIOS.WIN_COPY
|
LD C,BIOS.WIN_COPY
|
||||||
DI ;R02
|
DI ;R02
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
@ -208,14 +219,14 @@ WINCOPY: AND A
|
|||||||
; H - HEIGHT
|
; H - HEIGHT
|
||||||
; L - WIDTH
|
; L - WIDTH
|
||||||
; IX - ADDRESS
|
; IX - ADDRESS
|
||||||
; B - PAGE, IF IX > 0C000H ; FIXIT ¥ ª®áïª «¨ âãâ? ¡ ª ¤®«¦ ¢ A' ¯¥à¥¤ ¢ âìáï, ¥ B
|
; B - PAGE, IF IX > #C000
|
||||||
WINREST: AND A
|
WINREST: AND A
|
||||||
LD A,R ;R02
|
LD A,R ;R02
|
||||||
PUSH AF ;R02
|
PUSH AF ;R02
|
||||||
XOR A
|
XOR A
|
||||||
EX AF,AF' ;R03
|
;EX AF,AF' ;R03
|
||||||
LD A,B ;R03
|
;LD A,B ;R03
|
||||||
EX AF,AF' ;R03
|
;EX AF,AF' ;R03
|
||||||
DI ;R02
|
DI ;R02
|
||||||
LD C,BIOS.WIN_RESTORE
|
LD C,BIOS.WIN_RESTORE
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
@ -233,10 +244,13 @@ WINREST: AND A
|
|||||||
; B = 1 - SCROLL UP
|
; B = 1 - SCROLL UP
|
||||||
; B = 2 - SCROLL DOWN
|
; B = 2 - SCROLL DOWN
|
||||||
; A = 0 - CLEAR LINE
|
; A = 0 - CLEAR LINE
|
||||||
SCROLL: DJNZ SCR_DW
|
SCROLL: DJNZ SCR_DW ;!TODO § ¬¥¨âì BIOS.LP_SCROLL_UD ¨ ¯®á¬®âà¥âì, çâ® èãáâ॥
|
||||||
LD B,A
|
;!TEST
|
||||||
LD C,H
|
;LD B,A
|
||||||
PUSH BC
|
;LD C,H
|
||||||
|
;PUSH BC
|
||||||
|
PUSH AF
|
||||||
|
;
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD XH,D
|
LD XH,D
|
||||||
@ -248,9 +262,13 @@ SCROLL: DJNZ SCR_DW
|
|||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
POP HL
|
POP HL
|
||||||
POP DE
|
POP DE
|
||||||
POP BC
|
;!TEST
|
||||||
XOR A
|
;POP BC
|
||||||
CP B
|
POP AF
|
||||||
|
;XOR A
|
||||||
|
;CP B
|
||||||
|
AND A
|
||||||
|
;
|
||||||
RET NZ
|
RET NZ
|
||||||
LD A,D
|
LD A,D
|
||||||
ADD A,H
|
ADD A,H
|
||||||
@ -258,7 +276,7 @@ SCROLL: DJNZ SCR_DW
|
|||||||
LD D,A
|
LD D,A
|
||||||
.print: PUSH DE ;R01
|
.print: PUSH DE ;R01
|
||||||
CALL LOCATE
|
CALL LOCATE
|
||||||
LD A,#20
|
LD A,' '
|
||||||
LD B,L
|
LD B,L
|
||||||
LD C,BIOS.LP_PRINT_SYM
|
LD C,BIOS.LP_PRINT_SYM
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
@ -268,24 +286,32 @@ SCROLL: DJNZ SCR_DW
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
SCR_DW: DJNZ SCR_ERR
|
SCR_DW: DJNZ SCR_ERR
|
||||||
LD B,A
|
;!TEST
|
||||||
LD C,L
|
;LD B,A
|
||||||
PUSH BC ;R03
|
;LD C,H
|
||||||
|
;PUSH BC
|
||||||
|
PUSH AF ;R03
|
||||||
|
;
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD XH,D
|
LD XH,D
|
||||||
LD XL,E
|
LD XL,E
|
||||||
INC XH
|
INC XH
|
||||||
DEC H
|
DEC H
|
||||||
LD C,BIOS.WIN_MOVE
|
LD C,BIOS.WIN_MOVE
|
||||||
XOR A
|
XOR A
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
POP HL
|
POP HL
|
||||||
POP DE
|
POP DE
|
||||||
POP BC ;R03
|
;!TEST
|
||||||
XOR A
|
;POP BC
|
||||||
CP B
|
POP AF ;R03
|
||||||
JR Z,SCROLL.print
|
;XOR A
|
||||||
|
;CP B
|
||||||
|
AND A
|
||||||
|
;
|
||||||
|
RET NZ
|
||||||
|
JP SCROLL.print
|
||||||
; PUSH DE ;R01
|
; PUSH DE ;R01
|
||||||
; CALL LOCATE
|
; CALL LOCATE
|
||||||
; LD A,#20
|
; LD A,#20
|
||||||
@ -303,15 +329,15 @@ SCR_ERR:
|
|||||||
|
|
||||||
; SELECT SCREEN PAGE
|
; SELECT SCREEN PAGE
|
||||||
; B - SCREEN PAGE
|
; B - SCREEN PAGE
|
||||||
SELPAGE ;PUSH BC
|
SELPAGE:;PUSH BC
|
||||||
LD A,(VMODE)
|
LD A,(VMODE)
|
||||||
BIT 7,A
|
BIT 7,A
|
||||||
JR NZ,SEL2
|
JR NZ,.SEL2
|
||||||
PUSH BC
|
PUSH BC
|
||||||
LD C,A
|
LD C,A
|
||||||
CALL SETVMOD.TEXT_M
|
CALL SETVMOD.TEXT_M
|
||||||
POP BC
|
POP BC
|
||||||
SEL2 ;POP BC
|
.SEL2: ;POP BC
|
||||||
LD A,B
|
LD A,B
|
||||||
AND #01
|
AND #01
|
||||||
OUT (SCREEN_SWITCH),A
|
OUT (SCREEN_SWITCH),A
|
||||||
@ -426,7 +452,7 @@ G320_56 PUSH BC
|
|||||||
CALL SETMODE
|
CALL SETMODE
|
||||||
LD HL,TAB_320x256_1
|
LD HL,TAB_320x256_1
|
||||||
LD E,#00
|
LD E,#00
|
||||||
JR GRAPH_NEXT
|
JP GRAPH_NEXT
|
||||||
; CALL SETMODE
|
; CALL SETMODE
|
||||||
; POP BC
|
; POP BC
|
||||||
; LD A,C
|
; LD A,C
|
||||||
@ -447,7 +473,7 @@ G640_16 PUSH BC
|
|||||||
CALL SETMODE
|
CALL SETMODE
|
||||||
LD HL,TAB_640x256_1
|
LD HL,TAB_640x256_1
|
||||||
LD E,#00
|
LD E,#00
|
||||||
JR GRAPH_NEXT
|
JP GRAPH_NEXT
|
||||||
|
|
||||||
; CALL SETMODE
|
; CALL SETMODE
|
||||||
; POP BC
|
; POP BC
|
||||||
@ -471,42 +497,24 @@ VMODE: DB #03
|
|||||||
;81h - GRAF 320 x 256 (256 colors)
|
;81h - GRAF 320 x 256 (256 colors)
|
||||||
;82h - GRAF 640 x 256 (16 colors)
|
;82h - GRAF 640 x 256 (16 colors)
|
||||||
;83h - GRAF 640 x 256 (256 colors) UNUSED
|
;83h - GRAF 640 x 256 (256 colors) UNUSED
|
||||||
|
|
||||||
SETMODE: PUSH DE
|
SETMODE: PUSH DE
|
||||||
LD DE,#FEE0 ;!HARDCODE £àï§ë© å ª. ª¨¤ ¥â ¤ ë¥ ¢ ¡ãä¥à á«ã¦¥¡®© áâà ¨æë ¡¨®á .
|
LD DE,SYS_PAGE.SHARED_BUFFER_32b ; £àï§ë© å ª. ª¨¤ ¥â ¤ ë¥ ¢ ¡ãä¥à á«ã¦¥¡®© áâà ¨æë ¡¨®á .
|
||||||
LD BC,ScreenDescriptorTable.Size ; <20>ˆŽ‘ ¯à¨ ¨á¯®«ì§®¢ ¨¨ IX ¯à¥¤¯®« £ ¥â, çâ® ® 㪠§ë¢ ¥â
|
LD BC,ScreenDescriptorTable.Size ; <20>ˆŽ‘ ¯à¨ ¨á¯®«ì§®¢ ¨¨ IX ¯à¥¤¯®« £ ¥â, çâ® ® 㪠§ë¢ ¥â
|
||||||
;CALL MOVBIOS ; ¤à¥á ¨¦¥ #C000 ¨ ¢áâ ¢«ï¥â ¢ âà¥âìî ¡ ªã áâà ¨æã #FE
|
IN A,(SLOT3) ; ¤à¥á ¨¦¥ #C000 ¨ ¢áâ ¢«ï¥â ¢ âà¥âìî ¡ ªã áâà ¨æã #FE
|
||||||
;LD A,R
|
|
||||||
IN A,(SLOT3)
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LDIR
|
LDIR
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
;JP PO,.skip_EI
|
|
||||||
;EI
|
|
||||||
.skip_EI: POP DE
|
.skip_EI: POP DE
|
||||||
LD IX,#FEE0 ;!HARDCODE £àï§ë© å ª.
|
LD IX,SYS_PAGE.SHARED_BUFFER_32b ; £àï§ë© å ª.
|
||||||
;LD HL,#0000
|
|
||||||
LD C,BIOS.WIN_OPEN
|
LD C,BIOS.WIN_OPEN
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
SAFE_PORTY ;????? - ¢®§¬®¦®, ç⮠⥯¥àì ¥ 㦮, ¢¥§¤¥ á ¡ ª®© 3 à ¡®â îâ, ¯à®¢¥à¨âì
|
SAFE_PORTY ;????? - ¢®§¬®¦®, ç⮠⥯¥àì ¥ 㦮, ¢¥§¤¥ á ¡ ª®© 3 à ¡®â îâ, ¯à®¢¥à¨âì
|
||||||
XOR A
|
XOR A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; MOVBIOS: LD A,R
|
|
||||||
; IN A,(SLOT3)
|
|
||||||
; EX AF,AF'
|
|
||||||
; LD A,SYS_PAGE
|
|
||||||
; OUT (SLOT3),A
|
|
||||||
; LDIR
|
|
||||||
; EX AF,AF'
|
|
||||||
; OUT (SLOT3),A
|
|
||||||
; RET PO
|
|
||||||
; EI
|
|
||||||
; RET
|
|
||||||
|
|
||||||
;IX+0 ;HORIZONTAL
|
;IX+0 ;HORIZONTAL
|
||||||
;IX+1 ;VERTICAL
|
;IX+1 ;VERTICAL
|
||||||
;IX+2 ;X - COORD
|
;IX+2 ;X - COORD
|
||||||
@ -536,7 +544,7 @@ ScreenDescriptorTable.Size EQU ($ - ScreenDescriptorTable)/6
|
|||||||
;
|
;
|
||||||
|
|
||||||
SAVETXT PUSH AF
|
SAVETXT PUSH AF
|
||||||
;;!!!!! ¯¥à¥¥á¥ «®£¨ª áã¯¥à ¤¨ç ©è¥£® ã᪮२ï
|
;!!!!! ¯¥à¥¥á¥ «®£¨ª áã¯¥à ¤¨ç ©è¥£® ã᪮२ï
|
||||||
LD A,(VMODE)
|
LD A,(VMODE)
|
||||||
BIT 7,A
|
BIT 7,A
|
||||||
JR NZ,NOSAVET
|
JR NZ,NOSAVET
|
||||||
@ -560,10 +568,10 @@ SAVETXT PUSH AF
|
|||||||
LD L,#28
|
LD L,#28
|
||||||
SVTEXT1 LD (SVHL1),HL
|
SVTEXT1 LD (SVHL1),HL
|
||||||
LD DE,#0000
|
LD DE,#0000
|
||||||
EX AF,AF' ;R03
|
;EX AF,AF' ;R03
|
||||||
LD A,(BANKTBL+TXTPAGE)
|
LD A,(BANKTBL+TXTPAGE)
|
||||||
LD B,A
|
LD B,A
|
||||||
EX AF,AF' ;R03
|
;EX AF,AF' ;R03
|
||||||
LD C,BIOS.WIN_COPY
|
LD C,BIOS.WIN_COPY
|
||||||
XOR A
|
XOR A
|
||||||
DI
|
DI
|
||||||
@ -590,10 +598,10 @@ VVMODE+1:
|
|||||||
SVHL1+1:
|
SVHL1+1:
|
||||||
LD HL,#2050
|
LD HL,#2050
|
||||||
LD DE,#0000
|
LD DE,#0000
|
||||||
EX AF,AF' ;R03
|
;EX AF,AF' ;R03
|
||||||
LD A,(BANKTBL+TXTPAGE)
|
LD A,(BANKTBL+TXTPAGE)
|
||||||
LD B,A
|
LD B,A
|
||||||
EX AF,AF' ;R03
|
;EX AF,AF' ;R03
|
||||||
LD C,BIOS.WIN_RESTORE
|
LD C,BIOS.WIN_RESTORE
|
||||||
XOR A
|
XOR A
|
||||||
DI
|
DI
|
||||||
@ -601,8 +609,9 @@ SVHL1+1:
|
|||||||
EI
|
EI
|
||||||
TCURS+1:
|
TCURS+1:
|
||||||
LD DE,#0000
|
LD DE,#0000
|
||||||
LD C,BIOS.LP_SET_PLACE
|
;LD C,BIOS.LP_SET_PLACE
|
||||||
RST ToBIOS
|
;RST ToBIOS
|
||||||
|
CALL LOCATE
|
||||||
POP IX
|
POP IX
|
||||||
POP HL
|
POP HL
|
||||||
POP DE
|
POP DE
|
||||||
@ -681,3 +690,39 @@ PRINT_INIT:
|
|||||||
|
|
||||||
;//MODULE: VIDEO
|
;//MODULE: VIDEO
|
||||||
;[END]
|
;[END]
|
||||||
|
|
||||||
|
|
||||||
|
; ; ‘€‰Œ€<C592>
|
||||||
|
; PUSH AF
|
||||||
|
; LD A,E
|
||||||
|
; CP #4F
|
||||||
|
; JP NZ,.exit
|
||||||
|
; LD A,D
|
||||||
|
; CP #1F
|
||||||
|
; JP NZ,.exit
|
||||||
|
; LD E,0
|
||||||
|
; LD C,BIOS.LP_SET_PLACE
|
||||||
|
; RST ToBIOS
|
||||||
|
; CALL LFF
|
||||||
|
; .exit:
|
||||||
|
; pop af
|
||||||
|
; RET
|
||||||
|
; ; ‘€‰Œ€<C592>
|
||||||
|
|
||||||
|
|
||||||
|
; LD A,D ; ¢ DE ª®®à¤¨ âë ⥪ã饣® § ª®¬¥áâ
|
||||||
|
; XOR E ; <20>஢¥à塞 ª®®à¤¨ âë #1F:#4F
|
||||||
|
; XOR #50
|
||||||
|
; RET NZ ; ¥á«¨ ¤à㣨¥ - â® ¢ë室
|
||||||
|
; LD E,A
|
||||||
|
; LD C,BIOS.LP_SET_PLACE
|
||||||
|
; RST ToBIOS
|
||||||
|
;LFF:
|
||||||
|
; ...
|
||||||
|
|
||||||
|
;;;;;;;;
|
||||||
|
; LD A,D ; ¢ DE ª®®à¤¨ âë ⥪ã饣® § ª®¬¥áâ
|
||||||
|
; XOR E ; <20>஢¥à塞 ª®®à¤¨ âë #1F:#4F
|
||||||
|
; XOR #50
|
||||||
|
; RET NZ ; ¥á«¨ ¤à㣨¥ - â® ¢ë室
|
||||||
|
;;;;;;;;
|
||||||
@ -1 +1 @@
|
|||||||
114
|
147
|
||||||
@ -9,7 +9,8 @@
|
|||||||
;
|
;
|
||||||
DEFINE MAX_RAMDRIVES 16
|
DEFINE MAX_RAMDRIVES 16
|
||||||
DEFINE NeedSafePort_Y 1
|
DEFINE NeedSafePort_Y 1
|
||||||
DEFINE TABisSPACES 1
|
DEFINE TABisSPACES 0
|
||||||
|
DEFINE EnoughtOnly_LF 0
|
||||||
DEFINE CLASSIC_CURSOR 0
|
DEFINE CLASSIC_CURSOR 0
|
||||||
DEFINE SAVE_PATH_MACRO 0
|
DEFINE SAVE_PATH_MACRO 0
|
||||||
DEFINE MINIMUM_BIOS_VERSION 2*256 + 55 ; version 2.55
|
DEFINE MINIMUM_BIOS_VERSION 2*256 + 55 ; version 2.55
|
||||||
@ -18,7 +19,7 @@
|
|||||||
DEFINE USING_MEMPAGES 4
|
DEFINE USING_MEMPAGES 4
|
||||||
DEFINE OLD_SET_BANK 0
|
DEFINE OLD_SET_BANK 0
|
||||||
|
|
||||||
PORTAL.RSTx18_SWITCH_ADDRESS #82
|
DEFINE PORTAL.RSTx18_SWITCH_ADDRESS #82
|
||||||
; ªíè ᯨ᪠ª â «®£
|
; ªíè ᯨ᪠ª â «®£
|
||||||
DIRPAGE EQU 0
|
DIRPAGE EQU 0
|
||||||
FATPAGE EQU 1
|
FATPAGE EQU 1
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit b25c3779d6af8abc2970d3a9a55006f43292c86e
|
Subproject commit 0277d424098318dc45617d6fb2c1cdf405c6d345
|
||||||
Loading…
Reference in New Issue
Block a user