center in x
This commit is contained in:
parent
3623d084b5
commit
5d577cd063
|
@ -39,6 +39,10 @@
|
|||
|
||||
%col-sep { #0024 } ( separation between byte columns: 20 for the byte, 4 as space )
|
||||
%col-height { #0080 } ( 8 rows of 2x8 pixels each )
|
||||
%col-width { #0020 } ( 2 columns of 2x8 pixels each )
|
||||
%dev-width { #0044 } ( col-sep + col-width )
|
||||
%num-devices { #03 }
|
||||
%num-cols { #06 }
|
||||
|
||||
|
||||
( variables )
|
||||
|
@ -55,6 +59,7 @@
|
|||
@low-nibble $1
|
||||
@devoffset $1
|
||||
@shortoffset $1
|
||||
@offset $1
|
||||
|
||||
( registers )
|
||||
@registers
|
||||
|
@ -83,6 +88,13 @@
|
|||
col-height SUB2 #0002 DIV2
|
||||
;pos-y-dev STA2
|
||||
|
||||
.Screen/width DEI2
|
||||
col-sep #00 num-devices MUL2
|
||||
col-width #00 num-devices MUL2
|
||||
ADD2 ( add column widths )
|
||||
SUB2 #0004 DIV2 ( calculate separation between devices )
|
||||
;pos-x-devsep STA2
|
||||
|
||||
|
||||
( set initial values )
|
||||
#00
|
||||
|
@ -111,9 +123,13 @@ BRK
|
|||
&dev2 10 55 08 1121 77 18ff 4541 3e45 413e 4541
|
||||
00
|
||||
|
||||
@pos-x-dev0 000c
|
||||
@pos-x-dev1 005e
|
||||
@pos-x-dev2 00af
|
||||
@pos-x-devsep 0000
|
||||
@pos-x-dev00 000c
|
||||
@pos-x-dev01 000c
|
||||
@pos-x-dev10 005e
|
||||
@pos-x-dev11 005e
|
||||
@pos-x-dev20 00af
|
||||
@pos-x-dev21 00af
|
||||
@pos-y-dev 0020
|
||||
|
||||
@samples
|
||||
|
@ -128,32 +144,51 @@ BRK
|
|||
#01 ;update-dev JSR2
|
||||
#02 ;update-dev JSR2
|
||||
|
||||
&draw-registers
|
||||
;pos-x-dev0 LDA2 ;pos-y-dev LDA2 #00
|
||||
;draw-bytes JSR2
|
||||
|
||||
;pos-x-dev0 LDA2 col-sep ADD2 ;pos-y-dev LDA2 #08
|
||||
;draw-bytes JSR2
|
||||
|
||||
;pos-x-dev1 LDA2 ;pos-y-dev LDA2 #10
|
||||
;draw-bytes JSR2
|
||||
|
||||
;pos-x-dev1 LDA2 col-sep ADD2 ;pos-y-dev LDA2 #18
|
||||
;draw-bytes JSR2
|
||||
|
||||
;pos-x-dev2 LDA2 ;pos-y-dev LDA2 #20
|
||||
;draw-bytes JSR2
|
||||
|
||||
;pos-x-dev2 LDA2 col-sep ADD2 ;pos-y-dev LDA2 #28
|
||||
;draw-bytes JSR2
|
||||
;draw-registers JSR2
|
||||
|
||||
( inc framecount )
|
||||
.framecount LDZ2 #0001 ADD2 .framecount STZ2
|
||||
BRK
|
||||
|
||||
@draw-registers ( -- )
|
||||
#00
|
||||
&loop
|
||||
STHk ( stash but keep counter )
|
||||
#00 SWP ( make short )
|
||||
#0001 ADD2 ( add 1 )
|
||||
;pos-x-devsep LDA2 ( load x separation )
|
||||
MUL2 ( get amount of separation )
|
||||
STHkr #00 SWP
|
||||
dev-width MUL2 ( get amount of previous devices )
|
||||
ADD2 ( calculate x )
|
||||
;pos-y-dev LDA2 ( load y coordinate )
|
||||
STHkr ( retrieve but keep counter )
|
||||
#10 MUL ( calculate byte offset )
|
||||
;draw-bytes JSR2
|
||||
|
||||
STHkr ( retrieve but keep counter )
|
||||
#00 SWP ( make short )
|
||||
#0001 ADD2 ( add 1 )
|
||||
;pos-x-devsep LDA2 ( load x separation )
|
||||
MUL2 ( get amount of separation )
|
||||
STHkr #00 SWP
|
||||
dev-width MUL2 ( get amount of previous devices )
|
||||
ADD2 ( calculate x )
|
||||
col-sep ADD2 ( add separation )
|
||||
;pos-y-dev LDA2 ( load y coordinate )
|
||||
STHkr ( retrieve but keep counter )
|
||||
#10 MUL ( calculate byte offset )
|
||||
#08 ADD
|
||||
;draw-bytes JSR2
|
||||
|
||||
STHr #01 ADD DUP ( retrieve and increment counter )
|
||||
#03 LTH ,&loop JCN
|
||||
POP
|
||||
RTN
|
||||
|
||||
@update-dev ( devnum -- )
|
||||
( transform devnum to offsets )
|
||||
DUP #01 ADD .offset STZ
|
||||
DUP #02 MUL .shortoffset STZ
|
||||
#10 MUL .devoffset STZ
|
||||
|
||||
|
@ -205,7 +240,10 @@ BRK
|
|||
|
||||
&draw-beat
|
||||
( draw beat )
|
||||
;pos-x-dev0 #00 .shortoffset LDZ ADD2 LDA2
|
||||
;pos-x-devsep LDA2 #00 .offset LDZ MUL2 ( calculate x )
|
||||
col-sep #00 .offset LDZ MUL2 ADD2
|
||||
#00 .offset LDZ #01 SUB col-width MUL2 ADD2
|
||||
#000c ADD2
|
||||
STHr ( get played ) STHr ( get beat ) SWP ;draw-beat JSR2
|
||||
RTN
|
||||
|
||||
|
@ -224,7 +262,7 @@ RTN
|
|||
;square .Screen/addr DEO2
|
||||
STH ( store beat )
|
||||
|
||||
col-sep ADD2 #000c ADD2
|
||||
( col-sep ADD2 #000c ADD2 )
|
||||
.Screen/x DEO2
|
||||
|
||||
( clear beats )
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue