kris
a7c8a2ff2b
Add links and update to reference slot 3
2022-07-22 14:53:00 +01:00
kris
5abad38314
Improve comments
2022-07-22 14:36:09 +01:00
kris
2907ba583d
Tidy
2022-07-22 14:30:54 +01:00
kris
e79ed985bc
Support 11 cycle cadence using STA $BFFF,Y(=31). This slightly improves quality
2022-07-08 23:28:35 +01:00
kris
a356f6a3a7
It works!
2022-07-04 11:03:19 +01:00
kris
cea66fe916
Generate stage 3 jump tables
2022-07-04 09:46:56 +01:00
kris
a9e7a1bbff
Implement (10,10) eof duty cycle as a special case
2022-07-02 21:59:08 +01:00
kris
622583696d
Simplify player op generation
2022-07-02 10:52:23 +01:00
kris
445ec18f34
WIP - tidy and compute the minimum duty cycle for variants that have a STA $C030 in stage 2 trampoline
2022-07-01 23:17:25 +01:00
kris
47c7f441cf
WIP - generate 3 stage EOF trampoline parametrized by (a, b) duty cycles
2022-07-01 22:22:38 +01:00
kris
d2cdceb04e
Regenerate
2022-06-28 22:09:09 +01:00
kris
804ce60434
Clean up some more and restore fake EOF opcodes
2022-06-25 15:26:14 +01:00
kris
e0908a9ced
WIP - refactor player generation to be a) deterministic b) use opcodes_6502 c) statically enumerate a minimal set of opcode sequences. Since we're giving up on using arbitrary opcode combinations this is much simpler, and maybe more correct.
2022-06-25 15:14:17 +01:00
kris
13fb60fed0
Add a lot of EOF variants - quality is good but they're mostly not used
2022-06-11 17:27:52 +01:00
kris
1552715b49
Optimized EOF sequence
2022-06-04 14:53:33 +01:00
kris
fbd6b956d1
Checkpoint working player
2022-06-04 14:06:52 +01:00
kris
8ea4f150ad
Checkpoint - trying to mitigate EOF clicking
2022-05-24 22:19:40 +01:00
kris
b97a625d7d
Working version of encoder. This reproduces the clicking that happens from end-of-frame, so we will need a new strategy
2022-05-16 21:11:17 +01:00
kris
daee564255
Rename slowpath opcode to end_of_frame to better describe what it does.
...
Add command-line flags for audio normalization params.
2020-12-28 22:42:34 +00:00
kris
089591737f
Regen
2020-12-24 14:44:19 +00:00
kris
cef38dae59
Comment nit
2020-12-24 14:44:09 +00:00
kris
4701dc14f1
Regen
2020-12-24 14:43:51 +00:00
kris
baca499d3b
Checkpoint
2020-12-07 20:58:34 +00:00
kris
194da9a509
Check in generated player using NOP, NOP3 and STA opcodes, to max
...
cycle length 19. This seems to give the best quality so far.
2020-12-07 20:40:00 +00:00
kris
76d6bc8426
Integrate generated player code
2020-10-15 14:27:37 +01:00
kris
22babbaa73
Parametrize normalization percentage
2020-10-15 13:08:33 +01:00
kris
7a4a36af6b
Checkpoint WIP
...
- use exotic opcodes in player
- optimize encoder
2020-08-24 21:27:24 +01:00
kris
4767ee51fd
Fixup player timings and opcode variants for 65c02 timings since JMP
...
(indirect) takes 5 cycles not 6! It should be possible to also
accommodate 6502 timings in a followup.
h/t to Scott Duensing who noticed that my sample audio sounded "a tad
slow", which turned out to be due to this 1-cycle difference (which
added up to almost an extra minute playback to an 8-minute song).
Add comments and tidy up the code a bit.
Flesh out README some more.
2020-08-16 23:15:30 +01:00
kris
86cd1e1114
1MHz encoder and player
...
- we simulate the speaker at full 1-cycle resolution, and
evaluate all possible opcodes that can be scheduled for the
given position in the TCP stream
- this lets us tick the speaker at any cycle interval >=9 (except 10
cycles)
2020-08-13 22:08:50 +01:00
kris
08f3a58a7f
Add missing makefile and tidy up a bit.
2020-08-12 22:08:27 +01:00
kris
9c08e31cb0
Remove dead code and assemble at $2000 instead.
2020-08-12 21:48:54 +01:00
kris
61cdda6cd1
Rename
2020-08-11 23:18:20 +01:00