; Orange programmer module v1.5 ; (c) 2003 CnCLab ; CHIP=Seiko S2900A,64x8 ; Orange3 Only! ; Tested ok. SOCKET=1 ;"I2C" PINO=SK,0 PINO=NC1,1 PINO=NC2,2 PINO=CS,3 PING=VGND,4 PING=DIO,5 CDELAY=5 ; one set delay [INIT] VGND=0 CS=0,SK=0 [READ] CS=1 DIO=1,SK=1,SK=0 ; \ read instruction DIO=0,SK=1,SK=0 ; / LOOP=(5,0){DIO=ADR[I],SK=1,SK=0} ; out adr DIO=1 LOOP=(7,0){SK=1,DATA[I]=DIO,SK=0} ; read data byte CS=0 [WRITE] CS=1 R0=0 ;PEN - program enable LOOP=(7,0){DIO=R0[I],SK=1,SK=0} ; CS=0 P=10 CS=1 DIO=0,SK=1,SK=0 ; \ prg instruction DIO=1,SK=1,SK=0 ; / LOOP=(5,0){DIO=ADR[I],SK=1,SK=0} ; out adr LOOP=(7,0){DIO=DATA[I],SK=1,SK=0} ; write data byte CS=0 P=10000 CS=1,P=30,CS=0