mirror of
https://github.com/pkali/Avery_Breakout.git
synced 2026-05-20 22:33:55 +02:00
WIP music (does not work yet)
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,41 @@
|
|||||||
|
;* --------BEGIN--------
|
||||||
|
;* Z:\home\pkalinowski\Seafile\atari\projects\Avery_Breakout\art\muzyka_stripped.rmt
|
||||||
|
FEAT_SFX equ 1
|
||||||
|
FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable
|
||||||
|
FEAT_NOSTARTINGSONGLINE equ 0
|
||||||
|
FEAT_INSTRSPEED equ 1
|
||||||
|
FEAT_CONSTANTSPEED equ 5 ;(0 times)
|
||||||
|
FEAT_COMMAND1 equ 1 ;(25 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 0 ;(0 times)
|
||||||
|
FEAT_COMMAND7SETNOTE equ 0 ;(0 times)
|
||||||
|
FEAT_COMMAND7VOLUMEONLY equ 0 ;(0 times)
|
||||||
|
FEAT_PORTAMENTO equ 0 ;(0 times)
|
||||||
|
FEAT_FILTER equ 0 ;(0 times)
|
||||||
|
FEAT_FILTERG0L equ 0 ;(0 times)
|
||||||
|
FEAT_FILTERG1L equ 0 ;(0 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 1 ;(1 times)
|
||||||
|
FEAT_EFFECTVIBRATO equ 1 ;(1 times)
|
||||||
|
FEAT_EFFECTFSHIFT equ 1 ;(1 times)
|
||||||
|
;* --------END--------
|
||||||
|
|
||||||
+1356
File diff suppressed because it is too large
Load Diff
+103
-26
@@ -4,10 +4,21 @@
|
|||||||
;あめでと
|
;あめでと
|
||||||
;---------------------------------------------------
|
;---------------------------------------------------
|
||||||
|
|
||||||
|
OPT r+ ; saves 10 bytes, and probably works :) https://github.com/tebe6502/Mad-Assembler/issues/10
|
||||||
|
|
||||||
|
;---------------------------------------------------
|
||||||
|
.macro build
|
||||||
|
dta d"1.00" ; number of this build (4 bytes)
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro RMTSong
|
||||||
|
lda #:1
|
||||||
|
jsr RMTSongSelect
|
||||||
|
.endm
|
||||||
|
;---------------------------------------------------
|
||||||
icl 'lib/ATARISYS.ASM'
|
icl 'lib/ATARISYS.ASM'
|
||||||
icl 'lib/MACRO.ASM'
|
icl 'lib/MACRO.ASM'
|
||||||
|
|
||||||
EOLA = 155 ; Atari EOL code
|
|
||||||
CR_PC = 13 ; PC CR code
|
CR_PC = 13 ; PC CR code
|
||||||
LF_PC = 10 ; PC LF code
|
LF_PC = 10 ; PC LF code
|
||||||
display = $a000
|
display = $a000
|
||||||
@@ -39,8 +50,9 @@ maxBrickLines = 14 ; maximum number of lines of bricks to be eradicated
|
|||||||
.zpvar inlevel .word
|
.zpvar inlevel .word
|
||||||
.zpvar clearCount clearBallNr .byte
|
.zpvar clearCount clearBallNr .byte
|
||||||
.zpvar DLI_A DLI_X dliCount .byte
|
.zpvar DLI_A DLI_X dliCount .byte
|
||||||
|
.zpvar RMT_blocked noSfx SFX_EFFECT .byte
|
||||||
.zpvar AutoPlay .byte ; Auto Play flag ($80 - auto)
|
.zpvar AutoPlay .byte ; Auto Play flag ($80 - auto)
|
||||||
end_of_zpvars
|
RMT_zpvars = AutoPlay+1 ; POZOR!!! RMT vars go here
|
||||||
;---------------------------------------------------
|
;---------------------------------------------------
|
||||||
org $2000
|
org $2000
|
||||||
;---------------------------------------------------
|
;---------------------------------------------------
|
||||||
@@ -206,7 +218,25 @@ JNotFire
|
|||||||
sta hexDump+1
|
sta hexDump+1
|
||||||
|
|
||||||
mva #0 dliCount
|
mva #0 dliCount
|
||||||
mva #13 VSCROL
|
; mva #13 VSCROL ; FOX gfx mode only
|
||||||
|
bit RMT_blocked
|
||||||
|
bmi SkipRMTVBL
|
||||||
|
; ------- RMT -------
|
||||||
|
lda sfx_effect
|
||||||
|
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)
|
||||||
|
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 !!!)
|
||||||
|
|
||||||
|
lda #$ff
|
||||||
|
sta sfx_effect ;reinit value
|
||||||
|
lab2
|
||||||
|
jsr RASTERMUSICTRACKER+3 ;1 play
|
||||||
|
; ------- RMT -------
|
||||||
|
SkipRMTVBL
|
||||||
jmp XITVBV
|
jmp XITVBV
|
||||||
.endp
|
.endp
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
@@ -277,7 +307,9 @@ main
|
|||||||
jsr BuildLevelFromBuffer
|
jsr BuildLevelFromBuffer
|
||||||
jsr LevelScreen
|
jsr LevelScreen
|
||||||
gameloop
|
gameloop
|
||||||
|
RMTsong song_main_menu
|
||||||
jsr MainScreen
|
jsr MainScreen
|
||||||
|
RMTsong song_ingame
|
||||||
jsr PlayLevel
|
jsr PlayLevel
|
||||||
bit EndLevelFlag ; reason for end level
|
bit EndLevelFlag ; reason for end level
|
||||||
bmi EndOfLife ; end of life :)
|
bmi EndOfLife ; end of life :)
|
||||||
@@ -295,6 +327,7 @@ EndOfLife
|
|||||||
jmp gameloop
|
jmp gameloop
|
||||||
gameOver
|
gameOver
|
||||||
;game over
|
;game over
|
||||||
|
RMTSong song_game_over
|
||||||
jsr HiScoreCheckWrite
|
jsr HiScoreCheckWrite
|
||||||
jsr GameOverScreen
|
jsr GameOverScreen
|
||||||
@ lda RANDOM
|
@ lda RANDOM
|
||||||
@@ -1195,6 +1228,15 @@ brickcolorTab
|
|||||||
mva #$7C COLBAKS
|
mva #$7C COLBAKS
|
||||||
|
|
||||||
mva #0 dliCount
|
mva #0 dliCount
|
||||||
|
sta RMT_blocked
|
||||||
|
|
||||||
|
lda #$ff
|
||||||
|
sta sfx_effect
|
||||||
|
|
||||||
|
; pokeys init
|
||||||
|
lda #3 ; stereo (pseudo)
|
||||||
|
sta POKEY+$0f ; stereo
|
||||||
|
sta POKEY+$1f ; stereo
|
||||||
|
|
||||||
lda dmactls
|
lda dmactls
|
||||||
and #$fc
|
and #$fc
|
||||||
@@ -1435,7 +1477,7 @@ nextnumber
|
|||||||
inw inlevel
|
inw inlevel
|
||||||
cmp #CR_PC ; skip PC CR
|
cmp #CR_PC ; skip PC CR
|
||||||
beq nextnumber
|
beq nextnumber
|
||||||
cmp #EOLA ; Atari LF
|
cmp #EOL ; Atari LF
|
||||||
beq nextnumber2
|
beq nextnumber2
|
||||||
cmp #LF_PC ; PC LF
|
cmp #LF_PC ; PC LF
|
||||||
beq nextnumber2
|
beq nextnumber2
|
||||||
@@ -1480,7 +1522,7 @@ singlepixel
|
|||||||
inw inlevel
|
inw inlevel
|
||||||
cmp #CR_PC ; skip PC CR
|
cmp #CR_PC ; skip PC CR
|
||||||
beq singlepixel
|
beq singlepixel
|
||||||
cmp #EOLA ; Atari LF
|
cmp #EOL ; Atari LF
|
||||||
beq makeBricks
|
beq makeBricks
|
||||||
cmp #LF_PC ; PC LF
|
cmp #LF_PC ; PC LF
|
||||||
bne singlepixel
|
bne singlepixel
|
||||||
@@ -1498,7 +1540,7 @@ drawBricksLoop
|
|||||||
inw inlevel
|
inw inlevel
|
||||||
cmp #CR_PC ; skip PC CR
|
cmp #CR_PC ; skip PC CR
|
||||||
beq drawBricksLoop
|
beq drawBricksLoop
|
||||||
cmp #EOLA ; Atari LF
|
cmp #EOL ; Atari LF
|
||||||
beq EndOfLine
|
beq EndOfLine
|
||||||
cmp #LF_PC ; PC LF
|
cmp #LF_PC ; PC LF
|
||||||
beq EndOfLine ; next line
|
beq EndOfLine ; next line
|
||||||
@@ -1540,33 +1582,50 @@ LevelDataError
|
|||||||
jmp level000
|
jmp level000
|
||||||
.endp
|
.endp
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
|
.proc RmtSongSelect
|
||||||
|
; starting song line 0-255 to A reg
|
||||||
|
;--------------------------------------------------
|
||||||
|
/*
|
||||||
|
cmp #song_main_menu
|
||||||
|
beq noingame ; noMusic blocks only ingame songs
|
||||||
|
bit noMusic
|
||||||
|
spl:lda #song_silencio
|
||||||
|
noingame
|
||||||
|
*/
|
||||||
|
mvx #$ff RMT_blocked
|
||||||
|
ldx #<MODUL ; low byte of RMT module to X reg
|
||||||
|
ldy #>MODUL ; hi byte of RMT module to Y reg
|
||||||
|
jsr RASTERMUSICTRACKER ; Init
|
||||||
|
mva #0 RMT_blocked
|
||||||
|
rts
|
||||||
|
.endp
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
Menu_data
|
Menu_data
|
||||||
.byte '200',EOLA ; number of bricks in ATASCII
|
.byte '200',EOL ; number of bricks in ATASCII
|
||||||
.byte '1',EOLA ; brick size in pixels
|
.byte '1',EOL ; brick size in pixels
|
||||||
; 0 1 2 3 4 5 6 7
|
; 0 1 2 3 4 5 6 7
|
||||||
; 01234567890123456789012345678901234567890123456789012345678901234567890123456789
|
; 01234567890123456789012345678901234567890123456789012345678901234567890123456789
|
||||||
.byte EOLA
|
.byte EOL
|
||||||
.byte ' #### ## ## ####### ###### ## ##',EOLA
|
.byte ' #### ## ## ####### ###### ## ##',EOL
|
||||||
.byte ' ###### ## ## ## ## ## ## ##',EOLA
|
.byte ' ###### ## ## ## ## ## ## ##',EOL
|
||||||
.byte ' ## ## ## ## ##### ###### ####',EOLA
|
.byte ' ## ## ## ## ##### ###### ####',EOL
|
||||||
.byte ' ######## #### ## ## ## ##',EOLA
|
.byte ' ######## #### ## ## ## ##',EOL
|
||||||
.byte ' ## ## ## ####### ## ## ##',EOLA
|
.byte ' ## ## ## ####### ## ## ##',EOL
|
||||||
.byte EOLA
|
.byte EOL
|
||||||
.byte ' ##### ###### ####### #### ## ## ###### ## ## ########',EOLA
|
.byte ' ##### ###### ####### #### ## ## ###### ## ## ########',EOL
|
||||||
.byte ' ## ## ## ## ## ###### ## ## ## ## ## ## ##',EOLA
|
.byte ' ## ## ## ## ## ###### ## ## ## ## ## ## ##',EOL
|
||||||
.byte ' ##### ###### ##### ## ## #### ## ## ## ## ##',EOLA
|
.byte ' ##### ###### ##### ## ## #### ## ## ## ## ##',EOL
|
||||||
.byte ' ## ## ## ## ## ######## ## ## ## ## ## ## ##',EOLA
|
.byte ' ## ## ## ## ## ######## ## ## ## ## ## ## ##',EOL
|
||||||
.byte ' ###### ## ## ####### ## ## ## ## ###### ###### ##',EOLA
|
.byte ' ###### ## ## ####### ## ## ## ## ###### ###### ##',EOL
|
||||||
.byte EOLA
|
.byte EOL
|
||||||
.byte 0
|
.byte 0
|
||||||
Level000_data
|
Level000_data
|
||||||
.byte '100',EOLA ; '952',EOLA ; number of bricks (pixes) in ATASCII
|
.byte '100',EOL ; '952',EOL ; number of bricks (pixes) in ATASCII
|
||||||
.byte '2',EOLA ; brick size in pixels
|
.byte '2',EOL ; brick size in pixels
|
||||||
; 0 1 2 3
|
; 0 1 2 3
|
||||||
; 0123456789012345678901234567890123456789
|
; 0123456789012345678901234567890123456789
|
||||||
.byte EOLA,EOLA,EOLA
|
.byte EOL,EOL,EOL
|
||||||
:14 .byte ' ##################################',EOLA
|
:14 .byte ' ##################################',EOL
|
||||||
.byte 0
|
.byte 0
|
||||||
LevelFileBuff
|
LevelFileBuff
|
||||||
LevelFileBuffLen=(screenWidth*maxLines)+20
|
LevelFileBuffLen=(screenWidth*maxLines)+20
|
||||||
@@ -1577,7 +1636,7 @@ LevelNumber
|
|||||||
StartLevelNumber
|
StartLevelNumber
|
||||||
.byte '000'
|
.byte '000'
|
||||||
fname
|
fname
|
||||||
.byte 'D:LEVEL000.DAT',EOLA
|
.byte 'D:LEVEL000.DAT',EOL
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
EndLevelFlag
|
EndLevelFlag
|
||||||
.byte 0 ; $ff - level over, $00 - level ended
|
.byte 0 ; $ff - level over, $00 - level ended
|
||||||
@@ -1675,5 +1734,23 @@ dyDisp
|
|||||||
ballDisp
|
ballDisp
|
||||||
dta d" "
|
dta d" "
|
||||||
marginLine :40 .byte 0
|
marginLine :40 .byte 0
|
||||||
|
.align $100
|
||||||
|
PLAYER
|
||||||
|
;--------------------------------
|
||||||
|
; names of RMT instruments (sfx)
|
||||||
|
;--------------------------------
|
||||||
|
sfx_ping = $07
|
||||||
|
sfx_pong = $08
|
||||||
|
;--------------------------------
|
||||||
|
; RMT songs (lines)
|
||||||
|
;--------------------------------
|
||||||
|
song_main_menu = $00
|
||||||
|
song_ingame = $07
|
||||||
|
song_game_over = $12
|
||||||
|
|
||||||
|
icl 'art/rmtplayr.a65'
|
||||||
|
org $6000
|
||||||
|
MODUL
|
||||||
|
ins 'art/muzyka.rmt',+6
|
||||||
|
MODULEND
|
||||||
RUN main
|
RUN main
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user