Que onda Egds,
Analizandosolo la escritura en la eeprom:
SAVE:
For i = 0 to 11
a = i + 10
write a,ntelef
next i
Me sale la duda de por que no usar la variable i en lugar de a de forma directa, y para que poner a = i + 10 , si en el for solo se va a ir incrementando:
For i = 0 to 11 ´graba en 12 posiciones de eeprom
write i,ntelef
next i
Si en las posiciones primeras ya tiens guarddo algo entonces:
For i = 12 to 24 ´graba en 12 posiciones de eeprom
write i,ntelef
next i
y guardar el flag i para ver donde se quedo para posteriormente guardar mas numeros.
Prueba primero guardando y leyendo de la memoria , si te funciona entonces lo incluyes en tu codigo completo.
Asi como lo tienes deberia de funcionar correctamente, aunque tu problema por otro lado puede ser de hardware(no se si uses lcd para verlo que guardaste) o en otro punto de tu codigo, recuerda que si usas serout configurarlo adecuadamente, o usar en su defecto el Include "modedefs.bas" con el estandar definido , etc.. Pero en si tu forma de grabar en la eeprom interna esta bien.
Prueba imprimiendo con serout desde el principio un valor como encendido o algo asi para ver que la rutina de impresion este trabajando. ahora si dices que son 12 numeros deberia de ser la variable ntelef un ARRAY de 12 bytes, .. en fin hay varias pruebas que puedes realizar para comprobar que efectivamente este grabando asi como esta .Si estas usando pbp no puedes meter mas de 2 bytes(por la limitacion de pbp a words slamente, almenos que hayas hecho tus propias rutinas para acomodar mas valores y demas...) si usas proton tambien estaria mal ya que solo soporta 4 bytes.. asi que desde un principio debe ser array de 12 bytes o de los que vasyas a usar, y cada array cambiaria conforme cambia la direccion.
For i = 0 to 11 ´graba en 12 posiciones de eeprom
write i,ntelef(i) "array de 12 bytes ntelef var byte[12]
next i
Salu2 pana