From 9228d3a44dbfebbe52fe36353c78eee85a34a4a2 Mon Sep 17 00:00:00 2001 From: nihilazo Date: Wed, 2 Mar 2022 10:46:15 +0000 Subject: [PATCH] initial work on drawing multiple patterns, needs cleanup --- testmodule.tal | 18 +++++++++--------- tracker.tal | 36 +++++++++++++++++++++++++++++++++--- 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/testmodule.tal b/testmodule.tal index 2dee2c9..f86d0aa 100644 --- a/testmodule.tal +++ b/testmodule.tal @@ -40,18 +40,18 @@ ff 00 00 54 05 0f ff 00 00 ( pattern 02 ) -3c 02 01 -00 00 00 -3f 08 01 +3c 01 01 +00 02 00 +3f 03 01 +00 04 00 +3c 05 00 +00 06 00 +3f 07 00 00 00 00 3c 00 00 00 00 00 -3f 08 00 -00 00 00 -3c 00 00 -00 00 00 -3f 08 01 -00 08 00 +3f 04 01 +00 04 04 3c 00 00 00 00 00 3c 00 00 diff --git a/tracker.tal b/tracker.tal index 6258441..729ee45 100644 --- a/tracker.tal +++ b/tracker.tal @@ -1,5 +1,5 @@ ( a blank file ) - +( TODO fix ugly stack effects ) %+ { ADD } %- { SUB } %* { MUL } %/ { DIV } %< { LTH } %> { GTH } %= { EQU } %! { NEQ } %++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 } @@ -64,7 +64,7 @@ #0f25 .System/b DEO2 ;module ;k-init-module/run JSR2 - + ;on-input .Controller/vector DEO2 ;redraw JSR2 BRK @@ -75,10 +75,40 @@ BRK ;draw-song JSR2 #0008 .Screen/y DEO2 #0080 .Screen/x DEO2 - ;get-selected-song-line-address JSR2 DUP2 LDA ;draw-pattern JSR2 + ;get-selected-song-line-address JSR2 ;draw-patterns JSR2 + BRK +@on-input ( -> ) + .Controller/button DEI + DUP #10 AND ,&up JCN + #20 AND ,&down JCN + BRK + &up + .tracker/selected-pattern LDZ #01 SUB .tracker/selected-pattern STZ + ,&end JMP + &down + .tracker/selected-pattern LDZ #01 ADD .tracker/selected-pattern STZ + ,&end JMP + &end + ;redraw JSR2 +BRK + +@draw-patterns ( addr* ) + DUP2 + LDA ;draw-pattern JSR2 + #0008 .Screen/y DEO2 + .Screen/x DEI2 #0040 ADD2 .Screen/x DEO2 + DUP2 #0001 ADD2 LDA ;draw-pattern JSR2 + #0008 .Screen/y DEO2 + .Screen/x DEI2 #0040 ADD2 .Screen/x DEO2 + DUP2 #0002 ADD2 LDA ;draw-pattern JSR2 + #0008 .Screen/y DEO2 + .Screen/x DEI2 #0040 ADD2 .Screen/x DEO2 + #0003 ADD2 LDA ;draw-pattern JSR2 +RTN + @get-selected-song-line-address ( -- addr* ) .tracker/selected-pattern LDZ #00 SWP #0004 MUL2 .kalama/module LDZ2 #0005 ADD2 ADD2