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: Reading MAME as technical reference and historical document: 720 controller  (Read 14991 times)

0 Members and 1 Guest are viewing this topic.

abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am
Quote from: Paul Olson
Are you using the analog stick the way the original controller is used? Spinning around the outside instead of pointing in a certain direction?

Yes. Even when I do it very slowly rotation is not smooth, it jitters and flickers, plus rotation step itself is much more coarse than with mouse, for some reason.

When I try just to point some direction it sometimes works, diagonals hardly where I want it to, and sometimes orientation gets mixed so when I point up it faces left, huh?! It looks like cos/sin & sign/overflow issue, but it strangely does not happen with circling mouse.

Anyone else with analog joystick around here?


Quote
I don't think I have ever heard any complaints about how the game works with an analog stick.

I would be surprised if anyone would even care to play it like that. If you try to spin it fast you can't help but let it off the edge a bit, and every time you do so it flickers and jitters even more. -- With arcade trackball or spinner, you could perhaps go for some pretty high-score, but with analog stick - no way.


Quote
I think the code that you posted works the same as what I have. LETA0 shifted 8 bits right is LETA1 (just assuming that from the .85 code).

You can test it pretty well with a ball-mouse, if you take it apart and spin encoder wheels separately.


Quote
 
You assume that the lower code is just a label, so you just ignore it. What you are leaving it with is no way to adjust the inputs in the game tab menu. All of the system 2 games include the paperboy settings and then are modified on a per game basis.

Yes, there are some adjustments to be made, what I mean is this...

   PORT_MODIFY("LETA0")   
   PORT_BIT( 0xffff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)

   PORT_MODIFY("LETA1")   
   PORT_BIT( 0xffff, 0x0000, IPT_DIAL_V ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)


I call my calibration input "DIAL_V", it could be just "DIAL" but with both of them set the same name it leaves tab menu bit unclear, so what I'm saying is that you can replace "IPT_DIAL" with "IPT_AD_STICK_X", "IPT_TRACKBALL_X", "IPT_POSITIONAL", "IPT_POSITIONAL_V"... and it would work just the same. -- Now, I am not testing this extensively, so there may be some unapparent differences.


Quote
You can also set the sensitivity of the dial device there.

Yes, those I call "small adjustments", for that we need someone with authentic controller.


Quote
Probably more importantly, even with the code changed to support the dial, to everyone who tries to use it, it will look like they are supposed to use an analog stick. Isn't that the original complaint?

Yeah, I think for the moment it's best to set it to "dial", like with other spinner games.
« Last Edit: January 13, 2011, 02:30:54 pm by abaraba »
---Perm Ban, again---

abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am
Quote from: Derrick Renaud
Step 1. modify the "INPUT_PORTS_START( 720 )" section to add the relative controls from pre 85u1 back in to exist with the current controls.

Problem here is that authentic controller routine seem to work just fine whether this is initialized to relative or absolute, but 'anal_hack' routine requires absolute initialization.

So, if we set them to "DIAL" (relative) either anal_hack needs modification, or we need to branch code in initialization routine too. The easy way out would be to leave this initialization to "ANALOG_STICK", or maybe even better change it to "POSITIONAL" and "POSITIONAL_V" (also absolute).


Are you aware that analog hack, as it is, also makes it unplayable for keyboard?


Quote
Step 2. modify the "READ8_HANDLER( leta_r )" section to check if the new relative ports have changed.  If so return that data.  If not, then return the fake data if it changed.

"new relative ports" - what variable(s) are you talking about?

I was thinking either to do it in real-time by checking some variable that contains info saying from which device signal originated,

or

...to simply to check whether analog joystick is plugged/enabled or not. So, if analog joystick is plugged in and MAME started up with "-joy", then enable analog hack, any other case go normal route, but do this at initialization time and forget later about it.



================
Shifters, let's start with the game people are actually interested to test.
  -- What is the game? What it does currently? What should it be doing?
---Perm Ban, again---

Gray_Area

  • -Banned-
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3363
  • Last login:June 23, 2013, 06:52:30 pm
  • -Banned-
...but 'anal_hack' routine requires absolute initialization.

Umm.

I thought the reason for changing the code to analog stick support was that it also allowed it to be played by anyone with a digital joystick.
-Banned-

abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am
Shifters
--------

The problem is most arcade 2-way (HI/LOW) shifters use only one switch, when held down it's one gear and when depressed it means it is shifted to the other gear.

When playing it with keyboard people do not want to hold down a key just so to stay in HI gear, so MAME implemented it with two switches, which then ruins it for authentic 1-switch interface.


Hardware solution: hack the shifter by placing second micro switch somewhere, while waiting on software solution.

Software solution: make it work with only 1 switch (toggle) so it works with authentic shifters, and tell people to map that input to 'Caps Lock' if they want to play it with keyboard.
---Perm Ban, again---

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9270
  • Last login:July 14, 2025, 01:30:54 pm
  • ...
Lets stay on 720 until the modified driver has been tested and verified to work properly with the original controller.
(This is the 720 thread)

Can you attach your modified driver as a text file, like Paul did?

Xiaou2, you seem to be the only one with an actually controller.
You were the one who started this mess.
Now it's time for you to do your part and do the testing.

Please try Paul's driver and report back.
Please try abaraba's driver if he uploads it.
(maybe you guys could upload an already compiled build to megaupload or somewhere?)

There are some sensitivity settings at the bottom of this page that might be helpful:
http://jstookey.com/arcade/720/720-arcadejoy.php

Having a driver that works with both input devices is the first step.
If it's not done, nothing will ever follow.

Derrick Renaud

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 299
  • Last login:December 06, 2024, 04:31:44 pm
blah, blah

Your continual incorrect info has still not produced any coexisting code.  Where is it?  To that matter, why has not anyone done so yet, seeing how it is such a demanding issue for the MAMEdevs to tackle.  You would think someone else interested would take the challenge.  No, they would rather waste their time ranting that others should do their bidding.

Keep trying.

BTW, as for 720 not being playable with the keyboard, it would not be playable with the original controller either.  So the point of that statement is?

That gets us back to my original statement that some kind of fake/real selection in the UI is needed.  This could call separate routines for real/fake analog joystick/fake digital joystick/etc.  But again you do not seem interested in creating the code .  And no MAMEdev is interested in it either.

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9270
  • Last login:July 14, 2025, 01:30:54 pm
  • ...
ugh, I can't help myself...have to correct you.

so to stay in HI gear, so MAME implemented it with two switches, which then ruins it for authentic 1-switch interface.

Not two switches, one switch that toggles between hi & lo with each press.  Even if you have two switches on your shifter, both mapped to the toggle, it can get out of phase with the game and then your shifter works backwards.

That's just one of many shifter types.  They are 4 speeds with 3 switches that default to 1st when no switches are closed, there are 4 speeds with 4 switches, there are sequential shifters.  Some of the old games even had analogue joystick shifters.  I'm gonna start collecting/organizing information and think about how it should be implemented, so if anyone who can add it to the UI comes along, at least they'll have a little bit of a roadmap of what needs done.

Honestly, I don't want you working on it.
« Last Edit: January 14, 2011, 10:11:11 am by BadMouth »

SavannahLion

  • Wiki Contributor
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5986
  • Last login:December 19, 2015, 02:28:15 am
ugh, I can't help myself...have to correct you.

so to stay in HI gear, so MAME implemented it with two switches, which then ruins it for authentic 1-switch interface.

Not two switches, one switch that toggles between hi & lo with each press.  Even if you have two switches on your shifter, both mapped to the toggle, it can get out of phase with the game and then your shifter works backwards.

That's just one of many shifter types.  They are 4 speeds with 3 switches that default to 1st when no switches are closed, there are 4 speeds with 4 switches, there are sequential shifters.  Some of the old games even had analogue joystick shifters.  I'm gonna start collecting/organizing information and think about how it should be implemented, so if anyone who can add it to the UI comes along, at least they'll have a little bit of a roadmap of what needs done.

Honestly, I don't want you working on it.

Thank you.

abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am
Honestly, I don't want you working on it.

You do not want me working on it? Can you explain your concern?
---Perm Ban, again---

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9270
  • Last login:July 14, 2025, 01:30:54 pm
  • ...
You do not want me working on it? Can you explain your concern?

I can, but I choose not to take the time to do so.

Derrick Renaud

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 299
  • Last login:December 06, 2024, 04:31:44 pm
That's just one of many shifter types.  They are 4 speeds with 3 switches that default to 1st when no switches are closed, there are 4 speeds with 4 switches, there are sequential shifters.  Some of the old games even had analogue joystick shifters.  I'm gonna start collecting/organizing information and think about how it should be implemented, so if anyone who can add it to the UI comes along, at least they'll have a little bit of a roadmap of what needs done.

Read this thread, for my thoughts on adding shifter controls:
http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Board=news&Number=232699&Forum=news&Words=IPT_GEARSHIFT&Match=Entire%20Phrase&Searchpage=0&Limit=25&Old=allposts&Main=231686&Search=true#Post232699

The thing to remember for it to be a usefull submission is that it should make things easier, not just more per game hacks.  That is why IPT_GEARSHIFT needs to be defined to have a common interface for all shifters.  Then the UI code allows you to select what type of control you want to map to the original control.  The input code would then translate between the selected type and the original control.

Code along these lines would follow MAME conventions.

abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am
Your continual incorrect info has still not produced any coexisting code.

What do you imagine is incorrect?

Code is produced, I'm waiting for place to upload it and someone to test it.

Quote
Where is it?

I have several versions of it. All you had to do is to pick one.

But sure I can also do it YOUR way, as you requested in Step 2:
- modify the "READ8_HANDLER( leta_r )" section to check if the new relative ports have changed.  

So, please explain what do you mean by "new relative ports" - what variable(s) are you talking about?

---Perm Ban, again---

Derrick Renaud

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 299
  • Last login:December 06, 2024, 04:31:44 pm
So, please explain what do you mean by "new relative ports" - what variable(s) are you talking about?

Did you even read step 1 where you add the new relative ports?

If you have to ask what variables then you are not up to the task.  Sorry.

newmanfamilyvlogs

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1694
  • Last login:June 15, 2022, 05:20:38 pm
    • forum.arcadecontrols.com/index.php/topic,103584.msg1096585.html#msg1096585
    • Newman Family Vlogs
Code is produced, I'm waiting for place to upload it and someone to test it.

http://tinyurl.com/9k9f5m

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9270
  • Last login:July 14, 2025, 01:30:54 pm
  • ...
Read this thread, for my thoughts on adding shifter controls

already bookmarked the first time it was mentioned  :)

abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am

If you have to ask what variables then you are not up to the task.  Sorry.


No my friend, I want to show everyone you are talking nonsense.

"new relative ports" means NOTHING! That's why cat got your tongue, hehee!


You came up with your guidelines not only for me but everyone interested, like Paul, and we never said we are familiar with MAME code, but you offered to teach us and walk us through, did you not? So, please tell us what the hell did you mean by "new relative ports", what is it we should be checking for?
---Perm Ban, again---

abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am
Code is produced, I'm waiting for place to upload it and someone to test it.

http://tinyurl.com/9k9f5m

Thank you. I uploaded it there for you.
---Perm Ban, again---

CheffoJeffo

  • Cheffo's right! ---saint
  • Wiki Master
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7784
  • Last login:July 14, 2025, 12:11:49 pm
  • Worthless button pusher!
Working: Not Enough
Projects: Too Many
Progress: None

SavannahLion

  • Wiki Contributor
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5986
  • Last login:December 19, 2015, 02:28:15 am
Code is produced, I'm waiting for place to upload it and someone to test it.

http://tinyurl.com/9k9f5m

Thank you. I uploaded it there for you.

 ???

I don't normally click tinyurls but....

Damn... that was good.  :laugh2:

newmanfamilyvlogs

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1694
  • Last login:June 15, 2022, 05:20:38 pm
    • forum.arcadecontrols.com/index.php/topic,103584.msg1096585.html#msg1096585
    • Newman Family Vlogs

ErikRuud

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1709
  • Last login:March 05, 2021, 10:20:27 am
  • I'll build a cab for only 99.99.99!!!
    • Erik's humble video game page
A double is insufficient!
Real Life.  Still a poor substitute for video games!       
American Laser Games Wrapper
O2em Rom Utility

Derrick Renaud

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 299
  • Last login:December 06, 2024, 04:31:44 pm
No my friend, I want to show everyone you are talking nonsense.

"new relative ports" means NOTHING! That's why cat got your tongue, hehee!

More rambling nonsense.  Too lazy to look up the definition of relative?  How about the word absolute?  Strangely a mouse produces relative data as does the real 720 control.  Step 1 (which you can not seem to read/understand,) says to add the real 720 ports.  An analog joystick produces absolute data.  The fact that I have to point this out to you means you are to lazy to do any work yourself.

Being arrogant is fine.  Spouting nonsense while pretending to be arrogant is pointless.

Trying to solve the coding question I asked and being wrong is fine.  It shows someone is trying.  No laughter from me, just helpfull hints.

Spouting nonsense is fine.  Bizarre, but fine.

Spouting nonsense while telling others they do not know what they are doing is not fine. I will call you out on it, just like I have been doing.

For others, I will post later some hints for step 1 code.

abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am

 ???

m720.zip: http://www.mediafire.com/?x6l9szig4sekb12

I suppose you do not have authentic controller, so could you test it with arcade trackball and/or spinner, if you have them?
---Perm Ban, again---

abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am
More rambling nonsense.  Too lazy to look up the definition of relative?  How about the word absolute?  Strangely a mouse produces relative data as does the real 720 control.  Step 1 (which you can not seem to read/understand,) says to add the real 720 ports.  An analog joystick produces absolute data.  The fact that I have to point this out to you means you are to lazy to do any work yourself.

Being arrogant is fine.  Spouting nonsense while pretending to be arrogant is pointless.

I'm talking about context, not individual words, of course. I'm talking about Step 2:

- modify the "READ8_HANDLER( leta_r )" section to check if the new relative ports have changed.


You are talking about changes that needs to be done within the code at compile time, as if it is some change in some variable that can be checked at run-time, this is nonsense. Perhaps I misunderstood you, but your failure to simply explain your meaning for the forth time certainly does not help anyone.

So again, can you explain what is "check if the new relative ports have changed" supposed to mean? What is changing, when is it changing? What piece of code does those changes we need to check?
« Last Edit: January 14, 2011, 01:07:07 pm by abaraba »
---Perm Ban, again---

abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am
Spouting nonsense is fine.  Bizarre, but fine.

Spouting nonsense while telling others they do not know what they are doing is not fine. I will call you out on it, just like I have been doing.


You are not saying anything really, afraid to make a statement?

I'm calling you out, mate. Do you accept the challenge?


You first claimed I said something "incorrect". I asked what is it, you failed to answer.

You now claim I'm spouting nonsense, but you again failed to actually articulate your objection.


What do you imagine is incorrect? What do you believe is "nonsense"? Can you articulate, what say you?
« Last Edit: January 14, 2011, 01:51:41 pm by abaraba »
---Perm Ban, again---

Paul Olson

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1235
  • Last login:June 20, 2024, 08:23:41 am
    • Paul's Arcade
If the controller is moved, the code added to the READ8_HANDLER will detect it and use the input code for the dial instead of the analog stick.


abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am
If the controller is moved, the code added to the READ8_HANDLER will detect it and use the input code for the dial instead of the analog stick.

That sounds good, but what are you talking about exactly... what do you mean "code added"?

Did you make it work like that, or is it just suggestion? Can you copy/paste the code you are talking about?
« Last Edit: January 14, 2011, 01:30:24 pm by abaraba »
---Perm Ban, again---

Derrick Renaud

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 299
  • Last login:December 06, 2024, 04:31:44 pm
If the controller is moved, the code added to the READ8_HANDLER will detect it and use the input code for the dial instead of the analog stick.

That sounds pretty good, but can you please explain it a bit. Does that mean we can initialize it with whatever absolute or relative type of controls and later still obtain data in either format? Does it mean we can know at run time from which device data originated?


Wow, this says it all.  You truely want everything given to you when the goal was to actually learn something for yourself.

I see no need to reply to your nonsense any more.  Though Paul seems to be able to grasp the concept, so there is hope still to be found in all this.

Derrick Renaud

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 299
  • Last login:December 06, 2024, 04:31:44 pm
Let walk through the challenge posted here:
http://forum.arcadecontrols.com/index.php?topic=108516.msg1152192#msg1152192

Step 1. modify the "INPUT_PORTS_START( 720 )" section to add the relative controls from pre 85u1 back in to exist with the current controls.

using the 720 code here:
http://mamedev.org/source/src/mame/drivers/atarisy2.c.html

How do we accomplish this?  We need to know how MAME handles input ports.  All input ports are defined inside the INPUT_PORTS_START() macro.  Now because games can have similar input ports, one game's definitions can be resused and modified by another game.  This is what happens with 720.  It uses the definitions from paperboy and modifies them as needed.  These are the paperboy ports/code we are interested in at line 818.

Code: [Select]
PORT_START("LETA0")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_START("LETA1")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_START("LETA2")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_START("LETA3")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )

You can see that they are not defined as anything.  720 then modifies them at line 884 as follows:

Code: [Select]
PORT_MODIFY("LETA0")    /* not direct mapped */
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)

PORT_MODIFY("LETA1")    /* not direct mapped */
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE

Notice "LETA2" and "LETA3" are still left undefined.  So to recap, "LETA0" and "LETA1" are defined as the current fake joystick.  "LETA2" and "LETA3" are not being used for anything.

This brings us back to the original goal of adding the 2 new relative ports needed to use a real 720 control and make them coexist with the current fake control.  I've already mentioned in the past that the info was in a link given by someone who refused to read the info provided on said link of http://www.jstookey.com/arcade/720/720-arcadejoy.php . Bonus points to anyone who can tell me why I do not agree with the sensitivity settings given there.

So what do we need to do/code for step 1?
« Last Edit: January 14, 2011, 02:07:06 pm by Derrick Renaud »

ErikRuud

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1709
  • Last login:March 05, 2021, 10:20:27 am
  • I'll build a cab for only 99.99.99!!!
    • Erik's humble video game page

Wow, this says it all.  You truely want everything given to


I see no need to reply to your nonsense any more.  Though Paul seems to be able to grasp the concept, so there is hope still to be found in all this.

Real Life.  Still a poor substitute for video games!       
American Laser Games Wrapper
O2em Rom Utility

CheffoJeffo

  • Cheffo's right! ---saint
  • Wiki Master
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7784
  • Last login:July 14, 2025, 12:11:49 pm
  • Worthless button pusher!
Or, perhaps more appropriate to this conversation ...



 ;)
Working: Not Enough
Projects: Too Many
Progress: None

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9270
  • Last login:July 14, 2025, 01:30:54 pm
  • ...
If anyone tests this, keep in mind there is a calibration screen in the service menu that will show you movement better that the skater dude flipping around will.

abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am
Notice "LETA2" and "LETA3" are still left undefined.  So to recap, "LETA0" and "LETA1" are defined as the current fake joystick.  "LETA2" and "LETA3" are not being used for anything.

So what do we need to do/code for step 1?

We were already discussing this, you stated obvious, said nothing new.
If you want to say LETA2 and LETA3 can be used for this, then just say it.  


This can be solved in many ways and I already told you about it in reply #41.
You failed even to comment on my proposals and you refused to explain your proposal.


You only need to make clear what is it you actually want and it will be done, explain your Step 2:

- modify the "READ8_HANDLER( leta_r )" section to check if the new relative ports have changed.


What do you mean by "check if the new relative ports have changed"?
When and where they get changed? What variable are you talking about exactly?
« Last Edit: January 14, 2011, 09:23:29 pm by abaraba »
---Perm Ban, again---

abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am
If anyone tests this...

Not you though, you are too busy blabbering about it, eh?


CheffoJeffo, you too. Were you not upset when you couldn't google where the download was? Well, you got direct link following your objection, but did you test it or you only care about your trolling?
« Last Edit: January 14, 2011, 09:47:55 pm by abaraba »
---Perm Ban, again---

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
You still seem to want the dev team to do all the work for you.

Do it yourself.

abaraba

  • ---Perm Ban---
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:July 30, 2011, 08:42:58 am
Quote from: Haze
You still seem to want the dev team to do all the work for you.

Only if you can not differentiate DO from SAY. I already DID it, in several ways, and you only need to PICK one or simply SAY what is "your way", what is mystery variable in Step 2? -- Whether "my way" or "whatever way", all that needs to be done boils down to this:

if [mystery_variable? == something?] goto ANAL_HACK;
else goto PROPER_WAY;
---Perm Ban, again---

CheffoJeffo

  • Cheffo's right! ---saint
  • Wiki Master
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7784
  • Last login:July 14, 2025, 12:11:49 pm
  • Worthless button pusher!
CheffoJeffo, you too. Were you not upset when you couldn't google where the download was? Well, you got direct link following your objection, but did you test it or you only care about your trolling?

If you have paid any attention to my posts in these threads, then you would know that I don't currently have a MAME machine.

 :dizzy:

And I wasn't upset, I just thought it was stupid not to actually post a link.
Working: Not Enough
Projects: Too Many
Progress: None

SavannahLion

  • Wiki Contributor
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5986
  • Last login:December 19, 2015, 02:28:15 am
You still use gotos?

Derrick Renaud

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 299
  • Last login:December 06, 2024, 04:31:44 pm
Ignoring all forum noise, now and in the future....

Let's say a fake/real system is implemented in MAME.  One thing that comes to mind is what to do with the XML output you folks use for your front end.

What should be displayed?  The real controls only? That would be the accuracy people are demanding.  But wait, what if you don't have the real controls and want to sort by the fake control?  Should it then list both which goes against this demanded accuracy?

Hmmm, what say the masses?

Paul Olson

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1235
  • Last login:June 20, 2024, 08:23:41 am
    • Paul's Arcade
I want to be able to use the real controls on my cab, but most people won't. I also think that of the people who do want to use real controls, it will be a huge minority who will use more than a few. I have probably spent a couple thousand dollars over the years just on controls, and there are still a bunch to buy. The shifter issue (discussed in another thread) is a good example of this. I have 6 shifters, and there are many more out there. Most people will probably want to use one for all of the games. There will also be the vast majority who will want to use keys or joysticks to simulate the shifter.

I don't know what the best solution is to make sure everyone is able to use the controller they have. I think that it is important to have all of the originals working first (and I admit to being biased). The other solutions can then be set up to simulate the real controls.

It might be best to add support for all of them in MAME, and then let the Frontends handle customizing to the controls that the user has.

I still think the first step is figuring out which controls need to be worked on. I still haven't heard of any besides the 720 controller and the driving stuff. I just bought a 720 controller, so hopefully that will arrive this week. I also ordered a rebuild kit for it so I can make sure it functions correctly. I hope to have everything working before the weekend so I can test the changes to the driver. I left the original sensitivity settings in mine. If the original was accurate, it should work without any further tweaks.

Just bouncing an idea here: Since MAME is transitioning to C++, it might be beneficial to create controller objects, and then we could let the user pick the controller in the ui. This might be way beyond what anyone wants to do, but I think it might solve the issue. The behavior of each controller could be determined in the controller class, then the drivers could apply the behavior as needed. What do you guys think of that idea? I am not really suggesting it at this point; just looking for opinions.