like my prior Fun Fact (#2 of 2), this is written in the style of an Algorithms FAQ section, and "Section 2.8" is referencing that guide.
also, there obviously is no "Section xxxxxxx" on Wait Timers, so for background on those, see:
http://www14.brinkster.com/assassin17/g ... stance.htm
and/or the first major paragraph here:
viewtopic.php?f=2&t=108&start=480#p6816 (it starts with "When you input a command")
*************************
X.Y Starting ATB Timers
*************************
Every entity (character or monster) has a two-byte ATB timer, which ranges from
0 to 65535 during battle, and is discussed in Section 2.8 Battle Timing.
When starting battle, a number of steps are taken to decide where each entity's
ATB Timer will begin.
0. Every entity's ATB Timer is set to an undefined 65535 (so the top byte is
255).
0b. If the entity is a monster with the "Attack First" attribute set, the top
byte of its ATB timer is set to 0, and the enemy is put in the Wait to
Attack queue (see Section xxxxxxx for Wait Timers).
1. GeneralIncrementor = (10 - Number of Entities present in battle) * 16
2. Each entity is randomly assigned a different SpecificIncrementor of:
0, 8, 16, 24, 32, 40, 48, 56, 64, 72
Then for each entity (i.e. a character or a monster):
3. If the top byte of the entity's ATB Timer is not 255, then skip to the next
entity.
4. If the battle is one of the last three tiers of the final four-tier
multi-battle, then skip to the next entity.
5. If the entity is a character (who's not acting as an enemy), and either the
encounter type is a Side attack, or it's a Preemptive attack (which can be
Front or Side), then skip to the next entity.
6. If the entity is a character (who's not acting as an enemy) and it's a Back
or Pincer attack, then
Top byte of the ATB Timer = SpecificIncrementor + 1 ,
and we skip to the next entity.
7. If the entity is a monster or a character acting as an enemy, and it's a
Side or Preemptive Attack, then
Top byte of the ATB Timer = 2 ,
and we skip to the next entity.
8. If it's a Front Attack, or if the entity is a monster or a character acting
as an enemy and it's a Back or Pincer attack, then we perform the following
steps to calculate the top byte of the ATB Timer:
a. TimerValue = [Speed .. ((2 * Speed) - 1)] + SpecificIncrementor +
GeneralIncrementor + 1. If it exceeds 255, set it to 255.
b. The top byte of the entity's ATB timer = TimerValue
-----------------------------
the starting timers are handled by C2/2575, which, until recently, was one of the few sizable uncommented battle mechanics functions remaining.