; Orange programmer module v1.2 ; (c) 2000 Valery Fomin ; (c) 2000 Modifed for MDA206x by Gennadi K. ; (c) 2001 CnCLab ; CHIP=MDA2061,MDA2062,(128x8) ITT ; Attention ! : Adress of MDA206x beginn at 128 und end at 255 !!! ; Tested ! ; Orange4 version SOCKET=0 INFO="MDA Adapter" ALLPINS=14 ; PIN 1 3 6 7 8 9 10 12 13 14 ; Socket 7 : MDA2061 Gnd Vp Vdd Gnd P2 P3 P1 P0 P4 Vdd ; Memory Clock (Pin 13) = 1 kHz for Programming ! ; Vp Programm Voltage (Pin 3) = +20 Volt ! PINO=RES,0,12 PINO=IMC,2,8 PINO=IMI,3,9 PINO=MCL,4,13 PING=IMD,1,10 ;Power pins: PINO=GND,255,1 PINO=GND,255,7 PINO=VPP,253,3 PINO=VDD,254,6 PINO=VDD,254,14 CDELAY=5 ; one set delay [INIT] RES=0,IMC=1,IMI=1,IMD=1,MCL=1 P=500 RES=1 P=100 [READ] IMI=0 ;\ R0=128 ; \ LOOP=(0,7){IMC=0,IMD=R0[I],IMC=1} ; \ IMI=1 ; \ LOOP=(0,6){IMC=0,IMD=ADR[I],IMC=1} ; \ put ADRESS R0=1 ; / LOOP=(0,0){IMC=0,IMD=R0[I],IMC=1} ; / IMI=0 ; / IMI=1 ; / IMI=0 ;\ R0=129 ; \ LOOP=(0,7){IMC=0,IMD=R0[I],IMC=1} ; \ IMI=1,IMD=1 ; \ read DATA LOOP=(0,7){IMC=0,IMC=1,DATA[I]=IMD} ; / IMI=0 ; / IMI=1 ; / [WRITEINIT] VPP=20000,P=200000 [WRITE] IMI=0 ;\ R0=128 ; \ LOOP=(0,7){IMC=0,IMD=R0[I],IMC=1} ; \ IMI=1 ; \ LOOP=(0,6){IMC=0,IMD=ADR[I],IMC=1} ; \ put ADRESS R0=1 ; / LOOP=(0,0){IMC=0,IMD=R0[I],IMC=1} ; / IMI=0 ; / IMI=1 ; / IMI=0 ;\ R0=131 ; \ LOOP=(0,7){IMC=0,IMD=R0[I],IMC=1} ; \ IMI=1 ; \ ERASE R0=255 ; / LOOP=(0,7){IMC=0,IMD=R0[I],IMC=1} ; / IMI=0 ; / IMI=1 ;/ P=200 LOOP=(16,0){MCL=0,P=500,MCL=1,P=500} ; 17 Periods at 1kHz IMI=0 ;\ R0=131 ; \ LOOP=(0,7){IMC=0,IMD=R0[I],IMC=1} ; \ IMI=1 ; \ write DATA LOOP=(0,7){IMC=0,IMD=DATA[I],IMC=1} ; / IMI=0 ; / IMI=1 ;/ P=200 LOOP=(16,0){MCL=0,P=500,MCL=1,P=500} ; 17 Periods at 1kHz [END] VPP=0