Vince Weaver
5c07480333
pt3_lib: fix issue where vibrato was broken
...
backed out a qkumba optimization that in retrospect I am not sure
what it was doing but it was broken subtly in at least 2 places
could probabl be re-optimized again, especially the pt3_lib version
2019-08-31 01:34:01 -04:00
Vince Weaver
a0dc7d4150
pt3: big mess finding bug in pt3_lib
...
was playing OOTW ending wrong
was an accidentally commented out "lda #0 " blurgh
some other code cleanups while at it, mostly making it match
the pt3_player code a bit more
also stop using TEMP from interrupt as other code might use it
2019-08-21 15:07:20 -04:00
Vince Weaver
8aa831782c
pt3: pt3_mixer_val is copied direct to AY_regs, so make same var
2019-06-19 00:40:10 -04:00
Peter Ferrie
bc93edf06b
pt3: optimize the on/off code
2019-06-18 14:00:59 -04:00
Peter Ferrie
c47f390d30
pt3: note X is already set properly, save an instruction
2019-06-18 13:11:37 -04:00
Vince Weaver
d328d28ffa
pt3: move note vars to zero page
...
since we're being crazy
2019-06-09 01:18:39 -04:00
Peter Ferrie
efc2a5a684
pt3: merge in qkumba's crazy self-modify-everything patch
...
it conflicted a bit with some of the other changes I made
also added a lot of extra init-to-zero so the validation tools
would still work
2019-06-09 00:54:38 -04:00
Vince Weaver
5961077695
pt3_lib: also use loop to zero vars
2019-06-08 01:44:04 -04:00
Vince Weaver
ae3d819970
pt3: init zeroed vars with loop
...
switching songs, sometimes they'd start wrong due to vars not
being initialized. Easier to just zero everything than try to
figure out which field we weren't getting. Also makes code smaller.
2019-06-08 01:39:50 -04:00
Vince Weaver
ea4e5f44f2
pt3: also fix pt3_lib
2019-06-08 00:51:51 -04:00
Vince Weaver
3186056500
pt3: fix bug in portamento code
...
only noticed with IR.pt3 test
something else is wrong playing that file but it passes validation now
2019-06-08 00:48:26 -04:00
Vince Weaver
0cf9c5aaf6
pt3: some more cycle counts
2019-06-05 17:00:47 -04:00
Vince Weaver
6802663554
pt3: remove pt3_version
...
makes code slightly faster but also slightly bigger
2019-06-05 12:45:10 -04:00
Vince Weaver
f8cfa2feb1
pt3: remove two unused variables
2019-06-05 12:18:34 -04:00
Vince Weaver
499b0ba332
pt3: remove "decode_done" variable
2019-06-05 11:40:06 -04:00
Vince Weaver
9f6e149b7c
pt3: add a few more cycle counts
2019-06-05 11:22:12 -04:00
Vince Weaver
f3fe83bfc4
pt3: combine $d0/$e0 decode
2019-06-05 11:19:09 -04:00
Vince Weaver
8691e095f4
pt3: more timing numbers
2019-06-05 00:56:52 -04:00
Vince Weaver
5ae0023bd6
pt3: move all variables together
...
easier to see what's going on
2019-06-05 00:30:27 -04:00
Vince Weaver
c623d5c0bb
pt3: mask/cache note_command bottom nibble
...
adds 8 cycles but removes a number of instructions
2019-06-05 00:26:12 -04:00
Peter Ferrie
d72f629d93
cache slide
2019-06-03 14:42:07 -07:00
Vince Weaver
fe21132fdb
pt3: fix issue where sharps not being printed right on channel B/C
...
actually unclear if/how was working on channel A
2019-06-03 00:29:20 -04:00
Peter Ferrie
77007cfdb5
pt3: make negating code more efficient
...
vmw: fix a L/H typo that was causing validation test fail
2019-06-02 23:53:48 -04:00
Peter Ferrie
c4da336e98
fix b1 check
2019-06-02 23:39:05 -04:00
Peter Ferrie
7b447699f8
pt3: optimize envelope code
2019-06-02 23:37:26 -04:00
Peter Ferrie
90b8a76a4b
pt3: optimize amplitude code
2019-06-02 23:24:44 -04:00
Peter Ferrie
089d963d23
pt3: remove branch
2019-06-02 23:17:00 -04:00
Peter Ferrie
5c4795ad72
pt3: remove temp_y, add dedicated ornament/sample init entry points
2019-06-02 23:10:50 -04:00
Peter Ferrie
c5bd00e068
pt3: make loop/megahertz self-modified
2019-06-02 22:57:47 -04:00
Vince Weaver
33615c215f
Revert "[PATCH] cut some bytes and cycles"
...
This reverts commit d5ca73dc14
.
2019-06-02 22:36:31 -04:00
Vince Weaver
0b98d803e8
pt3: update optimization info
2019-06-02 01:05:55 -04:00
Peter Ferrie
4e2916c4cb
fix b1 check
2019-06-02 00:39:02 -04:00
Peter Ferrie
d5ca73dc14
[PATCH] cut some bytes and cycles
...
also fix envelope bug
no change in zpage use
The optimizations include (but are not limited to)
+ Make loop code self-modified
+ Make 1.77MHz code self-modified
+ Make speed compare self-modified
+ Add code to reduce size of default ornament/sample load
2019-06-02 00:38:29 -04:00
Vince Weaver
f535a8c774
pt3: update optimization stats
2019-06-02 00:09:49 -04:00
Peter Ferrie
3c13c8e734
pt3: changes to register updates
2019-06-02 00:04:44 -04:00
Peter Ferrie
b1b5f18707
pt3: optimize end detection and branch sizes
2019-06-01 23:56:36 -04:00
Peter Ferrie
5d503052f8
pt3: move volume table code so no need for jsr
2019-06-01 23:50:38 -04:00
Peter Ferrie
c8cbed652c
pt3: optimize load_sample and load_ornament
2019-06-01 23:46:14 -04:00
Peter Ferrie
c1f32e8cb3
optimize the volume table generation code
2019-06-01 01:45:59 -04:00
Peter Ferrie
0d3427b11d
optimize 1.77MHz to 1MHz conversion
...
fixed a few minor bugs here from qkumba's version as it was
making the validation tests fail. One was not zeroing out
mixer/envelope, and one was not saving some values properly
in the 1MHz case --- vmw
2019-06-01 01:35:55 -04:00
Peter Ferrie
390c560edc
optimize pattern selection code
2019-06-01 00:45:33 -04:00
Peter Ferrie
0a89e8fcfc
optimize effects code
2019-06-01 00:40:32 -04:00
Peter Ferrie
3c4d32eaba
optimize envelope code
2019-06-01 00:36:11 -04:00
Peter Ferrie
d0d0e06f1c
optimize amplitude code
2019-06-01 00:30:10 -04:00
Peter Ferrie
6f56cfc254
optimize note calculation
2019-06-01 00:26:39 -04:00
Peter Ferrie
dca5cb2e95
optimize version detection
2019-06-01 00:19:53 -04:00
Peter Ferrie
0ee00c4c54
remove some unnecessary clc
2019-06-01 00:16:05 -04:00
Vince Weaver
2e4a237fff
Revert "cut some bytes and cycles"
...
This reverts commit dd18ecd1d9
.
2019-05-30 10:54:03 -04:00
Vince Weaver
2694e6efca
Revert "still more"
...
This reverts commit 9491bce9f4
.
2019-05-30 10:53:33 -04:00
Vince Weaver
df10cec9f7
Revert "pt3: bump version number after qkumba optimization"
...
This reverts commit 25020da78b
.
2019-05-30 10:52:26 -04:00