Commit Graph

216 Commits

Author SHA1 Message Date
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
Peter Ferrie
6d672ed094 pt3: optimize pt3_player 2019-06-01 22:32:42 -04:00
Peter Ferrie
907026d20b pt3: more interrupt handler optimization 2019-06-01 22:09:53 -04:00
Peter Ferrie
cb037335f7 pt3: optimize fast_clear 2019-06-01 21:43:45 -04:00
Peter Ferrie
a24bf74d23 optimize player 2019-06-01 01:54:37 -04:00
Peter Ferrie
01f3e24e82 optimize clear_bottom 2019-06-01 01:51:37 -04:00
Peter Ferrie
85c7341e26 optimize fire some more 2019-06-01 01:49:30 -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
Peter Ferrie
79e7fca824 optimize mockingboard code 2019-06-01 00:07:17 -04:00
Peter Ferrie
49e1ce4fd7 optimize keypress_minimal 2019-06-01 00:05:12 -04:00
Peter Ferrie
6882bf713a optimize interrupt handler 2019-06-01 00:03:25 -04:00
Peter Ferrie
c863fd9462 optimize putsprite code 2019-06-01 00:00:50 -04:00
Peter Ferrie
efbb34fce7 optimize fire code 2019-06-01 00:00:23 -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
79b9b17bac Revert "cut some more"
This reverts commit ab3311fd26.
2019-05-30 10:53:48 -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
ab3311fd26 cut some more 2019-05-25 22:12:22 -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
aa30878fd0 pt3: update tone generation 2019-05-23 17:04:13 -04:00
Vince Weaver
de31b9b97b pt3: work on tone table 2019-05-23 00:28:55 -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
Vince Weaver
25950bddee pt3: use the auto-generation of volume tables code
saved 100 bytes, didn't really improve speed at all (at least if you
take into account table gen at the beginning)
2019-05-22 15:37:00 -04:00
Vince Weaver
843b3bd835 pt3: working on auto-generating the tables 2019-05-22 00:31:31 -04:00
Vince Weaver
2750ba9b13 pt3: might as well add a Makefile 2019-05-21 20:31:29 -04:00
Vince Weaver
2cc79ed73c pt3: messing around with code to autogen some of the tables 2019-05-21 17:10:16 -04:00
Vince Weaver
acc8c3f0fb pt3: add more cycle counting 2019-05-20 12:40:35 -04:00
Vince Weaver
5b2ad332e4 pt3: more comments and cycle counting 2019-05-20 10:11:29 -04:00
Vince Weaver
f775b116da pt3: remove an unused field 2019-05-20 09:50:49 -04:00
Vince Weaver
f537b99222 pt3: a few more validated 2019-05-20 00:53:01 -04:00
Vince Weaver
53400a72ab pt3: get dumper working again 2019-05-20 00:09:38 -04:00
Vince Weaver
315d9ab621 pt3: code didn't compile 2019-05-19 23:44:57 -04:00
Vince Weaver
673d2d7703 pt3: minor changes 2019-05-19 23:42:13 -04:00
Vince Weaver
c2482b41b6 pt3: optimization notes 2019-05-19 22:11:56 -04:00
Vince Weaver
db3d9fa93d pt3: measure overhead. Consistently about 17% across a wide range of pt3 files 2019-05-19 17:23:36 -04:00
Vince Weaver
ba4cedbbac pt3: update FAQ 2019-05-18 11:12:16 -04:00
Vince Weaver
f791eac71f pt3: rename FAQ 2019-05-17 14:56:19 -04:00
Vince Weaver
92ab251101 pt3: minor cleanups in comments 2019-05-17 14:55:53 -04:00
Vince Weaver
5074f45878 pt3: release version 0.4 2019-05-17 14:55:35 -04:00
Vince Weaver
b1ada9fd75 pt3: clean up fire height code a bit 2019-05-17 14:19:18 -04:00
Vince Weaver
ef2b5061c8 pt3: comments in fire.s 2019-05-17 14:02:13 -04:00
Vince Weaver
efcf749f4b pt3: rename REGISTER_DUMP to AY_REGISTERS
makes the code a bit clearer
2019-05-17 13:25:02 -04:00
Vince Weaver
62b3123aaf pt3: oops was going backwards in song list 2019-05-17 13:21:45 -04:00
Vince Weaver
eded3c0908 pt3: add looping support 2019-05-17 13:19:04 -04:00
Vince Weaver
a15706fb81 pt3: made total time count 3x faster in theory
still too slow
2019-05-17 12:57:39 -04:00
Vince Weaver
770fe2bf25 pt3: clean up comments in the interrupt handler 2019-05-17 12:29:28 -04:00
Vince Weaver
55137b5a73 pt3: optimize interrupt_handler
qkumba had some suggestions on comp.sys.apple2
2019-05-17 12:25:37 -04:00
Vince Weaver
3d35f781fe pt3: bump it up to 18 songs 2019-05-17 12:13:38 -04:00
Vince Weaver
d991e32327 pt3: add some inefficient code to show current song number 2019-05-17 11:41:08 -04:00
Vince Weaver
1ce802e3a8 pt3: optimize the one-color lores putsprite routine 2019-05-17 11:04:52 -04:00
Vince Weaver
81d28fe305 pt3: do a version release 2019-05-16 23:10:06 -04:00
Vince Weaver
ab3605857a pt3: some comment changes 2019-05-16 23:09:25 -04:00
Vince Weaver
36badc8177 pt3: capitalize text if on an AppleII/II+ 2019-05-16 22:38:13 -04:00
Vince Weaver
0a84e76e4e pt3: add support for scaling the frequencies from 1.77MHz to 1MHz
The ZX Spectrum (default for pt3 files) runs the AY-3-8910 at 1.77MHz.

We do this by multiplying by 9/16 (which is a pain, but could be worse)
2019-05-16 22:16:50 -04:00
Vince Weaver
45f367f356 pt3: clean up the info screen stuff a bit 2019-05-16 20:33:12 -04:00
Vince Weaver
231dde20a7 pt3: add some music 2019-05-16 19:49:26 -04:00
Vince Weaver
9ac00a7621 pt3: bump the version and release a disk image 2019-05-16 16:56:14 -04:00
Vince Weaver
80291adf0a pt3_player: pause stops the flame 2019-05-16 16:42:01 -04:00
Vince Weaver
c0f0be8588 pt3: wasted lots of time on this visualization 2019-05-16 16:37:14 -04:00
Vince Weaver
fe990c3119 pt3: more self modifying code 2019-05-16 14:58:13 -04:00
Vince Weaver
6a38f9a56a pt3: more inner loop optimizations 2019-05-16 14:45:25 -04:00
Vince Weaver
1a895382f2 pt3: visualizer: optimize inner loop from 50 to 30 cycles (x800) 2019-05-16 14:26:43 -04:00