writeEEPROM(which address, what value)
Writes a 4 byte long value to the specified EEPROM address.
The Propeller has a removable EEPROM chip. It is 64K. The first 32K is the A/V program itself, which is copied to the Propeller upon boot.
The second 32K is available to the user. It stores high scores, game settings, etc. It is arranged as 8192 longs (four byte values). This allows a score to be stored in a single location.
A long allows you to store a number between 0-4,294,967,295 (0x00000000 - 0xFFFFFFFF)
The PIC32 can use the EEPROM commands to read/write from the Propeller's EEPROM. The PIC32 has an internal simulated EEPROM but its read-write cycles were too low to be of practical use.
Example:
writeEEPROM(0, 2000);
Stores value of 2000 to location 0.
writeEEPROM(8191, (255 << 24) | 128);
Stores two bytes in a single long location. The 255 is the leftmost byte, 128 is rightmost bytes. This is a good way to store values you know will be under 255.
Memory Map
This is the default Memory Map as used by America's Most Haunted. For best results, use these settings and store any additional information in the unused spaces between.
Total EEPROM Range: 0-8191 longs
0 : Version Number and EEPROM programmed flag
1 : Freeplay, Coins Per Credit, balls per game, allow extra balls
2 : Tilt Limit, Spot Pop Bumper Progress, Ball Save Timer Seconds
3 : Allow Match, Video Mode Speed, SFX Default Volume, Music Default Volume
4 : Total games played
5 : Replay Score Value
6 - 9 : Currently unused
10 : Flipper power
11 : Slings power
12 : Pops power
13 : Left VUK power
14 : Right Scoop power
15 : Autolauncher power
16 : Ball Loader power
17 : Drain kicker power
18 - 31 : Currently unused
32 : Coin Door Open/Close warning
33 - 8178 : Currently unused
128 : Game name, first 4 characters
129 : Game name, next 4 characters
130 : Game name, next 4 characters
131 : Game name, last 4 characters
8179 : Top Score
8180 : Top Score initials
8181 : 2nd place
8182 : 2nd place initials
8183 : 3rd place
8184 : 3rd place initials
8185 : 4th place
8186 : 4th place initials
8187 : 5th place
8188 : 5th place initials
8189 : Checksum that indicates presence of high scores (42)
8190 : Checksum that indicates presence of high scores (42)