There's also the unusual, little known but readily available and programmable TMS2564 (Vpp also 25V, alas); it (sort of) stayed with the original ROM/EPROM pinouts when everyone else switched to the JEDEC standard as more pins became needed.
It's a 28 pin 8K x 8 EPROM, but the upper 24 pins are pin-compatible with the MCM68764/6 and many 24 pin 8K x 8 ROMS (BTW, what's the difference between the 68764 and the 68766?) Of course you need the room for the extra 4 pins hanging off the end and a jumper to the extra chip selects, but it's definitely an option, especially as the Moto parts are getting scarce. I believe there's also a Hitachi (?) version equivalent to the 6876x but I can't find the number at the moment; probably even more obscure... m On Mon, May 27, 2024 at 11:35 AM jos via cctalk <cctalk@classiccmp.org> wrote: > > > > Gents, please be aware of the WSI 57C49 Eprom, 8Kx8 in a 24 pin DIP > It can go low as 25nS access time. > > Note that addresslines A10,A11 and A12 are swapped, so the contents needs to > be moved accordingly. > I used the C program below to create replacements for some Tektronix 4052 ROMS > > > Jos > > > > > > #include <stdio.h> > #include <stdlib.h> > > /* > * radapt <rominage> > * > * quick hack to transpose rom inages from mk36000 to wsi57c49 > * These are pincombatible except for A10, A11 and A12 > * > */ > > #define K8 8192 > #define K1 1024 > > unsigned char in[K8], out[K8]; > > void move(int a, int b) > { int i; > printf("%d %d\n",a,b); > for (i=0;i<K1;i++) > out[b*K1+i]=in[a*K1+i]; > > } > > > int main(int argc,char *argv[]) > { > int i=0; > > int c; > FILE *fptr; > > > > fptr=fopen(argv[1],"rb"); > { if (!fptr) > printf("Unable to open file %s\n",argv[1]); > else > { while( (c=fgetc(fptr)) !=EOF ) > { in[i]=c; i++;} > fclose(fptr); > if (i!=K8) > { printf("incorrect input file size, must be %d, not > %d\n",K8,i); > exit(-1); } > move(0,0); > move(1,2); > move(2,4); > move(3,6); > move(4,1); > move(5,3); > move(6,5); > move(7,7); > fptr=fopen("out.bin","w"); > for (i=0;i<K8;i++) > fputc(out[i],fptr); > fclose(fptr); > printf("Output file out.bin written\nmv out.bin %s\n",argv[1]); > }; > }; > } > >