Loading ROMs from a NAS to an emulator running on a Pandora. Is it possible?


porg

Active Member
Joined
Oct 6, 2008
Messages
792
Location
Vienna, Austria
Is this practically possible? Has someone already done it?
If so: With what emulators? With which network equipment (Pandora, network devices, NAS device)?

Benefits I have in mind:
1) Organize only once centrally and benefit from this on multiple devices. (Multiple Pandoras, or also different devices)
2) Storage savings (limits on devices and again #1 only needing to store it once also in terms of storage capacity)
3) Would it even work via VPN (given small enough ROM sizes in relation to the available network speed on the go)?

Questions:
1) Does the emulator just see an (onion filesystem) filepath and is not even aware that this is a remote file? Are there some which differentiate or request info about the medium type and make their loading mechanisms dependent on that?
2) Does the OS restrict that? Maybe some latency/speed timeouts at which it would abort? Or send a signal like "wait I did not get anything since x seconds" to the requesting emulator, which it may not be able to handle?
3) What network equipment?
a) Pandora: Built-in WiFi, USB WiFi dongle (which?), Ethernet adapter
b) Your LAN or WAN or VPN bandwidth/latency characteristics?
c) Your NAS and its specs.
4) What are the minimum bandwidth requirements per platform/emulator type? How fault-tolerant are they?
For PS1 I would assume the typical speed/latency which the CD-ROM drive had, etc. But maybe there are some odd restrictions, which one may not think of.
5) What network file sharing protocol is recommended? Or did/do you use? SMB, FTP, NFS, AFP?
 
I've done such things with an sshfs mount to my linux box... I typically run a USB dongle, but it's not like it is streaming a video, so the internal WiFi could easily handle even streaming a playstation from image at speeds of the original PS CD-rom speed.
 
I'd imagine most emulators would just dump the entire ROM into RAM and run it from there. The only exception is CD-based stuff which the emulated system might expect to be able to randomly access, so things like PCEngine CD and PS1 might work like that, but then, CD systems had pretty bad maxiumum latencies, and retry mechanisms for dirty discs which could slow loading on a real system quite dramatically, so I'd expect those systems to cope with a liitle network slowness from time to time.

For VPN usage, I assume you're talking about using it when out and about and connected to another network. That'd require you to forward ports to your NAS locally so that your NAS is visible to the outside world, which is something I'd need to do a lot of research on before I'd do personally, but using a secure transport like sshfs to an ssh instance would be a bare necessity. Your use of a VPN would be from the client onto the wider internet where your server lies. But I'm not sure what the benefit of that would be unless you're connecting from a country where this sort of activity could get you in trouble; it's all encrypted anyway, and all the ISPs can see is you conntecting to your own server.
 
1) Does the emulator just see an (onion filesystem) filepath and is not even aware that this is a remote file? Are there some which differentiate or request info about the medium type and make their loading mechanisms dependent on that?
Correct. It doesnt know it is a symbolic link, or a local or a remote file.

2) Does the OS restrict that? Maybe some latency/speed timeouts at which it would abort? Or send a signal like "wait I did not get anything since x seconds" to the requesting emulator, which it may not be able to handle?
the fileopen does not restrict that, but there are timeout's when network connectivity is involved. However, the emulator might very well have timeout's when reading.

3) What network equipment?
If you are lucky enough to have a working build-in wifi (I do/did depending if I moved the lid), else use a ethernet usb dongle (mine is an old logilink, the wiki has a list).
The general rule of thumb is if it runs on a normal Linux, you might just need the *.fw (binary firmware) file to get it to work. YMMV.
Hiccups in the network are not very good. some emulators open a file, and keep it open. A hiccup and the file is not readable anymore, and i remember crashes, not nice messages (watching videos with VLC)

4) What are the minimum bandwidth requirements per platform/emulator type? How fault-tolerant are they?
Not sure. I played around with a remote iso for PCSX through wifi and it was noticeably slower. Heck, even a faster SD card makes a difference.

5) What network file sharing protocol is recommended? Or did/do you use? SMB, FTP, NFS, AFP?
only tried sshfs. And then, most applications only look in a subdirectory of their appdata, so you must either mount there before starting the application, or use symbolic links.
Samba should work, ask the people that install their Linux OS on the SD card. Not sure if our default OS has it.
 
Most emulators can be configured to look anywhere in the filesystem for their ROMs. Sometimes it takes a little mangling of dotfiles inside the appdata (I think I had to do that for MAME at least), but I've done it for almost all of my emulators because I like having my ROMs all in the same folder on my SD card.
 
For VPN usage, I assume you're talking about using it when out and about and connected to another network. That'd require you to forward ports to your NAS locally so that your NAS is visible to the outside world, which is something I'd need to do a lot of research on before I'd do personally, but using a secure transport like sshfs to an ssh instance would be a bare necessity. Your use of a VPN would be from the client onto the wider internet where your server lies. But I'm not sure what the benefit of that would be unless you're connecting from a country where this sort of activity could get you in trouble; it's all encrypted anyway, and all the ISPs can see is you conntecting to your own server
Maybe I'm wrong here, but the way I assume the VPN will be used is that the VPN server will be on the same network as the NAS (ie, his home network). So the NAS wouldn't need a port forward, as once you're VPN'd onto your home network, you can access them safely from anywhere on T'interwebs
 
I don't really understand how VPNs outside of the home network work, but as far as I know only TOR has it's own DNS service, so I don't really know how you get a server on a VPN in any other sense. As far as I understand it at least a server is a server accessed from a VPN context or a normal one. It would only be possible as I understand it to route a server via a VPN by having a permanent connection between it and some unknown entity presumably owned by the VPN and by doing that you only gain the encryption offered by the VPN software which is guaranteed to be no better or no worse than something offered by sshfs. Anyone who can time the connections will be able to see who connects where, but the contents should be protected assuming you've edited your /etc/sshd.conf to be reasonably secure.
 
I'm going the NextCloud route with the Pyra (or Pandora too I guess but the wifi is too unreliable)

Will make a ROMS folder that only is copied on devices that need ROMS folder and will sync from there, might be an option for you?
 
Back
Top