Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Interact hack  (Read 2582 times)

0 Members and 1 Guest are viewing this topic.

Gideon

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 141
  • Last login:August 24, 2024, 10:56:41 pm
Interact hack
« on: November 24, 2003, 11:11:17 pm »
Hello.  I'm new to arcade cabinets and electronics in general, but I've been infatuated with the concept for some time.

My dream arcade cabinet would hold modularity as its chief feature.  That's really important to me; I don't plan on making a lot of these things!*

In some cases, modularity is easy (for example, artwork:  just make slots for art panels, as opposed to using adhesive decals).  In other cases, though, things get tough for a newbie like me--particularly controls.  If my understanding is correct, when you make a keyboard hack, the assigned keypresses are hardwired; I can see it no other way.  In order to change keys, one must make alterations on the software level.  Well, to me, this poses a problem.  I would like the red button on the control panel to sometimes translate as "Q" or sometimes "del", etc.

Well, it didn't take long before I thought of a possible solution, and I would like some experts' opinions.  There was a gamepad by Interract... It was released sometime in '97, but I forget the exact name.  Anyways, the exciting premise of this gamepad was that it worked with all games, and no drivers were needed

SirPoonga

  • Puck'em Up
  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 8190
  • Last login:Yesterday at 10:34:47 pm
  • The Bears Still Suck!
Re:Interact hack
« Reply #1 on: November 24, 2003, 11:35:58 pm »
I would like the red button on the control panel to sometimes translate as "Q" or sometimes "del", etc.

I don;t understand this comment.


Today most of this is a mute point.  As long as the gamepad is seen by DirectInput mame sees all the buttons.

Also you can make a plug form a keyboard encoder (like the ipac).  Look at pics of my cabinet, my control panel is removable but the ipac stays in the cabinet.  Many people have made modul panels that just plug into db9 plugs, phone jacks, etc...

With the advent of USB you can easily make modular contorls.

My cocktail cabinet is going to be modular.  My upright has swappable control panels.

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7020
  • Last login:Today at 09:35:21 am
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re:Interact hack
« Reply #2 on: November 24, 2003, 11:59:43 pm »
BTW, the controller you were probably thinking of was the PowerRamp and PowerRamp Mite Series.  But there were others.

They are so old that you might even have a hard time finding one on Ebay.  The Mites had some performance issues with some of the inputs as well.

Stick with encoders.  You don't have to go through that mess anymore (unless you really want to. :))

RandyT

Gideon

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 141
  • Last login:August 24, 2024, 10:56:41 pm
Re:Interact hack
« Reply #3 on: November 25, 2003, 12:06:37 am »
I apologize for the miscommunication on my part:  when I speak of "modularity", I did not mean the literal sense of the word.  Rather, to me, it means making everything as general as possible, without sacrificing too much purpose.  So, I did not mean to invoke the concept of swappable control panels.

Some more explanation is in store:  I don't plan on just using my arcade cabinet as a MAME cab.  I would much rather do lots of things with it, such as play computer games.  So, DirectInput isn't always an option.  To me, this gamepad by Interact seems like a worthwhile pursuit; I like to play old computer games, it appears more logical, etc.

Anyways, my bad; like I said, I'm new, and I wasn't picturing literal modules in my mind.  Thanks for the reply, though.  I'm glad you're here to help!

Gideon

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 141
  • Last login:August 24, 2024, 10:56:41 pm
Re:Interact hack
« Reply #4 on: November 25, 2003, 12:09:27 am »
BTW, the controller you were probably thinking of was the PowerRamp and PowerRamp Mite Series.  But there were others.
Hey, that's it!  I remember the name clearly, now.  Thanks!

Do I correctly understand how they work?  Are there any special drivers?  How does one change key definitions?  If I remember correctly, there was a software interface that sent information to the controller... This is all just a vague memory, though; I'm basing this off of a review I read in PC Gamer six years ago!

[Edit]:

Okay, I found out a little about the gamepad.  First of all, it was actually made by Act Labs, not Interact.  I guess that was distorted by time.  Also, it is not programmed by software.  Here is where I got most info.  So, any thoughts on hacking it?  Hell, I might not even bother if I can get my hands on a PowerRamp (no "Mite").  I'd just sit one of those things down, and presto!  ... But where's the fun in that?
« Last Edit: November 25, 2003, 12:35:15 am by Gideon »

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7020
  • Last login:Today at 09:35:21 am
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re:Interact hack
« Reply #5 on: November 25, 2003, 12:42:30 am »
Hey, that's it!  I remember the name clearly, now.  Thanks!

Do I correctly understand how they work?  Are there any special drivers?  How does one change key definitions?  If I remember correctly, there was a software interface that sent information to the controller... This is all just a vague memory, though; I'm basing this off of a review I read in PC Gamer six years ago!

Heh, no, no special drivers.  It essentially went like this:

1: Press the program button
2: Press and hold the button you wanted to change the definition for
3: Press and release a key on the keyboard that you wanted to equate the button to
4: Release the button you were holding.

The drawback was that you couldn't store multiple configs because they were only local to the stick.


But I think you are still a little confused/behind the times.  A keyboard encoder will work fine for all the things you are talking about.  An example of modern encoder setup software can be found here.  No "DirectInput".  No compatibility issues.  The encoder actually changes what it sends to the computer at the hardware level, just like the old PowerRamps did.  But now, you can save your configurations for different games and access them quickly and easily.

Is this any clearer? :)

RandyT
« Last Edit: November 25, 2003, 12:44:28 am by RandyT »

Tiger-Heli

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5447
  • Last login:January 03, 2018, 02:19:23 pm
  • Ron Howard? . . . er, I mean . . . Run, Coward!!!
    • Tiger-Heli
Re:Interact hack
« Reply #6 on: November 25, 2003, 07:22:44 am »
So, any thoughts on hacking it?  Hell, I might not even bother if I can get my hands on a PowerRamp (no "Mite").  I'd just sit one of those things down, and presto!  ... But where's the fun in that?
Keyboard hacks are not recommended for use with multiple apps for the reasons you specified.

PowerRamp info is available here (on the main site): http://www.arcadecontrols.com/arcade_powerramp.shtml
Apparently, you get 22 inputs, with 14 shifted inputs (and some problems), if you can find one.  But I think you need to get with the times.

Look at the KeyWiz from www.groovygamegear.com, (the store seems to be down, now, but the ECO version is around $30 shipped, and the Standard is around $5 more.  The ECO has convenient solder points, and the Standard has screw terminals.

Either one has 32-inputs, 24-shifted inputs, and the ability to change configurations instantly on the fly.  You can even link a configuration to an application so that whenever you select the config (from a shortcut, for example), the application will launch as well.  You can store 15 configuration files in the KeyWiz software, and access an unlimited number if you're comfortable with batch files.

Aside from these features, the controller is designed for arcade use, so you get faster response with no ghosting/dropped inputs, etc.

See http://www.fraggersxtreme.com/arcadepanels/encoder/index.htm
for an intro to encoders and comparison of features.
It's not what you take when you leave this world behind you, it's what you leave behind you when you go. - R. Travis.
When all is said and done, generally much more is SAID than DONE.

PacManFan

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 858
  • Last login:December 06, 2005, 12:18:56 pm
    • Kymaera Home Page
Re:Interact hack
« Reply #7 on: November 25, 2003, 09:34:09 am »
I think I know what gamepad you're mentioning, The "Interact 3d program pad", it's got 14 (I think) inputs that you can remap. It's got a keyboard connector and a gameport connector. You can leave the gameport connector unplugged and use the keyboard port only. I've got a few of these sitting in my basement that I'll hack one day.

-PMF
All Hail Smezznar! The Giant purple centipede of Omnicron 5. Regail him with your odiferous offerings of onion powder!

Spaced Invader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 585
  • Last login:July 15, 2008, 07:27:49 am
  • Resistance is... probably a good idea.
Re:Interact hack
« Reply #8 on: November 25, 2003, 10:11:45 am »
I think I know what gamepad you're mentioning, The "Interact 3d program pad", it's got 14 (I think) inputs that you can remap. It's got a keyboard connector and a gameport connector. You can leave the gameport connector unplugged and use the keyboard port only. I've got a few of these sitting in my basement that I'll hack one day.

-PMF

I just ripped one of those apart...it was already dead...but I got 15 strands of 6ft CP wire from it.  ;D
All Your Base Are Belong To Us!

Gideon

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 141
  • Last login:August 24, 2024, 10:56:41 pm
Re:Interact hack
« Reply #9 on: December 02, 2003, 08:16:28 pm »
Sorry for the delay; this board is much more popular than I thought, so I hope you all remember me!

About KeyWiz:  Wow.  This must be the panacea that I've been dreaming of.  Personally, I was under the impression that the hobby of custom arcade controls was so specialized, such a product would not exist for some time.  Well, I'm glad I was wrong.  However, when things seem too good to be true, I have a propensity for inquiring, and there are a few things I don't understand:

- "MAME Ready Right-Out-Of-The-Box"

Yet...

- "Fully Programmable"

So, the default settings can be changed; it's really no big deal that MAME settings are default, right?  But, then I noticed that custom default key settings can be specially-ordered... So, it's not simply a matter of programming over the MAME defaults.  It might help to mention that I don't know exactly what firmwire is; I'm assuming it's like ROM.

If there is the "hard-wired" MAME default set and a programmable set, how does one go back and forth?  Is this what the Shazaaam! key is about?

Also, how is everything done at the hardware level if software is required to upload keysets?  I don't understand.

Thanks in advance for the help, guys.

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7020
  • Last login:Today at 09:35:21 am
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re:Interact hack
« Reply #10 on: December 02, 2003, 11:18:25 pm »
...
So, the default settings can be changed; it's really no big deal that MAME settings are default, right?

Right in that it's no big deal.  But default hardware settings are truely default, meaning you can always count on them being what they are and you can never screw them up accidentally.

There is also "default" from a software standpoint, in that that once you set up your computer to configure the hardware a certain way at boot-time, that configuration becomes your "default".

Quote
But, then I noticed that custom default key settings can be specially-ordered... So, it's not simply a matter of programming over the MAME defaults.

Actually, it is just that simple.  The changes are not permanent, however, and you don't "upload over the defaults" as the sets exist concurrently in the chip.  There is also a "Virtual EEPROM" feature in the software that will restore the last codeset uploaded to the KeyWiz at boot time.

The option of "specially ordering" units with custom codesets is for OEM applications where the maker of a specific piece of equipment might want a completely different set of codes to be the default set to match their product.  This keeps their end users from ever needing to worry about programmability of the unit and keeps their customer support issues at minimum.  There are far more uses for such devices than just arcade cabinets.

Quote
It might help to mention that I don't know exactly what firmwire is; I'm assuming it's like ROM.

Firmware is computer software, but it resides on a chip.  It's the program that actually makes all those transistors and such perform a useful purpose.  It can be in ROM, EEPROM or even RAM as long as the boot-loader portion is stored in non-volatile memory.  Many popular Hi-speed USB devices are basically "dumb" until a driver in Windows is executed and it dumps the code that tells the device how to "think".  But after that initial act, and until "power-down", the device is now smart enough to go about life on it's own.

A good example of firmware is the BIOS in your PC.  Without the code in that chip, your PC would make a dandy flower planter.  The PC's BIOS code is updatable, and can change the way your entire system behaves.

In the case of the KeyWiz, the default set is stored as a table of data in ROM.  When a custom codeset is sent to the KeyWiz, those codes are stored in a different area, the area used to access the codes during actual program execution (SRAM).  By using SRAM for temporary storage of the codesets, the KeyWiz is able to be "reprogrammed" many, many more times than if it used an EEPROM, and can be produced less expensively as well.

Quote
If there is the "hard-wired" MAME default set and a programmable set, how does one go back and forth?  Is this what the Shazaaam! key is about?

Please read the FAQ at my site for the answers to these questions.  There are probably some other things you can learn from there as well.

Quote
Also, how is everything done at the hardware level if software is required to upload keysets?  I don't understand.

Very simply.  If you tell your (well-behaved) kids not to poke each other in the eye with their crayons, you only need to tell them once and they obey.  You don't need to tell them this every time they pick up a crayon, because you already planted that instruction in their smart little minds.  They then carry out this directive with no help from you whatsoever.

In this analogy, You, the parent, are the host computer's CPU and the child is the microcontroller that is the heart of the KeyWiz.  Once given the appropriate directives, the microcontroller is very happy to comply with the wishes of the host CPU (translating a specific pulse on an input to a specific key code)quite on it's own, because it is smart enough to do so.

Quote
Thanks in advance for the help, guys.

No problem.  The important thing to remember about all of this is that you don't need to understand any of this to use a KeyWiz.  Everything about it is designed to shelter the end-user from all but the most trivial of operational tasks.  You are just getting the technical side because you asked for it ;)

If you still don't understand something after dropping by the site, feel free to email me.

RandyT
« Last Edit: December 03, 2003, 03:43:42 am by RandyT »

Tiger-Heli

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5447
  • Last login:January 03, 2018, 02:19:23 pm
  • Ron Howard? . . . er, I mean . . . Run, Coward!!!
    • Tiger-Heli
Re:Interact hack
« Reply #11 on: December 03, 2003, 12:38:39 pm »
Thanks in advance for the help, guys.
No prob.

Let me try to explain this from an end users perspective, as RandyT tends to cover the technical aspects and some of the required info is not on his site.

No offense to RandyT, and I hope he keeps making new products like the Prodigy stick and some other things in the works ; )  (oops!, wasn?t supposed to say that, Bad me, Bad, Bad), rather than updating the site.  (Hopefully if I get any of this wrong, he?ll correct me).

First off, the KeyWiz ships with a default and alternate codeset permanently burned into the chip.  (Meaning if you load a different codeset, and re-boot, you revert to the initial default codeset, unless the KeyWiz software loads something else).  I believe the default codeset is posted on his site.  See http://www.groovygamegear.com/screenshots.html (bottom screenshot Profile Editor Screen)

For each codeset, all of the keys except the joystick inputs have a secondary Shazaaam! Input  which is sent when the Shazaaam! Key is pressed along with the button.  This is shown on the screenshot.

I am not sure what the alternate default codeset is currently mapped to.

Now, let?s say you are using the KeyWiz ?straight out of the box?.  By this, I mean you have everything wired up, but are not using the KeyWiz Software.  As you can see, everything sets up nicely for 2 player MAME controls.

Now what if I want a Pause (P) key button.  The default codeset doesn?t have one, but if I am not using the ?3? input (INPUT TERMINAL K on the KeyWiz), I can reassign ?Pause? in MAME to use the ?3? input, assign P3 Start to some other key, wire a button to TERMINAL K, and wala (couldn?t bring myself to say Shazaaam!), instant Pause key.

Now, what if I don?t want to re-assign all my MAME inputs.  Here?s is where the KeyWiz uploader software comes in.  I simply define a profile for use with MAME and now I reprogram TERMINAL K on the KeyWiz to send ?P?.  Then I tell the software to load this profile whenever the computer is started.  This feature is especially useful for older emulators and DOS games that may not allow you to re assign inputs.

The software allows you to create up to 15 different profiles and even link each profile with an application, so that the application is started after the profile is loaded.  (I believe even more than 15 profiles can be used if you don?t mind loading them from the command line rather than the GUI  (Graphical User Interface).

So what is the alternate codeset that I spoke of.  Well, let?s say you have two favorite emulators, say MAME and ZSNES. And for whatever reason, you want to use different input keys for each emulator.  In this case, you simply define a codeset for each emu and have the KeyWiz software load the MAME profile as main and the ZSNES profile as alternate.  Now instead of opening the KW software, you simply hold the Shazaaam! Key and move the P1 Joystick Right, and you?re in the ZSNES set.  Hold Shazaaam! and move the P1 Joystick left and you?re back in the MAME codeset.

The Shazaaam! feature is very well thought out on the KeyWiz, but it would take me too long to describe it here.  I will have to describe it here instead ;-)

http://www.fraggersxtreme.com/arcadepanels/encoder/shiftkeys.htm

The only thing I'm not sure of above is whether I can load BOTH a custom main and custom alternate codeset on bootup.  I might have to use the default MAME codeset in MAME if I want to use the code swapping feature.  RandyT, help me out!
It's not what you take when you leave this world behind you, it's what you leave behind you when you go. - R. Travis.
When all is said and done, generally much more is SAID than DONE.

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7020
  • Last login:Today at 09:35:21 am
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re:Interact hack
« Reply #12 on: December 03, 2003, 03:13:13 pm »
First off, the KeyWiz ships with a default and alternate codeset permanently burned into the chip.  (Meaning if you load a different codeset, and re-boot, you revert to the initial default codeset, unless the KeyWiz software loads something else).

Ok, I'll elaborate a little here.  The first thing that I need to emphasize is that a "re-boot" won't cause the KeyWiz to lose it's last programmed set.  It requires a cold restart. meaning actually cycling the power on the computer, for this to occur.  Of course, if you are using the "Virtual EEPROM" feature of the software, this is a moot point.  Only mentioned for the sake of accuracy.

The rest is going to get confusing, so try to hang in there (if anyone is still following this :) ).  The KeyWiz does indeed have 2 "default" sets that are part of it's programming.  I refer to these as the "KeyWiz"  set and the "Custom" set.  "The KeyWiz" set is the MAME compatible one and it is always accessible.  The "Custom" set, in it's default state, is a very generic set of definitions.  These default "Custom" definitions were added just because it was possible to do so without any negative impact, and someone could have an esoteric use that just might benefit from their presence (and it's better than leaving them blank :).)

The thing that really differentiates the "Custom" set from the "KeyWiz" set is that the moment the KeyWiz is programmed, the default set disappears until power is cycled.  This is because the uploaded set resides in the same memory used by the "Custom" set.  Therefore, even though both are technically "default" sets, one never goes away, while the other is designed (even destined) to be written over.

Quote
The only thing I'm not sure of above is whether I can load BOTH a custom main and custom alternate codeset on bootup.  I might have to use the default MAME codeset in MAME if I want to use the code swapping feature.  RandyT, help me out!

This is the case.  If you want to use the quick codeset swapping feature, you would plan on using the MAME defaults as one of them.  Due to their size, only one custom set can be in memory at a time.

Everything else was OK ;)

RandyT

Tiger-Heli

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5447
  • Last login:January 03, 2018, 02:19:23 pm
  • Ron Howard? . . . er, I mean . . . Run, Coward!!!
    • Tiger-Heli
Re:Interact hack
« Reply #13 on: December 03, 2003, 03:29:27 pm »
The thing that really differentiates the "Custom" set from the "KeyWiz" set is that the moment the KeyWiz is programmed, the default set disappears until power is cycled.

You mean the default "custom" set disappears, (replaced by the uploaded codeset).  The standard MAME default set would remain AFAICT.

I think "I" understand it now, at least.  :P
It's not what you take when you leave this world behind you, it's what you leave behind you when you go. - R. Travis.
When all is said and done, generally much more is SAID than DONE.

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7020
  • Last login:Today at 09:35:21 am
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re:Interact hack
« Reply #14 on: December 03, 2003, 04:09:31 pm »
The thing that really differentiates the "Custom" set from the "KeyWiz" set is that the moment the KeyWiz is programmed, the default set disappears until power is cycled.

You mean the default "custom" set disappears, (replaced by the uploaded codeset).  The standard MAME default set would remain AFAICT.

I think "I" understand it now, at least.  :P

Yeah, sorry.  Operating on 6 hours of sleep over the last 48 hours :P

RandyT