mirror of
https://github.com/Tolik-Trek/DOOM2.git
synced 2026-06-15 17:11:34 +03:00
200 lines
5.6 KiB
Plaintext
200 lines
5.6 KiB
Plaintext
; E: Doom.trd disk 0
|
||
; F: *.XXX disk 1
|
||
; G: mapw*.d2 disk 2
|
||
; H: my_tab*.* disk 3
|
||
; ORG 100h
|
||
; DISP 8000h ; .PHASE 8000h
|
||
;COPY_SLOT1 EQU 04105H
|
||
;DISK_TYPE EQU 0C100H ; переадресация дисков
|
||
;RAMD_KEYS EQU 0C180H ; ключи RAM-Disks
|
||
;OPER_DISK EQU 05CF6H
|
||
;RAMD_FAT EQU 0C200H ; расположение блоков RAM-Disk-ов
|
||
;#######################################
|
||
|
||
|
||
;---------------------------------------
|
||
ORG #8004
|
||
;
|
||
X_COORD: DW 090*256
|
||
Y_COORD: DW 090*256
|
||
ANGLE_A: DW -160*32+0C000h
|
||
ANGLE_R: DW 0000
|
||
|
||
X_SPEED: DW 300H
|
||
Y_SPEED: DW 302H
|
||
A_SPEED: DW 200H
|
||
|
||
TABLE_TRACE: DS 33 ; таблица трассировки/банки таблицы
|
||
TABLE_WALL: DS 33
|
||
; #50 bytes
|
||
;---------------------------------------
|
||
|
||
;---------------------------------------
|
||
ORG #8078
|
||
;
|
||
NAMES: DB 6,1
|
||
LAST_KEY: DB 0
|
||
; 03 bytes
|
||
;---------------------------------------
|
||
|
||
;---------------------------------------
|
||
ORG #8080 ; Обязательно для старой процедуры чтения музла
|
||
;
|
||
NAME1: DB "_1X62 CBL "
|
||
NAME2: DB "2NDREAL3CBL "
|
||
NAME3: DB "_ICT2 CBL "
|
||
;NAME4: DB "MISS2 CBL "
|
||
;NAME5: DB "5EL CBL "
|
||
NAME6: DB "_UNNY2 CBL "
|
||
NAME8: DB "94956C CBL "
|
||
NAME9: DB "_ENI511CCBL "
|
||
;
|
||
; #60 bytes
|
||
;---------------------------------------
|
||
|
||
|
||
|
||
;---------------------------------------
|
||
ORG #8100 ; Выравнивание на непереполнение младшего бита адреса
|
||
; ; точно не больше #DC должен быть младший бит
|
||
;эти буфера завязаны на размер TRD в
|
||
; страницах по 16кб + 1 байт закрывашка
|
||
;TABLE_MAIN: DS 37
|
||
TABLE_MAIN: DS 33
|
||
TABLE_PIC: DS 6
|
||
;---------------------------------------
|
||
|
||
|
||
|
||
;---------------------------------------
|
||
ORG 8121
|
||
code:
|
||
;---------------------------------------
|
||
|
||
|
||
|
||
;---------------------------------------
|
||
ORG #842B
|
||
;
|
||
MONSTR_DAT:
|
||
M_PAGE EQU $-MONSTR_DAT
|
||
DB 0 ; страница с общими данными монстра (картинки)
|
||
; признак конца таблицы монстров
|
||
M_ADR EQU $-MONSTR_DAT
|
||
DW 4000h ; адрес в странице
|
||
;
|
||
M_HIGH EQU $-MONSTR_DAT
|
||
DB 40h ; вертикальное положение
|
||
;
|
||
M_HOR EQU $-MONSTR_DAT
|
||
DW 160 ; горизонтальное положение
|
||
;
|
||
M_VAR2 EQU $-MONSTR_DAT
|
||
DW 08 ; счетчик переключений
|
||
;
|
||
M_XADD EQU $-MONSTR_DAT
|
||
DW 100h ; x-add параметры
|
||
DB 40h,40h ; ширина-высота ???
|
||
;
|
||
M_X EQU $-MONSTR_DAT
|
||
DW 0700h ; координата X
|
||
;
|
||
M_Y EQU $-MONSTR_DAT
|
||
DW 0700h ; координата Y
|
||
;
|
||
M_VX EQU $-MONSTR_DAT
|
||
DW 0000h ; скорость движения по X
|
||
;
|
||
M_VY EQU $-MONSTR_DAT
|
||
DW 0000h ; скорость движения по Y
|
||
;
|
||
M_TYPE EQU $-MONSTR_DAT
|
||
DW 0 ; тип монстра уничтожаемый, неуничтожаемый
|
||
; исчезающий при ударе о стенку, не исчезающий
|
||
; исчезающий при соприкосновении с игроком,
|
||
; не исчезающий....
|
||
|
||
M_VAR EQU $-MONSTR_DAT
|
||
DB 0 ; Переменные конкретного монстра
|
||
;
|
||
M_VAR3 EQU $-MONSTR_DAT
|
||
DB 0
|
||
; Переменная монстра бит 0,1 - деление по ширине
|
||
; bit 2 - переключать по старшему
|
||
; bit 3 -
|
||
; bit 4
|
||
; bit 5
|
||
; bit 6 - показывать один цикл
|
||
; bit 7 - не выводить
|
||
;
|
||
M_VAR4 EQU $-MONSTR_DAT
|
||
DB 0 ; Переключение монстра ADD параметр
|
||
|
||
MONSTR_D_LEN EQU $-MONSTR_DAT ;следующий монстр
|
||
DB 0 ; - отсутствует
|
||
;
|
||
;****************************************
|
||
; IX+0 - страница стенки
|
||
; IX+1,2 - адрес стенки в странице
|
||
; IX+3 - положение по вертикали - задает масштаб
|
||
; IX+4,5 - положение по горизонтали
|
||
|
||
; IX+6,7 - reserved
|
||
; IX+8,9 - X-add-parameter (коэфициент масштабирования по Y)
|
||
; IX+10 - реальная ширина стенки ???
|
||
; IX+11 - реальная высота стенки ???
|
||
|
||
WALL_DATS:
|
||
DB 0
|
||
DW #4000
|
||
DB #40
|
||
DW #00A0 ; 160
|
||
DB 0,0
|
||
|
||
MONSTR_DATS:
|
||
DB 0,0,0,0,0,0,0,0
|
||
;
|
||
; **************************************
|
||
;
|
||
MSD_DATS:
|
||
DW 0,0,0,0
|
||
DW 0,0,0,0
|
||
|
||
CAT_PAGE EQU 15
|
||
|
||
EFF_PAGE: DB 0FFh
|
||
PAGE_M_PLACE: DB 0FFh
|
||
FIRE_PAGE: DB 0FFh
|
||
BAR_PAGE: DB 0FFh
|
||
BFGF_PAGE: DB 0FFh
|
||
|
||
MONSTR_END_T: DW MONSTR_TABLE
|
||
;---------------------------------------
|
||
|
||
|
||
|
||
;---------------------------------------
|
||
ORG #86F0
|
||
;
|
||
db 'flc C',0,80h,0,80H,80H,2,1
|
||
;
|
||
PALITRE:
|
||
;----[Place for PAL!!!]-----------------
|
||
incbin "pal.bin" ; размер #0400 байт
|
||
;---------------------------------------
|
||
|
||
|
||
|
||
;---------------------------------------
|
||
ORG #8B00
|
||
;
|
||
RECALC_MAP: ; пересчет карты на реальные номера стенок
|
||
;---------------------------------------
|
||
|
||
|
||
|
||
;---------------------------------------
|
||
ORG #2100 ; +1100h байт к основной адресации
|
||
|
||
incbin "table.bin" ; размер #6000 байт
|
||
;--------------------------------------- |