From d6a18c09194474d66508eaa9ce90f4762a29dcdd Mon Sep 17 00:00:00 2001 From: Tolik <85737314+Tolik-Trek@users.noreply.github.com> Date: Sat, 15 Mar 2025 02:40:42 +1000 Subject: [PATCH] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D1=81=D1=82=D0=BE=20=D0=B3?= =?UTF-8?q?=D0=BB=D1=8F=D0=BD=D1=83=D1=82=D1=8C=20-=20TEST=5FSCREEN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DOOM2.asm | 158 +++++++++++++++++++++++++++++++++++++++++++++++- Shared_Includes | 2 +- 2 files changed, 156 insertions(+), 4 deletions(-) diff --git a/DOOM2.asm b/DOOM2.asm index 133739d..87c1642 100644 --- a/DOOM2.asm +++ b/DOOM2.asm @@ -5,6 +5,9 @@ ;--------------------------------------- */ + DEFINE TEST_SCREEN 0 + + ScreenStartAddress EQU #C040 ;ScreenStartAddress EQU #C000 ; @@ -443,6 +446,14 @@ MAIN: CALL INIT_TABLE RST ToBIOS ;--------------------------------------- + IF TEST_SCREEN + ; + CALL MAKE_SCR_ST1 + ; + ENDIF + + + LD A,(RESTORE_ALL.scr) OUT (SCREEN_SWITCH),A @@ -1165,7 +1176,7 @@ RAMBlkIDs: BLOCK FilesTBL.END,0 ;--------------------------------------- ; - DS #8B00-$ ;ВЫРАВНИВАНИЕ + BLOCK #8B00-$,0 ;ВЫРАВНИВАНИЕ RECALC_MAP: ; пересчет карты на реальные номера @@ -1594,8 +1605,8 @@ RESTORE_ALL: .scr+2: LD BC,Dss.SetVMod RST ToDSS ; - ;LD BC,Dss.Lib_Sub.RestoreFont - ;RST ToDSS + LD BC,Dss.Lib_Sub.RestoreFont + RST ToDSS ; LD A,(.mode) CP #80 @@ -1710,6 +1721,147 @@ 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" ;-----------------------------------------------------------------------; + + +;-----------------------------------------------------------------------; + IF TEST_SCREEN +MAKE_SCR_ST1: IN A,(SLOT3) + PUSH AF + LD A,#50 + OUT (SLOT3),A + LD A,1 + OUT (PORT_Y),A + LD HL,#C300 + ; +.big_loop: LD C,20 + ; +.mid_loop: LD B,16 + LD DE,#C37C + LD HL,#C33C + ; +.sml_loop: PUSH BC + LDI + LDI + LD A,%0000'0110 + LD (DE),A + DEC HL + DEC HL + DEC DE + DEC DE + DEC DE + DEC DE + DEC DE + DEC DE + LDI + LDI + LD A,%0000'0100 + LD (DE),A + DEC HL + DEC HL + DEC HL + DEC HL + DEC HL + DEC HL + DEC DE + DEC DE + DEC DE + DEC DE + DEC DE + DEC DE + POP BC + DJNZ .sml_loop + ; + IN A,(PORT_Y) + INC A + INC A + OUT (PORT_Y),A + DEC C + JR NZ,.mid_loop + ; + IN A,(PORT_Y) + AND #80 + JR NZ,MAKE_SCR_ST2 + LD A,#81 + OUT (PORT_Y),A + JR .big_loop + ; +MAKE_SCR_ST2: LD HL,#C300 +.big_loop: EXX + LD D,#4F ; 79 port_y line + LD E,#27 ; 39 port_y line + LD C,PORT_Y + LD B,#14 ; счётчик + EXX +.mid_loop: EXX + OUT (C),E + EXX + ; + LD E,(HL) + INC HL + LD D,(HL) + INC HL + LD B,(HL) + DEC HL + DEC HL + ; + EXX + OUT (C),D + EXX + ; + LD (HL),E + INC HL + LD (HL),D + INC HL + LD (HL),B + SET 0,(HL) + ; + EXX + DEC D + DEC D + OUT (C),D + EXX + ; + LD (HL),B + DEC HL + LD (HL),D + DEC HL + LD (HL),E + ; + EXX + DEC D + DEC D + DEC E + DEC E + DEC B + EXX + JR NZ,.mid_loop + ; + EXX + BIT 7,E + EXX + JR Z,.HZ + ; + EXX + LD D,#CF ; 207 port_y line + LD E,#A7 ; 167 port_y line + LD C,PORT_Y + LD B,20 ; счётчик + EXX + JR .mid_loop + ; +.HZ: INC HL + INC HL + INC HL + INC HL + LD A,L + CP #80 + JR NZ,.big_loop + ; + POP AF + OUT (SLOT3),A + RET + ENDIF +;-----------------------------------------------------------------------; OUTEND ; конец файла doom2.exe ;-----------------------------------------------------------------------; diff --git a/Shared_Includes b/Shared_Includes index 940fb62..9bfe7bd 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 940fb62da5f5e00b0c1c4700ce004d06da28adca +Subproject commit 9bfe7bd76b9648dae6f492dcd730b9b7ed80f48d