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 2023-10-31 02:08:01 +10:00
parent 4f2a1ad7a7
commit 55053c05ec
3 changed files with 160 additions and 108 deletions

View File

@ -788,7 +788,7 @@ MAP_LOOP_2:
LD BC,#0100 LD BC,#0100
OUT (C),C ; Œ€˜<E28099> 1:1 OUT (C),C ; Œ€˜<E28099> 1:1
IF NORM_ACC ; IF NORM_ACC
LD B,16 LD B,16
LD A,184 LD A,184
@ -814,55 +814,55 @@ MAP_LOOP_1:
DJNZ MAP_LOOP_1 DJNZ MAP_LOOP_1
ELSE ; ELSE
LD B,16 ; LD B,16
LD A,184 ; LD A,184
MAP_LOOP_1: ; MAP_LOOP_1:
ACC_SetBlockSize ; ACC_SetBlockSize
LD C,#40 ; LD C,#40
ACC_CopyBlock ; ACC_CopyBlock
LD C,(HL) ; LD C,(HL)
ACC_Off ; ACC_Off
OUT (RGADR),A ; OUT (RGADR),A
ACC_CopyBlock ; ACC_CopyBlock
LD (DE),A ; LD (DE),A
ACC_Off ; ACC_Off
INC A ; INC A
LD L,64 ; LD L,64
ACC_CopyBlock ; ACC_CopyBlock
LD C,(HL) ; LD C,(HL)
ACC_Off ; ACC_Off
OUT (RGADR),A ; OUT (RGADR),A
ACC_CopyBlock ; ACC_CopyBlock
LD (DE),A ; LD (DE),A
ACC_Off ; ACC_Off
INC A ; INC A
LD L,64*2 ; LD L,64*2
ACC_CopyBlock ; ACC_CopyBlock
LD C,(HL) ; LD C,(HL)
ACC_Off ; ACC_Off
OUT (RGADR),A ; OUT (RGADR),A
ACC_CopyBlock ; ACC_CopyBlock
LD (DE),A ; LD (DE),A
ACC_Off ; ACC_Off
INC A ; INC A
LD L,64*3 ; LD L,64*3
ACC_CopyBlock ; ACC_CopyBlock
LD C,(HL) ; LD C,(HL)
ACC_Off ; ACC_Off
OUT (RGADR),A ; OUT (RGADR),A
ACC_CopyBlock ; ACC_CopyBlock
LD (DE),A ; LD (DE),A
ACC_Off ; ACC_Off
INC A ; INC A
INC H ; INC H
LD L,0 ; LD L,0
DJNZ MAP_LOOP_1 ; DJNZ MAP_LOOP_1
ENDIF ; ENDIF
LD BC,240 LD BC,240
EX DE,HL EX DE,HL

174
DOOM2.asm
View File

@ -8,38 +8,38 @@
; ;
;---------------------------[Defines section]--------------------------- ;---------------------------[Defines section]---------------------------
IFNDEF HARDWARE : IFNDEF ZXMAK2 : IFNDEF MAME : DEFINE HARDWARE 1 : ENDIF : ENDIF : ENDIF ; IFNDEF HARDWARE : IFNDEF ZXMAK2 : IFNDEF MAME : DEFINE HARDWARE 1 : ENDIF : ENDIF : ENDIF
IFDEF HARDWARE ; IFDEF HARDWARE
DEFINE NORM_ACC 1 ; DEFINE NORM_ACC 1
DEFINE NORM_syncPORT 1 ; DEFINE NORM_syncPORT 1
DEFINE NORM_FastRAM 1 ; DEFINE NORM_FastRAM 1
ENDIF ; ENDIF
IFDEF ZXMAK2 ; IFDEF ZXMAK2
DEFINE NORM_ACC 0 ; DEFINE NORM_ACC 0
DEFINE NORM_syncPORT 0 ; DEFINE NORM_syncPORT 0
DEFINE NORM_FastRAM 0 ; DEFINE NORM_FastRAM 0
ENDIF ; ENDIF
IFDEF MAME ; IFDEF MAME
DEFINE NORM_ACC 1 ; DEFINE NORM_ACC 1
DEFINE NORM_syncPORT 0 ; DEFINE NORM_syncPORT 0
DEFINE NORM_FastRAM 1 ; DEFINE NORM_FastRAM 1
ENDIF ; ENDIF
IFNDEF YesSound : DEFINE YesSound 0 : ENDIF IFNDEF YesSound : DEFINE YesSound 0 : ENDIF
DEFINE EXE_HEADER 1 DEFINE EXE_HEADER 1
; DEFINE NEED_LOADER 1 ; DEFINE NEED_LOADER 1
IFDEF HARDWARE ; IFDEF HARDWARE
DISPLAY "[]------[ Compilation target: Sprinter 2000 ]------[]" ; DISPLAY "[]------[ Compilation target: Sprinter 2000 ]------[]"
ENDIF ; ENDIF
IFDEF ZXMAK2 ; IFDEF ZXMAK2
DISPLAY "[]------[ Compilation target: emulator ZXMAK2 ]------[]" ; DISPLAY "[]------[ Compilation target: emulator ZXMAK2 ]------[]"
ENDIF ; ENDIF
IFDEF MAME ; IFDEF MAME
DISPLAY "[]------[ Compilation target: emulator MAME ]------[]" ; DISPLAY "[]------[ Compilation target: emulator MAME ]------[]"
ENDIF ; ENDIF
;----------------------------------------------------------------------- ;-----------------------------------------------------------------------
; ;
@ -207,12 +207,12 @@ Loader_length EQU 0
EXX EXX
; ;
IFN NORM_syncPORT ; IFN NORM_syncPORT
DI ; DI
LD A, +(high im_handler_emulator) ; LD A, +(high im_handler_emulator)
LD I,A ; LD I,A
; IM 2 - ¯®ª  ­¥ ¢ª«îç ¥¬, ¯à®æ¥¤ãà  ¯à¥à뢠­¨ï ¯à룠¥â ¢ ªíè,   ®­ ­¥ ¢áâ ¢«¥­ ¨ ­¥ ¯à®£à㦥­ ; ; IM 2 - ¯®ª  ­¥ ¢ª«îç ¥¬, ¯à®æ¥¤ãà  ¯à¥à뢠­¨ï ¯à룠¥â ¢ ªíè,   ®­ ­¥ ¢áâ ¢«¥­ ¨ ­¥ ¯à®£à㦥­
ENDIF ; ENDIF
CALL MAIN CALL MAIN
@ -245,12 +245,12 @@ SP_SAVE1:
;-----------[EXIT Procedure]------------; ‘¤¥« âì!!! ;-----------[EXIT Procedure]------------; ‘¤¥« âì!!!
RETURN_POINT: ; â®çª  ¢®§¢à â  - ¯®«­ë© á¡à®á RETURN_POINT: ; â®çª  ¢®§¢à â  - ¯®«­ë© á¡à®á
DI DI
LD A,10h LD A,#10
LD BC,1FFDh LD BC,#1FFD
OUT (C),A OUT (C),A
LD A,0A0h ; Reset page. <20> ¡®â ¥â «¨?!!!!!!!!! LD A,RESET_PAGE
OUT (SLOT3),A OUT (SLOT3),A
LD (0C000h),HL LD (#C000),HL
HALT_L: HALT_L:
DI DI
HALT HALT
@ -341,7 +341,59 @@ MemPatch_SPSave2 EQU $+1
POP AF POP AF
OUT (SLOT3),A OUT (SLOT3),A
RET RET
;---------------------------------------
;----------------------------------------------------------------------;
; FOR ZX-ROM in SLOT0
; _2L_PRIKOL:
; LD A,7
; OUT (BorderColor),A
; XOR A
; OUT (RGADR),A
; LD A,2
; LD HL,#4000
; LD B,27
; CALL .pause_loop
; LD A,0
; LD HL#4000
; LD B,27
; CALL .pause_loop
; CALL #0D6B ; CLS
; LD HL,.TXT_SP
; CALL PRINT_LOOP
; RET
; .pause_loop:
; LD (HL),A
; INC L
; PUSH DE
; POP DE
; JR NZ,.pause_loop
; INC H
; DJNZ .pause_loop
; ;
; LD HL,#8000
; .loop: PUSH HL
; POP HL
; DEC HL
; LD A,H
; OR L
; JR NZ,.loop
; RET
; .PRINT_LOOP:
; LD A,(HL)
; INC HL
; CP #FF
; RET Z
; RST #10
; JR .PRINT_LOOP
; .TXT_SP: DB #7F," 1982 Sinclair Research Ltd.",#FF
;----------------------------------------------------------------------;
; ;
FLAG: DB 0 FLAG: DB 0
@ -526,9 +578,9 @@ MemPatch_D2_FRAM_page equ $-1
ld (MemPatch_DOOM2_SndPage),a ld (MemPatch_DOOM2_SndPage),a
ENDIF ENDIF
IFN NORM_syncPORT ; IFN NORM_syncPORT
IM 2 ; ¢®â ⥯¥àì ¬®¦­® ¢ª«îç âì ; IM 2 ; ¢®â ⥯¥àì ¬®¦­® ¢ª«îç âì
ENDIF ; ENDIF
POP AF POP AF
OUT (SLOT3),A OUT (SLOT3),A
@ -726,7 +778,7 @@ DM_LOOP:
CALL CLEAR_Z_BUFER CALL CLEAR_Z_BUFER
LOOP_SCR: LOOP_SCR:
IF NORM_syncPORT ; IF NORM_syncPORT
IN A,(SCR_SyncPort) IN A,(SCR_SyncPort)
BIT 5,A BIT 5,A
JR NZ,CONT_WORK JR NZ,CONT_WORK
@ -739,10 +791,10 @@ LOOP_SCR:
JR LOOP_SCR JR LOOP_SCR
ELSE ; ELSE
EI ; EI
HALT ; HALT
ENDIF ; ENDIF
CONT_WORK: CONT_WORK:
CALL SCR_SWITCH CALL SCR_SWITCH
@ -771,7 +823,7 @@ SET_1:
PAUSE_INT: PAUSE_INT:
CALL SOUND1 CALL SOUND1
IF NORM_syncPORT ; IF NORM_syncPORT
IN A,(SCR_SyncPort) IN A,(SCR_SyncPort)
BIT 5,A BIT 5,A
JR NZ,PAUSE_INT JR NZ,PAUSE_INT
@ -782,11 +834,11 @@ PAUSE_INT1:
BIT 5,A BIT 5,A
RET NZ RET NZ
JR PAUSE_INT1 JR PAUSE_INT1
ELSE ; ELSE
EI ; EI
HALT ; HALT
ret ; ret
ENDIF ; ENDIF
PAUSE_SNDC: PAUSE_SNDC:
JP SOUND JP SOUND
@ -1843,19 +1895,19 @@ NAME9: DB "_ENI511CCBL "
; ;
IFN NORM_syncPORT ; IFN NORM_syncPORT
im_handler_emul_proc_address: ; im_handler_emul_proc_address:
di ; di
push af ; push af
call KBD_INT ; call KBD_INT
pop af ; pop af
reti ; reti
BLOCK +(#FF - low $) ; BLOCK +(#FF - low $)
im_handler_emulator: ; im_handler_emulator:
dw im_handler_emul_proc_address ; dw im_handler_emul_proc_address
ENDIF ; ENDIF
; ;
OUTEND ; ª®­¥æ ä ©«  doom2.exe OUTEND ; ª®­¥æ ä ©«  doom2.exe
; ;

@ -1 +1 @@
Subproject commit d83a6638743aa3cb68a6adf85402fabb54c61c34 Subproject commit a15861c07cab60eaf09c28226d0c7761b4fd8235