Multi-channel MultiTrack: Semaphore addressing with J and I
Most of the time indexed addressing and jndexed addressing produce the same effect when they happen. There is one important exception: Addressing of semaphores.
Indexed addressing of semaphores
The I value is added to the base byte address. That means successive values of I (0, 1, 2, 3 ...) will select the same bit number in successive bytes of RAM.
Jndexed addressing of semaphores
The J value is added to the bit address. That means successive values of J (0, 1, 2, 3 ...) will select successive bits in the same byte of RAM, and progress to the next byte of RAM if necessary. If you are using automatic RAM allocation you would normally not need to worry too much about how it works.
In multi-channel programs you would use a "quantity" (how many items in the array) argument in your defBYTE
, defSEM
etc declarations.