1
0
mirror of https://github.com/Tolik-Trek/DOOM2.git synced 2026-06-15 00:51:33 +03:00
This commit is contained in:
Anatoliy Belyanskiy 2024-02-24 23:28:34 +10:00
parent 5f9d648c25
commit d120604544
3 changed files with 54 additions and 251 deletions

217
DOOM2.asm
View File

@ -109,11 +109,6 @@ CMD_Line+1:
CALL SAVE_ALL
; ¢ë¯®«­¥­® ¢ ¢¨¤¥ ª®áâë«ì­®© § £«ã誨
CALL Load_Resources
;
;CALL SAVE_TXT_SCREEN
; LD A,Dss.SetVMod.grf320x256
; LD BC,Dss.SetVMod.Screen_1
; RST ToDSS
;---------------------------------------
@ -158,18 +153,6 @@ CMD_Line+1:
CALL CLEAR_GRAF_SCR
; IN A,(SLOT3)
; PUSH AF
; LD A,3
; OUT (SLOT3),A
; LD HL,PALITRE
; LD DE,#C000
; LD BC,#0400
; LDIR
; POP AF
; OUT (SLOT3),A
CALL SET_PAL
;----[®âªàëâì ¯®àâë ¬ áèâ ¡¨à®¢ ­¨ï]----
@ -180,33 +163,17 @@ CMD_Line+1:
LD DE, %1111'1110'0110'1111 ; ¬ áª 
LD BC,ACEX.SCALE*256 + BIOS.DCP_CONFIG
RST ToBIOS
; IN A,(SLOT3)
; EX AF,AF'
; LD A,DCP_PAGE
; OUT (SLOT3),A
; LD A,ACEX.SCALE
; LD (#C400),A ; ¯®àâ #XX00 Dos off
; LD (#C410),A ; ¯®àâ #XX00 Dos off
; LD (#C480),A ; ¯®àâ #XX00 Dos off
; LD (#C490),A ; ¯®àâ #XX00 Dos off
; LD (#C500),A ; ¯®àâ #XX00 Dos off
; LD (#C510),A ; ¯®àâ #XX00 Dos off
; LD (#C580),A ; ¯®àâ #XX00 Dos off
; LD (#C590),A ; ¯®àâ #XX00 Dos off
; EX AF,AF'
; OUT (SLOT3),A
; €ªâ¨¢ æ¨ï €ªá¥«ï ¬ áèâ ¡¨à®¢ ­¨ï, ®¡à â­® ⮫쪮 ç¥à¥§ à¥á¥â
LD BC,#0100 ; C - ¬ áèâ ¡ 1:1
OUT (C),C
;-----------------------------------------------------------------------
;-----------------------------------------------------------------------;
;-----------------------------------------------------------------------
;-----------------------------------------------------------------------;
CALL MAIN
;-----------------------------------------------------------------------
;-----------------------------------------------------------------------;
;-----------------------------------------------------------------------
;-----------------------------------------------------------------------;
; E)eeeeee X) xx I)iiii T)tttttt
; E) X) xx I) T)
@ -214,10 +181,10 @@ CMD_Line+1:
; E) X)xx I) T)
; E) X) xx I) T)
; E)eeeeee X) xx I)iiii T)
;-----------------------------------------------------------------------
;-----------------------------------------------------------------------;
;
;-----------[EXIT Procedure]------------;
;----------------[EXIT Procedure]-----------------;
RETURN_POINT:
IN A,(FastRAM.OFF)
LD A,SYS_PORT.BIOS
@ -237,31 +204,8 @@ RETURN_POINT:
.error: LD C,Dss.Exit
RST ToDSS
JR .loop
;---------------------------------------
;----[LP_OPEN_S]------------------------
; Žâªàë⨥ áâ ­¤ àâ­ëå ®ª®­
; LD HL,#5104
; LD E,0 ; win_flag - ä« £¨ ®ª­ :
; ; bit 0 ®¯à¥¤¥«ï¥â áâà ­¨æã ०¨¬ , ª®â®à ï ¡ã¤¥â
; ; ®âªàëâ  ¯®á«¥ ¨á¯®«­¥­¨ï ä㭪樨
; LD B,4 ; 4 - ᯥªâà㬮¢áª®¥ ®ª­®, HL - ¯®«®¦¥­¨¥ ®ª­ 
; LD C,BIOS.LP_OPEN_S
; RST ToBIOS
; ;---------------------------------------
; SP_SAVE1:
; LD SP,0
; EXX
; POP HL
; EXX
; POP IX
; POP IY
; EI
; RET
;=======================================
;
;-------------------------------------------------;
;-----------------------------------------------------------------------;
SET_PAL_x:
IN A,(FastRAM.OFF)
@ -471,8 +415,6 @@ CLEAR_SP_PAL:
MAIN: CALL INIT_TABLE
RET C
; IN A,(PORT_Y)
; LD (SAVE_PORT_Y),A
LD A,#C0
OUT (PORT_Y),A
CALL RECALC_MAP
@ -486,12 +428,6 @@ MAIN: CALL INIT_TABLE
OUT (BorderColor),A
CALL CLEAR_SP_PAL
; !FIXIT ¯¥à¥¤¥« âì «®£¨ªã ¯®¤ ­®¢ë© ¡¨®á?
;---[ãáâ ­®¢ª  ᨭåàë, ®ç¨á⪠ íªà ­ ]--
; LD A,2 ; ०¨¬ Pentagon - 320 áâப ¢ íªà ­¥
; LD C,BIOS.FN_SYNC
; RST ToBIOS
;---------------------------------------
;------[Žâªàë⨥ áâ ­¤ àâ­ëå ®ª®­]------
@ -533,11 +469,7 @@ D2_FRAM_page+1:
LD DE,#1000
LD BC,D2_fram_END-TRACE
LDIR
; IFN NORM_syncPORT
; IM 2 ; ¢®â ⥯¥àì ¬®¦­® ¢ª«îç âì
; ENDIF
;
POP AF
OUT (SLOT3),A
;---------------------------------------
@ -1056,7 +988,7 @@ NEXT_HL_FFING:
RST ToBIOS
AND A
RET
; ;!!!!!!!ᤥ« âì á®åà ­¥­¨¥ áªà¨­è®â®¢
; ;!TODO ᤥ« âì á®åà ­¥­¨¥ áªà¨­è®â®¢
; LD A,4
; LD C,BIOS.GET_RAMD_ST ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ¡«®ª  ®â à ¬¤¨áª 
; RST ToBIOS
@ -1633,40 +1565,6 @@ SAVE_PAL:
XOR A
OUT (SYS_PORT.OFF),A
RET
; IN A,(SLOT3)
; PUSH AF
; IN A,(SLOT2)
; OUT (SLOT3),A
; ;
; LD HL,Pal_Restore_Buffer+#4000
; LD DE,0
; LD A,#80 + 0
; LD C,BIOS.PIC_GET_PAL
; RST ToBIOS
; ;
; LD HL,Pal_Restore_Buffer+#4000 + 1024
; LD DE,0
; LD A,#80 + 1
; LD C,BIOS.PIC_GET_PAL
; RST ToBIOS
; ;
; LD HL,Pal_Restore_Buffer+#4000 + 1024+1024
; LD DE,0
; LD A,6
; LD C,BIOS.PIC_GET_PAL
; RST ToBIOS
; ;
; LD HL,Pal_Restore_Buffer+#4000 + 1024+1024+1024
; LD DE,0
; LD A,7
; LD C,BIOS.PIC_GET_PAL
; RST ToBIOS
;
; POP AF
; OUT (SLOT3),A
; RET
;***********************************************************************
RESTORE_PAL:
LD A,SYS_PORT.BIOS
@ -1695,68 +1593,6 @@ RESTORE_PAL:
XOR A
OUT (SYS_PORT.OFF),A
RET
;
; IN A,(SLOT2)
; PUSH AF
; OUT (SLOT3),A
; ;
; LD HL,Pal_Restore_Buffer+#4000
; LD DE,0
; LD A,4
; LD BC,#FF*256 + BIOS.PIC_SET_PAL ; ãáâ ­®¢ª  ¯ «¨âàë
; RST ToBIOS
;
; LD HL,Pal_Restore_Buffer+#4000 + 1024
; LD DE,0
; LD A,5
; LD BC,#FF*256 + BIOS.PIC_SET_PAL ; ãáâ ­®¢ª  ¯ «¨âàë
; RST ToBIOS
; ;
; LD HL,Pal_Restore_Buffer+#4000 + 1024+1024
; LD DE,0
; LD A,6
; LD BC,#FF*256 + BIOS.PIC_SET_PAL ; ãáâ ­®¢ª  ¯ «¨âàë
; RST ToBIOS
; ;
; LD HL,Pal_Restore_Buffer+#4000 + 1024+1024+1024
; LD DE,0
; LD A,7
; LD BC,#FF*256 + BIOS.PIC_SET_PAL ; ãáâ ­®¢ª  ¯ «¨âàë
; RST ToBIOS
;
; POP AF
; OUT (SLOT3),A
; RET
;***********************************************************************
;!TODO âãâ ­¥ ¯à®¢¥àï¥âáï ०¨¬ 80 ¨«¨ 40
; DEFINE _TXT_SCREEN #E000
; SAVE_TXT_SCREEN:
; DI
; LD C,BIOS.LP_GET_PLACE
; RST ToBIOS
; LD (LOAD_TXT_SCREEN.CURS),DE
; ;
; XOR A
; LD B,SHARED_PAGE
; LD HL,#2050 ; #2028
; LD DE,#0000
; LD IX,_TXT_SCREEN
; LD C,BIOS.WIN_COPY
; JP ToBIOS
; LOAD_TXT_SCREEN:
; DI
; XOR A
; LD B,SHARED_PAGE
; LD HL,#2050 ; #2028
; LD DE,#0000
; LD IX,_TXT_SCREEN
; LD C,BIOS.WIN_RESTORE
; RST ToBIOS
; ;
; .CURS+1: LD DE,#0000
; LD C,Dss.Locate
; JP ToDSS
;***********************************************************************
RESTORE_ALL:
; LD B,3 ; 3 - ãáâ ­®¢ª  CGA ¯ «¨âàë
@ -1850,39 +1686,6 @@ SCREEN_IN_CACHE:
;***********************************************************************
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]----------------
ALIGN 2,0

View File

@ -294,12 +294,12 @@ FIND_FILE:
HDD_FN: EX AF,AF'
IN A,(FastRAM.OFF)
IN A,(SLOT1)
PUSH AF
;IN A,(SLOT1)
;PUSH AF
IN A,(SLOT3)
PUSH AF
LD A,5 ;!FIXIT
OUT (SLOT1),A
;LD A,5 ;!FIXIT
;OUT (SLOT1),A
;
LD A,CBL.BUFFER_PAGE
OUT (SLOT3),A
@ -312,8 +312,8 @@ HDD_FN: EX AF,AF'
OUT (PORT_Y),A
POP AF
OUT (SLOT3),A
POP AF
OUT (SLOT1),A
;POP AF
;OUT (SLOT1),A
IN A,(FastRAM.ON) ; ¢ª«îç ¥¬ ªíè
RET
;

@ -1 +1 @@
Subproject commit c9539a188d91551738e666770744c6007f0e5b01
Subproject commit 5a5dcf0bd035d2adaaa27d28bb8ed1bd86260d59