64mbit Mask ROM alternative/reading unusual ROM chips - Page 1
Forum section: electronics / beginners

author: AJRube
author_rank: Contributor
timestamp: March 10, 2022, 01:45:59 am
content: Hi folks,I've recently been working on a project to replicate a ROM board for an old synth. The ROMs hold waveform data in 64mbit chips that are in pairs attached to 72 pin SIMM style (like the old RAM sticks) PCBs. I am exceedingly green at this sort of thing but I've got someone helping me replicate the PCBs. The problem I'm having is actually sourcing the memory itself. The original chips are obsolete 5v SOP44 Mask ROM jobs - and even though I've supposedly got some coming from an eBay seller, the fact that they're apparently going to supply them by late may (I ordered in February) is not filling me with great hope that they'll ever arrive. Even 3v versions seem kinda scarce. TSOP48 ones are slightly more available but only just - I'm working on a board to adapt the TSOP48 3v chips to work with the solution I'm trying to build but once again, even those chips are hard to come by.So I'm here to ask - are there easier ways of doing what I'm trying to do here? I've read that FPGAs might be a simple way to do such a thing but that's well beyond my skill level. The actual board itself is pretty simple, quite similar to the way DRAM would go into a SIMM board. The chips address lines feed to the same pins on the SIMM, and each individual chips data lines are fed into separate pins along the board. So essentially I need a solution that can provide the 64mbit stream at a reasonable speed to the address and data lines (100ns or less). Can anyone help with this? It would also be great if I could find a way to experiement with larger memory sizes on the board, but I'm not holding my breath there.The next question I have is this - I purchased a TL866IIplus to read the rom data from the boards I already have - and *ideally* I'd like to avoid removing the existing ROM chips from the board I have. Given how simple the actual board is - I wanted to try and read the data directly through the SIMM board itself. Is there a way that I can adapt the TL866II to take 72 pins? I actually don't need all of them, but I need more than 56, which is the largest pin'd adapter I currently have found.Thanks for your time!

author: T3sl4co1l
author_rank: Super Contributor
timestamp: March 10, 2022, 02:36:45 am
content: 1. Just checking... the chips you ordered, are for the thing you want copies of, right? There's no writing mask ROM, it's truly read-only, etc. And you just need it to dump it, you can't find a copy anywhere?2. Memory interfaces tend to be standard, so it may be that you can plop in a nice affordable Flash chip and go. Maybe not in 5V these days, but level translation buffers can handle that. TSSOP packages can offer higher density, maybe/probably fitting the extra logic onto the same boards.I assume a drop-in replacement would be ideal? And then you want to be able to fill with different samples too, plug and go..? Some programming logic could possibly be squeezed onboard too, or plugged into a jig that can program it (probably the easier thing, but does need a separate board).Neat thing about modern high capacity chips, you could have dozens of wavetables/soundfonts in there, and a few DIP switches to select among them say. Which would happen in real time, so, opportunities for some crazy quick-change instrument shenanigans maybe? Well, getting access to the cards in a convenient way might still be work...Tim

author: amyk
author_rank: Super Contributor
timestamp: March 10, 2022, 03:24:29 am
content: 128Mbit in total, so presumably 4M x 32, as a pair of 4M x 16 ? There's plenty of 4M x 16 parallel flash available but unfortunately I can't find any 5V ones available at the usual places, although Inteldid make onelong ago (but only 150ns speed).

author: AJRube
author_rank: Contributor
timestamp: March 12, 2022, 07:27:49 am
content: Quote from: T3sl4co1l on March 10, 2022, 02:36:45 amYep, I am aware that Mask ROM is a once off write job, that's why I got a few to replicate the original design as a starting point. Not a permanent solution, more a proof of concept.As far as dumps - there's no Korg Triton dumps anywhere to be found! It's really weird. I figure that I can dump it through the actual DIMM itself rather than desoldering, as the board is really just two Mask ROMs attached to a SIMM board with a couple of capacitors, no other logic to muck with. I got a SIMM connector, I'm hoping maybe I can rig something with an Arduino to read it using that - but the actual ROM reader would be way easier as I'm pretty green with electronics in general.Quote from: T3sl4co1l on March 10, 2022, 02:36:45 amSee, I'm REALLY new to all of this. I never thought I'd ever know this much about memory chips in general and now I've jumped deep into the rabbit hole, haha. My initial plan was to just replicate the original board but I'm starting to get excited about innovating somewhat, and this all sounds terrifically exciting. The board I've designed so far will have a small adapter to allow TSOP48 chips (these seemed a lot easier to come by and used the same amount of address and data lines so I figured the unused pins and extra grounds weren't vital to the design, and would adapt easily) and will also have level limiters to allow 3v chips to interface with it. But stuff like large capacity chips attached to DIPs with logic, wow - way out of my comfort zone. If you'd care to make me uncomfortable however, I'm all ears. Where do I start?

author: AJRube
author_rank: Contributor
timestamp: March 12, 2022, 07:29:11 am
content: Quote from: amyk on March 10, 2022, 03:24:29 amThat is correct! I've had a devil of a time even finding 3v ones in the same package (SOP44). That's sorta why I'm trying to investigate alternate methods as I'm fast of the opinion this might be a lot harder than I first thought.

author: wraper
author_rank: Unknown
timestamp: March 12, 2022, 08:03:23 am
content: Quote from: AJRube on March 12, 2022, 07:27:49 amNo, you don't understand. Mask ROM is not electrically programmable at all. It's called mask ROM because data is contained within the mask - metal layer deposited onto the die during manufacturing. Once IC is out of the factory, no data can be changed. What you get from ebay is unusable garbage.

author: AJRube
author_rank: Contributor
timestamp: March 12, 2022, 08:06:35 am
content: Quote from: wraper on March 12, 2022, 08:03:23 amAh. Well that was a waste of 50 bucks, yikes. What's the purpose of even selling Mask ROMs separately without code on them? To get suckers like me to buy them?*sigh* Oh well.

author: wraper
author_rank: Unknown
timestamp: March 12, 2022, 08:19:34 am
content: The only reason to buy one is if it already contains the data you need. Usually there is some additional factory marking indicating the code it contains. Unless it's sold as a spare for some particular device, it's basically a scam for noobs. On other hand seller may not necessarily know what he is selling.

author: AJRube
author_rank: Contributor
timestamp: March 12, 2022, 09:41:02 am
content: Quote from: wraper on March 12, 2022, 08:19:34 amOh well. You live and learn. I thought this project would be easy! It's a great way to learn though.

author: wraper
author_rank: Unknown
timestamp: March 12, 2022, 10:35:51 am
content: Parallel NOR FLASH chip should do the job. It's pretty straightforward to replace a mask ROM with EPROM, OTP ROM or NOR FLASH.

author: Kleinstein
author_rank: Super Contributor
timestamp: March 12, 2022, 02:04:03 pm
content: Quote from: AJRube on March 12, 2022, 08:06:35 amI highly doubt the ROM modules are actually mask ROM. More likely they are more standard OTP ROM or maybe even flash memory. Mask ROM is an old technique that gets less and less attractive with high density parts as the masks get more and more expensive. So mask ROMs are to a large pare replaced by programmable ones, except for ROM integrated with µCs (e.g. the standard boot loader) and more lower capacity µCs for very large quanteties and maybe a few security relevant parts (even there they seem to skimp as they don't get the numbers and bugfixes are very expensive).The waveform ROM should not net get the quantity to make this worth while.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: March 12, 2022, 04:37:49 pm
content: Would be interesting if they even used the standard SIMM pinout, so that, like, the module could be plugged into a vintage PC and read out that way. It would take some work though... not least of which is bypassing the BIOS startup RAM check? And, not sure you'd be able to boot into anything that uses XMS, without also potentially allocating that region (so, Windows, Linux..); so, to copy it, you'd need a DOS extender, and that's a whole bunch of programming.Is it at all feasible to hot-plug a SIMM? The biggest hazards I would think are: the power transient (charging the bypass caps on the module) might cause a reset, and something about the hardware or BIOS configuration being ignorant of additional memory, whether it needs to be mapped or initialized or allocated to be accessible in any particular way? I don't know the details on this (and, I don't know how standard it is across ISA, or if it's normally specific to the motherboard).Which leaves, making an adapter board and using a chip programmer to read it out, or finding one that happens to socket SIMMs or SOPs already.Tim

author: rstofer
author_rank: Super Contributor
timestamp: March 12, 2022, 08:22:51 pm
content: If I were doing this, I would build a small PCB with the appropriate socket to hold the memory (or whatever) along with a uC and some parallel port expanders to hold the address as it gets shifted out from the uC and to gather up the data as it gets shifted into the uC. I would probably start with a Raspberry Pi because it already has a file system for storing the data and I2C on the Pi is well understood.This kind of thing is pretty easy once you get past the 3.3V vs 5V problem. Maybe something like this:https://www.ti.com/lit/ds/symlink/tca6416a.pdf3.3V I2C and 5V parallel port. There is the glitch that there can only be 2 such devices on an I2C bus but I suspect that can be worked out with an 8 port multiplexor:https://www.nxp.com/docs/en/data-sheet/PCA9548A.pdfI would want to protect the memory under all conditions, this isn't the kind of thing I would do on a breadboard.ETA: I might put 470 (520) Ohm resistors in series with all the parallel pins on the off chance that I program the pin to be an output and it conflicts with the memory output. I would have to check the voltage levels on a scope to verify logic levels but that would be pretty easy.Is the pinout configuration known?

author: AJRube
author_rank: Contributor
timestamp: March 13, 2022, 07:56:15 am
content: Quote from: Kleinstein on March 12, 2022, 02:04:03 pmI did wonder about this myself! Although the datasheet certainly suggests it's a Mask ROM.https://www.digchip.com/datasheets/parts/datasheet/272/MX23C6410MC-10-pdf.php

author: AJRube
author_rank: Contributor
timestamp: March 13, 2022, 08:02:27 am
content: Quote from: rstofer on March 12, 2022, 08:22:51 pmThis is the sort of solution I'd like to reading and writing the modules, for sure! I'm starting to wonder though whether writing to the board on the board is actually at all feasible however.https://www.synthxl.com/wp-content/uploads/2020/03/Korg_Triton_Series_Service_Manual.pdfthe schematic for what I'm trying to do is in this pdf, about page 18.However, when you get to the pinout for the SIMM it becomes apparent, unless I'm very much mistaken, that you can't program it on the board.From what I see on this, there's only data and address pins, an OE, CE, and bank selector (which I presume is to choose that particular board over the other ones in the sockets).I'd love your thoughts though! As I say I'm exceedingly green so I'm looking for a direction to run in.

author: Kleinstein
author_rank: Super Contributor
timestamp: March 13, 2022, 10:51:19 am
content: Quote from: AJRube on March 13, 2022, 07:56:15 amThe datasheet is from 2002. So that is a realatively old chip from a time when Flash capacity was still a bit limited - though already affordable and 64 Mbit already small for a memory card. So it could still actully be mask ROM, with a relatively large chip made in an older fab. With some 500 nm technolgy the masks may still be affordable and with so many pins quite some of the chip size is anyway set by the pins.Anyway for a new replacement MASK ROM is not an option - it hardly ever was for a 1 off. The craziest I have seen/read in that direction was hard wired diode memory and the ferrite based woven rope memory like used in the Appollo program.It would be about reading the old memory (if needed) and writing to a new memory module with programmable chips (could be OPT or flash). There seem to be unused pins for the ROM module and write is planed for the RAM modules. Writing to the DIY PROM modul looks very feasable - more than getting a adater to directly write to the chips an only than solder them to the PCB.

author: AJRube
author_rank: Contributor
timestamp: March 15, 2022, 08:57:26 am
content: Quote from: Kleinstein on March 13, 2022, 10:51:19 amI'm glad I'm reading it correctly! I figured that if I used NOR Flash I could connect pin 47 to the WE leg (33 on the SOP44 version of the flash chip I've managed to dig up, this time definitely not MASK!) it could be written in circuit. I'm still not exactly sure how the little TL86plus2 adapters work given it's only got 40 connections on the board, but there's a group that does Capcom cabinet modifications that seem to have already made a SIMM adapter for the same flash programmer. If I can get one of those I might be able to use it as is, if not then I guess I at least have some inspiration for making my own...Thanks for everyone's thoughts so far, it's been very helpful.