ENTERPRISE KLUB
2019. szeptember 7., 1055 Budapest, Nyugati tér 9. 14-19 óráig
Részletek
Welcome, Guest. Please login or register.


Author Topic: EPROM/Flash ROM/SRAM expansions (Read 27750 times)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13429
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 26.0 Firefox 26.0
    • View Profile
    • http://enterprise.iko.hu/
EPROM/Flash ROM/SRAM expansions
« on: 2014.January.30. 21:16:54 »
Gflorez asked it, but probably will be useful for other Enterprise users then I will write details are generally, started from the begining.

The 8 bit EPROM, EEPROM, Flash ROM and SRAM IC series have a very similar pinout.
EPROMs can be programmed only by EPROM programmer, for the erase need a UV lamp. For the programing using 25V/21V/12V power line.
EEPROMs the next generation, these can be erased electronicaly then the programmer enought not need a UV lamp. But also need a 12V power line, for the programming, and the write algorythm near to the EPROMs algorythm. These are obsolete devices, can be used as ROM in Enterprise system, but not have any advantage than the EPROMs. (Onlay at the erase not need a UV lamp.)

Flash ROMs are more interesting devices! These are designed for the easy in-system programing, using only single +5V power line, and the programming algorythm are easy memory accesses. Alse easy to use in Enterprise! :-D

SRAMs are started with EPROMs, this is the reason for the very similar pinouts. These are fast memory ICs, and more easy using than the DRAMs, but always very expensive devices. But todays "enought for Enterprise" size are at reasonable price!

All ICs have have a 3 generations: 24/28/32 pins package.
The main evolution proccess are: 2x size need 1 more address line. If no unused pin which can be used then special signals removed or mixed for less pins, when not enought pins then use longer package with more pins. in this situation the olds pins at same physical position (pin numbering changed), only the VCC (+5V) pin moved to the new last pin.

Some general rules about the IC numbering: nn (x) (m)mm
nn: chip family, 27 are the EPROMs, 28 EEPROMs, 29,39,49 Flash ROMs. SRAMs are very vary, 61/62 the most common, but exist 22/24/55/76/etc...
x: sub family, only important at the EPROMs, older types not have this character, later types are C which means CMOS. These are faster and use less power.
mmm: capacity in Kbits, for example 256 means 256 Kbits=32 Kbytes, from 1 Mbits these shortened, 010 menas 1024 Kbits=128 Kbytes. At the EPROMs exist some diferent series where 1000,2000,etc used, means 1,2,... Mbits, these are different pinout than the 010,020,etc series.

Will be continued with the pinouts... :)

Offline lgb

  • EP addict
  • *
  • Posts: 3496
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 33.0.1750.46 Chrome 33.0.1750.46
    • View Profile
    • http://lgb.hu/
Re: EPROM/Flash ROM/SRAM expansions
« Reply #1 on: 2014.January.31. 06:53:34 »
Not for just "protecting the poor EEPROMs", but modern ones does not need extra voltage (like +12V) at all, and no need for complex write cycles either, in fact they are easier to write than flash, and a single byte can be modified as well (flash needs block level operation), unlike on flash. Modern EEPROM devices in fact still requires stuffs Zozo wrote about, but it's done/generated automatically by the IC itself. The write is the same as with a RAM, no difference at all (it's quite different with flash)! Ok, maybe one: you can't write EEPROMs rapidly, you "should" wait after a write operation, because it's still much slower than a read. But anyway, I guess EEPROMs are still more expensive, but they're worth for hobby purposeses anyway if you need low capacity. I am quite sure that for eg 512K or so, you should forget EEPROMs anyway :)

Offline gflorez

  • EP addict
  • *
  • Posts: 2605
  • Country: es
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 26.0 Firefox 26.0
    • View Profile
Re: EPROM/Flash ROM/SRAM expansions
« Reply #2 on: 2014.January.31. 13:20:40 »
No, not big capacities, only 32k, 64k or up to 128k for rapid update service of core ROMs.

Long ago Zozo installed in my EXDOS card a 128k EPROM, replacing the board ROM socket of 28 pins with a bigger  of 32 pins!.
« Last Edit: 2014.January.31. 13:46:00 by gflorez »

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13429
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 26.0 Firefox 26.0
    • View Profile
    • http://enterprise.iko.hu/
Re: EPROM/Flash ROM/SRAM expansions
« Reply #3 on: 2014.January.31. 13:41:09 »
Quote from: gflorez
Lon ago Zozo installed in my EXDOS card a 128k EPROM, replacing the board ROM socket of 28 pins with a bigger  of 32 pins.
Yes, your card originally has 3x32K (28 pins), it can be modified up to 3x512K (32 pins), recommended 512K Flash ROM, and 2x512K SRAM. Then you got a total 1.5M RAM expansion, and 512K for ROM programs.
Details will come, but I need to work now :oops:
« Last Edit: 2014.January.31. 19:57:30 by szipucsu »

Offline gflorez

  • EP addict
  • *
  • Posts: 2605
  • Country: es
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 26.0 Firefox 26.0
    • View Profile
Re: EPROM/Flash ROM/SRAM expansions
« Reply #4 on: 2014.January.31. 13:55:52 »
So much memory is an abuse! Could be great to have a permanent RAMdisk inside of that 1M of static memory...

Offline jltursan

  • User
  • *
  • Posts: 69
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 26.0 Firefox 26.0
    • View Profile
    • JLTurSan's MSX page - My little MSX corner
Re: EPROM/Flash ROM/SRAM expansions
« Reply #5 on: 2014.February.01. 00:28:12 »
What kind of EXOS PCB was?. The only one I've found with 3 sockets is the EPPlus one.
Can I modify its board to work with 32 pin EPROMs?

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13429
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 26.0 Firefox 26.0
    • View Profile
    • http://enterprise.iko.hu/
Re: EPROM/Flash ROM/SRAM expansions
« Reply #6 on: 2014.February.01. 00:44:17 »
Quote from: jltursan
What kind of EXOS PCB was?. The only one I've found with 3 sockets is the EPPlus one.
Can I modify its board to work with 32 pin EPROMs?
Are you talking about the cartridge?
The answer is: Yes and No.
Yes, it can be modified for use, but can not access full capacity because the cartridge socket has only 16 address lines (A0-A15), and only 64K address space decoded. But you can put switches for the unused address lines of the bigger chip and can switch ROM pages.
« Last Edit: 2014.February.01. 12:18:44 by szipucsu »

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13429
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 26.0 Firefox 26.0
    • View Profile
    • http://enterprise.iko.hu/
Re: EPROM/Flash ROM/SRAM expansions
« Reply #7 on: 2014.February.01. 04:07:26 »
About the pinouts, lets start where the story begin:
2708 (1Kbytes) and olders (2704, 2702) are the great-grandfather of all ROM chips what we using.
10128-0
These use three power lines (+5V,-5V,+12V), then can not be used in modern computer systems such as the Enterprise.
But look the pinout: Data and Address lines positions will be standard for the many next generation!

The next generation of the 24 pins EPROMs the 2716, 2732 (2K,4K):
10130-1
10132-2
These the first single power line EPROMs. Another change now the chips have separate Chip Enable and Output Enable signals, this is will be standard for the future generations.
In Enterprise systems only printers using this small capacity chips. (At ZX Spectrum and Commodore systems many hw using this type.)

Because all pins used at 2732 the next step need a longer package then 2764 (8K) are the first 28 pins EPROM.
10134-3
In Enterprise only used at some early EP64 machines where the IS-BASIC stored in 2x8K EPROMs.

The next series the 27128 (16K) and 27256 (32K) the usually used when the Enterprise born.
10136-4
10138-5
-motherboard have a 32K socket
-one socket cartridges have a 32K socket
-two sockets cartridges jumperable 8K/16K. Some early EP64 machines have the 2x8K configuration, later machines and all English EP128 machines got a one socket cartridges with 16K ROM chip. German EP128 machines have a mixed cartridges: two sockets type with 2x16K ROM, or one socket type with 32K ROM.
-EXDOS card have a jumperable 16K/32K socket, the standalone card with 1.0 version are 16K, built in card in the German floppy units have a version 1.3 ROM which are 32K
-third party EXDOS cards have a 32K socket, MICROTEAM type have a 3x32K socket
-the Plus cartridge from the 'a' Studio have a 2x16K and 1x32K sockets
-exist a third party cartridge with 3x32K sockets, where 2x32K are switchable

At 16K sockets the Pin 27 connected to VCC (Pin 28). Modify to 32K need to cut this and connect Pin 27 to A14 address line. This is very common modification for the two sockets cartridges. Also need to modify the address decoding on cartridge, remove the jumper and connect the A15 to the decoder IC (74ALS138) input.

The next big evolution step when the 27512 (64K) chips are arrived at the end of '80 years.
10140-6
We started using at the one socket type cartridges, the modification are easy: remove VCC from Pin 1 and connect to A15.
Because also 64K address space decoded for the onboard EXOS ROM I do same trick in the motherboard and started the EXOS 2.2, 2.3 evolution.
The original EXOS 2.0,2.1 only search ROM at the 10h,20h,30h,etc segments, but my updated versions search all segments. Then possible using 64K EPROMs on expansion cards, with more programs in one EPROM. The trick is same: connect Pin 1 to A15. MICROTEAM type cards now can be used with 3x64K ROMs.

There is a pinout summary from 2716 to 27512:
10142-7

At the '90 years arrived the 128K, 256K EPROMs, these need a more address lines, then got a 32 pins package.
10144-8

At the cartridge or motherboard only 64K address space decoded, but on EXDOS cards 256K decoded for sockets. Then possible to use this bigger EPROMs. Firstly need modified up to 64K socket.
Adding 27C010 are easy, because the Pin 30 not used which are the Pin 28=VCC in the socket, Connect the EPROM Pin 30 to Pin 32 then the IC have a power. And connect EPROM Pin 2 to A16.
I do this for example on Gflorez card.

27C020 need a A17 at Pin 30 then the previously VCC trick not working,  need a separate VCC wire for Pin 32. And bend up the Pin 30 for don't connect with the socket Pin 28, and connect to A17. And Pin 2 to A16 as the 27C010.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13429
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 26.0 Firefox 26.0
    • View Profile
    • http://enterprise.iko.hu/
Re: EPROM/Flash ROM/SRAM expansions
« Reply #8 on: 2014.February.01. 04:30:15 »
Next part the Flash ROMs:

Only the 29x256 (32K) types in a 28 pins package:
10146-0
These are compatible with the 27256 EPROMs just need a Write Enable signal for in-system programming. It is putted to Pin 1 the 32K socket modification similar as the 27512 (64K) modificaton: cut Pin 1 from VCC. And now connect to WE.

29x512 (64K) types can not be in 28 pins package as the 27512 types because the plus WE signal need a plus pin. Then at the Flash ROMs the 32 pin package started at 64K capacity.
10148-1
The plus A15 line used at Pin 3 which are the Pin 1 in the 28 pin socket. This compatible with the 27512 and later EPROMs, then do the standard modification on the pin 1 of socket.
Need to connect WE to Pin 31. Pin 30 not used then also working same VCC trick as the 27C010. This is also valid for the next 128K 29x010 chips:
10150-2
These need a plus A16 to Pin 2, similar as the 27C010.

At the next 256K 29x020 type same problem as the 27C020, Pin 30 used for A17 then do same as at the 27C020, just also put WE line to Pin 31.
10152-3

And the 512K 29x040 type also can be used, all same as the previous, just add plus A18 at the Pin 1 of Flash IC.
10154-4

But for use 512K full capacity need to modify the address decoding of the card. I will write details for the MICROTEAM type after some sleeping :oops:

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13429
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 26.0 Firefox 26.0
    • View Profile
    • http://enterprise.iko.hu/
Re: EPROM/Flash ROM/SRAM expansions
« Reply #9 on: 2014.February.01. 15:44:54 »
Modify MICROTEAM type EXDOS cards for 3x512K address decoding to the ROM sockets.
Schematic of the card.
IC positions.

Originaly 3x256K address space decoded for the ROM sockets: 10h-1Fh,20h-2Fh,30h-3Fh segments.
And 2x256k for the DRAM expansion, 40h-4Fh,50-5Fh segmens

For double the address space need to remove A21 from IC12 pin 10 then connect it to GND. Now the problem the DRAM address space also doubled, RAM segments are mirrored. For correct this remove GND from IC19 pin 2 then connect it to A21.
Then the ROM sockets decoded to: 10h-1Fh+90h-9Fh,20h-2Fh+A0-AFh,30H-3Fh+B0h-BFh. DRAMs still on 40h-4Fh,50-5Fh.
When installing 512K ICs to the ROM sockets connect A21 address line as A18 at the ICs.

One cut at the top of card:
10162-0

Another at the bottom:
10164-1

Wiring:
10166-2
10168-3

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13429
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 26.0 Firefox 26.0
    • View Profile
    • http://enterprise.iko.hu/
Re: EPROM/Flash ROM/SRAM expansions
« Reply #10 on: 2014.February.01. 23:14:54 »
Last part, the SRAM ICs:
The grandfather are the 6116 (2Kbytes) and compatibles, in a 24 pins package:
10179-0
Pinout are same with the 2716 EPROM, just Write Enable signal added at the pin 21.
These used in printers at Enterprise systems, the EP80+ printer need one for RAM expansion.
At the Enterprise brother=Videoton TVC, two 6116 used at the disk controller as DOS RAM.

Warning! Exist other 2K SRAMs, the 6117 and compatibles which are little different:
10181-1
Instead the chip and output enable signals, have a two chip select signal.
Few times when I'm ordered "2K SRAM" got a wrong part :-(

The next generation are the 8K 6264 and compatibles, these are in 28 pins package:
10183-2
The WE at the pin 27 this is will be standard for the future generations.
It is combined the previous two variations: have one output and two chip enable signal.

More interesting the next type: 32K 62256 and compatibles.
10187-3
CE2 replaced by A13 at Pin 26 this is same as the 27256 EPROMs. But becuse the WE signal are already at Pin 27 then the A14 went to Pin 1.
We started using this type in Enterprise at early '90 years, firstly in modified cartridges, later developed battery powered SRAM cartridges and extension boards. I added the to EXOS 2.2,2.3 the option for search RAM in cartridge. At the current version this is the default setting.

For using 32K SRAM in a 32K ROM socket need to cut the A14 from Pin 27 and VCC from Pin 1 then connect WE to Pin 27 and A14 to Pin 1.

Many years later released 16K version, which not have A14 input:
10185-4

64K capacity types are the first 32 pins package types:
10189-5
Second chip select signal come back to pin 30 which are pin 28 at the 28 pins socket. Because it is high active, can be connected to the VCC and use same trick what we talked at the 27C010: connect the IC in 30 to pin 32.
A15 at the pin 31.
128K and 256K are same just got a A16 at pin 2 then A17 to pin 1.
10191-6
10193-7

512K types are the most important to we! If the socket can be upgraded for using SRAM why not use the available biggest type? :-D
10195-8
CS2 replaced by A17 then the VCC trick can't used, need a separate VCC wire. A18 went to Pin 1.

Finaly compare the 512K SRAM with 512K Flash ROM: both use same signals, but slightly different pinouts. Because the address line order unimportant at the RAM, only one difference remain: WE at pin 29 on SRAM and at pin 31 on Flash ROM.

Offline gflorez

  • EP addict
  • *
  • Posts: 2605
  • Country: es
  • OS:
  • Unknown Unknown
  • Browser:
  • Firefox 26.0 Firefox 26.0
    • View Profile
Re: EPROM/Flash ROM/SRAM expansions
« Reply #11 on: 2014.February.02. 02:09:17 »
I understand the flash roms can be burned "in situ" but, whouldn`t it interfere with the operation of EP if EXOS or ExDOS roms are over-written while been accessed?

--------------

I`ve reading data sheets about 29X040 ROMs, and some allow to be erased  and burned partially in banks. Which is the best candidate for you? Can you name the exact reference of the necessary chips?
« Last Edit: 2014.February.02. 02:51:10 by gflorez »

Offline gflorez

  • EP addict
  • *
  • Posts: 2605
  • Country: es
  • OS:
  • Unknown Unknown
  • Browser:
  • Firefox 26.0 Firefox 26.0
    • View Profile
Re: EPROM/Flash ROM/SRAM expansions
« Reply #12 on: 2014.February.02. 02:30:56 »
Para szipucsu:

Entiendo que las flash roms pueden ser programadas "in situ" pero, ¿eso no interferirá en el funcionamiento del EP si se sobre-escriben las roms de EXOS o EXDOS mientras se accede a ellas?

---------------

He estado leyendo informes sobre las EPROM 29X040, y algunas admiten ser borradas y programadas parcialmente por zonas, ¿cual es la mejor  candidata para ti? ¿Puedes nombrar las referencias exactas de los chips necesarios?
« Last Edit: 2014.February.02. 02:46:55 by gflorez »

Offline BruceTanner

  • EP user
  • *
  • Posts: 485
  • Country: gb
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 31.0.1650.59 Chrome 31.0.1650.59
    • View Profile
Re: EPROM/Flash ROM/SRAM expansions
« Reply #13 on: 2014.February.02. 10:14:33 »
:smt023 Thanks zozo, great write up! :smt041

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13429
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 26.0 Firefox 26.0
    • View Profile
    • http://enterprise.iko.hu/
Re: EPROM/Flash ROM/SRAM expansions
« Reply #14 on: 2014.February.02. 10:36:00 »
Quote from: gflorez
I understand the flash roms can be burned "in situ" but, wouldn`t it interfere with the operation of EP if EXOS or ExDOS roms are over-written while been accessed?
You need to be careful :-)
First the flash program loads the file into memory and during the procedure you shouldn't use EXOS and EXDOS, interrupts are disabled. The final step is the cold restart.
I use about the first 320K for the final, fix programs, and the remaining is used for the under development programs.

Quote
I`ve reading data sheets about 29X040 ROMs, and some allow to be erased  and burned partially in banks. Which is the best candidate for you? Can you name the exact reference of the necessary chips?
I recommend the AMD (AM29F040) or Macronix (MX29F040) because these have uniform 64K sectors, and use 12 bit code addresses for programmig, so it is very easy to program in Enterprise, the destination segment paged in is enough. I have assembly routines for these ICs. (Only some user interface needs to be added  :oops: )
« Last Edit: 2014.February.02. 12:15:16 by szipucsu »