--- a/sound/FXHammer.asm +++ b/sound/FXHammer.asm @@ -1,166 +1,13 @@ +; Stubs for the FX Hammer sound effect player (Aleksi Eeben), which the FredyGames build leaves out: +; its redistribution terms are not stated. Door and knock sound effects are silent in this build. -; Disassembly of Aleksi Eeben's FX Hammer SFX player +SECTION "FX Hammer",ROMX -SECTION "FX Hammer",ROMX,ALIGN[8] - -FXHammerData:: -INCBIN "sound/SFXData.bin" - -; thumbprint (this could be removed to save space) - db "FX HAMMER Version 1.0 (c)2000 Aleksi Eeben (email:aleksi@cncd.fi)" - - ; Call with SFX ID in c FXHammer_Trig:: - ld b,high(FXHammerData) - ld hl,FXHammer_RAM1 - ld a,[bc] - cp [hl] - jr z,.continue - ret c -.continue - ld [hl],a - inc b - ld a,[bc] - swap a - and $f - ld l,low(FXHammer_SFXCH2) - or [hl] - ld [hl],a - ld a,[bc] - and $f - ld l,low(FXHammer_SFXCH4) - or [hl] - ld [hl],a - ld l,low(FXHammer_cnt) - ld a,1 - ld [hl+],a - xor a - ld [hl+],a - ld a,HIGH(FXHammerData) + 2 - add c - ld [hl],a - ret - -FXHammer_Stop: - ld hl,FXHammer_SFXCH2 - bit 1,[hl] - jr z,.jmp_4084 - ld a,$08 - ldh [rNR22],a - ld a,$80 - ldh [rNR24],a - ld [hl],1 -.jmp_4084 - ld l,low(FXHammer_SFXCH4) - set 0,[hl] - bit 1,[hl] - jr z,.jmp_4096 - ld a,$08 - ldh [rNR42],a - ld a,$80 - ldh [rNR44],a - ld [hl],1 -.jmp_4096 - ld l,low(FXHammer_RAM1) - xor a - ld [hl+],a - ld [hl],a ret - -FXHammer_Update: - xor a - ld hl,FXHammer_cnt - or [hl] - ret z - dec [hl] - ret nz - inc l - ld a,[hl+] - ld d,[hl] - ld e,a - ld a,[de] - ld l,low(FXHammer_cnt) - ld [hl-],a - or a - jr nz,.jmp_40b0 - ld [hl],a -.jmp_40b0 - ld l,low(FXHammer_SFXCH2) - bit 1,[hl] - jr z,.jmp_40e5 - inc e - ld a,[de] - or a - jr nz,.jmp_40c7 - ld [hl],1 - ld a,$08 - ldh [rNR22],a - ld a,$80 - ldh [rNR24],a - jr .jmp_40e6 -.jmp_40c7 - ld b,a - ldh a,[rNR51] - and $dd - or b - ldh [rNR51],a - inc e - ld a,[de] - ldh [rNR22],a - inc e - ld a,[de] - ldh [rNR21],a - inc e - ld a,[de] - ld b,high(FXHammerData) - ld c,a - ld a,[bc] - ldh [rNR23],a - inc c - ld a,[bc] - ldh [rNR24],a - jr .jmp_40e9 -.jmp_40e5 - inc e -.jmp_40e6 - inc e - inc e - inc e -.jmp_40e9 - ld l,low(FXHammer_SFXCH4) - bit 1,[hl] - jr z,.jmp_4119 - inc e - ld a,[de] - or a - jr nz,.jmp_4100 - ld [hl],1 - ld a,$08 - ldh [rNR42],a - ld a,$80 - ldh [rNR44],a - jr .jmp_4119 -.jmp_4100 - ld b,a - ldh a,[rNR51] - and $77 - or b - ldh [rNR51],a - inc e - ld a,[de] - ldh [rNR42],a - inc e - ld a,[de] - ldh [rNR43],a - ld a,$80 - ldh [rNR44],a - inc e - ld l,low(FXHammer_ptr) - ld [hl],e + +FXHammer_Stop:: ret -.jmp_4119 - ld l,low(FXHammer_ptr) - ld a,8 - add [hl] - ld [hl],a + +FXHammer_Update:: ret