Elvis Cartridge has been hacked (updated: Article is on the way)

361 posts / 0 new
Last post
RetroPlayer
RetroPlayer's picture

Some updates from the last couple of days:

We have found the remote handling routines in the firmware and there are no hidden codes at all. :( But this did lead us at least partially to the next, previous, and play routines which should allow us to hack it for random access of routines. And of course more IR codes could be added to the handler if I can ever get the roboremote working standalone.

Also, we (Sevik and I) spent pretty much the entire day tracing down serial port routines that we found. Unfortunately, it appears to be disabled. So far, it looks like chunks of code were present at one time, but are missing now. But, I will keep looking. Just not as hard now. :) Regardless, since they are there, it should be possible write some of the missing code to enable it again.

The only issue still standing in the way of these things being an accessible mod for many is that the flash would have to be removed to reprogram it with custom code. I am still looking for something, but no luck yet.

Finally, in case you didn't already notice, I have started an appearance mod thread. I put some basic guides there to do some simple mods, but I have been thinking alot about his appearance lately. I have settled on trying something crazy and beyond my skills; I am going to try to turn him into the Incredible Hulk. I have ordered a very detailed mask (that I may not actually use directly) and two different styles of green eyes to try out. I will be posting an eye replacement guide in that thread when I get around to doing it.

What this means is a whole ton of mods to the mechanisms, plastic, and hardware. I am probably getting in over my head with this one, but you can laugh at my struggles once I begin, here:

http://www.robocommunity.com/forum/thread/13928/Alive-Elvis-Appearance-M...

It is not a top priority for me yet, but I will go back to this now and then when I can't stand to stare at code or smell soldering fumes anymore. :)

GWJax
GWJax's picture

Retro if you need help in this catagory in redesigning the face and making molds et me know and I'll help you through it.
Jax

RetroPlayer
RetroPlayer's picture

I will definitely be taking you up on that, GWJax. I know I am in (mostly) new territory here. I have done some of the things I will need to do, before, but I am still very much a newbie when it comes to this.

Above even the skin, I think the mouth is going to be the most difficult. His grimmace is huge and incredibly complex. Also, obviously the jaw needs to be able to open much more for a "ROAR." I will probably end up with mechanisms like the video I posted earlier with the lip mechanism. Of course, that means adding more hardware, which means no way around doing custom firmware (unless I build a new controller.)

Thanks for the offer!

GWJax
GWJax's picture

Well with all that going on you know you will need to completly redue the face and make a fiberglass casting of it after you have sculpted it out. The hardest part is sculpting but you can get that from the mask you bought and I'll show you how to do it. of course with a diffrent mask but its all the same.
Jax

RetroPlayer
RetroPlayer's picture

I have stopped all work on getting the roboremote to work with Elvis. It appears that the firmware in the remote is simply not capable of storing Elvis' longer pulses. The hardware is definitely capable, and the roboremote software is obviously capable since these work together just fine when connected to a computer. But, it simply will not store the codes to the remote.

I have learned alot about the roboremote software, but there are also many unkowns that seem to not be implemented in the remote at all. It looks like an extremely flexible format, limited by the firmware in the remote itself.

It is probably based of some other hardware which had these capabilities which were removed for wowwee's needs.

The fact that it works from the computer might come in handy later when I modify the Elvis firmware to accept other commands, like directly choosing routines to play from the cartridge.

I will write up what I have learned so far in case it comes in handy for others, but it is difficult to be accurate when the actual output is changed by the remote.

sevik
sevik's picture

Have you seen a twisted code? :))

This is an IR codes decoding routine from Elvis firmware :))



RetroPlayer
RetroPlayer's picture

Keep in mind folks that is just a really small routine, just a tiny portion of the code. :) In fact, the routine above really isn't doing anything with the remote codes except setting some variables and then jumping to the routines that actually handle the various parts.

The remote routine is pretty neat in that it tests the middle code number first and then if it doesn't match, it checks if it is lower or higher. Then it continues do this, narrowing down the number of possible matches to use the least amount of steps possible.

If it finds no match at all, it jumps to the end of the routine and just returns. This might be the best place to jump to our own routine to test some more remote codes.

Also, following the code, the next and previous functions just increase a number in a memory pointer, which means that if code is written to directly modify this number, we can control which routine is played.

RetroPlayer
RetroPlayer's picture

Commented version of the above code

RetroPlayer
RetroPlayer's picture

A little Monkey Business!

Look what I found while cleaning out my workshop :)

One nice thing about the Chimp was that you had complete limb control over every movement via the remote control. And the remote control is RF, not IR. This means you could control him from another room. 

There are 10 motors, controlling Eyes U/D & L/R, Eyelids U/D, Eyebrows U/D, Upper Lip U/D, Jaw Up/Down, Right & Left Ears, Head U/D, and Head rotate. In his snout are to two IR transmitters, and in each of his eyes are two IR receivers. This formed a very complex motion tracking system which allowed the chimp to follow something in front of it both up/ down, and left/right.

In each ear there is a microphone and some interesting looking vibration sensor. If I remember correctly, he could react if you snapped his ear and would get angry. I think he was also supposed to respond (get scared) to tilting him upside down, but I don't see any mechanism by which he could sense that.

The RF receiver is actually just a ASK serial link, which means that with some captures of the output, it should be possible to simply control him in real-time with a serial cable and some bit-banging code. Of course, you will need to hijack his Amplifier board to pipe in your own audio, but this is very simple to do. Most of his electronics are inside the skull, and there is quite a bit of room left in the chest area. The shoulders are filled with plaster or something similar to give his bust some weight.

When I find the remote, I will grab some captures of the serial output. Hopefully, I will have some more room to work on all of my various projects a little more comfortably once I get my workshop cleared out and re-arranged.

Looking at the Chimp again tells me that Wowwee has come along way with the mechanisms and control circuitry when it comes to Elvis.

And, wow.... I didn't realize how small the Chimp head was compared to Elvis. 

GWJax
GWJax's picture

Great find Retro, Use this for your Hulk!!!!
Jax

RetroPlayer
RetroPlayer's picture

Just to let everyone know, I have started a thread on the Elvis animator program, where you can get involved in helping me by offering suggestions for features and improvements in the interface.

http://www.robocommunity.com/forum/thread/14036/Elvis-Animator-Program

Getting involved in the alpha tester phase is not for the faint of heart, but subscribe to the thread and jump in at the beta tester stage, or just keep updated on the progress. Please offer any suggestions you have at any stage.

RetroPlayer
RetroPlayer's picture

 

 

 

A couple of weeks ago, my cat knocked over my Elvis bust while it was opened and logic analyzer attached. It appears that it broke my custom cartridge somehow. So... not looking forward to building another one the way I did this one, I finally sat down and designed the parts library for making a custom cartridge in Eagle Layout freeware. You can download that here. I have printed it and checked the dimensions and they appear to be correct. I have not yet made a board with the files yet, so I will wait to post the files until I have confirmed everything. If for some reason, anyone wants them before that, PM me with your email address and I will send them.

The cartridge will need to be printed on a double-sided board. There doesn't seem to be anyway around it because the xD socket only lines up on one side, but the actual physical connections to the Elvis cartridge slot is on the other side. If you moved the xD socket to the other side, you would need to cross the wires, which would mean you would need to go doublesided again. :)

Once the board files are proven good, you should be able to generate gerber files and have the board made if you are unable to make your own boards at home.

Required board thickness is .85mm or 1/32 inch.

The board layout pictured in the gallery should fit inside the standard cartridge housing, with some modification to the housing.

RetroPlayer
RetroPlayer's picture

I added some pictures of my workshop to the gallery if anyone is curious. It is one of the constant 'works-in-progress' so don't expect some fancy lab. It is a spare (and not updated) bedroom in my house. My second workshop is my main bedroom and this is where I do most of the "computer stuff" like programming, etc.. I didn't post pictures of that because I have been pretty much living out of there for the last 4 weeks and it "looks like it" right now :)

As you will see in the pictures, my interests are all over the place as well as what I do for side jobs outside of my daily electronics technician job in the aerospace industry (I build electronics exhibits or prototypes for companies that don't need a full-time engineer on staff.)

Enjoy.

P.S. Before anyone points it out, yes, I was a grassroots organizer for "Ron Paul for president" when he was running, so I have a ton of left over coro-plast signs. They come in quite handy for base material to build stuff as well as stapling to the wall for a white board and pinning documents up. When the election is over, you should offer to collect yard signs for this purpose. It's great material.

RobosapienV2-4mem8
RobosapienV2-4mem8's picture

Hey, you guys are doing some serious work here, congrats on what you have done so far to Elvis.

Nocturnal
Nocturnal's picture

:) Always enjoy seeing other peoples work spaces, there is actually a thread around here somewhere about that.

Who is Ron Paul? Not living in the US, I don't follow the elections (Though I do see a lot of Obama & Mccain on the news).

You certainly have a few joysticks.

RetroPlayer
RetroPlayer's picture

Ron Paul was a republican that was running for President in the U.S. He lost the primaries, which leaves us with BO and JSM. Hence, why I have a bunch of left over signs. Anything more than that, and I fear we will get into politics here with it being so close to the election. :)

Those joysticks are actually Commodore 64s on a chip. Same with the Hummer thing underneath it. It plugs into your TV and lets you play 30 of the original games for the system (and also is very hackable to work as the original computer.) I am a collector of Commodore (old computer computer from the 80's and early nineties if you aren't familiar) computers and equipment. Most of my collection is actually in storage right now because it was taking up too much room in the workshop.

The original Nintendo system is my favorite game system, as well. Not that I play much anymore.

Now you probably can make sense of my moniker, "RetroPlayer" :)

You might dig my bedroom/workshop setup too. I'll try to get some pictures of it when I get it cleaned up. I am not married, so well... I live like a stereotypical bachelor most of the time :) I own this house with two of my brothers.

RetroPlayer
RetroPlayer's picture

There are also parts of an original Heathkit Hero Jr. robot from the 80's. One day, I plan to update all his electronics with current technology. You can see some of the housing pieces on one of the shelves if you look closely (and know what the Hero Jr. looks like.)

Peter Redmer
Peter Redmer's picture

Thanks for posting pics of your workbench, RetroPlayer!

I am also a huge fan of the original NES and it remains my favorite system.

If anyone's interested, I posted a lot of photos of my fairly large NES collection here. Hope at least a few of you get some laughs out of it :)

Rudolph
Rudolph's picture

RetroPlayer said:
The original Nintendo system is my favorite game system, as well.

Amen, brother! My Nintendo sees alot more use than my XBox. Second most used is probably the Atari :)

I never did pick up one (or more) of those C64 joystick things. I meant to several times...

RetroPlayer
RetroPlayer's picture

Peter, wow! Impressive collection. I actually had to dump most of my NES hardware collection, but I have an emulator running on nearly everything I have that can run one and a supposedly complete collection of ROMs. I also got into hacking the ROMs a little, which means adding your own graphics and such. The emulator on my Xbox gets the most use since the Xbox doubles as my media center. But, I also have a 8.4" DVD player that has a built in NES emulator with original-feel joypads (2 player too.) That one gets taken with me if I have to go on boring trips.

When I was around 15, I built a NES rack that let you plug in 8 games and switch between them. Kinda like the systems they had as demos in the stores.

Hmm, I might post up some of the C64 DTV hacks I have planned at this techlore community.

Rudolph: I think I was too young to really enjoy the Atari in its heydey, but there are quite a few games that I like now. Again on emulators as the hardware just takes up too much room and competes with the Commodore collection. ;) My very first "real" computer was an Atari 800XL (well, actually, it was an Odyssey but I didn't have the basic carts for it and was way too young at the time.)

Not to stray so far off topic, but am I the only one that thinks that when the graphics and processing power got better, the games started to be less fun? It seems like the older games are so much more "fun" even though the graphics are way more impressive now.

BTW, my favorite game genre is point-and-click adventures.

RetroPlayer
RetroPlayer's picture

Come to think of it, you know what really needs to exist? A NES game IDE where you can make game ROMs for the nintendo. Anyone know of one?

Peter Redmer
Peter Redmer's picture

So we don't stray too far off topic, I've created a thread on classic gaming at TechLore:

http://www.techlore.com/forum/thread/24098/Are-Classic-Video-Games-More-...

I'd love to see everybody participate!

Pete

Rudolph
Rudolph's picture

Oops, relocated to Pete's post at techlore

RetroPlayer
RetroPlayer's picture

Some of you probably caught my post earlier about breaking my custom cartridge. After checking that all connections are still working, I have narrowed it down to a failing xD socket. So I opted to order a higher quality xD reader in the hopes that I would get a higher quality socket. I ordered a refurbished one from Olympus, model MAUSB-200. The difference in the quality is immediately noticeable. The Olympus socket is mostly metal and looks very solid. And it actually only cost me about $4 more than the junk one I bought before. The mounting is quite a bit different, so it is going to require some changes to my PCB layout I posted, but it'll be worth it. The "take away"? Don't go cheap on the xD socket if you are going to build a custom cartridge. I will hopefully be posting a tutorial on making a PCB out of my new board layout (if you wanna try making it at home instead of sending it out to a board house) soon. Right now, I am fighting off multiple infections (ear, sinsuses, and teeth) so I am not in much condition to do anything. Here's some pics:

Here's the older socket that stopped working for me:

MrScott
MrScott's picture

I just used the Adv editor to add a pic to the Halloween Scary Robot thread, so it's working for me...

I gave your Elvis mod project a nod in my response to the Halloween Robot thread.

RetroPlayer
RetroPlayer's picture

Wow. I just looked at prices for this xD reader and most people are asking $40 for it. I paid $15 with free shipping from Olympus directly on eBay.

You can probably just get whatever from either Olympus or Fuji (the patent holders of the xD format) and still get a quality socket. However, with my board layout, it will make a difference which socket you need.

Drabber
Drabber's picture

Wonder if this could be done with an SD/MMC socket...

http://www.sparkfun.com/commerce/product_info.php?products_id=204

bcool
bcool's picture

hi
loved reading your articles, i have an elvis but the remore got lost in a house move and i cant get a replacement, is there a way to program a universal remote with the IR codes so my elvis can sing again please? many thanks for any help, anthony UK

RetroPlayer
RetroPlayer's picture

Drabber said: Wonder if this could be done with an SD/MMC socket... http://www.sparkfun.com/commerce/product_info.php?products_id=204

  The XD card works because it (and smartmedia) is a direct NAND flash interface which is what is used in the Elvis cartridge.

RetroPlayer
RetroPlayer's picture

 

Somebody got a 3D printer. :)

Pages