mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 01:11:48 +03:00
параметр компиляции для сочетания клавиш на переключение языка раскладки ctrl+space или shift+ctrl
This commit is contained in:
parent
32a1547722
commit
ff2f2b9941
@ -148,7 +148,7 @@ confirm_flag+*: ld a,0
|
||||
; § ¯à®á¨âì æ¥«¥¢®© ¤¨áª
|
||||
ld a,(disk) ; § ¤ ë© ®¬¥à ¤¨áª
|
||||
add a,'A'
|
||||
ld (lett2),a
|
||||
ld (messages.lett2),a
|
||||
ld a,5 ; ¨¤¥ªá áâப¨ "Insert destination disk..."
|
||||
call print_string
|
||||
ld bc,3035h ; ¦¤¥¬ ¦ â¨ï ª« ¢¨è¨
|
||||
@ -198,7 +198,7 @@ ok_write1: ;
|
||||
;
|
||||
ld a,(disk) ; § ¤ ë© ®¬¥à ¤¨áª
|
||||
add a,'A'
|
||||
ld (lett1),a
|
||||
ld (messages.lett1),a
|
||||
ld a,1 ; ¨¤¥ªá áâப¨ "System installed on disk "
|
||||
call print_string
|
||||
ld a,(confirm_flag)
|
||||
@ -209,7 +209,7 @@ ok_write1: ;
|
||||
cp 2
|
||||
jr nc,exit-1 ; ¥ ¤¨áª®¢®¤ë
|
||||
add a,'A'
|
||||
ld (lett3),a
|
||||
ld (messages.lett3),a
|
||||
ld a,6 ; ¨¤¥ªá áâப¨ "Insert system disk..."
|
||||
call print_string
|
||||
ld bc,3035h ; ¦¤¥¬ ¦ â¨ï ª« ¢¨è¨
|
||||
@ -518,41 +518,39 @@ id_mem: db -1 ;
|
||||
;
|
||||
; á®®¡é¥¨ï
|
||||
messages: db 0
|
||||
db 0Dh,0Ah,"Boot and System files Installer v" ;0
|
||||
db "\r\nBoot and System files Installer v" ;0
|
||||
db major_version + '0','.'
|
||||
db (minor_version / 10) + '0',(minor_version % 10) + '0','.'
|
||||
db 0Dh,0Ah,0Ah
|
||||
db "Copyright (c) 2006-2022 Vasil Ivanov."
|
||||
db 0Dh,0Ah,0Ah
|
||||
db "Copyright (c) 2023 Sprinter Team."
|
||||
db 0Dh,0Ah,0Ah,0
|
||||
db (minor_version / 10) + '0',(minor_version % 10) + '0','.'
|
||||
db "\r\n\nCopyright (c) 2006-2022 Vasil Ivanov."
|
||||
db "\r\n\nCopyright (c) 2023 Sprinter Team."
|
||||
db "\r\n\n",0
|
||||
;
|
||||
db "System successfully installed on disk " ;1
|
||||
lett1: db "X:",0Dh,0Ah,0Ah,0
|
||||
.lett1: db "X:\r\n\n",0
|
||||
;
|
||||
db "Installing boot loader...",0Dh,0Ah,0Ah,0 ;2
|
||||
db "Writing system files...",0Dh,0Ah,0Ah,0 ;3
|
||||
db "Installing boot loader...\r\n\n",0 ;2
|
||||
db "Writing system files...\r\n\n",0 ;3
|
||||
;
|
||||
db "Syntax: SYS X:",0Dh,0Ah ;4
|
||||
db " where X: - drive letter (A..Z)",0Dh,0Ah,0Ah,0
|
||||
db "Syntax: SYS X:\r\n" ;4
|
||||
db " where X: - drive letter (A..Z)\r\n\n",0
|
||||
;
|
||||
db "Insert destination disk in drive " ;5
|
||||
lett2: db "X:",0Dh,0Ah
|
||||
db "and strike any key when ready ...",0Dh,0Ah,0Ah,0
|
||||
.lett2: db "X:\r\n"
|
||||
db "and strike any key when ready ...\r\n\n",0
|
||||
;
|
||||
db "Insert system disk in drive " ;6
|
||||
lett3: db "X:",0Dh,0Ah
|
||||
db "and strike any key when ready ...",0Dh,0Ah,0Ah,0
|
||||
.lett3: db "X:\r\n"
|
||||
db "and strike any key when ready ...\r\n\n",0
|
||||
;
|
||||
db "Can't install boot on this disk",0Dh,0Ah,0Ah,0 ;7
|
||||
db "Invalid drive specification",0Dh,0Ah,0Ah,0 ;8
|
||||
db " Error: Can't open file",0Dh,0Ah,0Ah,0 ;9
|
||||
db " Error: Can't allocate memory",0Dh,0Ah,0Ah,0 ;10
|
||||
db " Error: Need DOS version 1.70.811 or higher",0Dh,0Ah,0Ah,0 ;11
|
||||
db " Error: Reading error",0Dh,0Ah,0Ah,0 ;12
|
||||
db " Error: Can't create file",0Dh,0Ah,0Ah,0 ;13
|
||||
db " Error: Writing error",0Dh,0Ah,0Ah,0 ;14
|
||||
endmess: db 0
|
||||
db "Can't install boot on this disk\r\n\n",0 ;7
|
||||
db "Invalid drive specification\r\n\n",0 ;8
|
||||
db " Error: Can't open file\r\n\n",0 ;9
|
||||
db " Error: Can't allocate memory\r\n\n",0 ;10
|
||||
db " Error: Need DOS version 1.70.811 or higher\r\n\n",0 ;11
|
||||
db " Error: Reading error\r\n\n",0 ;12
|
||||
db " Error: Can't create file\r\n\n",0 ;13
|
||||
db " Error: Writing error\r\n\n",0 ;14
|
||||
.endmess: db 0
|
||||
|
||||
|
||||
|
||||
@ -565,8 +563,8 @@ print_string: call get_string ;
|
||||
|
||||
|
||||
; ¯®¨áª áâப¨ ¯® ¥¥ ¨¤¥ªáã ¢ 'a'
|
||||
get_string: ld hl,messages ; ᯨ᮪ ¬¥áá £ ¤«ï ¨¤¥ªá. ¤®áâã¯
|
||||
ld bc,endmess-messages ; à §¬¥à ᯨáª
|
||||
get_string: ld hl,messages ; ᯨ᮪ ¬¥áá £ ¤«ï ¨¤¥ªá. ¤®áâã¯
|
||||
ld bc,messages.endmess - messages ; à §¬¥à ᯨáª
|
||||
inc a
|
||||
ex af,af'
|
||||
xor a
|
||||
|
||||
@ -67,6 +67,7 @@
|
||||
include 'API/GSwitch.asm'
|
||||
include 'API/Environ.ASM'
|
||||
include 'API/Lib_Sub.asm'
|
||||
include "API/EXECUTE.ASM"
|
||||
|
||||
|
||||
|
||||
|
||||
@ -607,26 +607,30 @@ FREE_PROCESS_MEMORY:
|
||||
|
||||
;-----------------------------------------------------------------------
|
||||
FREE_PROCESS_FMs:
|
||||
LD IY,CORE_BUFFERS.FM_BUF - CORE_BUFFERS.FM_BUF.Size
|
||||
LD DE,CORE_BUFFERS.FM_BUF.Size
|
||||
LD B,FMCOUNT+1
|
||||
LD A,(TASK)
|
||||
.loop: ADD IY,DE
|
||||
CP (IY+_sFM.TASK_NUM)
|
||||
CALL Z,.CLOSE
|
||||
DJNZ .loop
|
||||
RET
|
||||
;
|
||||
.CLOSE: PUSH IY
|
||||
PUSH DE
|
||||
PUSH AF
|
||||
LD A,FMCOUNT+1
|
||||
SUB B
|
||||
CALL CLOSE_FN
|
||||
POP AF
|
||||
POP DE
|
||||
POP IY
|
||||
RET
|
||||
LD IY,CORE_BUFFERS.FM_BUF - CORE_BUFFERS.FM_BUF.Size
|
||||
LD DE,CORE_BUFFERS.FM_BUF.Size
|
||||
LD B,FMCOUNT+1
|
||||
LD A,(TASK)
|
||||
.loop: ADD IY,DE
|
||||
CP (IY+_sFM.TASK_NUM)
|
||||
JR NZ,.next
|
||||
; close fm
|
||||
PUSH AF
|
||||
XOR A
|
||||
OR (IY+_sFM.TASK_NUM)
|
||||
JR Z,.skip
|
||||
PUSH IY
|
||||
PUSH DE
|
||||
LD A,FMCOUNT+1
|
||||
SUB B
|
||||
CALL CLOSE_FN
|
||||
POP DE
|
||||
POP IY
|
||||
.skip: POP AF
|
||||
;
|
||||
.next: DJNZ .loop
|
||||
RET
|
||||
;
|
||||
;-----------------------------------------------------------------------
|
||||
|
||||
|
||||
116
DSS/DOS_FM.ASM
116
DSS/DOS_FM.ASM
@ -42,57 +42,85 @@ FM_BUF: _sFM
|
||||
*/
|
||||
|
||||
; ¢ë室¥ ¡¥§ ®è¨¡®ª IY 㪠§ë¢ ¥â ä ©«®¢ë© ¬ ¨¯ã«ïâ®à
|
||||
MACRO _mFM_FIND
|
||||
CP FMCOUNT+1
|
||||
JR NC,ABS_FM
|
||||
PUSH DE
|
||||
; MACRO _mFM_FIND
|
||||
; CP FMCOUNT+1
|
||||
; CCF
|
||||
; RET C
|
||||
; PUSH DE
|
||||
|
||||
LD IY,CORE_BUFFERS.FM_BUF
|
||||
LD DE,CORE_BUFFERS.FM_BUF.Size
|
||||
AND A
|
||||
JR Z,.endLoop
|
||||
.loop: ADD IY,DE
|
||||
DEC A
|
||||
JR NZ,.loop
|
||||
.endLoop:
|
||||
POP DE
|
||||
; A=0
|
||||
OR (IY) ;+00 NAME
|
||||
ENDM
|
||||
; LD IY,CORE_BUFFERS.FM_BUF
|
||||
; LD DE,CORE_BUFFERS.FM_BUF.Size
|
||||
; AND A
|
||||
; JR Z,.endLoop
|
||||
; .loop: ADD IY,DE
|
||||
; DEC A
|
||||
; JR NZ,.loop
|
||||
; .endLoop:
|
||||
; POP DE
|
||||
; ; A=0
|
||||
; OR (IY) ;+00 NAME
|
||||
; RET
|
||||
; ENDM
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
SET_FM: _mFM_FIND
|
||||
LD A,DSS_Error.sys.NO_ERROR
|
||||
RET NZ
|
||||
ABS_FM LD A,DSS_Error.sys.INVALID_HANDLE
|
||||
SCF
|
||||
RET
|
||||
; ¢ë室¥ ¡¥§ ®è¨¡®ª IY 㪠§ë¢ ¥â ä ©«®¢ë© ¬ ¨¯ã«ïâ®à
|
||||
FM_FIND: CP FMCOUNT+1
|
||||
JR NC,.error
|
||||
;
|
||||
PUSH DE
|
||||
LD IY,CORE_BUFFERS.FM_BUF
|
||||
LD DE,CORE_BUFFERS.FM_BUF.Size
|
||||
AND A
|
||||
JR Z,.endLoop
|
||||
.loop: ADD IY,DE
|
||||
DEC A
|
||||
JR NZ,.loop
|
||||
.endLoop: POP DE
|
||||
; A=0
|
||||
OR (IY) ;+00 NAME
|
||||
RET
|
||||
.error: XOR A
|
||||
LD A,DSS_Error.sys.INVALID_HANDLE
|
||||
RET
|
||||
|
||||
SET_FM: CALL FM_FIND
|
||||
; error
|
||||
;LD A,DSS_Error.sys.INVALID_HANDLE
|
||||
; CF = 1
|
||||
SCF
|
||||
RET Z
|
||||
; no error
|
||||
XOR A ;LD A,DSS_Error.sys.NO_ERROR
|
||||
; CF = 0
|
||||
RET
|
||||
|
||||
|
||||
|
||||
RES_FM: _mFM_FIND
|
||||
LD A,DSS_Error.sys.INVALID_HANDLE
|
||||
;EXX
|
||||
SCF
|
||||
RET Z
|
||||
XOR A
|
||||
LD (IY + _sFM.FS_REC.NAME),A
|
||||
RET
|
||||
RES_FM: CALL FM_FIND
|
||||
; error
|
||||
; LD A,DSS_Error.sys.INVALID_HANDLE
|
||||
SCF
|
||||
RET Z
|
||||
; no error
|
||||
XOR A
|
||||
LD (IY + _sFM.FS_REC.NAME),A
|
||||
RET
|
||||
;
|
||||
GET_FM: LD B,FMCOUNT
|
||||
LD C,#FF
|
||||
LD IY,CORE_BUFFERS.FM_BUF - CORE_BUFFERS.FM_BUF.Size
|
||||
LD DE,CORE_BUFFERS.FM_BUF.Size
|
||||
.loop: ADD IY,DE
|
||||
INC C
|
||||
LD A,(IY + _sFM.FS_REC.NAME)
|
||||
OR A
|
||||
RET Z
|
||||
DJNZ .loop
|
||||
LD A,DSS_Error.sys.NO_HANDLES
|
||||
SCF
|
||||
RET
|
||||
GET_FM: LD B,FMCOUNT
|
||||
LD C,#FF
|
||||
LD IY,CORE_BUFFERS.FM_BUF - CORE_BUFFERS.FM_BUF.Size
|
||||
LD DE,CORE_BUFFERS.FM_BUF.Size
|
||||
.loop: ADD IY,DE
|
||||
INC C
|
||||
LD A,(IY + _sFM.FS_REC.NAME)
|
||||
OR A
|
||||
RET Z
|
||||
DJNZ .loop
|
||||
LD A,DSS_Error.sys.NO_HANDLES
|
||||
SCF
|
||||
RET
|
||||
/*
|
||||
;!TEST CHECK LOCKING 10/11/2023
|
||||
;!TODO CHECK LOCKING 10/11/2023
|
||||
GET_FM: LD IY,0
|
||||
LD (.freeHandle),IY
|
||||
;
|
||||
|
||||
@ -237,7 +237,6 @@ PORTAL.out_MAIN: ;
|
||||
; = -- = -- = -- = -- = = -- = -- = = -- = -- = = -- = -- = -- = -- = --;
|
||||
;
|
||||
|
||||
|
||||
;
|
||||
CLEAR_BUFFER_AND_INIT_PROC:
|
||||
;------[CLEAR BUFFERS]------;
|
||||
@ -353,17 +352,16 @@ ADRST10: ;DS 512 ;,0
|
||||
; DB high WINREST,high PUTCHAR,high PCHARS, high NOPS, high NOPS, high PRINT, high NOPS, high NOPS, high NOPS, high NOPS
|
||||
;---------------------------------------------------------------------------------------------------------------------------------------------------------------;
|
||||
;[INCLUDE]
|
||||
;!TODO § ¬¥¨âì ¯®-¬ ªá¨¬®¬ã ¢áñ ¢ KEYINTER.ASM ¢ë§®¢ë ¡¨®á
|
||||
INCLUDE "KEYINTER.ASM"
|
||||
INCLUDE "VIDEO.ASM"
|
||||
;!TODO § ¬¥¨âì ¯®-¬ ªá¨¬®¬ã ¢áñ ¢ KEYINTER.ASM ¢ë§®¢ë ¡¨®á
|
||||
INCLUDE "KEYINTER.ASM"
|
||||
INCLUDE "VIDEO.ASM"
|
||||
INCLUDE "API.ASM"
|
||||
INCLUDE "DOS_Proc.asm"
|
||||
INCLUDE "FS/FAT/FAT.ASM"
|
||||
INCLUDE "FS/FAT/FAT_X.ASM"
|
||||
INCLUDE "DOS_FM.ASM"
|
||||
|
||||
INCLUDE "EXECUTE.ASM"
|
||||
INCLUDE "INTMOUSE.ASM"
|
||||
INCLUDE "DOS_Proc.asm"
|
||||
INCLUDE "FS/FAT/FAT.ASM"
|
||||
INCLUDE "FS/FAT/FAT_X.ASM"
|
||||
INCLUDE "DOS_FM.ASM"
|
||||
;INCLUDE "EXECUTE.ASM"
|
||||
INCLUDE "INTMOUSE.ASM"
|
||||
INCLUDE "Procedures.asm"
|
||||
INCLUDE "Kernel_Panic.asm"
|
||||
|
||||
|
||||
982
DSS/KEYINTER.ASM
982
DSS/KEYINTER.ASM
File diff suppressed because it is too large
Load Diff
@ -1,22 +1,11 @@
|
||||
MACRO PRINT_LINE_KERNEL_PANIC txtString, txtStringSize, txtColor, coordY
|
||||
;
|
||||
MACRO PRINT_LINE_KERNEL_PANIC coordY, txtString, txtStringSize, txtColor
|
||||
LD HL,txtString
|
||||
LD DE,#A000
|
||||
LD BC,txtStringSize
|
||||
LD A,C
|
||||
LDIR
|
||||
;
|
||||
LD DE,coordY*256 + (80-txtStringSize)/2 ;X=0, Y=15
|
||||
LD C,BIOS.LP_SET_PLACE
|
||||
RST ToBIOS
|
||||
;
|
||||
LD HL,#A000
|
||||
LD DE,0*256 + txtColor
|
||||
LD B,A
|
||||
LD C,BIOS.LP_PRINT_LINE3
|
||||
RST ToBIOS
|
||||
ENDM
|
||||
|
||||
|
||||
LD BC,txtColor*256 + txtStringSize
|
||||
LD DE,coordY * 256 + (80 - txtStringSize)/2
|
||||
CALL .PRINT_LINE
|
||||
ENDM ; 12 bytes
|
||||
;
|
||||
;-----------------------[]
|
||||
; HL - á®®¡é¥¨¥
|
||||
; E - ª®®à¤¨ â X ⥪á⮢®¬ íªà ¥
|
||||
@ -40,8 +29,8 @@ KERNEL_PANIC:
|
||||
LD A,1
|
||||
OUT (SCREEN_SWITCH),A ; set scr-2
|
||||
;
|
||||
PRINT_LINE_KERNEL_PANIC .kernel_panic, .kernel_panic.size, +(COLORS.CGA.FLASH + COLORS.CGA.PAPER.BLUE + COLORS.CGA.INC.RED), 13
|
||||
PRINT_LINE_KERNEL_PANIC .press_CAD, .press_CAD.size, +(COLORS.CGA.PAPER.BLUE + COLORS.CGA.INC.WHITE), 18
|
||||
PRINT_LINE_KERNEL_PANIC 13, .kernel_panic, .kernel_panic.size, +(COLORS.CGA.FLASH + COLORS.CGA.PAPER.BLUE + COLORS.CGA.INC.RED)
|
||||
PRINT_LINE_KERNEL_PANIC 18, .press_CAD, .press_CAD.size, +(COLORS.CGA.PAPER.BLUE + COLORS.CGA.INC.WHITE)
|
||||
;
|
||||
POP BC
|
||||
POP HL
|
||||
@ -63,9 +52,26 @@ KERNEL_PANIC:
|
||||
.loop: DI
|
||||
HALT
|
||||
JR .loop
|
||||
|
||||
.print_line:
|
||||
RET
|
||||
;
|
||||
.PRINT_LINE:
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
LD DE,#A000
|
||||
LD B,E
|
||||
LD A,C
|
||||
LDIR
|
||||
;
|
||||
POP DE
|
||||
LD C,BIOS.LP_SET_PLACE
|
||||
RST ToBIOS
|
||||
;
|
||||
POP DE
|
||||
LD E,D
|
||||
LD HL,#A000
|
||||
LD D,L
|
||||
LD B,A
|
||||
LD C,BIOS.LP_PRINT_LINE3
|
||||
JP ToBIOS
|
||||
;
|
||||
.kernel_panic: DZ "KERNEL PANIC!"
|
||||
.kernel_panic.size EQU $-.kernel_panic
|
||||
|
||||
@ -1 +1 @@
|
||||
947
|
||||
956
|
||||
@ -17,9 +17,9 @@
|
||||
;DEFINE MOUSE_READ_PORT_TIMEOUT 3072 ; Š®áâë«ìë© â ©¬- ãâ ®¦¨¤ ¨¥ ¡ ©â ®â ¬ë誨. <EFBFBD>à®áâ® ¥áâì ªà¨¢ë¥ ¯¥à¥å®¤¨ª¨
|
||||
;
|
||||
DEFINE KEYBOARD_INT_ENABLED 0 ; INT from SIO ch. A
|
||||
DEFINE CHANGE_LANG_CTRL_SHIFT 1 ; [x] 0: Ctrl + Space, 1: Ctrl + Shift.
|
||||
;
|
||||
|
||||
;
|
||||
;LD_DSK EQU 16 ; ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ «®£¨ç¥áª¨å HDD ¤¨áª®¢ ¢ á¨á⥬¥
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -1 +1 @@
|
||||
311
|
||||
312
|
||||
Loading…
Reference in New Issue
Block a user