1
0
mirror of https://github.com/Tolik-Trek/DOOM2.git synced 2026-06-15 17:11:34 +03:00

now it checks version before start

This commit is contained in:
Anatoliy Belyanskiy 2024-02-11 23:03:48 +10:00
parent 4259263dee
commit 5f9d648c25
2 changed files with 79 additions and 29 deletions

View File

@ -10,6 +10,34 @@ ScreenStartAddress EQU #C040
; ;
;---------------------------[Defines section]--------------------------- ;---------------------------[Defines section]---------------------------
DEFINE EXE_HEADER 1 DEFINE EXE_HEADER 1
; VERSIONS
MIN_VER: ; 1.70.887
.DSS_V EQU 1 ; Version
.DSS_M EQU 70 ; Modification
.DSS_B EQU 887 ; Build
; ; 2.55
.BIOS_V EQU 2 ; Version
.BIOS_M EQU 55 ; Modification
;;;;;;;
; DEFINE MIN_DSS_VERSION MIN_VER.DSS_V*256 + MIN_VER.DSS_M
; DEFINE MIN_DSS_BUILD MIN_VER.DSS_B
; DEFINE MIN_BIOS_VERSION MIN_VER.BIOS_V*256 + MIN_VER.BIOS_M
; DEFINE TXT_DSS_VERSION ('0'+MIN_VER.DSS_V),\
; '.',\
; ('0'+MIN_VER.DSS_M/10),\
; ('0'+MIN_VER.DSS_M-(MIN_VER.DSS_M/10)*10),\
; '.',\
; ('0'+MIN_VER.DSS_B/100),\
; ('0'+(MIN_VER.DSS_B/10 - MIN_VER.DSS_B/100*10)),\
; ('0'+(MIN_VER.DSS_B - MIN_VER.DSS_B/10*10)) ;
; DEFINE TXT_BIOS_VERSION '0'+MIN_VER.BIOS_V,\
; '.',\
; '0'+MIN_VER.BIOS_M/10,\
; '0'+MIN_VER.BIOS_M-(MIN_VER.BIOS_M/10)*10
;----------------------------------------------------------------------- ;-----------------------------------------------------------------------
; ;
@ -72,7 +100,9 @@ CMD_Line+1:
LD HL,#8080 LD HL,#8080
CALL SET_HOME_PATH CALL SET_HOME_PATH
;--------[§ £à㧪  à¥áãàᮢ ¨£àë]------- ;--------[§ £à㧪  à¥áãàᮢ ¨£àë]-------
LD HL,Loading_TXT CALL CHECK_SYSTEM
;
LD HL,MESSAGES_TXT.Loading
LD C,Dss.PChars LD C,Dss.PChars
RST ToDSS RST ToDSS
; ;
@ -199,11 +229,12 @@ RETURN_POINT:
; ;
CALL RESTORE_ALL CALL RESTORE_ALL
; ;
LD HL,GOTO_EXIT LD HL,MESSAGES_TXT.NormExit
LD C,Dss.PChars LD C,Dss.PChars
RST ToDSS RST ToDSS
; ;
.loop: LD BC,Dss.Exit .loop: LD B,0
.error: LD C,Dss.Exit
RST ToDSS RST ToDSS
JR .loop JR .loop
;--------------------------------------- ;---------------------------------------
@ -1817,6 +1848,42 @@ SCREEN_IN_CACHE:
OUT (SYS_PORT.OFF),A OUT (SYS_PORT.OFF),A
RET RET
;*********************************************************************** ;***********************************************************************
CHECK_SYSTEM:
_mCHECK_SYS_VERSIONS MIN_VER.DSS_V, MIN_VER.DSS_M, MIN_VER.DSS_B, MIN_VER.BIOS_V, MIN_VER.BIOS_M
; LD C,Dss.Version
; RST ToDSS
; JR C,.Error_DOS
; LD HL,MIN_DSS_VERSION
; EX DE,HL
; SBC HL,DE
; JR C,.Error_DOS
; ;
; LD HL,-(MIN_DSS_BUILD)
; ADD HL,BC
; JR NC,.Error_DOS
; ;
; LD C,BIOS.DRV_VERSION
; RST ToBIOS
; JR C,.Error_BIOS
; LD HL,-(MIN_BIOS_VERSION)
; ADD HL,DE
; RET C
; .Error_BIOS:
; LD HL,.Error_BIOS
; JR .next
; .Error_DOS:
; LD HL,.Error_DSS
; .next: LD C,Dss.PChars
; RST ToDSS
; ;
; LD B,DSS_Error.sys.COMMON_ERROR
; .error: LD C,Dss.Exit
; RST ToDSS
; JR .loop
; .Error_BIOS: DB "\r\nERROR! Uncompatible version of BIOS. Needs version ",TXT_BIOS_VERSION," or higher.\r\n",0
; .Error_DSS: DB "\r\nERROR! Uncompatible version of DSS. Needs version ",TXT_DSS_VERSION," or higher.\r\n",0
;***********************************************************************
;---------------[Tables]---------------- ;---------------[Tables]----------------
ALIGN 2,0 ALIGN 2,0
; ;
@ -1845,31 +1912,14 @@ NAME6: DB "94956C CBL "
NAME7: DB "_ENI511CCBL " NAME7: DB "_ENI511CCBL "
; ;
SND_DIR: DZ "MUSIC" SND_DIR: DZ "MUSIC"
;Up_Dir: DZ ".."
;
Loading_TXT: DZ "\r\nPlease wait, resources are loading..."
GOTO_EXIT: DZ "\r\n < GAME OVER))) >"
;
; IFN NORM_syncPORT
; im_handler_emul_proc_address:
; di
; push af
; call KBD_INT
; pop af
; reti
; BLOCK +(#FF - low $)
; im_handler_emulator:
; dw im_handler_emul_proc_address
; ENDIF
; ;
MESSAGES_TXT:
.Loading: DZ "\r\nPlease wait, resources are loading...\r\n"
.NormExit: DZ "DOOM 2 demo for DSS says goodbye to you...\r\n"
;-----------------------------------------------------------------------;
OUTEND ; ª®­¥æ ä ©«  doom2.exe OUTEND ; ª®­¥æ ä ©«  doom2.exe
;-----------------------------------------------------------------------; ;-----------------------------------------------------------------------;
;------------------------------------
;CURRENT_DIR: BLOCK 257,0
;------------------------------------ ;------------------------------------
Temp_Buffer EQU $ Temp_Buffer EQU $
TXT_SCREEN EQU Temp_Buffer + 257 TXT_SCREEN EQU Temp_Buffer + 257

@ -1 +1 @@
Subproject commit b8a215d38afde3eed48f39eb961e96cdb6d9e426 Subproject commit c9539a188d91551738e666770744c6007f0e5b01