Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/nes-warface.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2020-11-07 15:25:47 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2020-11-07 15:25:47 +0300
commit1a2949743cb8d7a53f8a1afb77bdd2c6577ca252 (patch)
tree03f730b744318705f4ada2acf36d89344d6486d8
parente40a82b54fe584f92179dc8a2b67338fa5804441 (diff)
Music offsets autodetect via hexdump
-rw-r--r--Makefile8
-rw-r--r--warface.asm7
2 files changed, 10 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 03b5a7a..527cfc3 100644
--- a/Makefile
+++ b/Makefile
@@ -75,10 +75,11 @@ SPLITTER=tools/ImageSplitter.exe
TILER=tools/NesTiler.exe
TEXT_CONVERTER=tools/TextConverter.exe
SOURCE=warface.asm
-INCLUDES=main.asm clean.asm dimming.asm text.asm nametables.asm patterns.asm buttons.asm sprites.asm
EXECUTABLE=warface.nes
MUSIC=Warface-12.nsf
MUSIC_BIN=music.bin
+MUSIC_ASM=music.asm
+INCLUDES=main.asm clean.asm dimming.asm text.asm nametables.asm patterns.asm buttons.asm sprites.asm $(MUSIC_ASM)
TITLE_IMAGE_0=title_0.png
TITLE_IMAGE_1=title_1.png
@@ -231,7 +232,7 @@ $(MUSIC_BIN):
build: $(EXECUTABLE)
clean:
- rm -f $(EXECUTABLE) *.lst *.nl *.png *.bin
+ rm -f $(EXECUTABLE) *.lst *.nl *.png *.bin $(MUSIC_ASM)
run: $(EXECUTABLE)
$(EMU) $(EXECUTABLE)
@@ -304,6 +305,9 @@ $(TEXT_3_BIN): $(TEXT_3)
$(SYMBOLS_PATTERN) $(SYMBOLS_PALETTE): $(SYMBOLS_IMAGE)
$(TILER) -i0 $(SYMBOLS_IMAGE) --enable-palettes 0 --out-pattern-table0 $(SYMBOLS_PATTERN) --out-palette0 $(SYMBOLS_PALETTE) --bgcolor #000000
+$(MUSIC_ASM): $(MUSIC)
+ printf "NSF_LOAD_ADDR .equ `hexdump $(MUSIC) --skip 8 --length 2 --format '"$$%X"'`\nNSF_INIT_ADDR .equ `hexdump $(MUSIC) --skip 10 --length 2 --format '"$$%X"'`\nNSF_PLAY_ADDR .equ `hexdump $(MUSIC) --skip 12 --length 2 --format '"$$%X"'`" > music.asm
+
write: $(EXECUTABLE)
tools\FamicomDumper.exe script --csfile tools\WriteWarface.cs --sound
diff --git a/warface.asm b/warface.asm
index b0778b2..11f3326 100644
--- a/warface.asm
+++ b/warface.asm
@@ -48,7 +48,8 @@ SYMBOL_COUNTER .rs 1 ; счтётчик напечатанных симво
SPRITES .rs 256 ; тут хранятся спрайты
.bank 12 ; PRG банк #12, середина PRG
- .org $9152
+ .include "music.asm"
+ .org NSF_LOAD_ADDR
music:
.incbin "music.bin" ; Музыка
@@ -100,7 +101,7 @@ IRQ:
lda #BANK(music)/2
sta $6000
; играем музыку
- jsr $A99C
+ jsr NSF_PLAY_ADDR
; читаем контроллер
lda #BANK(read_controller)/2
sta $6000
@@ -168,7 +169,7 @@ init_music:
; в регистре X задаётся регион: PAL или NTSC
ldx <CONSOLE_TYPE
; инициализируем музыкальный проигрыватель
- jsr $A999
+ jsr NSF_INIT_ADDR
pla
jsr select_prg_bank
rts