Commit Graph

101 Commits

Author SHA1 Message Date
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
Vince Weaver
25020da78b pt3: bump version number after qkumba optimization 2019-05-30 01:22:15 -04:00
Peter Ferrie
9491bce9f4 still more 2019-05-29 13:34:10 -07:00
Peter Ferrie
dd18ecd1d9 cut some bytes and cycles
- fire_r_same/up are now 10/12 instead of 8/15 cycles

some jmps can probably be replaced with appropriate branches instead
2019-05-25 16:18:35 -07:00
Vince Weaver
ac1e471d6b pt3: some more size optimization
mostly combining common code
2019-05-24 01:08:36 -04:00
Vince Weaver
df0e19cff9 pt3: remove unneeded variable 2019-05-23 20:53:41 -04:00
Vince Weaver
a4e247fd58 pt3: some more size optimization 2019-05-22 17:08:52 -04:00
Vince Weaver
4b54357b3a pt3: add some cycle counting and docs 2019-05-22 15:52:05 -04:00