New old RMT player and bugfix

This commit is contained in:
Pecusx
2022-08-09 22:32:16 +02:00
parent 664dc1568d
commit 192b1b01dc
8 changed files with 1446 additions and 30 deletions
+41
View File
@@ -0,0 +1,41 @@
STEREOMODE equ 0
;* --------BEGIN--------
;* C:\Atari\rmt\rmt128\aaa.rmt
FEAT_SFX equ 1
FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable
FEAT_NOSTARTINGSONGLINE equ 0
FEAT_INSTRSPEED equ 1
FEAT_CONSTANTSPEED equ 0 ;(18 times)
FEAT_COMMAND1 equ 1 ;(10 times)
FEAT_COMMAND2 equ 0 ;(0 times)
FEAT_COMMAND3 equ 0 ;(0 times)
FEAT_COMMAND4 equ 0 ;(0 times)
FEAT_COMMAND5 equ 0 ;(0 times)
FEAT_COMMAND6 equ 1 ;(2 times)
FEAT_COMMAND7SETNOTE equ 0 ;(0 times)
FEAT_COMMAND7VOLUMEONLY equ 0 ;(0 times)
FEAT_PORTAMENTO equ 0 ;(0 times)
FEAT_FILTER equ 1 ;(22 times)
FEAT_FILTERG0L equ 1 ;(13 times)
FEAT_FILTERG1L equ 1 ;(22 times)
FEAT_FILTERG0R equ 0 ;(0 times)
FEAT_FILTERG1R equ 0 ;(0 times)
FEAT_BASS16 equ 0 ;(0 times)
FEAT_BASS16G1L equ 0 ;(0 times)
FEAT_BASS16G3L equ 0 ;(0 times)
FEAT_BASS16G1R equ 0 ;(0 times)
FEAT_BASS16G3R equ 0 ;(0 times)
FEAT_VOLUMEONLYG0L equ 0 ;(0 times)
FEAT_VOLUMEONLYG2L equ 0 ;(0 times)
FEAT_VOLUMEONLYG3L equ 0 ;(0 times)
FEAT_VOLUMEONLYG0R equ 0 ;(0 times)
FEAT_VOLUMEONLYG2R equ 0 ;(0 times)
FEAT_VOLUMEONLYG3R equ 0 ;(0 times)
FEAT_TABLETYPE equ 0 ;(0 times)
FEAT_TABLEMODE equ 0 ;(0 times)
FEAT_TABLEGO equ 0 ;(0 times)
FEAT_AUDCTLMANUALSET equ 0 ;(0 times)
FEAT_VOLUMEMIN equ 0 ;(0 times)
FEAT_EFFECTVIBRATO equ 1 ;(1 times)
FEAT_EFFECTFSHIFT equ 0 ;(0 times)
;* --------END--------
+1
View File
@@ -1,3 +1,4 @@
STEREOMODE equ 0
;* --------BEGIN--------
;* C:\Atari\rmt\rmt128\aaa.rmt
FEAT_SFX equ 1
File diff suppressed because it is too large Load Diff
+45 -27
View File
@@ -40,7 +40,7 @@
.endm
icl 'definitions.asm'
icl 'artwork/sfx/rmt_feat.asm'
; icl 'artwork/sfx/rmt_feat.asm'
.zpvar xdraw .word = $80 ;variable X for plot
@@ -87,25 +87,30 @@
;.zpvar dliA .byte
;.zpvar dliX .byte
;.zpvar dliY .byte
.zpvar sfx_effect .byte
;--------------
displayposition = modify
;* RMT ZeroPage addresses
.zpvar p_tis .word
.zpvar p_trackslbstable .word
.zpvar p_trackshbstable .word
.zpvar p_song .word
.zpvar ns .word
.zpvar nr .word
.zpvar nt .word
.zpvar reg1 .byte
.zpvar reg2 .byte
.zpvar reg3 .byte
.zpvar tmp .byte
IFT FEAT_COMMAND2
.zpvar frqaddcmd2 .byte
EIF
p_instrstable = p_tis
.zpvar RMT_Zero_Page_V .byte
; .zpvar p_tis .word
; .zpvar p_trackslbstable .word
; .zpvar p_trackshbstable .word
; .zpvar p_song .word
; .zpvar ns .word
; .zpvar nr .word
; .zpvar nt .word
; .zpvar reg1 .byte
; .zpvar reg2 .byte
; .zpvar reg3 .byte
; .zpvar tmp .byte
; IFT FEAT_COMMAND2
; .zpvar frqaddcmd2 .byte
; EIF
; p_instrstable = p_tis
displayposition = modify
;-------------------------------
icl 'lib/atari.hea'
@@ -143,6 +148,18 @@ FirstSTART
sta variablesToInitialize,y
dey
bpl @-
; RMT INIT
lda #$f0 ;initial value
sta RMTSFXVOLUME ;sfx note volume * 16 (0,16,32,...,240)
lda #$ff ;initial value
sta sfx_effect
lda #0
jsr RmtSongSelect
VMAIN VBLinterrupt,7 ;jsr SetVBL
START
; Startup sequence
@@ -990,17 +1007,17 @@ MakeTanksVisible
mva #1 CurrentRoundNr ;we start from round 1
mva #6 NTSCcounter
; RMT INIT
lda #$f0 ;initial value
sta RMTSFXVOLUME ;sfx note volume * 16 (0,16,32,...,240)
; ; RMT INIT
; lda #$f0 ;initial value
; sta RMTSFXVOLUME ;sfx note volume * 16 (0,16,32,...,240)
;
lda #$ff ;initial value
sta sfx_effect
; lda #$ff ;initial value
; sta sfx_effect
;
lda #0
jsr RmtSongSelect
; lda #0
; jsr RmtSongSelect
;
VMAIN VBLinterrupt,7 ;jsr SetVBL
; VMAIN VBLinterrupt,7 ;jsr SetVBL
rts
.endp
@@ -1141,7 +1158,7 @@ itsPAL
bmi lab2
asl @ ; * 2
tay ;Y = 2,4,..,16 instrument number * 2 (0,2,4,..,126)
ldx #0 ;X = 0 channel (0..3 or 0..7 for stereo module)
ldx #3 ;X = 0 channel (0..3 or 0..7 for stereo module)
lda #0 ;A = 0 note (0..60)
bit noSfx
smi:jsr RASTERMUSICTRACKER+15 ;RMT_SFX start tone (It works only if FEAT_SFX is enabled !!!)
@@ -1550,8 +1567,9 @@ TankFont
; reserved space for RMT player
.ds $0320
.align $100
PLAYER
.ECHO 'PLAYER: ',*
icl 'artwork/sfx/rmtplayr_game.asm'
icl 'artwork/sfx/rmtplayr.a65'
MODUL equ $b000 ;address of RMT module
opt h- ;RMT module is standard Atari binary file already
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -2010,7 +2010,7 @@ FastTank
jsr GameOverResultsClear
rts
RandomizeTankPos
randomize 8 32
randomize 10 32 ; 10 not 8 - barrel !! :)
sta Ytankstable,x
randomize 0 180
sta AngleTable,x
-2
View File
@@ -46,8 +46,6 @@ isInventory .ds 1 ; 0 - purchase, $ff - inventory
;--------------
drawFunction .ds 1 ; 0 - plot, %10000000 - LineLength (N), %01000000 - DrawCheck (V)
;--------------
sfx_effect .ds 1
;--------------
noDeathCounter .ds 1
;--------------
OptionsY .ds 1 ;vertical position of cursor on Options screen
+2
View File
@@ -283,6 +283,7 @@ NoLowerCircle
.endp
; ------------------------
.proc napalm
mva #sfx_napalm sfx_effect
inc FallDown2
mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width)
jsr CalculateExplosionRange
@@ -291,6 +292,7 @@ NoLowerCircle
.endp
; ------------------------
.proc hotnapalm
mva #sfx_napalm sfx_effect
inc FallDown2
mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width)
jsr CalculateExplosionRange