A quick hack based on Cadaver's excellent 'siddump'. This tool tries to provide a summary of all unique writes to "interesting" SID registers during the entire tune. This is best illustrated with a few examples:
sidmetrics 1.0
===============================================
File: sid/Supremacy.sid (subtune 0)
===============================================
Waveforms (13):
===============================================
Gate off/Triangle (10)
Gate on/Triangle (11)
Gate off/Saw (20)
Gate on/Saw (21)
Gate off/Pulse (40)
Gate on/Pulse (41)
Gate off/Hardsync/Pulse (42)
Gate on/Hardsync/Pulse (43)
Gate off/Triangle/Pulse (50)
Gate on/Triangle/Pulse (51)
Gate off/Ringmod/Triangle/Pulse (54)
Gate off/Noise (80)
Gate on/Noise (81)
Envelopes (ADSR) (24):
===============================================
0000, 0068, 0069, 006a, 0088, 008a, 0099, 009a,
0888, 08a8, 08aa, 08c9, 08fa, 0a89, 0aa9, 0ab9,
0de9, 0dfa, 48ca, 68ca, 68cb, 68ea, 68ed, daaa
Filter and global volume types (10):
===============================================
Global volume 3 (03)
Global volume 6 (06)
Global volume 7 (07)
Global volume 8 (08)
Global volume 9 (09)
Global volume 10 (0a)
Global volume 11 (0b)
Global volume 12 (0c)
Global volume 13 (0d)
Global volume 15 (0f)
~~
sidmetrics 1.0
===============================================
File: sid/Parallax.sid (subtune 0)
===============================================
Waveforms (7):
===============================================
Gate off/Saw (20)
Gate on/Saw (21)
Gate off/Pulse (40)
Gate on/Pulse (41)
Gate off/Triangle/Pulse (50)
Gate on/Triangle/Pulse (51)
Gate on/Ringmod/Triangle/Pulse (55)
Envelopes (ADSR) (18):
===============================================
0000, 00e8, 00f2, 00f8, 00fe, 00ff, 01c7, 1169,
11a9, 11d9, 11e7, 11ec, 11ed, 11f7, 11ff, afff,
e1ed, ffff
Filter and global volume types (0):
===============================================
~~
sidmetrics 1.0
===============================================
File: sid/Commando.sid (subtune 0)
===============================================
Waveforms (8):
===============================================
Gate off/Ringmod/Triangle (14)
Gate on/Ringmod/Triangle (15)
Gate off/Pulse (40)
Gate on/Pulse (41)
Gate off/Hardsync/Pulse (42)
Gate on/Hardsync/Pulse (43)
Gate off/Noise (80)
Gate on/Noise (81)
Envelopes (ADSR) (10):
===============================================
0000, 05a9, 064b, 090a, 099f, 0a09, 0dfb, 0fc4,
295f, 387a
Filter and global volume types (1):
===============================================
Global volume 15 (0f)
...
sidmetrics 1.0
===============================================
File: sid/Unfinished_Business.sid (subtune 0)
===============================================
Waveforms (8):
===============================================
Gate on/Testbit/Triangle (19)
Gate off/Pulse (40)
Gate on/Pulse (41)
Gate off/Ringmod/Triangle/Pulse (54)
Gate on/Ringmod/Triangle/Pulse (55)
Gate off/Noise (80)
Gate on/Noise (81)
Gate off/Ringmod/Noise (84)
Envelopes (ADSR) (87):
===============================================
0000, 00aa, 00ae, 04f4, 04f9, 051a, 059a, 05f7,
05fa, 06a5, 07da, 0aa9, 0aaa, 0f00, 1096, 10ea,
10ec, 119a, 119c, 11a1, 11c6, 11ca, 11cb, 11da,
11db, 11dd, 11ea, 11eb, 11fb, 11fc, 122a, 12aa,
1a78, 25f4, 25f7, 27a5, 2a78, 2a8d, 2ab8, 2abb,
2abd, 30ec, 31eb, 41eb, 43fb, 44f4, 4aec, 4afb,
4afd, 50ec, 51eb, 53ab, 557b, 61eb, 63fa, 63fb,
63fc, 64f4, 658b, 65f4, 65f7, 65fb, 70a5, 71eb,
81eb, 83fb, 84f4, 85fb, 8aaa, 93fb, 95fb, 9aaa,
a1eb, a3fb, a7fd, abaa, b3aa, b57b, b58b, bd7b,
c6ec, d57b, daaa, dafa, faaa, faab, fada
Filter and global volume types (5):
===============================================
Global volume 15 (0f)
Global volume 15/Lowpass (1f)
Global volume 15/Bandpass (2f)
Global volume 15/Lowpass/Bandpass (3f)
Global volume 15/Highpass (4f)
...
sidmetrics 1.0
===============================================
File: sid/Evolver_6581.sid (subtune 0)
===============================================
Waveforms (13):
===============================================
Gate off/Triangle (10)
Gate on/Triangle (11)
Gate off/Hardsync/Triangle (12)
Gate on/Hardsync/Triangle (13)
Gate off/Ringmod/Triangle (14)
Gate on/Ringmod/Triangle (15)
Gate on/Saw (21)
Gate off/Pulse (40)
Gate on/Pulse (41)
Gate off/Hardsync/Pulse (42)
Gate on/Hardsync/Pulse (43)
Gate off/Noise (80)
Gate on/Noise (81)
Envelopes (ADSR) (37):
===============================================
0000, 0012, 0023, 002a, 0032, 003a, 0042, 0057,
0059, 005a, 0060, 006c, 008a, 0092, 0099, 009b,
00bc, 00e2, 00f0, 032a, 035c, 0367, 0529, 0707,
075a, 077a, 0879, 09aa, 09ab, 09c9, 09d3, 09da,
0aba, 0bba, 2042, 2072, 20c2
Filter and global volume types (2):
===============================================
Global volume 15 (0f)
Global volume 15/Lowpass (1f)
...
sidmetrics 1.0
===============================================
File: sid/Illmatic_end.sid (subtune 0)
===============================================
Waveforms (6):
===============================================
Gate off/Triangle (10)
Gate on/Triangle (11)
Gate off/Pulse (40)
Gate on/Pulse (41)
Gate off/Noise (80)
Gate on/Noise (81)
Envelopes (ADSR) (15):
===============================================
0000, 0200, 0224, 0500, 0558, 0559, 0700, 0776,
0777, 0900, 0996, 0c00, 0cc4, 0f00, 0ff7
Filter and global volume types (2):
===============================================
Global volume 15/Lowpass/Bandpass (3f)
Global volume 15/Bandpass/Highpass (ef)
...
It should compile cleanly on any decent OS. This tool currently shares the same limitations as the original siddump. Suggestions for improvements etc are very welcome. :) |