SPLat Logo

Multi-channel MultiTrack: Semaphore addressing with J and I

NOTICE: Our web site is being updated, but is currently experiencing extreme slowness due to host issues. Please contact us directly.
NOTICE: SPLat Controls has moved. We are now at 1/85 Brunel Rd, Seaford, 3198. map
SPLat will be shut down for the Christmas Holiday season from Friday 20 December 2024 through Tuesday 7 January 2025. We will check emails periodically and will continue to process orders but at a slower pace. Santa hat

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.