x pos via LDA

This commit is contained in:
sejo 2021-07-11 21:11:02 -05:00
parent 14490818fc
commit 991ddab3d9
2 changed files with 46 additions and 17 deletions

Binary file not shown.

View File

@ -35,9 +35,7 @@
%column-size { #08 }
%col-sep { #0024 }
%pos-x-dev0 { #000d }
%pos-x-dev1 { #005e }
%pos-x-dev2 { #00ae }
%pos-y-dev { #0010 }
( top left corner of registers column )
@ -57,6 +55,7 @@
@high-nibble $1
@low-nibble $1
@devoffset $1
@shortoffset $1
( registers )
@registers
@ -91,14 +90,36 @@
#10 .dev0/period STZ
#ff .dev0/pattern STZ
#17 .dev0/beatcount STZ
#08 .dev0/beatcount STZ
#1ff1 .dev0/adsr STZ2
#aa .dev0/volume STZ
#77 .dev0/volume STZ
#0100 .dev0/sample STZ2
#2d29 .dev0/melody STZ2
#2629 .dev0/melody #02 ADD STZ2
#2d29 .dev0/melody #04 ADD STZ2
#262d .dev0/melody #06 ADD STZ2
#10 .dev1/period STZ
#77 .dev1/pattern STZ
#08 .dev1/beatcount STZ
#1ff1 .dev1/adsr STZ2
#77 .dev1/volume STZ
#2100 .dev1/sample STZ2
#2d29 .dev1/melody STZ2
#2629 .dev1/melody #02 ADD STZ2
#2d29 .dev1/melody #04 ADD STZ2
#262d .dev1/melody #06 ADD STZ2
#10 .dev2/period STZ
#55 .dev2/pattern STZ
#08 .dev2/beatcount STZ
#1ff1 .dev2/adsr STZ2
#77 .dev2/volume STZ
#18ff .dev2/sample STZ2
#2d29 .dev2/melody STZ2
#2629 .dev2/melody #02 ADD STZ2
#2d29 .dev2/melody #04 ADD STZ2
#262d .dev2/melody #06 ADD STZ2
#00 .ptr-register-nibbles STZ
@ -109,25 +130,27 @@ BRK
@on-frame ( -> )
#00 ;update-dev JSR2
#01 ;update-dev JSR2
#02 ;update-dev JSR2
( ;update-dev0 JSR2 )
&draw-registers
pos-x-dev0 pos-y-dev #00
;pos-x-dev0 LDA2 pos-y-dev #00
;draw-bytes JSR2
pos-x-dev0 col-sep ADD2 pos-y-dev #08
;pos-x-dev0 LDA2 col-sep ADD2 pos-y-dev #08
;draw-bytes JSR2
pos-x-dev1 #0010 #10
;pos-x-dev1 LDA2 #0010 #10
;draw-bytes JSR2
pos-x-dev1 col-sep ADD2 #0010 #18
;pos-x-dev1 LDA2 col-sep ADD2 #0010 #18
;draw-bytes JSR2
pos-x-dev2 #0010 #20
;pos-x-dev2 LDA2 #0010 #20
;draw-bytes JSR2
pos-x-dev2 col-sep ADD2 #0010 #28
;pos-x-dev2 LDA2 col-sep ADD2 #0010 #28
;draw-bytes JSR2
( inc framecount )
@ -136,7 +159,8 @@ BRK
@update-dev ( devnum -- )
( transform devnum to offset )
( transform devnum to offsets )
DUP #02 MUL .shortoffset STZ
#10 MUL .devoffset STZ
.dev0/period ADD-OFFSET LDZ DUP ,&apply-period JCN
@ -187,7 +211,8 @@ BRK
&draw-beat
( draw beat )
pos-x-dev0 STHr ( get played ) STHr ( get beat ) SWP ;draw-beat JSR2
;pos-x-dev0 #00 .shortoffset LDZ ADD2 LDA2
STHr ( get played ) STHr ( get beat ) SWP ;draw-beat JSR2
RTN
@update-dev0 ( -- )
@ -237,7 +262,7 @@ RTN
&inc-beat
.dev0/beatcount LDZ #f0 AND .beat0 LDZ ORA .dev0/beatcount STZ
( draw beat )
pos-x-dev0 .beat0 LDZ ,&played LDR ;draw-beat JSR2
( pos-x-dev0 .beat0 LDZ ,&played LDR ;draw-beat JSR2 )
.beat0 LDZ #01 ADD #07 AND .beat0 STZ ( increment and save beat )
RTN
@ -485,15 +510,19 @@ ffff ffff ffff ffff
&bl 7f 7f 7f 7f 7f 3f 1f 00 7f 73 61 61 73 3f 1f 00
&br fe fe fe fe fe fc f8 00 fe ce 86 86 ce fc f8 00
@pos-x-dev0 000d
@pos-x-dev1 005e
@pos-x-dev2 00ae
( samples )
@samples
:saw ( 0 )
:piano ( 1 )
:main ( 2 )
:main ( 1 )
:piano ( 2 )
:tri ( 3 )
:sin
:sin ( 4 )
( from the audio.channels.tal uxn example )
@saw