; Orange programmer module v3.2 ; (c) 2001 CnCLab ; CHIP=64C20,128x16 ; AKM(ASAHI KASEI),CAT(?) ; AK6420AF: 8pin SOP Socket "MW" ; AK6420AM: 8pin SSOP Socket "MWR" ; AKM tested! SOCKET=2 ;"MW" PINO=SK,0 PINO=DI,1 PINO=CS,2 PINO=RST,3 PINO=RDY,4 PINI=DO,1 CDELAY=5 ; one set delay [INIT] RDY=1,RST=1,CS=1,SK=1,RST=0 [READ] CS=0 R0=10101000B ; Read instruction LOOP=(7,0){DI=R0[I],SK=0,SK=1} ; out instr LOOP=(6,0){DI=ADR[I],SK=0,SK=1} ; out adr DI=0,SK=0,SK=1 ; empty bit DI=1 LOOP=(15,0){SK=0,DATA[I]=DO,SK=1} ; read data word CS=1 [WRITEINIT] CS=0 R0=10100011B ; WREN instruction LOOP=(7,0){DI=R0[I],SK=0,SK=1} ; out instr LOOP=(7,0){DI=1,SK=0,SK=1} ; out adr XXX CS=1 [WRITE] CS=0 R0=10100100B ; WRITE instruction LOOP=(7,0){DI=R0[I],SK=0,SK=1} ; out instr LOOP=(6,0){DI=ADR[I],SK=0,SK=1} ; out adr DI=0,SK=0,SK=1 ; empty bit LOOP=(15,0){DI=DATA[I],SK=0,SK=1} ; send data word CS=1 P=10000