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

картинкаи на заставке теперь норм

This commit is contained in:
Anatoliy Belyanskiy 2024-02-02 01:17:36 +10:00
parent 55053c05ec
commit 84f6958d37
3 changed files with 202 additions and 170 deletions

View File

@ -61,7 +61,7 @@ SKY_LOOP_1:
XOR A
OUT (RGADR),A
OUT (PORT_Y),A
ACC_CopyScreenBlock
LD (DE),A
ACC_Off
@ -69,14 +69,14 @@ SKY_LOOP_1:
INC DE
INC DE
OUT (RGADR),A
OUT (PORT_Y),A
ACC_CopyScreenBlock
LD (DE),A
ACC_Off
DEC DE
OUT (RGADR),A
OUT (PORT_Y),A
ACC_CopyScreenBlock
LD (DE),A
ACC_Off
@ -84,7 +84,7 @@ SKY_LOOP_1:
INC DE
INC DE
OUT (RGADR),A
OUT (PORT_Y),A
ACC_CopyScreenBlock
LD (DE),A
ACC_Off
@ -98,11 +98,11 @@ SKY_LOOP_1:
RES 7,H
SET 6,H
IF YesSound
CALL SOUND
; ELSE
; CALL YesSoundZero
ENDIF
IF YesSound
CALL SOUND
; ELSE
; CALL YesSoundZero
ENDIF
LD A,(SKY_1)
LD B,A
@ -118,20 +118,21 @@ NO_NEXT_SKY:
DEC C
JR NZ,SKY_LOOP_1
IF YesSound
CALL SOUND
; ELSE
; CALL YesSoundZero
ENDIF
IF YesSound
CALL SOUND
; ELSE
; CALL YesSoundZero
ENDIF
;
EXX
SCREEN_1 EQU $+1
LD DE,#C040 ; ­ ç «® íªà ­ 
LD C,0 ;!!!!!!!!!!!!!!!!!!!!!!!!!!
SCREEN_1+1:
LD DE,#C040 ; ­ ç «® íªà ­ 
LD C,0 ;!!!!!!!!!!!!!!!!!!!!!!!!!!
EXX
;
LD HL,0 ; ­ ç «ì­ë© 㣮« * 32
ANGLE_M EQU $-2
ANGLE_M+1:
LD HL,0 ; ­ ç «ì­ë© 㣮« * 32
;
LD A,H
RLCA
@ -148,11 +149,11 @@ ANGLE_M EQU $-2
TRACE_NEXT_:
;
EXX
LD HL,(PLACE_L) ; ⥪ã饥 ¯®«®¦¥­¨¥ ¢ â ¡«¨æ¥
INC HL
LD A,(HL)
LD (PLACE_L1),A
LD (PLACE_L2),A
LD HL,(PLACE_L) ; ⥪ã饥 ¯®«®¦¥­¨¥ ¢ â ¡«¨æ¥
INC HL
LD A,(HL)
LD (PLACE_L1),A
LD (PLACE_L2),A
EXX
;
PLACE_L EQU $+1
@ -166,7 +167,7 @@ TRACE_LOOP:
LD A,#50
OUT (SLOT3),A
XOR A
OUT (RGADR),A
OUT (PORT_Y),A
REPT 16
LD E,(HL) ; ¯¥à¢ë© ¨ ¤ «¥¥ á«¥¤ãî騩 ªã¡¨ª
@ -183,7 +184,7 @@ PURE_LINE:
LD A,#80 ; ¯ãáâ ï á⥭ª 
ACC_Off
; LD (DE),A ; LINE-Z-bufer
OUT (RGADR),A
OUT (PORT_Y),A
LD A,(COLOR_LO)
@ -259,7 +260,7 @@ PLACE_L2 EQU $-1
; <64 â®çª¨, ­  ¢¥áì íªà ­
XOR A
OUT (RGADR),A ; á á ¬®£® ­ ç « 
OUT (PORT_Y),A ; á á ¬®£® ­ ç « 
ACC_SetBlockSize
LD (DE),A ; 256 ¡ ©â ˆ LINE-Z-bufer!!!!
@ -281,7 +282,7 @@ HIGH_1:
LD (DE),A ; ç¨á«® â®ç¥ª ¯®â®«ª  ¨ ¯®« ! & LINE-Z-bufer
ACC_Off
NEG ; ¯®«ãç¨âì ¯®«®¦¥­¨¥ ­ ç «  ¯®« 
OUT (RGADR),A
OUT (PORT_Y),A
LD L,A
LD A,#58
@ -305,10 +306,10 @@ COLOR_LO EQU $-1
LD A,L
NEG
OUT (RGADR),A
OUT (PORT_Y),A
LD A,L
; IN A,(RGADR)
; IN A,(PORT_Y)
ADD A,A
; NEG ; ¢ë¢®¤¨¬ë© à §¬¥à á⥭ª¨
; á⥭ª  ¢  ªá¥«¥à â®à¥!
@ -346,11 +347,11 @@ CONT_PAGE EQU $-1
; CALL SOUND ; ¨£à âì ¬ã§ëªã ­  ª®¢®ªá¡« áâ¥à¥!!!
IF YesSound
CALL SOUND
; ELSE
; CALL YesSoundZero
ENDIF
IF YesSound
CALL SOUND
; ELSE
; CALL YesSoundZero
ENDIF
INC H
BIT 7,H
@ -401,7 +402,7 @@ TRACE_RET_SLOT1 EQU $-1
;
OUT (SLOT1),A
LD A,0
OUT (RGADR),A
OUT (PORT_Y),A
RET
;
;***************************************
@ -463,9 +464,8 @@ NO_CORN1:
;
;***************************************
;
SET_PICTURE:
; A - ®â­®á¨â¥«ì­ë© ­®¬¥à áâà ­¨æë
SET_PICTURE:
LD C,SLOT1
IN B,(C)
PUSH BC
@ -476,11 +476,11 @@ SET_PICTURE:
LD A,#50
OUT (C),A
IF YesSound
CALL SOUND
; ELSE
; CALL YesSoundZero
ENDIF
IF YesSound
CALL SOUND
; ELSE
; CALL YesSoundZero
ENDIF
;
ld bc,#0100 ; ¬ áèâ ¡¨à®¢ ­¨¥ - 1
OUT (C),B
@ -491,7 +491,8 @@ SET_PICTURE:
ACC_SetBlockSize
LD A,0 ; ¯® 256 ¡ ©â
ACC_Off
OUT (RGADR),A
inc a ;!FIXIT ª®áâë«ì, ¨­ ç¥ á® áçñâ稪®¬  ªá¥«ï çâ®-â® ­¥ â ª
OUT (PORT_Y),A
POP AF
@ -522,11 +523,11 @@ LOOP_PG:
POP BC
IF YesSound
CALL SOUND
; ELSE
; CALL YesSoundZero
ENDIF
IF YesSound
CALL SOUND
; ELSE
; CALL YesSoundZero
ENDIF
DJNZ PIC_LOOP
@ -725,7 +726,7 @@ W_OUT_L:
LD A,#44
SUB H
OUT (RGADR),A
OUT (PORT_Y),A
;
;------[®¯â¨¬¨§¨à®¢ âì?]----------------
OUT (C),C ; Œ€˜<E28099> 1:1, ­ ç¨­ âì á 0
@ -805,7 +806,7 @@ MAP_LOOP_1:
INC H
REPT 4
OUT (RGADR),A
OUT (PORT_Y),A
ACC_CopyBlock
LD (DE),A
ACC_Off
@ -827,7 +828,7 @@ MAP_LOOP_1:
; LD C,(HL)
; ACC_Off
; OUT (RGADR),A
; OUT (PORT_Y),A
; ACC_CopyBlock
; LD (DE),A
; ACC_Off
@ -836,7 +837,7 @@ MAP_LOOP_1:
; ACC_CopyBlock
; LD C,(HL)
; ACC_Off
; OUT (RGADR),A
; OUT (PORT_Y),A
; ACC_CopyBlock
; LD (DE),A
; ACC_Off
@ -845,7 +846,7 @@ MAP_LOOP_1:
; ACC_CopyBlock
; LD C,(HL)
; ACC_Off
; OUT (RGADR),A
; OUT (PORT_Y),A
; ACC_CopyBlock
; LD (DE),A
; ACC_Off
@ -854,7 +855,7 @@ MAP_LOOP_1:
; ACC_CopyBlock
; LD C,(HL)
; ACC_Off
; OUT (RGADR),A
; OUT (PORT_Y),A
; ACC_CopyBlock
; LD (DE),A
; ACC_Off
@ -874,7 +875,7 @@ MAP_LOOP_1:
JR Z,MAP_LOOP_2
LD A,0
OUT (RGADR),A
OUT (PORT_Y),A
POP AF
POP HL
@ -906,7 +907,7 @@ WALL:
LD (SLOT3_RET1),A
IN A,(SLOT1)
LD (SLOT1_RET1),A
IN A,(RGADR)
IN A,(PORT_Y)
LD (RGADR_RET1),A
LD A,#58
OUT (SLOT3),A
@ -992,7 +993,7 @@ NO_DEL4:
WOLL_LOOP:
XOR A
OUT (RGADR),A
OUT (PORT_Y),A
LD A,D
CP #C3
@ -1043,7 +1044,7 @@ NO_Z_A1:
JR Z,NO_Z_A
XOR A
NO_Z_A:
OUT (RGADR),A ; § ¤ âì ¯®àâ Y
OUT (PORT_Y),A ; § ¤ âì ¯®àâ Y
ACC_CopyScreenBlock
LD (DE),A ; ¢ë¢¥á⨠«¨­¨î
@ -1052,11 +1053,11 @@ NO_Z_A:
LD A,E
AND #0F
IF YesSound
CALL Z,SOUND
; ELSE
; CALL Z,YesSoundZero
ENDIF
IF YesSound
CALL Z,SOUND
; ELSE
; CALL Z,YesSoundZero
ENDIF
NO_WRITE_LINE:
@ -1077,7 +1078,7 @@ NO_WRITE_ALL:
;
RGADR_RET1 EQU $+1
LD A,0
OUT (RGADR),A
OUT (PORT_Y),A
SLOT3_RET1 EQU $+1
LD A,0
OUT (SLOT3),A
@ -1172,11 +1173,11 @@ MAP_L4:
POP HL
PUSH HL
IF YesSound
CALL SOUND
; ELSE
; CALL YesSoundZero
ENDIF
IF YesSound
CALL SOUND
; ELSE
; CALL YesSoundZero
ENDIF
LD C,16
@ -1204,9 +1205,9 @@ MAP_L6:
POP HL
PUSH HL
IF YesSound
CALL SOUND
ENDIF
IF YesSound
CALL SOUND
ENDIF
LD C,16
@ -1307,7 +1308,7 @@ CONT_MOVE:
;COV_ADR: DB 0
;SND_P: DB #FF
SND_A: DW #C000
IF YesSound
IF YesSound
SND_STOP:
; ®áâ ­®¢¨âì ¬ã§ëªã
PUSH AF
@ -1361,29 +1362,27 @@ SND_INIT:
LD E,A
JR SND_INIT1
ENDIF
ENDIF
SOUND:
IF !YesSound
; PUSH AF
; CALL KBD_INT
; POP AF
RET
ENDIF
IF !YesSound
; PUSH AF
; CALL KBD_INT
; POP AF
RET
ENDIF
;
IF YesSound
MemPatch_SoundOnOff EQU $
NOP ; á ¢áâ ¢«ï¥âáï ª®¬ ­¤  RET ¤«ï ®âª«î祭¨ï §¢ãª  ¨ NOP ¤«ï ¢ª«î祭¨ï
IF YesSound
MemPatch_SoundOnOff:
NOP ; á ¢áâ ¢«ï¥âáï ª®¬ ­¤  RET ¤«ï ®âª«î祭¨ï §¢ãª  ¨ NOP ¤«ï ¢ª«î祭¨ï
PUSH AF
PUSH HL
SND_MORE:
CALL KBD_INT
IN A,(#FE)
;
XOR 0 ; covox  ¤à¥á
COV_ADR EQU $-1
COV_ADR+1:
XOR 0 ; covox  ¤à¥á
;
AND #80
JP NZ,NO_LD_SND
@ -1401,8 +1400,8 @@ COV_ADR EQU $-1
IN A,(SLOT3)
LD E,A
MemPatch_D2_FRAM_SndPage EQU $+1
LD A,0
MemPatch_D2_FRAM_SndPage+1:
LD A,0
OUT (SLOT3),A
L_DDX:
@ -1426,7 +1425,6 @@ L_DDX:
JP NZ,NO_SNDP
SND_INIT1:
PUSH IX
PUSH AF
EX AF,AF'
@ -1473,11 +1471,11 @@ SND_INIT1:
;_------[—⥭¨¥ ᥪâ®à®¢ á ¤¨áª ]-------
NO_NEW_COUNT:
LD HL,-SND_READ_SECTORS*512 ; ¡ãä¥à ¤«ï ¤ ­­ëå
LD A,0 ; áâà ­¨æ  ¡ãä¥à , ¥á«¨  ¤à¥á ¢ ®ª­¥ #C000
LD DE,(SND_S1) ;  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  Œ« ¤è ï ç áâì
LD IX,(SND_S2) ;  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  ‘â àè ï ç áâì
LD A,0 ; áâà ­¨æ  ¡ãä¥à , ¥á«¨  ¤à¥á ¢ ®ª­¥ #C000
LD DE,(SND_S1) ;  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  Œ« ¤è ï ç áâì
LD IX,(SND_S2) ;  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  ‘â àè ï ç áâì
LD B,SND_READ_SECTORS ; ç¨á«® ç¨â ¥¬ëå ᥪâ®à®¢
LD C,BIOS.HDD_READ ; äã­ªæ¨ï ç⥭¨ï
LD C,BIOS.HDD_READ ; äã­ªæ¨ï ç⥭¨ï
CALL HDD_FN
;---------------------------------------
@ -1582,7 +1580,7 @@ CLEAR_Z_BUFER:
OUT (SLOT3),A
LD A,0
OUT (RGADR),A
OUT (PORT_Y),A
LD DE,(SCREEN_1)
ACC_SetBlockSize
@ -2058,22 +2056,22 @@ SAVE_P2: DW 0
SAVE_RGA2: DB 0
SAVE_PIC:
IN A,(RGMOD)
IN A,(SCREEN_SWITCH)
AND 1
LD HL,0C040H
LD HL,#C040
JR NZ,SET_1X
LD HL,0C180H
LD HL,#C180
SET_1X:
LD IX,TABLE_PIC
LD A,(IX)
AND A
RET Z
LD DE,08436h
LD DE,#8436
SAVE_PIC_X:
LD (SAVE_HL),HL ; Pic line
IN A,(RGADR)
IN A,(PORT_Y)
LD (SAVE_RGA2),A
LD C,SLOT2
@ -2084,10 +2082,10 @@ SAVE_PIC_X:
LD (SAVE_P2),BC
LD A,#50
OUT (C),A ; Screen
OUT (C),A ; Screen
LD A,#FF
OUT (RGADR),A ; Line 1
OUT (PORT_Y),A ; Line 1
LD A,(IX)
OUT (SLOT2),A
@ -2097,7 +2095,6 @@ NEXT_SV_LN:
LD B,160
LOOP_SV_PIC:
LD A,(HL)
LD (DE),A
INC HL
@ -2116,16 +2113,16 @@ LOOP_SV_PIC:
INC IX
LD A,(IX)
OUT (SLOT2),A ; next page
LD DE,8000h
LD DE,#8000
NO_NEXT_PAGE:
DJNZ LOOP_SV_PIC
; CALL SOUND
IN A,(RGADR)
IN A,(PORT_Y)
DEC A
OUT (RGADR),A
CP 0FFh
OUT (PORT_Y),A
CP #FF
JR NZ,NEXT_SV_LN
LD BC,(SAVE_P2)
@ -2133,7 +2130,7 @@ NO_NEXT_PAGE:
LD BC,(SAVE_P1)
OUT (C),B
LD A,(SAVE_RGA2)
OUT (RGADR),A
OUT (PORT_Y),A
RET

155
DOOM2.asm
View File

@ -94,8 +94,8 @@ BEGIN:
DI
LD (CMD_Line),IX ; á®åà ­¨âì 㪠§ â¥«ì ­  ¯ à ¬¥âàë § ¯ã᪠
LD HL,#8080
CMD_Line: EQU $-2
CMD_Line+1:
LD HL,#8080
/*
; „®¤¥« âì???!!!!
LD C,(HL)
@ -133,8 +133,7 @@ Loader_length EQU 0
;
;-----------[§ £«ãè¨âì §¢ãª]------------
LD A,#FF ; !FIXIT à §¢¥ â ª ­ ¤® £«ãè¨âì? <20>¥ à㤨¬¥­âë Sp97?
1:
CALL CLEAR_COVOX_X
1: CALL CLEAR_COVOX_X
DEC A
CP #80
JR NZ,1B
@ -175,31 +174,37 @@ Loader_length EQU 0
CALL SET_PAL
IN A,(SLOT3)
EX AF,AF'
LD A,DCP_PAGE
OUT (SLOT3),A
LD A,ACEX.SCALE
;----[®âªàëâì ¯®àâë ¬ áèâ ¡¨à®¢ ­¨ï]----
LD A,1
LD HL, %0000'0100'0000'0000
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
;
; ®¤¨­ ¢­ãâ७­¨© ¯®àâ ¬ áèâ ¡¨à®¢ ­¨ï
; ¬ ¯¯¨âáï ­  ­¥áª®«ìª® ¤¨ ¯¯ §®­®¢
; ¢­¥è­¨å ¯®à⮢
; Œ áª  1110 0000 1110 0111
; Œ áª 
LD (#C400),A ; ¯®àâ #0000 Dos off
LD (#C410),A ; ¯®àâ #2000 Dos off
LD (#C480),A ; ¯®àâ #4000 Dos off
LD (#C490),A ; ¯®àâ #6000 Dos off
LD (#C500),A ; ¯®àâ #8000 Dos off
LD (#C510),A ; ¯®àâ #A000 Dos off
LD (#C580),A ; ¯®àâ #C000 Dos off
LD (#C590),A ; ¯®àâ #E000 Dos off
; LD (#C400),A ; ¯®àâ #0000 Dos off
; LD (#C410),A ; ¯®àâ #2000 Dos off
; LD (#C480),A ; ¯®àâ #4000 Dos off
; LD (#C490),A ; ¯®àâ #6000 Dos off
; LD (#C500),A ; ¯®àâ #8000 Dos off
; LD (#C510),A ; ¯®àâ #A000 Dos off
; LD (#C580),A ; ¯®àâ #C000 Dos off
; LD (#C590),A ; ¯®àâ #E000 Dos off
; EX AF,AF'
; OUT (SLOT3),A
;---------------------------------------
EX AF,AF'
OUT (SLOT3),A
EXX
LD BC,#100 ; ¬ áèâ ¡ 1:1
LD D,0
@ -213,14 +218,23 @@ Loader_length EQU 0
; LD I,A
; ; IM 2 - ¯®ª  ­¥ ¢ª«îç ¥¬, ¯à®æ¥¤ãà  ¯à¥à뢠­¨ï ¯à룠¥â ¢ ªíè,   ®­ ­¥ ¢áâ ¢«¥­ ¨ ­¥ ¯à®£à㦥­
; ENDIF
CALL MAIN
;------------------------------------------------------------------------
; E)eeeeee X) xx I)iiii T)tttttt
; E) X) xx I) T)
; E)eeeee X)xx I) T)
; E) X)xx I) T)
; E) X) xx I) T)
; E)eeeeee X) xx I)iiii T)
;------------------------------------------------------------------------
;----[LP_OPEN_S]------------------------
; Žâªàë⨥ áâ ­¤ àâ­ëå ®ª®­
LD HL,5104H
LD HL,#5104
LD E,0 ; win_flag - ä« £¨ ®ª­ :
; bit 0 ®¯à¥¤¥«ï¥â áâà ­¨æã ०¨¬ , ª®â®à ï ¡ã¤¥â
; ®âªàëâ  ¯®á«¥ ¨á¯®«­¥­¨ï ä㭪樨
@ -280,8 +294,8 @@ SET_PAL:
IN A,(SLOT3)
PUSH AF
LD A,#FF
MemPatch_PalitrePage equ $-1
MemPatch_PalitrePage+1:
LD A,#FF
OUT (SLOT3),A
LD HL,#C000
@ -316,9 +330,9 @@ CLEAR_GRAF_SCR:
OUT (SLOT3),A
LD A,0
OUT (RGADR),A
OUT (PORT_Y),A
LD SP,#C040+640
LD SP,#C040 + 640
LD B,640/4
;!!!!!!!!!!![®¯â¨¬¨§¨à®¢ âì]!!!!!!!!!!!!
@ -336,8 +350,8 @@ LOOP_CLS:
DJNZ LOOP_CLS
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MemPatch_SPSave2 EQU $+1
LD SP,0
MemPatch_SPSave2+1:
LD SP,0
POP AF
OUT (SLOT3),A
RET
@ -349,7 +363,7 @@ MemPatch_SPSave2 EQU $+1
; LD A,7
; OUT (BorderColor),A
; XOR A
; OUT (RGADR),A
; OUT (PORT_Y),A
; LD A,2
; LD HL,#4000
@ -427,12 +441,13 @@ CLEAR_SP_PAL:
LOOP_PAL_ALL:
PUSH BC
LD BC,RGADR
LD BC,PORT_Y
LOOP_PAL_C:
OUT (C),B
;
PAL_RESES_ADR+1: LD HL,#C3F0
PAL_RESES_ADR+1:
LD HL,#C3F0
;
LD D,16
@ -478,10 +493,10 @@ MAIN:
CALL INIT_TABLE
RET C
IN A,(RGADR)
IN A,(PORT_Y)
LD (SAVE_RGA),A
LD A,#C0
OUT (RGADR),A
OUT (PORT_Y),A
CALL RECALC_MAP
;----!!!!!!!!!!!!!!!!!!!!!!!!!----------
@ -490,7 +505,7 @@ MAIN:
LD A,(SAVE_RGA)
OUT (RGADR),A
OUT (PORT_Y),A
ret c ; ­ã¦­® «¨???!!!
@ -527,16 +542,40 @@ MAIN:
LD B,9 ; £à ä¨ç¥áª®¥ ®ª­® 1, HL - ¯®«®¦¥­¨¥ ®ª­ 
LD C,BIOS.LP_OPEN_S
RST ToBIOS
/*
LD A,Dss.SetVMod.grf320x256
LD BC,Dss.SetVMod.Screen_0
RST ToDSS
LD A,Dss.SetVMod.grf320x256
LD BC,Dss.SetVMod.Screen_1
RST ToDSS
;£à ä¨ç¥áª®¥ ®ª­® 0
PIC_320X256_1:
DB 40,32,0,0,32,0,08,0
DB 40,32,0,0,96,0,48,0
DB 40,32,0,0,32,0,00,0 ;4
DB 40,32,0,0,96,0,40,0 ;6
;£à ä¨ç¥áª®¥ ®ª­® 1
PIC_320X256_2:
; 320x256. £à ä¨ç¥áª®¥, 0-© íªà ­
TAB_320x256_0
; 320x256. £à ä¨ç¥áª®¥, 1-© íªà ­
TAB_320x256_1
*/
;---------------------------------------
LD A,1
OUT (RGMOD),A
OUT (SCREEN_SWITCH),A
;----[¯¥à¥¡à®á ç á⨠ª®¤  ¢ FastRAM]----
IN A,(SLOT3)
PUSH AF
LD A,#FF
MemPatch_D2_FRAM_page equ $-1
MemPatch_D2_FRAM_page+1:
LD A,#FF
OUT (SLOT3),A
IF YesSound
@ -685,11 +724,11 @@ PAUS_START:
JR PAUS_START
HELP_:
CALL FIRE_X
LD HL,300H
LD HL,#0300
LD (X_SPEED),HL
LD HL,382H
LD HL,#0382
LD (Y_SPEED),HL
LD HL,500H
LD HL,#0500
LD (A_SPEED),HL
JR DM_LOOP
@ -808,10 +847,10 @@ CONT_WORK:
JP DM_LOOP
SCR_SWITCH:
IN A,(RGMOD)
IN A,(SCREEN_SWITCH)
AND 1
XOR 1
OUT (RGMOD),A
OUT (SCREEN_SWITCH),A
LD DE,#C040
JR Z,SET_1
@ -993,7 +1032,6 @@ SND_C1: DW 1720H ;
SND_C2: DW 0
SET_SND_FILE:
IFN YesSound
ret
ENDIF
@ -1019,10 +1057,7 @@ SET_SND_FILE:
RET
SWITCH_SND:
;
LD DE,NAME1
NAME_S EQU $-2
;
NAME_S+1: LD DE,NAME1
CALL SET_SND_FILE
JR C,SWITCH_X
@ -1046,7 +1081,6 @@ FILE_DATA:
DW 0 ; ⥪ã騩 ­®¬¥à ᥪâ®à  ¢ ª« áâ¥à¥
;
OPEN_FILE: ; DE - name
;
CALL FIND_FILE
RET C
@ -1092,12 +1126,13 @@ SECT_X:
LD DE,(MSD_DATS+8)
ADD IX,DE
LD DE,(MSD_DATS+10)
ADC HL,DE ; HL:IX - ­®¬¥à ¯¥à¢®£® ᥪâ®à  ä ©« 
ADC HL,DE ; HL:IX - ­®¬¥à ¯¥à¢®£® ᥪâ®à  ä ©« 
AND A
RET
;
FIND_FILE: ;DE - name - 11 ᨬ¢®«®¢
;DE - name - 11 ᨬ¢®«®¢
FIND_FILE:
;
LD C,SLOT3
IN B,(C)
@ -1122,20 +1157,20 @@ NAME_LOOP:
POP DE
LD A,L
AND 0E0H
AND #E0
LD L,A
POP BC
OUT (C),B
AND A
RET ; HL - ¤ ­­ë¥ ä ©«  ¢ áâà ­¨æ¥ 6
RET ; HL - ¤ ­­ë¥ ä ©«  ¢ áâà ­¨æ¥ 6
NEXT_NAME:
POP DE
LD A,L
AND 0E0H
AND #E0
LD L,A
LD BC,020H
LD BC,#20
ADD HL,BC
LD A,(HL)
AND A
@ -1163,7 +1198,7 @@ MemPatch_DOOM2_SndPage EQU $+1
LD A,0
OUT (SLOT3),A
IN A,(RGADR)
IN A,(PORT_Y)
PUSH AF
EX AF,AF'
@ -1171,7 +1206,7 @@ MemPatch_DOOM2_SndPage EQU $+1
DI
POP AF
OUT (RGADR),A
OUT (PORT_Y),A
POP AF
OUT (SLOT3),A
POP AF
@ -1385,7 +1420,7 @@ NEXT_HL_FFING:
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
; âãâ ¢ëà ¢­¨¢ ­¨¥ ­  0 ¢ ¬« ¤è¥¬
; ¡¨â¥  ¤à¥á 
TABLE_MAIN: DS 37 ; ¡ãä¥à ¯®¤ áâ ­¨æë ä ©«  resurses.res +1
TABLE_MAIN: DS 37 ; ¡ãä¥à ¯®¤ áâà ­¨æë ä ©«  resurses.res +1
TABLE_PIC: DS 6
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

@ -1 +1 @@
Subproject commit a15861c07cab60eaf09c28226d0c7761b4fd8235
Subproject commit b5606d6db7c0eecf2e3b3da53040af2432a40569