Thursday, March 28, 2013

Jazz Disassemblies Ep1: Fun with Flippy Floppy Files

This week we have yet another yard sale treasure to gut and explore. Brought to you by Yamaha, I have found a short lived piece of equipment called the Midi data Filer 3, or MDF3. This particular handheld brick accepts live MIDI input and allows for the user to record it for later use on the new, innovative and wonderfully compact data storage called the 3.5" floppy diskette!

Yes folks, you and your friends will spend hours filing and sharing live sequences for years and years to come...The MDF3:

Image Hosted by ImageShack.us Image Hosted by ImageShack.us Image Hosted by ImageShack.us

Just a few other facts before we tear it up: this device offers not only MIDI filing Utilities, but also a formatting, copying and back-up of floppies containing any sort of files. Unfortunately, it cannot be used as an external drive for a computer. (Or so says this ASM noob) As for the internals, it looks like we have an 8-bit z180 uProcessor, 128Kbits RAM, Floppy Drive Controller IC, 4Mbits ROM, graphic LCD module, keypad input and various other components.

Image Hosted by ImageShack.us Image Hosted by ImageShack.us Image Hosted by ImageShack.us

According to the z180 datasheet, we can only support up to 1Mbit ROM. So...why would Yamaha choose to purchase an (IMO obscure) 4Mbit Mask ROM to store the ASM program? Are they using a highly complex bank mapping setup or are they simply costing the end user more money on a larger capacity chip? Lets have a look at the ROM's socket after desoldering it from the board:

Image Hosted by ImageShack.us

lolwat!? "1M-EPROM"...I think not. The M534001E is definitely not 1M or an ordinary EPROM. Also, pin 1 is labeled as NC or Not connected in the datasheet but is obviously pulled high on the board. What on earth were they thinking? While probing a few other pins, A18 and A17 which are the high address bits seem to be pulled high as well! So to answer my previous question, yes, Yamaha seems to have wasted the extra space...a lot of extra space.

My biggest concern now is how to dump the data. I own a crappy Willem EPROM Programmer which cause everyone issues and I also only have Windows 7 64-bit which only supports high addressed LPT ports! That is another story for another time though; needless to say, I have it working. The Willem software does not have an M534-something-blah ROM option, so I will have to trick it into thinking it contains another chip. According to the datasheet, the pinout is rather common so I am able to tell my computer that I am dumping the 27C040 EPROM.

After attempting a few dumps and receiving verifying errors, I looked back at the datasheets and remembered a previously noted pin...pin 1. Pin 1 is not supposed to be connected with the Mask ROM, but happens to be the Vpp pin on a 27C040. This pin is going to be used on the 040 but is entirely static with the Mask ROM, so finally I figured out that I should simply bend pin 1 up... Dump and verify are a success (and a couple more times just to be sure) ;)

And Here she is: Yamaha MDF3

With Hex data, sometimes headers and other data being sent to an LCD module for example are clear text. It appears that "Copyright (C) 1997 by YAMAHA V1.20.MDF3" is clearly visible at the beginning of the program. Maybe there are other versions out there, or maybe they recycled the program from the MDF2 considering the fact that the Mask ROM says 1997 and 1998...hmmm...Another thing to notice is that I included two files. One is the full 512Kbyte ROM and the other is a cut down version because Yamaha repeated the same code four times, once in each of the 128Kbyte banks to fill it up.

Image Hosted by ImageShack.us

There is more clear text such as the button names, but you can have a look yourself if you're interested. Lets move on to the other hardware inside. Again, there is an LCD and keypad as well as a floppy drive. Looking at the floppy drive, it clearly states 1999 so I assume the code was recycled yet another year! Did they simply improve the external look of the MDF1 and 2? Anyhow, I believe the keypad will be a wonderful example when I design my own 8 or 16 bit computer. As for the LCD, you can all expect to see an update with it backlit.

Image Hosted by ImageShack.us Image Hosted by ImageShack.us Image Hosted by ImageShack.us Image Hosted by ImageShack.us Image Hosted by ImageShack.us

Now lets take a look at the whole board itself. What I love most about this computer is that it is mostly surface mounted components in SSOP packages and a few DIP's here and there. Many of these parts could have been much smaller, but that wouldn't have made for such an interesting write-up if none of them could be read! I also can share my appreciation for the board designer(s) because there are no components retro fit on the back of the board, such as filter capacitors as we have seen so often in other devices (like last week)...Also, who doesn't love a battery powered 8-bit computer? ;) So here it is, please click to enlarge and enjoy my side-notes:



Monday, March 25, 2013

Jazz Disassemblies Ep0: Me, Myself and the 8-bit Computer

Episode 0: Me, myself and the 8-bit computer

In both the video game and chiptune/modding scenes I am known me as Jazz or Jazzmarazz, but few know me by my real name; Jordan Appleton-Joslin. This past December, I finally graduated from Central Michigan University with a Bachelors of Science in Information Tech with a minor in Industrial Tech. Studying computer technology through the eyes of your everyday "end-user" simply didn't cut it. From very early on I was overly fascinated with electronics and what makes them work; while never being satisfied with just using them. I quickly finished Uni's requirements to graduate with IT and picked up a huge number of EE classes to fill in the rest of the gaps.

For as long as I remember the Nintendo and Atari took up the largest part of my childhood; playing games and pumping the audio through my father's stereo with unknowingly sketchy and possibly reckless hand-coiled wiring. While my brother tooled around with his walkman, I carried my gameboy listening to the sound files available through option menus. Naturally I found my way into the chip/mod crowd for future-learning-endeavors and old time's sake.

Each week following today will be accompanied by a dis-assembly of some sort. I plan to accept any and all gizmos and gadgets in the name of science! So please send your 70's, 80's and even early 90's crap so that I may break it down and tell you a little more about what makes it tick and or how it may be used for chip-relevant pursuits!

If you have something which piques your interest but cannot find a use, please contact me; broken or otherwise, so please hit up them yard sales and thrift stores!  :D

Now that you know all about me and myself, lets move on to the main attraction. As today's special guest, I have not chosen a gameboy, C64 or Sinclair something or other...but today you will all learn about the Compumate2 from Laser! Originally purchased at an estate sale after the death of the prior owner, this wonderful device was thought to be the one and only Compumate2 for the Atari 2600; however, it is not. I sat this aside for several years once I found out that it was nothing more than a miserable PDA from the 80's.

Image Hosted by ImageShack.us Image Hosted by ImageShack.us

Full QWERTY keyboard and 7 functions and I was still rather peeved having just obtained an Atari after many long years. Recently though, I had become very interested in the Zilog z80 and Intel 8085. For several weeks, I worked on building my very own 8-bit computer based on the 8085 and even though it was much more powerful; I still wanted to work with the z80. The z80 as some of you may know is what powers each and everyone of your gameboys. Sure, it has many proprietary modifications to interface with the link port, LCD and button input; but it is still a z80 at heart.

So I tore into the PDA not looking for anything fun, but looking for components to scrap. To my surprise, I found not only a z80 micro Processor, but 256Kbit ROM, 64kbit RAM, 2 x 20 LCD and possibility for external programs to be written all running on 4xAA's! Not a whole lot has been shared about this device and even less is known about the external ROM slot, but know this: I will eventually find out how to run a custom program on it. See below that there is a 34 pin connection at one side of the board. Also note the RAM chip being socketed. Laser must have had plans to expand the RAM at one point, but up to what capacity?

Image Hosted by ImageShack.us Image Hosted by ImageShack.us

Also notice that the sides have empty ports for expansion. The labels read: Line, Phone, Cassette and Expansion I/O. There seems to be limited room inside to fit many more components, but looking at pictures of the Compumate3 which itself is incredibly rare, I found that the I/O port at least was fitted with a midi/game type connection. Could there have been plans to release games for use with commercial PC controllers of that generation? There is no information on any carts being released to support a sure answer. In any case, the computer is equipped with a speaker for simple 1 bit beeps to signal an error or process completion, so why not write a simple 1-channel tracker once the code is analyzed?

Image Hosted by ImageShack.us Image Hosted by ImageShack.us Image Hosted by ImageShack.us
If you looked closely at the external ROM connector, it is nothing more than a 2 x 17 DIP connection....exactly that of a floppy drive cable used in last year's PC! Following the pins back to their origins, I find that the ROM slot is directly interfaced with the Address and data buses, but what else...34 pins and only 24 D/A pins...I guess you'll have to wait for the second installment! xP

Thanks for tuning in!

Cheers,
Jazz

p.s. I am including the hex dump and (hopefully reliable) disassembly of the internal ROM as well as various pinouts that I traced with my multimeter:
Compumate2 ROM (BIN)
Various Pinouts (TXT) (Best to be viewed in word pad rather than your browser.)
Use these only for good! ;)