scmJS docs

UPGR

How far each player may research each upgrade, and the level they start at, for the 46 upgrades of the original game. Laid out as PUNI is: each player's own values, the defaults, and whether each player uses the defaults. Brood War reads PUPx instead.

Name UPGR (55 50 47 52)
Size 1748 bytes.
Read by The game.
Required In a StarCraft 1.00 or hybrid file (VER below 205).
More than one copy Only the last copy counts.
In scmJS Read, and written again when you change what it holds.

Layout:

Offset Type Holds
0 u8 × 552 Per player, per upgrade: the highest level they may research. Player 1's 46 bytes first
552 u8 × 552 Per player, per upgrade: the level they start at
1104 u8 × 46 Per upgrade: the default highest level
1150 u8 × 46 Per upgrade: the default starting level
1196 u8 × 552 Per player, per upgrade: 1 if the player uses the defaults