Jump to content
IGNORED

MiSTer FPGA - 7800 Core


RevEng

Recommended Posts

36 minutes ago, Jstick said:

The hard dip switch setting is all 3 down:

"The Atari 2600 paddles are part of a "2600-daptor" mode.  When in this mode, you can freely switch between 2600 paddles, joystick, and driving just like you can with the Original and 2600 II - no need to use Auto Sense."

That's right.   However, this is the Driving Controller and not Paddles.   My understanding is that the two controllers use different schemes for the 2600 to read inputs from regarding capacitor timings?  Someone more knowledgeable should correct me.   Regardless, I'd also tried forcing them to Paddles but no luck.

 

38 minutes ago, Jstick said:

This note:
"Atari 2600 Joystick/Driving (driving may be miss-detected, use joystick or paddles, then swap to driving)"

only applies when the dips are set to Auto Sense, so it shouldn't be necessary to plug in a joystick first when using the driving controller in "2600-daptor" mode.

Yes that's right.  

 

Either way, if the 2600dapter-d9 isn't sending a smooth range of motion, there's not much any host PC or MiSTer can do about it.   That is, the host is receiving only a few states/positions as described in greater detail in this old AA post:

 

 

Link to comment
Share on other sites

16 hours ago, RockLobster said:

@dualcam

@Kitrinx

 

Ok, I'd just tried my luck with a Driving Controller dualcam sent me to test on the MiSTer.

 

So to set the baseline, I marked the Driving Controller on a real 2600 with Indy 500.   To turn the car 180 degrees translate to about a half rotation.   However, I'm not able to get very far with the testing.

 

First, because there is no hard dip switch setting on the 2600dapter-d9, I can only set it to AutoSense or connect a joystick and then swap out the joystick with the Driving Controller after plugging in / powering on the 2600dapter-d9.

 

Once in the MiSTer, I setup the controller with twists for "right" and "left" and then FIRE1 for the button.  When I launch the input testing tool and go to the analog screen, I see what @Jstick described regarding the behavior.   First, the DC shows up as the second analog stick's Y-axis.    But instead of a smooth range of motion, there seems to be only a few steps / values on the Y-axis when the wheel is turned fully.

 

Because of this motion, I don't think anything matters within any of the cores.

 

Thoughts?

This actually makes sense.  I was still outputting the driving controller native signal, which is a sequence of joystick up/down moves.  Understandable that would confuse MiSTer, and have removed that -

http://2600-daptor.com/2600-daptor D9 Mr 230122.hex

 

All switches down is the Atari 2600 joystick/paddles/driving hard dip switch setting.  This will now the "MiSTer" mode.  Selecting via the AutoSense (all switches up) will be the old mode so you can still use with prior emulators.

 

Tom

http://2600-daptor.com/

Link to comment
Share on other sites

21 minutes ago, dualcam said:

This actually makes sense.  I was still outputting the driving controller native signal, which is a sequence of joystick up/down moves.  Understandable that would confuse MiSTer, and have removed that -

http://2600-daptor.com/2600-daptor D9 Mr 230122.hex

 

All switches down is the Atari 2600 joystick/paddles/driving hard dip switch setting.  This will now the "MiSTer" mode.  Selecting via the AutoSense (all switches up) will be the old mode so you can still use with prior emulators.

 

Tom

http://2600-daptor.com/

Oh, I forgot an important detail.  The driving controller must be turned a bit, a quarter turn, before the 2600-D9 will realize that a DC is plugged in.  Do this *BEFORE* you go through the MiSTer controller setup.

 

If you wish to later "hot swap" to a joystick, do a joystick left or right to kick the D9 out of driving controller mode.

 

Tom

http://2600-daptor.com/

Link to comment
Share on other sites

2 hours ago, dualcam said:

Oh, I forgot an important detail.  The driving controller must be turned a bit, a quarter turn, before the 2600-D9 will realize that a DC is plugged in.  Do this *BEFORE* you go through the MiSTer controller setup.

ok, got your new FW on the adapter.

 

I see what you mean.  the DC behaves like before (the steps) and then it turns into the X-Axis of a mouse.    

 

just tried on the Mac.   I know the DC is a low resolution spinner so we'll see how it behaves on the MiSTer.

Link to comment
Share on other sites

21 hours ago, RockLobster said:

That's right.   However, this is the Driving Controller and not Paddles.   My understanding is that the two controllers use different schemes for the 2600 to read inputs from regarding capacitor timings?  Someone more knowledgeable should correct me.   Regardless, I'd also tried forcing them to Paddles but no luck.

The point was actually in the second part of that sentence:
"When in this mode, you can freely switch between 2600 paddles, joystick, and driving"


You had mentioned there is no hard dip setting for the driving controller, but the driving controller is included "2600-daptor" (all down) mode, along with paddles and joystick.

Link to comment
Share on other sites

18 hours ago, RockLobster said:

Ok so the DC now acts like a mouse spinner right?

 

Is there anyway to increase the movement rate or speed?   Even with the highest / lowest settings on the Mac / linux or mister, the movements are way too slow for it to be used.

Yes, it is outputting as a mouse spinner.

 

The DC only has 16 positions per revolution.  This is the way the controller itself is built.  This is way to low to be useful as a general arcade spinner.

 

The point here is to be calibrating the speed so that in Indy 500 on MiSTer the controller works the exact same way it would on a real 2600.

 

Tom

http://2600-daptor.com/

  • Like 1
Link to comment
Share on other sites

18 hours ago, RockLobster said:

 

ok I think if you can compensate for the Driving Controller's low resolution this could be an excellent spinner substitute for many "mouse = spinner" games on the MiSTer and other devices.

No, the DC's low resolution is just the way the controller works.  It is too low to be useful as a general spinner.

 

Tom

http://2600-daptor.com/

Link to comment
Share on other sites

1 minute ago, dualcam said:

The DC only has 16 positions per revolution.  This is the way the controller itself is built.  This is way to low to be useful as a general arcade spinner.

Yeah, it seems to be way too low to be used in the Atari 2600 core as well.

 

In case you missed the video I shared, here's the driving controller behaving in the MiSTer.   You can see it takes a lot of rotation for very little position/value change.

 

@Kitrinx tells me it's too low for her to use in the core as well?   

 

https://streamable.com/3rrj1b

Link to comment
Share on other sites

3 minutes ago, RockLobster said:

Yeah, it seems to be way too low to be used in the Atari 2600 core as well.

 

In case you missed the video I shared, here's the driving controller behaving in the MiSTer.   You can see it takes a lot of rotation for very little position/value change.

 

@Kitrinx tells me it's too low for her to use in the core as well?   

 

https://streamable.com/3rrj1b

The video does not tell me anything useful regarding the speed - the question is what happens in Indy 500.  I can easily change the speed, just need useful feedback.

 

Tom

http://2600-daptor.com/

 

Link to comment
Share on other sites

12 minutes ago, dualcam said:

The video does not tell me anything useful regarding the speed - the question is what happens in Indy 500.  I can easily change the speed, just need useful feedback.

Sure, no problem.  I shared the previous clip thinking seeing the actual values the MiSTer was receiving would be useful.   Here is a video showing Indy 500 in the 7800 core with the port set to "Driving":  https://streamable.com/9rv5sh

 

There are at least two separate issues:

  1. Rotation speed (via 2600-daptor D9 Mr 230122.hex where we have mouse emulation for x-axis and left button)
  2. Left mouse button assignment @Kitrinx

For the rotational speed, attached is a video of how it behaves in Indy 500.   You'll see that it while the correct CW or CCW is used, it takes many spins for it to be meaningful in gameplay.  

 

For the left mouse button assignment, there is no facility (maybe I don't know how?) to remap the mouse left button as the Driving Controller's button.  For a reason unknown to me, even though the MiSTer is able to detect the Driving Controller's button push as a left mouse button from the last video (https://streamable.com/3rrj1b), the core seems to think the DC button is pressed continuously as shown in the Indy 500 video.

Link to comment
Share on other sites

23 hours ago, RockLobster said:

Sure, no problem.  I shared the previous clip thinking seeing the actual values the MiSTer was receiving would be useful.   Here is a video showing Indy 500 in the 7800 core with the port set to "Driving":  https://streamable.com/9rv5sh

 

There are at least two separate issues:

  1. Rotation speed (via 2600-daptor D9 Mr 230122.hex where we have mouse emulation for x-axis and left button)
  2. Left mouse button assignment @Kitrinx

For the rotational speed, attached is a video of how it behaves in Indy 500.   You'll see that it while the correct CW or CCW is used, it takes many spins for it to be meaningful in gameplay.  

 

For the left mouse button assignment, there is no facility (maybe I don't know how?) to remap the mouse left button as the Driving Controller's button.  For a reason unknown to me, even though the MiSTer is able to detect the Driving Controller's button push as a left mouse button from the last video (https://streamable.com/3rrj1b), the core seems to think the DC button is pressed continuously as shown in the Indy 500 video.

Actually, I think it is hard to tell in the video if the car rotation is working properly.  Does it work with a regular USB mouse?

 

Was hoping to get a number, like it takes so many DC turns for one turn of the car.  Then it is simple for me to just increase the outputted mouse speed from the adapter by that number.

 

Tom

http://2600-daptor.com/

Edited by dualcam
grammer
Link to comment
Share on other sites

1 minute ago, dualcam said:

Actually, I think it is hard to tell in the video if the car rotation is working properly. 

That's right.  You can see me feverishly turn CW and CCW and the Indy 500 car will turn that direction... but just barely.  

 

2 minutes ago, dualcam said:

Does it work with a regular USB mouse?

Yes, a regular USB mouse will turn it easily.    However, issue #2 (prev post) where the Driving Controller button stays pressed remains.

 

3 minutes ago, dualcam said:

Was hoping to get a number, like it takes so many DC turns for one turn of the car.  Then it is simple for me to just increase the outputted mouse speed from the adapter by that number.

Yeah, I get it.   But hopefully if you rewatch the Indy 500 video that it takes soooooo many turns just to turn the car at all that I recommend just shooting high to see what happens.

Link to comment
Share on other sites

14 minutes ago, RockLobster said:

That's right.  You can see me feverishly turn CW and CCW and the Indy 500 car will turn that direction... but just barely.  

 

Yes, a regular USB mouse will turn it easily.    However, issue #2 (prev post) where the Driving Controller button stays pressed remains.

 

Yeah, I get it.   But hopefully if you rewatch the Indy 500 video that it takes soooooo many turns just to turn the car at all that I recommend just shooting high to see what happens.

Here is 8x faster -

http://2600-daptor.com/2600-daptor D9 Mr 230126.hex

 

Tom

http://2600-daptor.com/

Link to comment
Share on other sites

32 minutes ago, dualcam said:

That did the trick.   You can see now how the x-axis mouse rate is now useable.  We can worry about the rate relative to a real 2600 later but for now, it is now within the range of at least a low resolution mouse.   https://streamable.com/q41gju

 

However @Kitrinx, I'm unsure if I didn't catch it before bc it was so slow but it seems that the 7800/2600 core is turning the wrong way relative to the Driving Controller.   

 

Here is my best attempt to drive in loops but turning the wheel the wrong direction:   https://streamable.com/10fz59

 

 

Link to comment
Share on other sites

22 minutes ago, RockLobster said:

That did the trick.   You can see now how the x-axis mouse rate is now useable.  We can worry about the rate relative to a real 2600 later but for now, it is now within the range of at least a low resolution mouse.   https://streamable.com/q41gju

 

However @Kitrinx, I'm unsure if I didn't catch it before bc it was so slow but it seems that the 7800/2600 core is turning the wrong way relative to the Driving Controller.   

 

Here is my best attempt to drive in loops but turning the wheel the wrong direction:   https://streamable.com/10fz59

 

 

Is it is correct with a mouse, left mouse = car counter clock-wise, right = clock-wise? 

 

Tom

http://2600-daptor.com/

Link to comment
Share on other sites

1 hour ago, RockLobster said:

That did the trick.   You can see now how the x-axis mouse rate is now useable.  We can worry about the rate relative to a real 2600 later but for now, it is now within the range of at least a low resolution mouse.

Not really interested in "usable" when correct to the real hardware should be easily attainable - a 1-to-1 DC rotation to car rotation.  Granted the constant car moving due to the core bug thinking the button is always pressed may make this hard - so, yeah, may need to wait for this to be fixed first.  But if the car was sitting stationary, should then be pretty easy to check the DC to car rotation.

 

Not sure if I want bring this up yet, but am also wondering about player #2.  Is it the Y movement on the mouse, or is it the X of a 2nd mouse?

 

Tom

http://2600-daptor.com/

Link to comment
Share on other sites

20 minutes ago, dualcam said:

But if the car was sitting stationary, should then be pretty easy to check the DC to car rotation.

Yes, once the car is stationary and the steering isn't affected by the car being in the barrier, I will definitely retest to measure the Driving Controller's rotational distance to the on-screen car.

 

21 minutes ago, dualcam said:

Is it the Y movement on the mouse, or is it the X of a 2nd mouse?

2nd player is definitely not from a 2nd mouse as I don't think there is support for one in the current MiSTer main/framework.   I plugged in two USB mice and they both control the same

 

As far as Y-Axis behavior of the mouse I don't know how the 7800/2600 core interprets it since when trying to move on JUST the y-axis results in turns of both players...

Link to comment
Share on other sites

@dualcam

@Kitrinx

 

Just to share... I reverted back to to a previous version of the 2600dapter-d9 firmware before the mouse emulation change bc kitrinx wanted to see how the MiSTer sees the input from the original behavior.

 

In this video, I start with Driving Controller button presses...  then

 

CW turns at diff speeds....  then

 

DC button presses... then

 

CCW turns at diff speeds

 

https://streamable.com/opsl52

 

 

Link to comment
Share on other sites

I'd love to jump in, as this is BY FAR my Holy Grail on MiSTer.

 

I've got the following to bring to the testing table:

 

- Two IIs and two D9s

- Two sets (4 controllers) of real Atari paddles, one set of Flashback versions (that should be identical in performance)

- Two Driving controllers

- About a bazillion original 9-pin joysticks

- One CX22 Trak-Ball

- Two keypads (hint! :)

- iCode Duo Pro

 

What I don't have (yet):

 

- Instructions on setting up the IIs, D9s or iCode as base controllers in MiSTer Main (such that Joystick, Paddle and Driving controllers will _all_ work by simply switching them out at the 9-pin connector)

- Instructions on setting up same in the 7800 core (even if just for testing purposes)

 

Very happy to do any/all requested testing of any kind.

Edited by Rodney Hester
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...