256-byte general-purpose EEPROM
M3SE contains a 256-byte EEPROM that can be used to store data to be preserved when the M3SE and TRS-80 are powered off. Three demonstration programs with source code are included which can be used as examples when developing your own applications that use the EEPROM:
EEWRITE <address> <data byte> EEREAD <address> EEDUMP
All data and address parameters may be specified as decimal or C-style hexadecimal numbers (e.g. 34 or 0x22).
EEWRITE writes the data byte to the specified EEPROM address.
EEREAD reads the byte from the specified address and displays it in C-style hexadecimal format.
EEDUMP reads and displays all 256 EEPROM data bytes as bare hexadecimal. Hit any key to exit EEDUMP.
The source code (e.g. EEWRITE/ASM) can be found on hard drive :1. To rebuild one of the utilities:
ATTRIB EEWRITE/CMD.UTILITY:0 (PROT=FULL) MRAS EEWRITE DO EEWRITE
The "DO" command runs a linker script that outputs the executable program file.
When performing burst writes to the EEPROM--that is, calling I2C_INIT, I2C_WRITE, {I2C_XBYTE, I2C_XBYTE,...}, I2C_STOP--the page size is 16 bytes. You can begin the write at any of the 16 bytes within a page, but if you write past the 16th byte the address will wrap back to the first byte of the same page.