Talk:APU Length Counter: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(Table structure)
(This interpretation might be closer to the intent...)
Line 26: Line 26:
00001 -> 254
00001 -> 254


11110 -> 32  (12 times 2 2/3)
11110 -> 32  (24 times 1 1/3)
11100 -> 16  (12 times 1 1/3)
11100 -> 16  (12 times 1 1/3)
11010 -> 72  (12 times 6)
11010 -> 72  (12 times 6)
Line 35: Line 35:
10000 -> 12
10000 -> 12


01110 -> 26  (10 times 2.6)
01110 -> 26  (20 times 1 1/3)
01100 -> 14  (10 times 1.4)
01100 -> 14  (10 times 1.4)
01010 -> 60  (10 times 6)
01010 -> 60  (10 times 6)
Line 45: Line 45:
</pre>
</pre>


The least significant bit seems to be a "use linear length" flag, which makes the length the value of the remaining bits (with 0 being special). When not set, you get doubling note lengths based on 10 and 12, with some other values in there too (maybe handy for triplets and the like - I'm not a professional musician :P). -[[User:Ulfalizer|Ulfalizer]] ([[User talk:Ulfalizer|talk]]) 18:34, 29 May 2013 (MDT)
The least significant bit seems to be a "use linear length" flag, which makes the length the value of the remaining bits (with 0 being special). When not set, you get doubling note lengths based on 10 and 12, with some other values in there too (maybe handy for slight length alterations and triplets and the like - I'm not a professional musician :P). -[[User:Ulfalizer|Ulfalizer]] ([[User talk:Ulfalizer|talk]]) 18:34, 29 May 2013 (MDT)

Revision as of 02:25, 30 May 2013

Food for thought: the values in the length counter table on the die (bottom of the chip, just left of center), once incremented by 1, match the ones on this page. --Quietust 03:30, 23 January 2011 (UTC)

- As small note, on $4015 reads in my emulator, I have to put a flag there because the LC *should* be +1. Probably unrelated... --Zepper 01:28, 28 January 2011 (UTC)


There's some structure to how these values are laid out, which is reinforced when you look at the order in which they appear in the PLA on the chip. Here's an index (in binary) to length map:

11111 -> 30
11101 -> 28
11011 -> 26
11001 -> 24
10111 -> 22
10101 -> 20
10011 -> 18
10001 -> 16
01111 -> 14
01101 -> 12
01011 -> 10
01001 -> 8
00111 -> 6
00101 -> 4
00011 -> 2
00001 -> 254

11110 -> 32  (24 times 1 1/3)
11100 -> 16  (12 times 1 1/3)
11010 -> 72  (12 times 6)
11000 -> 192
10110 -> 96
10100 -> 48
10010 -> 24
10000 -> 12

01110 -> 26  (20 times 1 1/3)
01100 -> 14  (10 times 1.4)
01010 -> 60  (10 times 6)
01000 -> 160
00110 -> 80
00100 -> 40
00010 -> 20
00000 -> 10

The least significant bit seems to be a "use linear length" flag, which makes the length the value of the remaining bits (with 0 being special). When not set, you get doubling note lengths based on 10 and 12, with some other values in there too (maybe handy for slight length alterations and triplets and the like - I'm not a professional musician :P). -Ulfalizer (talk) 18:34, 29 May 2013 (MDT)