News:

Welcome to the Retrode Community Forums

Main Menu

RetroPi / more plugins

Started by EvilDragon, 13/Jun/2015 11:42:00 AM

Previous topic - Next topic

gadgetoid

I've installed WireShark and captured a whole bunch of packets of a Pi ( B+ ) talking to Retrode 1. I haven't got a capture for context/comparison yet, but I'm seeing mostly blocks of 30 URB_SUBMIT requests of 64byes each, followed by 30 URB_COMPLETE responses of 4160 bytes each- intermingled with other cruft like submits with 77 or 95 byte responses.

A typical response block of 30 responses seems to take 1.9sec and constitutes 0.1mb data. There's a load of other noise, but if I'm not wrong that's ( Super Mario 64 ) 16MB/0.1 = 160  * 1.9 = 304. Which is about 5 minutes, or just under the amount of time it took for a straight copy. So I'm obviously getting the right data.

More when I get Wireshark running on my Mac or PC.


Wannado

Quote from: EvilDragon on 02/Jul/2015 05:16:00 PM
Thanks a lot Wannado for your information.
It sounds you are working on the firmware - did you do it from scratch?

Fortunately, doing it from scratch is not necessary. And if I tried that, it would fail for lack of time. I only refactored some code that had grown heavily with all the plugins added. I hope it's now easier to understand, maintain and expand.

So far, no firmware release has been built from the refactored code, but I hope the next beta release will be.

The refactoring happened a while ago, and I mostly worked on the NES plugin since then. Recently, I'm trying simplify a few more things in the standard firmware.


Quote from: EvilDragon on 02/Jul/2015 05:16:00 PM
I can imagine the firmware needs some fixes to work with the Pi. Maybe something isn't 100% conform?

I recently streamlined the initialization sequence a bit. But I have no Pi, so I cannot test if the change has any effect on that.


Note: I may not be able to respond to any posts in the next few weeks. In the best case, I'll manage to make some progress on the firmware.

EvilDragon

I'm happy to test anything you send me :)

Simplifying will surely help, it might fix something automatically - and if not, it'll at least make things easier to debug.

EvilDragon

Okay, took a look at the Joystick ports on a Linux system today. It seems to me the Retrode2 is not reporting the joystick devices properly.
Here's what happens (with current 0.18 firmware):

HID Mode 1:
"4 USB game controllers plus mouse"

The devices are NOT reporting themselves as joysticks / joypads.
Therefore, only the mouse is found - and the rest appears
as /dev/input/eventx in Linux. They should appear as /dev/input/jsx,
but apparently Linux does not recognize them as joystick.

HID Mode 2:
"2 USB game controllers. The left Sega and SNES ports are both mapped to
controller 1, the right ones to controller 2. Up to 2 players."

In that mode, the Retrode2 appears as ONE joystick (/dev/input/jsx)
with lots of buttons on a Linux system.
Both the DPad for the left and right controller ports appear as the
same axis, the left controller uses Buttons 1 - 8, the right one higher
numbers.

So the joystick setup is something that could need a fix in the
firmware to properly work with Linux.

Ideally in HID Mode 1, it should appear as 4 joysticks and a mouse. And
in HID Mode 2 as 2 joysticks.

I haven't tried the N64 sticks yet, but the analog stick should also
appear as analog stick I guess :)

Hopefully, it's just a small fix that's needed in the firmware - maybe
just some USB description is wrongly setup.

datastry

Apologies for replying to an old post, but I tried a new post and it got no response.
(http://forum.retrode.org/index.php/topic,366.0.html)

Can you tell me if there's been any development on Linux support?
I just received a new Retrode and it is performing exactly as described in the last comment of this thread.

ssokolow

#20
EDIT: Oh yeah. The post I was replying to is a repost. I've moved this post to the original thread.