Vince Weaver
d328d28ffa
pt3: move note vars to zero page
...
since we're being crazy
2019-06-09 01:18:39 -04:00
Vince Weaver
dd978592b8
pt3: completely move around zero page locations
2019-06-09 01:10:03 -04:00
Vince Weaver
468828bb90
pt3: split hardware.inc off from zp.inc
2019-06-09 01:01:28 -04:00
Vince Weaver
285c1946b5
pt3: start prepping updated zp file
2019-06-09 00:58:00 -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
Peter Ferrie
26e7d2f990
pt3_player: optimize mockingboard writes
2019-06-07 23:23:56 -04:00
Peter Ferrie
fda47eda81
pt3_player: optimize letter drawing code
2019-06-07 21:39:56 -04:00
Peter Ferrie
4fafd910be
pt3_player: fix the putsprite code
2019-06-07 21:35:50 -04:00
Peter Ferrie
1c5c19656e
pt3_player: optimize clear_screens
2019-06-07 21:31:33 -04:00
Vince Weaver
8168a2721f
pt3: make interrupt handlers consistent
2019-06-07 16:56:41 -04:00
Vince Weaver
0efd367bfa
pt3_player: add iic support
2019-06-07 16:52:31 -04:00
Vince Weaver
3bdc522ec7
pt3_test: add IIc support
...
weird interrupt handler nonsense
2019-06-07 16:05:55 -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
f5282008ad
pt3: update optimization numbers
2019-06-05 11:44:42 -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
Peter Ferrie
0d861e16c7
a bit faster mockingboard
2019-06-03 14:41:14 -07:00
Peter Ferrie
6afee2f6ea
slightly faster key handling
2019-06-03 11:58:29 -07:00
Peter Ferrie
1496e2cc5d
fix screen clearing
2019-06-03 09:15:46 -07:00
Vince Weaver
d4db364c29
pt3: update image
2019-06-03 00:30:26 -04: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
Vince Weaver
e999f23c65
pt3: bump version number
2019-06-02 23:54:38 -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
Vince Weaver
6313b9437c
pt3: fix issue where "L" loop keypress put wrong char on screen
2019-06-02 00:51:34 -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