; Orange programmer module v2.1 ; (c) 2000 Alex Plusov ; CHIP=ER59C11 (128x8) GI ; with dummy bit (noncompatible with MicroChip) ; TESTED OK! SOCKET=2 ;"MW" PINO=CLK,0 PINO=DI,1 PINO=CS,2 PINO=ORG,3 PINI=DO,1 CDELAY=5 ; one set delay [INIT] ORG=0,CLK=0 [READ] CLK=0,CS=1 R0=011000B LOOP=(5,0){DI=R0[I],CLK=1,CLK=0} ; dummy bit + READ instr LOOP=(6,0){DI=ADR[I],CLK=1,CLK=0} ; out adress DI=1 LOOP=(7,0){CLK=1,DATA[I]=DO,CLK=0} ; read data byte CS=0 [WRITE] CLK=0,CS=1 R0=010011B LOOP=(5,0){DI=R0[I],CLK=1,CLK=0} ; EWEN DI=0 LOOP=(6,0){CLK=1,CLK=0} ; adr 0 CS=0 CS=1 R0=010100B LOOP=(5,0){DI=R0[I],CLK=1,CLK=0} ; WRITE instr. LOOP=(6,0){DI=ADR[I],CLK=1,CLK=0} ; out adress LOOP=(7,0){DI=DATA[I],CLK=1,CLK=0} ; write data P=80000 CS=0