; Orange programmer module v1.4 ; (c) 1999 Alex+ ; AKM ; CHIP=AK93C95A,2048x16,ak93c95.hpl ; non standard start with dummy ; Not tested !!! SOCKET=2 ;"MW" PINO=CLK,0 PINO=DI,1 PINO=CS,2 ;PINO=ORG,3 ;NC PINI=DO,1 CDELAY=2 ; one set delay [READ] ;ORG=1 CS=0 CLK=0 CS=1 DI=0,CLK=1,CLK=0 ; start bit - dummy DI=1,CLK=1,CLK=0 DI=1,CLK=1,CLK=0 ; read instruction DI=0,CLK=1,CLK=0 ; LOOP=(10,0){DI=ADR[I],CLK=1,CLK=0} ; out adr DI=1 LOOP=(15,0){CLK=1,CLK=0,DATA[I]=DO} ; read data word CS=0 [WRITEINIT] ;ORG=1 CS=0 CLK=0 CS=1 DI=0,CLK=1,CLK=0 ; start bit - dummy R0=10011000000000b LOOP=(13,0){DI=R0[I],CLK=1,CLK=0} ; out EWEN CS=0 [WRITE] CS=0 CLK=0 CS=1 DI=0,CLK=1,CLK=0 ; start bit - dummy DI=1,CLK=1,CLK=0 DI=0,CLK=1,CLK=0 ; write instruction DI=1,CLK=1,CLK=0 ; LOOP=(10,0){DI=ADR[I],CLK=1,CLK=0} ; out adr LOOP=(15,0){DI=DATA[I],CLK=1,CLK=0} ; write data word CS=0,DI=1,CS=1 ; check status P=10000 DO?1 CS=0