starting to write some music
This commit is contained in:
parent
068d1267d7
commit
2e155a9a2c
BIN
buttons.chr
BIN
buttons.chr
Binary file not shown.
99
kodiak.tal
99
kodiak.tal
|
@ -1,8 +1,6 @@
|
|||
( kodiak.tal )
|
||||
|
||||
( TODO )
|
||||
( * restart/quit game button )
|
||||
( * automatically moving safe cards to foundation? )
|
||||
( * make bear react to moving cards )
|
||||
( * move cards back from foundation? )
|
||||
( * music? )
|
||||
|
@ -14,6 +12,7 @@
|
|||
|00 @System [ &vect $2 &expansion $2 &title $2 &metadata $2 &r $2 &g $2 &b $2 ]
|
||||
|10 @Console [ &vect $2 &r $1 &exec $2 &mode $1 &dead $1 &exit $1 &w $1 ]
|
||||
|20 @Screen [ &vect $2 &w $2 &h $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &px $1 &sprite $1 ]
|
||||
|30 @Audio0 [ &vect $2 &pos $2 &out $1 &dur $2 &pad $1 &adsr $2 &len $2 &addr $2 &vol $1 &pitch $1 ]
|
||||
|80 @Controller [ &vect $2 &button $1 &key $1 &fn $1 ]
|
||||
|90 @Mouse [ &vect $2 &x $2 &y $2 &state $1 &pad $3 &scrollx $2 &scrolly $2 ]
|
||||
|a0 @File1 [ &vect $2 &ok $2 &stat $2 &del $1 &append $1 &name $2 &len $2 &r $2 &w $2 ]
|
||||
|
@ -58,7 +57,8 @@
|
|||
&y0 $2 ( starting y coord )
|
||||
&x1 $2 ( ending x coord )
|
||||
&y1 $2 ] ( ending y coord )
|
||||
@audio $1 ( is audio enabled? )
|
||||
@audio [ $1 ( is audio enabled? )
|
||||
&pos $2 ] ( position in music )
|
||||
|
||||
|0100
|
||||
|
||||
|
@ -71,6 +71,22 @@
|
|||
#0100 .Screen/w DEO2
|
||||
#00c0 .Screen/h DEO2
|
||||
|
||||
( set up vectors )
|
||||
;on-mouse .Mouse/vect DEO2
|
||||
;on-key .Controller/vect DEO2
|
||||
;on-refresh .Screen/vect DEO2
|
||||
;on-audio .Audio0/vect DEO2
|
||||
|
||||
( set up music )
|
||||
#0000 .audio/pos STZ2 ( ; music position )
|
||||
#0231 .Audio0/adsr DEO2 ( ; 6/15 second )
|
||||
#00a0 .Audio0/dur DEO2
|
||||
#0008 .Audio0/len DEO2 ( ; 2 bytes long )
|
||||
;square .Audio0/addr DEO2 ( ; square wave )
|
||||
#77 .Audio0/vol DEO ( ; about 50% volume )
|
||||
|
||||
( #00 .Audio0/pitch DEO ( start ) )
|
||||
|
||||
reset BRK
|
||||
|
||||
@reset
|
||||
|
@ -88,14 +104,8 @@
|
|||
|
||||
shuffle-stock
|
||||
deal-tableau
|
||||
|
||||
( TODO: clear foreground )
|
||||
draw
|
||||
|
||||
;on-mouse .Mouse/vect DEO2
|
||||
;on-key .Controller/vect DEO2
|
||||
;on-refresh .Screen/vect DEO2
|
||||
|
||||
auto-move
|
||||
JMP2r
|
||||
|
||||
|
@ -228,12 +238,16 @@
|
|||
#36 .Screen/auto DEO
|
||||
#8a .Screen/sprite DEO JMP2r
|
||||
|
||||
@restart-button-addr ( -> addr* )
|
||||
game-won ?&won ;restart-button JMP2r
|
||||
&won ;new-game-button JMP2r
|
||||
|
||||
@audio-button-addr ( -> addr* )
|
||||
.audio LDZ ?&on ;audio-off-button JMP2r
|
||||
&on ;audio-on-button JMP2r
|
||||
|
||||
@draw-buttons ( -> )
|
||||
#0008 #00b4 ;restart-button draw-button
|
||||
#0008 #00b4 restart-button-addr draw-button
|
||||
#0030 #00b4 ;quit-button draw-button
|
||||
#0058 #00b4 audio-button-addr draw-button
|
||||
#0080 #00b4 ;about-button draw-button
|
||||
|
@ -415,6 +429,22 @@
|
|||
.move #0e initialize ( ; zero out move )
|
||||
post-move !draw ( ; finish move and draw )
|
||||
|
||||
@stop-audio ( -> )
|
||||
#00 .audio STZ #00 .Audio0/pitch DEO JMP2r
|
||||
|
||||
@start-audio ( -> )
|
||||
#01 .audio STZ #0000 .audio/pos STZ2 !play-audio
|
||||
|
||||
@play-audio ( -> )
|
||||
.audio/pos LDZ2 ( pos* )
|
||||
;music OVR2 ADD2 LDA ( pos* pitch^ )
|
||||
.Audio0/pitch DEO ( pos* )
|
||||
INC2 #0007 AND2 ( )
|
||||
.audio/pos STZ2 JMP2r ( )
|
||||
|
||||
@on-audio ( -> brk )
|
||||
.audio LDZ ?{ BRK } play-audio BRK
|
||||
|
||||
@on-refresh ( -> brk )
|
||||
.move/card LDZ #00 EQU ?{ update-move }
|
||||
on-refresh-bear ( ; possibly refresh bear )
|
||||
|
@ -423,11 +453,11 @@
|
|||
|
||||
@on-refresh-bear ( -> )
|
||||
.frame LDZ
|
||||
DUP #e8 NEQ ?{ ;sprites #0040 ADD2 !&update }
|
||||
DUP #f0 NEQ ?{ ;sprites #0080 ADD2 !&update }
|
||||
DUP #f8 NEQ ?{ ;sprites #0040 ADD2 !&update }
|
||||
DUP #00 NEQ ?{ ;sprites !&update }
|
||||
JMP2r
|
||||
DUP #e8 NEQ ?{ POP ;sprites #0040 ADD2 !&update }
|
||||
DUP #f0 NEQ ?{ POP ;sprites #0080 ADD2 !&update }
|
||||
DUP #f8 NEQ ?{ POP ;sprites #0040 ADD2 !&update }
|
||||
DUP #00 NEQ ?{ POP ;sprites !&update }
|
||||
POP JMP2r
|
||||
&update .Screen/addr DEO2 ( ; s/addr<-addr )
|
||||
#0098 .Screen/y DEO2 ( ; s/x<-0x98 )
|
||||
#00e8 .Screen/x DEO2 ( ; s/y<-0xe8 )
|
||||
|
@ -738,9 +768,19 @@
|
|||
&audio POP2 toggle-audio #01 JMP2r
|
||||
&about POP2 #010e DEO #01 JMP2r
|
||||
|
||||
@game-won ( -> bool^ )
|
||||
.foundation #04 OVR ADD SWP ( lim^ start^ )
|
||||
&loop ( lim^ pos^ )
|
||||
LDZk #0f AND #0d NEQ ?&no ( lim^ pos^ )
|
||||
INC GTHk ?&loop ( lim^ pos+1^ )
|
||||
POP2 #01 JMP2r ( 1^ )
|
||||
&no POP2 #00 JMP2r ( 0^ )
|
||||
|
||||
@toggle-audio ( -> )
|
||||
#0001 .audio LDZ JMP SWP POP .audio STZ
|
||||
draw-buttons ( !draw-curr-mouse ) JMP2r
|
||||
.audio LDZ ?&disable
|
||||
start-audio !&done
|
||||
&disable stop-audio
|
||||
&done !draw-buttons
|
||||
|
||||
@min ( x^ y^ -> min[x,y]^ )
|
||||
LTHk JMP SWP POP JMP2r
|
||||
|
@ -797,7 +837,7 @@
|
|||
SWP #0f AND SWP STZ JMP2r ( ; zp<-face )
|
||||
|
||||
@post-move ( -> )
|
||||
auto-move JMP2r
|
||||
auto-move game-won ?draw-buttons JMP2r
|
||||
|
||||
@on-click-up ( -> )
|
||||
.Mouse/state DEI #ff EOR ( not-state^ )
|
||||
|
@ -853,3 +893,26 @@
|
|||
ff ff ff ff ff ff ff ff ff ce 55 4d 55 4e ff ff
|
||||
ff ff ff ff ff ff ff ff ff d4 56 56 56 c6 ff ff
|
||||
fe ff ff ff ff ff ff fe fe 7f ff ff ff ff ff fe
|
||||
|
||||
@new-game-button
|
||||
7f ff ff ff ff ff ff 7f 7f 99 ab a9 ab a9 ff 7f
|
||||
ff ff ff ff ff ff ff ff ff 57 56 56 56 af ff ff
|
||||
ff ff ff ff ff ff ff ff ff 37 ea a2 aa 2a ff ff
|
||||
fe ff ff ff ff ff ff fe fe 59 ab a9 ab a9 ff fe
|
||||
|
||||
@square ff ff ff ff ff 00 00 00
|
||||
|
||||
( C C# D D# E F F# G G# A A# B )
|
||||
( 01 02 03 04 05 06 07 08 09 0a 0b )
|
||||
( 0c 0d 0e 0f 10 11 12 13 14 15 16 17 )
|
||||
( 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 )
|
||||
( 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f )
|
||||
( 30 31 32 33 34 35 36 37 38 39 3a 3b )
|
||||
( 3c 3d 3e 3f 40 41 42 43 44 45 46 47 )
|
||||
( 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 )
|
||||
( 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f )
|
||||
( 60 61 62 63 64 65 66 67 68 69 6a 6b )
|
||||
( 6c 6d 6e 6f 70 71 72 73 74 75 76 77 )
|
||||
( 78 79 7a 7b 7c 7d 7e 7f )
|
||||
|
||||
@music 18 18 1a 1b 1f 24 1a 1b
|
||||
|
|
Loading…
Reference in New Issue