Commit Graph

220 Commits

Author SHA1 Message Date
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
Vince Weaver
78ddbae171 pt3_player: optimize fire some 2019-05-16 13:50:27 -04:00
Vince Weaver
554c17d69c pt3: fire, but it's too slow 2019-05-16 13:37:21 -04:00
Vince Weaver
096151d8ba pt3: visualize: we have fire 2019-05-16 13:03:33 -04:00
Vince Weaver
435fc84f7b pt3: visualization: boring stripes 2019-05-16 12:47:04 -04:00
Vince Weaver
0048ec6c49 pt3: oops forgot the most important file
add awful framebuffer copy code
2019-05-16 12:26:59 -04:00
Vince Weaver
ff5bc14c58 pt3: start of visualization
yes, a thin grey line
2019-05-16 12:19:20 -04:00
Vince Weaver
c0a49540dd pt3: some work on visualization 2019-05-16 11:38:57 -04:00
Vince Weaver
89cd3d1e10 pt3: update TODO 2019-05-16 01:04:57 -04:00
Vince Weaver
9de18512cb pt3: visualization concepts 2019-05-16 00:58:36 -04:00
Vince Weaver
590521f0a4 pt3: add another song 2019-05-15 17:03:27 -04:00
Vince Weaver
95d69c205d pt3: update README 2019-05-15 15:25:18 -04:00
Vince Weaver
05d630abea pt3: split off separate player/debug disk 2019-05-15 15:06:41 -04:00
Vince Weaver
2ec2da0891 pt3: player supports multiple songs now 2019-05-15 14:13:54 -04:00
Vince Weaver
0fe675bc96 pt3: update documentation 2019-05-15 12:21:39 -04:00
Vince Weaver
2161b5600b pt3: add a timer module for tracking overhead 2019-05-15 11:55:43 -04:00
Vince Weaver
f24e0b2572 pt3: add a disk image, why not 2019-05-14 14:25:41 -04:00
Vince Weaver
98b3bc9902 pt3: have player calculate total time
it takes a while
2019-05-14 14:25:13 -04:00
Vince Weaver
c4f9f1b6e3 pt3: get early-ending of patterns working 2019-05-14 12:27:06 -04:00
Vince Weaver
d2e3f7327a pt3: add early-pattern end code
also now display memory on HGR page0 while playing
2019-05-14 11:52:50 -04:00
Vince Weaver
e549d24cc8 pt3: oops last commit stuck the speed check in slightly wrong place 2019-05-14 11:15:12 -04:00
Vince Weaver
4f97ba511c pt3: forgot to load default song speed from header
vc.pt3 works now
2019-05-14 10:45:55 -04:00
Vince Weaver
d5c4564d0c pt3: some documentation 2019-05-14 08:55:45 -04:00
Vince Weaver
caf5063e86 pt3: get envelopes working, ea.pt3 plays now 2019-05-14 01:57:46 -04:00
Vince Weaver
e475e43218 pt3: fix issue with freq sliding 2019-05-14 01:02:41 -04:00
Vince Weaver
325074678a pt3: update end-of-song detection 2019-05-13 23:27:44 -04:00
Vince Weaver
b834506cac pt3: extraneous iny in portamento
sounds good, let's dump and compare
2019-05-13 22:41:07 -04:00
Vince Weaver
d9dd7c9090 pt3: urgh the issue was missing ,X on the ornament/sample address loads 2019-05-13 22:11:32 -04:00
Vince Weaver
13d9cd95b3 pt3: more cleanups 2019-05-13 17:09:01 -04:00
Vince Weaver
535c873214 pt3: another small typo 2019-05-13 16:48:47 -04:00
Vince Weaver
32a5db8905 pt3: update dumper to print to printer 2019-05-13 16:18:26 -04:00
Vince Weaver
3d49c8dbae pt3: finally playing a song!
still not right though
2019-05-13 14:50:33 -04:00
Vince Weaver
19443cacd1 pt3: forgot to update zero page 2019-05-13 14:02:16 -04:00
Vince Weaver
1ef6d4f36d pt3: use proper volume table 2019-05-13 13:36:24 -04:00
Vince Weaver
34dc987eaa pt3: embarassing cut and paste bug
was resetting sample when ornament overflowed
2019-05-13 13:30:57 -04:00
Vince Weaver
2e48253b04 pt3: properly load ornament/sample for channels other than A 2019-05-13 12:59:59 -04:00
Vince Weaver
91ca10d248 pt3: init B and C ornaments/samples 2019-05-13 12:47:29 -04:00
Vince Weaver
91c154ea7b pt3: fix an issue with signed 8-bit comparisons
signed 8-bit comparisons are a huge pain on 6502
2019-05-13 12:33:52 -04:00
Vince Weaver
4672350134 pt3: more multi-channel work 2019-05-13 00:36:44 -04:00
Vince Weaver
a68547ae91 pt3: index all of decode_note against X 2019-05-13 00:18:09 -04:00
Vince Weaver
cff90b7d5a pt3: in theory, code complete for channel A
doesn't work of course
2019-05-12 23:32:58 -04:00
Vince Weaver
ec8ce955a3 pt3: temporarily bump up to $3000 as getting too big 2019-05-12 22:17:03 -04:00
Vince Weaver
ce75bc38eb pt3: start implementing effects 2019-05-12 22:14:07 -04:00
Vince Weaver
8d78918335 pt3: really finish calculate_note() this time 2019-05-12 21:30:01 -04:00
Vince Weaver
4e51fe3e57 pt3: have calculate_note() in theory all implemented 2019-05-12 20:55:13 -04:00
Vince Weaver
552d2e52c2 pt3: tones are finally doing things
not the right things, mind you
2019-05-12 20:11:17 -04:00
Vince Weaver
479d2ccb29 pt3: sort of have ornament/sample loading going 2019-05-12 00:14:09 -04:00
Vince Weaver
2348e249d9 pt3: more decoding 2019-05-11 00:11:53 -04:00
Vince Weaver
dedb2137b9 pt3: more implementation 2019-05-10 23:06:56 -04:00
Vince Weaver
2668b01f28 pt3: a lot of decoding is done 2019-05-10 13:09:05 -04:00
Vince Weaver
d4fdeb27ea pt3: more decoding 2019-05-10 12:38:41 -04:00
Vince Weaver
22aaa1a3f4 pt3: more decoding 2019-05-10 12:20:44 -04:00
Vince Weaver
f5fb9e1ad7 pt3: get addresses right 2019-05-10 10:57:08 -04:00
Vince Weaver
08c28739de pt3: more code brought in 2019-05-10 00:22:17 -04:00
Vince Weaver
dd392a2cc6 pt3: start adding note decoding 2019-05-09 13:40:54 -04:00
Vince Weaver
fdd59453e4 pt3: do_frame complete 2019-05-09 11:27:08 -04:00
Vince Weaver
af4b0abbfc pt3: update dumper 2019-05-09 11:06:29 -04:00
Vince Weaver
f72f2df0eb pt3: add pt3 dumper 2019-05-09 10:40:25 -04:00
Vince Weaver
7a1c5e7cb4 pt3: work on translating more C to assembly 2019-05-09 00:28:52 -04:00
Vince Weaver
295422db3b pt3: copy more code in 2019-05-07 15:11:52 -04:00
Vince Weaver
f315061cae pt3: remove old stuff from interrupt handler 2019-05-07 11:51:47 -04:00
Vince Weaver
cff2778086 pt3: hook up interrupt handler 2019-05-07 11:33:07 -04:00
Vince Weaver
9744d73f73 pt3: add some more lookup tables 2019-05-07 11:17:46 -04:00
Vince Weaver
93789be44b pt3: add tables 2019-05-07 00:43:20 -04:00
Vince Weaver
39b68db975 pt3: start implementing things 2019-05-07 00:28:42 -04:00
Vince Weaver
a4699be604 pt3: compiles at least 2019-05-06 20:31:10 -04:00
Vince Weaver
b81bae2a48 pt3: add initial pt3_player 2019-05-06 20:16:45 -04:00