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