writeEEPROM(which address, what value)

From pinHeck Wiki
Revision as of 22:03, 21 September 2014 by Benheck (Talk | contribs)

Jump to: navigation, search

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


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)