Commit Graph

190 Commits

Author SHA1 Message Date
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