schlae / mpu-imc Goto Github PK
View Code? Open in Web Editor NEWMPU-IMC clone board layout and schematic
MPU-IMC clone board layout and schematic
hi Eric, you say:
the microcontroller, IC3, has not been dumped
and that's why I just want to let you know that 6801V0B55P was actually dumped 10 years ago, I posted details here:
https://www.vogons.org/viewtopic.php?p=1202055#p1202055
and here:
https://www.vogons.org/viewtopic.php?f=62&t=96744
that dump is the latest known ROM for 6801V0B55P, i.e. version 1.5A, but 6801V0B55P with ROM version 1.4B is confirmed to exist in the wild, at least based on one report:
https://forum.vcfed.org/index.php?threads/roland-mpu-401-eprom-upgrade-1-5a.1238114/
in short that means command 0xAC returns 15 or 14 (respectively version 1.5 or 1.4) and command 0xAD returns 1 or 2 (respectively revision 'A' or 'B' to designate 1.5A or 1.4B) :
https://www.vogons.org/viewtopic.php?p=1202056#p1202056
the retro-computing community believes that 1.5A is the latest Intelligent MIDI firmware version, because that is what is also documented in the "MPU-401 Technical Reference Manual", but now, based on few findings that I made very recently, I have very strong evidence that there are newer firmware versions (and most importantly those new versions are for Generic 6801 and not for the custom and unobtainable now Roland part 6801V0B55P). it seems those newer firmware versions were introduced to existing devices mainly when an MPU-401 unit was sent back to Roland for a repair, which as you will see makes a lot of sense and here is how I came to that conclusion in chronological order:
thanks to a family friend, now a very old gentleman, who owns that particular MPU-401 unit since like 40 years, I was able to find out that unit has firmware which returns:
0xAC --> 0x15
0xAD --> 0x39
at first I was shocked and confused by that, as there is no known revision 0x39 of firmware 1.5, the only known one is revision 1, i.e. 1.5A.
that's why initially, I was thinking that it has to be some fault like maybe some bits flipped due to aging process where value '01' is stored in the ROM and it became '39', but digging further and further, as it will become clear below, showed me that is not the case and the firmware is really "1.5 revision 39".
What was even more confusing is that based on the label sticker on the bottom of the unit, it shows the unit is from May 1984, i.e. very very early unit, actually one of the earliest possible units - that is over 1 year before Roland released firmware 1.5, which release date is documented in "MPU-401 Technical Reference Manual" to be May 31, 1985.
So, based on "May 1984" date, what it should have is firmware 1.2, but yet it has 1.5 with some strange 0x39 revision number.
OK, it will be long, but digging deeper - I told the owner what I found out and how confusing it is and he told me the unit was sent back to Roland (he cannot recall the exact date or year) for a repair. So, I opened the unit and it was full of surprises:
at first that picture added some doubts to me, because it has "7" marked on the EPROM sticker, i.e. if my hypothesis is correct then that should mean firmware version 1.7, which is another unheard thing, but it took me almost no time searching to find that Vogons user "cricket" reported 5 years ago unit with ROM version 1.7C, as the post says:
I can use MPUTHRU.COM on the unit and it prints ROM version 1.7C
https://www.vogons.org/viewtopic.php?p=681558#p681558
even it seems back then no one really paid much attention that version 1.7C is something actually new and unheard.
It's also important that the unit from the picture above with "7" marked on the EPROM is not using 6801V0B55P, but another chip 6801V0A88P, which adds up - different chip, different ROM version, i.e. 1.7C that is not seen on units with 6801V0B55P that are 1.4B or 1.5A.
https://www.vogons.org/viewtopic.php?p=296139#p296139
that to me indicates "version 1.5 revision DB"
here are the 2 important parts of that post:
two chips missing on the PCB that are present on mine
"Artex" meant by that the EPROM chip and HD74LS04P, which are missing on most MPU-401 units, i.e. those with 6801V0B55P, which has build-in ROM and thus no external EPROM chip:
and "Artex" added:
The bigger chip says "Roland 1.5 DB"
and between HD74LS04P and the EPROM chip, the bigger one is the EPROM, i.e. "Artex" no doubt is talking about the sticker on the EPROM chip and that it's "Roland 1.5 DB" or "version 1.5 revision DB" (I guess that is the moment when they switched to that new format/style of the sticker)
Summary and final words:
it seems there are 3 designs:
6801V0B55P (build-in ROM, latest known version 1.5A, dumped 10 years ago by the MAME project), in this case the EPROM and HD74LS04P are not populated on the board, but there is space left for them (I guess especially useful when repair is needed and 6801V0B55P is replaced with generic/regular 6801 MCU and not Custom Roland part).
6801V0A88P + HD74LS04P + EPROM : latest known ROM version is 1.7C, unfortunately, dump is not available and Vogons user "cricket" that seems to have such unit is not active for years, i.e. cannot be reached. in any case I don't believe that case is important, because still 6801V0A88P is Roland part and unobtainable now
the most important and very interesting case - the case that started my investigation. it's so interesting, because it doesn't use Roland part, but instead off-the-shelf or regular/generic 6801 micro-controller + HD74LS04P + EPROM, i.e. design that is replicate-able. it seems ROM in my case is "version 1.5 revision 39", but there is "version 1.5 revision DB", i.e. the latest known as per the post of user "Artex" on Vogons. Too bad, "Artex" seems is not active for years on Vogons and no dump of that "version 1.5 revision DB". ([EDIT] it seems "Last active" on Vogons is not correct, I saw very recent posts by user "Artex").
Another interesting thing is that disassembling 6801V0B55P ROM 1.5A and the dump I made of "version 1.5 revision 39" from that repaired unit with the regular/generic 6801 micro-controller shows different instructions are used on the same places between the 2 firmwares - few examples:
LDAB (1.5A) --> LDB (1.5 rev 39)
LDAA (1.5A) --> LDA (1.5 rev 39)
STAA (1.5A) --> STA (1.5 rev 39)
and so and so on. Now, I know nothing about 680x-assembler and it took me a lot of searching to find out this:
http://datapipe-blackbeltsystems.com/windows/flex/asm4.html
which states:
SOURCE FORM: LDA (P); LDB (P);
6800 ALTERNATES: LDAA (P); LDAB (P);
and
SOURCE FORM: STA (P);
6800 ALTERNATES: STAA (P);
or it seems "1.5 rev 39" is compiled as 6809-code, which I don't really get, because the PCB with that ROM has off-the-shelf regular/generic 6801 micro-controller. In any case, it seems as part of repairs (and I guess lack of stock of those custom Roland 6801V0B55P or 6801V0A88P parts), they replaced the chip with regular/generic 6801 and built that "1.5 rev 39" firmware. Something almost like Roland hacked themselves. Again, it's too bad Vogons user "Artex" is unreachable and we cannot learn more about that "version 1.5 revision DB" unit and what chip it has inside. ([EDIT] it seems "Last active" on Vogons is not correct, I saw very recent posts by user "Artex")
Bottom line is that 6801V0B55P on MPU-IMC can be replaced with (regular/generic 6801 micro-controller + HD74LS04P + "1.5 rev 39" firmware) and maybe with "version 1.5 revision DB" if someone makes ROM dump of such unit. So, it's one possible road for hardware preservation.
I hope that information is useful and/or interesting to you...
--Matt
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.