; Orange programmer module v1.4 ; (c) 2000 Valery Fomin ; CHIP=NVM3060 , 1628PP3 (512x8) SOCKET=5 ;"NVM" ; PIN 1 2 3 4 5 6 7 8 ; Socket 5 : NVM3060 Gnd Vss Gnd P0 P2 P3 P1 Vcc PINO=RES,0 ; 4 pin PINO=IMC,2 ; 5 pin PINO=IMI,3 ; 6 pin PING=IMD,1 ; 7 pin ;PINI=IMD,1 ; 7 pin CDELAY=5 ; one set delay [INIT] RES=0,IMC=1,IMI=1,IMD=1 P=100 RES=1 P=100 [READ] IMI=0 ;\ R0=128 ; \ LOOP=(0,7){IMC=0,IMD=R0[I],IMC=1} ; \ IMI=1 ; \ put ADRESS LOOP=(0,15){IMC=0,IMD=ADR[I],IMC=1} ; / IMI=0 ; / IMI=1 ; / IMI=0 ;\ R0=129 ; \ LOOP=(0,7){IMC=0,IMD=R0[I],IMC=1} ; \ IMI=1,IMD=1 ; \ read DATA LOOP=(0,7){IMC=0,IMC=1,DATA[I]=IMD} ; / IMI=0 ; / IMI=1 ; / [WRITE] IMI=0 ;\ R0=128 ; \ LOOP=(0,7){IMC=0,IMD=R0[I],IMC=1} ; \ IMI=1 ; \ put ADRESS LOOP=(0,15){IMC=0,IMD=ADR[I],IMC=1} ; / IMI=0 ; / IMI=1 ; / IMI=0 ;\ R0=131 ; \ LOOP=(0,7){IMC=0,IMD=R0[I],IMC=1} ; \ IMI=1 ; \ ERASE R0=255 ; / LOOP=(0,15){IMC=0,IMD=R0[I],IMC=1} ; / IMI=0 ; / IMI=1 ;/ P=20000 IMI=0 ;\ R0=131 ; \ LOOP=(0,7){IMC=0,IMD=R0[I],IMC=1} ; \ IMI=1 ; \ write DATA LOOP=(0,15){IMC=0,IMD=DATA[I],IMC=1} ; / IMI=0 ; / IMI=1 ;/ P=20000