; Orange programmer module v1.8 ; (c) 2000-2005 Valery Fomin & Alex Plusov ; CHIP=59C11,64x16 ; MicroChip, Atmel ; Tested - OK o5+ SOCKET=2 ;"MW" PINO=CLK,0 PINO=DI,1 PINO=CS,2 PINO=ORG,3 PINO=RDY,4 PINI=DO,1 CDELAY=5 ; one set delay [!#SETUP] $WDELAY=20000 [INIT] RDY=1,ORG=1,CS=0,CLK=0 [READ] CS=1 R0=11000B LOOP=(4,0){DI=R0[I],CLK=1,CLK=0} ; READ instr LOOP=(5,0){DI=ADR[I],CLK=1,CLK=0} ; out adress DI=1 LOOP=(15,0){CLK=1,DATA[I]=DO,CLK=0} ; read data CS=0 [WRITE] CLK=0 CS=1 R0=10011000000B LOOP=(10,0){DI=R0[I],CLK=1,CLK=0} ; EWEN CS=0 CS=1 R0=10100B LOOP=(4,0){DI=R0[I],CLK=1,CLK=0} ; WRITE instr LOOP=(5,0){DI=ADR[I],CLK=1,CLK=0} ; out adress LOOP=(15,0){DI=DATA[I],CLK=1,CLK=0} ; write data P=$WDELAY CS=0