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

EvilDragon

Hiya,

first, let me introduce myself here on the boards.
I'm EvilDragon, the one running the DragonBox Shop and also the one now handling the production run for the Retrode2 and the Plugins (thanks to Matthias :))

I'm currently planning some new addition, which might be of interest for you.
I'm planning to fund it via Kickstarter, so please support me if you like :)

A lot of people like the Raspberry Pi2, as it is perfect for running emulators and also has some nice frontends.
However, what the Pi2 is missing is a cartridge slot and controller slots.

That's why I want to create the RetroPi - a simple case where you can put the Retrode2 and the RaspberryPi2 PCB in to turn both into a perfect retro-gaming console.

Here are some quick CAD-Pictures (not yet finished):



This is what it will look like from the front (though we need to change the height, so that the N64 plugin will fit including the controller ports).

In the back right you can put in the Pi2.



This is how it will look like from the back. As you can see, both the USB Port of the Retrode and all ports of the Raspberry Pi are accessible, but all cabling is nicely hidden thanks to the roof.

So you can still use the Retrode with your PC, and when you want to use it with the Pi2, you can use a short USB Cable which is completely hidden.

You still got Network, USB, etc. on the Pi2.

As the Pi2 has both HDMI as well as analogue TV out, you can play on modern LCD and classic CRTs.

Additionally, as stretch goals, I'd like to offer more plugins.
AFAIK, there are schematics for PC-Engine, NES and VCS2600 available.
How well does NES work? I know it has literally hundreds of mappers - do they all work?

Well, I hope you like the idea and I'm happy if you post some more ideas, etc. here.
And - of course - support the Kickstarter when it goes life (probably in about 2 - 3 weeks).

information_paradox

I've never used the Raspberry Pi, but this seems interesting.
If the option of using it in a pseudo integrated fashion with the Pi offers a more console like experience, it may garner more interest. Especially if an OS/emulator front end can be tailored for such a purpose.
Getting a few more adapters is probably crucial for generating more interest in the Retrode as well.
Lack of formal support for NES probably keeps a good number of people from taking the plunge.
There are a lot of mappers. I've heard that the vast majority of them are used more for home brew and pirate games though. Seems like most of the NES catalog uses just a handful of mappers.
I'll keep an eye out for the Kickstarter.

Matthias_H

So has anyone ever managed to set up a practical Retrode+Pi combo that performs reasonably well? From what I've seen, the software side will require lots more work. My solution was really, really rudimentary, and then there is still this unresolved problem of abysmal data rates that some users report.
https://www.retrode.org

I no longer sell the Retrode. For sales inquiries, please contact our friends at DragonBox.

Adr990

Ohhh yes please!

I sure want to be updated about the Kickstarter, I am probably really interested int this one.
(I was just thinking about getting a Retrode with the Pi2)

Thanks for doing this :D

EvilDragon

Quote from: Matthias_H on 15/Jun/2015 01:58:34 PM
So has anyone ever managed to set up a practical Retrode+Pi combo that performs reasonably well? From what I've seen, the software side will require lots more work. My solution was really, really rudimentary, and then there is still this unresolved problem of abysmal data rates that some users report.

Hmm, I tried it at the GamesCom with a Pi - while the transfer wasn't the fastest (loading StarFox took about 30 seconds), it wasn't that bad either.

Maybe it works with a Pi2 - I'll try setting it up properly.

I found someone who created some scripts for RetroPie to make the Retrode working, so it should work.

I'll play around with that :)

rayman

I would like to request making any plugins available standalone on the kickstarter too!
Personally, I refuse to use raspberry pi for anything (Don't ask), but I do intend to use my newly ordered retrode with my Nvidia Jetson board and perhaps a custom 3d printed case.
Either way, more, buyable, plugins would be awesome in itself! (for those of us challenged in the way of building our own)

Case design looks great btw!

EvilDragon

Well, if the plugin goals for Kickstarter will be reached, you will be able to buy those at the shop regularly as well.

Quick update:
We installed RetroPie 3 Beta on a Pi2 today.
Just symlinking /media/usb into the emulators directory makes the Carts appear in the emulator list once you plug them in - automounting works like a charm :)

We got an issue with the controller though - it seems the DPad registers as analog axis and most emulators don't work with that.

Does anyone has any suggestions for that?
Should I simply change the Joystick mode inside the Retrode.cfg?

Aleron Ives

Did you try HIDMode 3 or 4 to simulate keyboard input instead of controller input? If you can't get USB controllers to work, using keyboard mode may work.

Wannado

Quote from: EvilDragon on 13/Jun/2015 11:42:00 AM
How well does NES work? I know it has literally hundreds of mappers - do they all work?

A few details about the NES plugin (prototype):

  • An experimental firmware exists, but integrating NES plugin support into the standard firmware may take a while.
  • That firmware has support for a few mappers built in, also auto-detecting them. I think these mappers will cover the great majority of games. For other mappers, you'll have to write a small "mapper driver" and upload it at runtime.
    If I missed a really important mapper, it shouldn't be too hard to build support for it into the firmware.
    I really tried hard to consider all mappers described in the Nesdev wiki. But of course, there's always the possibility that some exotic mapper variant cannot be made to work, due to hardware or software limitations.
  • I never measured the power consumption. For now, I configured the experimental firmware to declare 500 mA. Does the Pi2 have strong USB ports?
  • As of now, there is exactly one prototype, and the schematics describe just that. There may still be minor changes: I'm considering to add a PPU /W connection (Nesdev wiki says that there's one game with battery backed CHR RAM, "RacerMate Challenge II"), and the CIRAM A10 connection (dashed line in the schematics) isn't in the prototype, either.
  • The PCB layout I published along with the schematics is not suitable for mass production of the plugin. I designed it so that I could have built many prototype variants with it, had I needed to.
    I already started creating a better PCB layout, with help from Matthias. It will still take a while, though. I'm currently quite busy with the firmware (both standard and NES plugin).

And one thought about your RetroPi case:

  • The height of the case around the SEGA slot might be a problem not only for the N64 plugin (controller ports) you mentioned, but also for the old N64/GBx combo plugin (N64 slot on the front) and any DIY plugin. In particular, my NES plugin prototype certainly wouldn't fit. And I'm not sure that we could make the final NES plugin to fit in there without making the PCB really large, as the NES slot is wider than the SEGA slot.

hammer

I honestly don't care about Pi and maybe wouldn't support the kickstarter as a result, but I really want the NES, VCS, and PC Engine plug-ins. I can't be the only one. Why not kickstart those separately?

EvilDragon

Sorry for the lack of updates, had a few things to try around :)

First: The slow transfer still exists on the Raspberry Pi2. It's not that bad with Sega or Nintendo games, but an N64 game takes 3 minutes.

Thanks a lot Wannado for your information.
It sounds you are working on the firmware - did you do it from scratch?
I can imagine the firmware needs some fixes to work with the Pi. Maybe something isn't 100% conform?

The case has already been changed so that the N64 plugin works as well, right now it's not that useful though.

Now, my findings about the firmwares:

FW 0.17:
That one works with the Raspberry Pi, both for joysticks, keyboard HID mode and cart reading. It doesn't support the N64 sticks yet though, and the joysticks have the issue that the DPad register as axis, which doesn't work well with most emulators.
In keyboard mode it works fine though.
The only real issue here is the transfer speed, and the non-working N64-controllers.

FW 0.18:
Well, that one doesn't really work well at all.
When the Retrode is plugged in, it takes quite a while until it is finished initializing (10 - 20 seconds), whereas FW 0.17 initializes almost instantly.

Reading the carts works fine, but is still slow.

From what I read in the changelog, it has some changes in the HID mode (which could probably fix the DPAD-Issue in joystick mode?), however, for some reason, on the Raspberry Pi it doesn't work at all anymore.
dmesg finds the joysticks (or keyboard, when I change to that mode), but strangely, the Linux system doesn't find any joysticks and the keyboard doesn't even work anymore in the terminal.
So I can't get ANY input on the Raspberry Pi with FW 0.18 (regardless which version).

I wonder whether there is something wrong with the HID setup in the Retrode?

I'll try playing around with the USB drivers parameters on the Raspberry Pi to see if that changes something.
According to dmesg, the Retrode is being found as Highspeed device, but AFAIK it should be USB 1.1, maybe that has something to do with the speed cap?

Anyways, I'm happy to test out any experimental firmware version, and I'd love to support the development as well.
Maybe Matthias could also give me the sourcecode of the standard firmware (or release it to the public), so we can work on fixes.
I'd be happy to pay for improvements and bugfixes as well, I'd love to improve the Retrode further.

EvilDragon

Quote from: hammer on 02/Jul/2015 04:13:48 PM
I honestly don't care about Pi and maybe wouldn't support the kickstarter as a result, but I really want the NES, VCS, and PC Engine plug-ins. I can't be the only one. Why not kickstart those separately?

I can entirely imagine doing that, in case we won't reach the stretch goals.

Matthias_H

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?
I can imagine the firmware needs some fixes to work with the Pi. Maybe something isn't 100% conform?
[...]
I'll try playing around with the USB drivers parameters on the Raspberry Pi to see if that changes something.
According to dmesg, the Retrode is being found as Highspeed device, but AFAIK it should be USB 1.1, maybe that has something to do with the speed cap?
[\quote]
Retrode's USB controller is 2.0 Full-Speed, not 1.1.
Quote
Maybe Matthias could also give me the sourcecode of the standard firmware (or release it to the public), so we can work on fixes.
Sure, why not. Though I figure a first place to look would be USB communication. Install a sniffer and see how Raspi differs from, say, Windows protocol.
https://www.retrode.org

I no longer sell the Retrode. For sales inquiries, please contact our friends at DragonBox.

MasterOfPuppets

Quote from: EvilDragon on 02/Jul/2015 05:18:21 PM
I can entirely imagine doing that, in case we won't reach the stretch goals.

I'd like to see a Virtual Boy plugin produced, even if it doesn't have an edge connector (though that would be nice as well).

EvilDragon

Just a quick update:
Getting the case printed, so Kickstarter shouldn't be too far away.