Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

NEStalgia Project (Mini NESpi)


RIP-Felix

Recommended Posts

8 hours ago, RIP-Felix said:

 

Question, is there a way to link my RetroAchievements to my signature ribbon (Before I had the forum stop showing them I saw many users had something like this below each post)? I never looked into it.

Not currently that I know of but that's a great idea! They have an API, I already scrape it on my cabinet, and was working on a pop up over my Game info plugin off and on as time permits. So there's not, but there might be sometime soon!

  • Like 2
Link to comment
Share on other sites

20 hours ago, Adultery said:

Not currently that I know of but that's a great idea! They have an API, I already scrape it on my cabinet, and was working on a pop up over my Game info plugin off and on as time permits. So there's not, but there might be sometime soon!

Could you point me to a post so I can do the same on my cabinet and HTPC GameEX builds?

Electronics Revision

     I eventually wanted to make more of these. My cousin would probably find this a fun gift! I wanted one or two more Pi Control boards for future projects. They add safe shutdown pwr/reset buttons, NFC, and fan control. So they will come in handy for future SNEStalgia and MiniGenesis projects...Hint...Hint;). So I went ahead and ordered the electronics:

OSH Park: Great Board House (Minimum order of 3 each)

Digikey: Great Electronics Supplier

  • Custom Cart (Has most of what you need. Style A USB port is optional, but my Case is designed to use these ones. Quantities are for 1 but you need to multiply them by 3, since you have to get a minimum of 3 PCBs from OSH park)
  • Also needed are 4 pin and 6 pin conn. headers

Amazon:

e-bay:

Assembly videos:

Spoiler

 

Finished Product:

Pi_Control_rev5_Back.jpg.76ea1cf6cf54908e4ca3dd656bfc8c01.jpgPi_Control_rev5_Top.jpg.b8fdb53eac934cc3fa2b00e3194f0d2e.jpgNEStalgia_Inside.thumb.jpg.ead311623c3abdaaba233d9dbd89ea19.jpgNo_Glue_Trim_Top.jpg.35c2ea196ec4a83e876fbc551eccd1db.jpgNo_Glue_Trim_Silver.jpg.dd8870fdec60e7573e3acb4530e050c9.jpgNEStalgia_Full_Glory.jpg.534378eba746f5a7036a2175831a6ef8.jpg

  • Like 1
Link to comment
Share on other sites

You want a link to the API? I'm building a dll but it won't be useful to you yet. My cabinet uses it with the Game Info plugin, currently when you load a game it tells you how many achievements there are for it. The bit I'm working on now is going to look at the RetroArch log and watch for you to win an achievement and then show a popup on the 2nd monitor.
If I knew how to draw over the top of a full screen app, I could do so much more...

Link to comment
Share on other sites

1 minute ago, Adultery said:

You want a link to the API? I'm building a dll but it won't be useful to you yet. My cabinet uses it with the Game Info plugin, currently when you load a game it tells you how many achievements there are for it. The bit I'm working on now is going to look at the RetroArch log and watch for you to win an achievement and then show a popup on the 2nd monitor.
If I knew how to draw over the top of a full screen app, I could do so much more...

I was thinking more of integrating it into the scroller for each system that supports RetroAchievements (Kinda like krackerman did for MAME highscores in his GameRoomEX). IDK if theres a way to filter the complete retroarch user list to display just GE member scores and export to XML for the scroller to display. Or even if you can filter by system. But that's kinda what I was envisioning. Do you think the API could be used to gather that Data and export to a usable format that the scroller can display?

Link to comment
Share on other sites

Well Krakerman just points his theme at the RSS I generate for the high score DB. I could theoretically do the same by system for RA, but it would need to be coded on my server to work over the web.
It would be tough to split out GX users over there since I don't know who all has an account over there, but the API can grab data by system. That would be a whole different project.

Link to comment
Share on other sites

14 minutes ago, Adultery said:

Well Krakerman just points his theme at the RSS I generate for the high score DB. I could theoretically do the same by system for RA, but it would need to be coded on my server to work over the web.
It would be tough to split out GX users over there since I don't know who all has an account over there, but the API can grab data by system. That would be a whole different project.

It'd be cool tho. I wonder if you can make a simple form/link/whatever where we can type our RA Username, then it adds ours + our friends to the list that gets scraped from RA data, that way only those we want to show appear on the scroller. I'd love to add that kind of RSS to my systems scroller. On GE home it could display overall RA score, in Gameboy color it could show friends last played on that system and score, and etc. I still need to add RA emus to my HTPC and Cabnet to take advantage of RA, but in Retropi It's pretty awesome. And If this type of RSS automatically updated with achievements/score, that's a pretty enticing project don't you think? I have no Idea how much work I'm talking about however, so call me crazy if it shoe fits...lol.

Link to comment
Share on other sites

I was already using RetroArch on the cabinet, I just started using the cores that work for RA. Up and running in like 5 minutes. The emulators over there are more useful for authoring imho, but the pop ups are nicer.

I can look into this for sure, but I'd like to get my cabinet integration finished first.

 

 

Link to comment
Share on other sites

On 8/25/2017 at 7:43 PM, RIP-Felix said:

Okay...having trouble figuring out how to get video snaps to work. I'm not sure where to put them. What I've gathered is they need to go into a snaps folder in the roms directory. Is that it? I read something about a needed xml or gameslist. I already have them scraped from emu movies for GameEX, so I don't want to go the Steven Selph's scraper method. This is mainly because I don't like his scraper has to be used without emulation station running and I can't choose them one by one, because it will probably make mistakes. Could someone point me in the right direction?

Unfortunately, it's not a simple drop and go like GameEx.  The way ES works, you have to TELL it work the files are located.  By using Selph's scraper, or UXS, it makes it simpler.  If you look at the gamelist.xml file, you can see how it's designed. Example:

Spoiler

<gameList>
<game id="46279" source="ScreenScraper">
    <path>/home/pi/RetroPie/roms/gamegear/5 in 1 Funpak (USA).gg</path>
    <name>5 in 1 Funpak (USA)</name>
    <desc>5 in One Fun Pak is a collection of well-known games for the Sega Game Gear. Included are versions of Chess, Checkers, Backgammon, Reversi and Yacht (using Yahtzee's rules), and the player can choose whether to play against the computer or another human. Each game (except Yacht) has difficulty settings.

The game was released exclusively in North America in 1994.</desc>
    <image>/home/pi/RetroPie/roms/gamegear/art/5 in 1 Funpak (USA)-image.jpg</image>
    <marquee/>
    <video>/home/pi/RetroPie/roms/gamegear/art/5 in 1 Funpak (USA)-video.mp4</video>
    <thumbnail/>
    <rating>0.55</rating>
    <releasedate>19940101T000000</releasedate>
    <developer>Beam Software</developer>
    <publisher>Beam Software - Interplay</publisher>
    <genre>Compilation</genre>
    <players>1-2</players>
</game>
</gameList>

So in that "example" you can see what you need.  The game id source "ScreenScaper" is from UXS.  Most things should be easy to figure out.  But the thing to realize is that the path's need to be entered, or ES won't know about it's existence.  If you use UXS or Selph, it will enter all this information for you.  If not, you can do it manually, or make up some script to do it if you're good.

What I would do, is make a backup copy of your SD card in case you screw up.  Then install and run UXS.  You can configure all the paths you want UXS to use automatically.  To make it easier, I just had it create subfolders in the rom folders for "art".  Then I had it set to scrape videos, with the primary art being the box (in case a video doesn't exist) and the secondary art as a screenshot (in case boxart doesn't exist).  You can also use a MIX image, where it will create an image using a combination, like Screenshot, Box, Cart.  Just have it run through your systems.  You'll want to have it store the gamelist.xml file inside the folder "/opt/retropie/configs/all/emulationstation/gamelists/$system" or if that's not accessible, then "/home/pi/.emulationstation/gamelists/$system" (it's a symbolic link).  Sounds more complicated than it is to do it.  If you have problems, just ask.  But you definitely want to have a backup of your card before you attempt because if you screw your WORKING card up, you'll be so mad!

Link to comment
Share on other sites

Also a quick word to Adultery... you might want ask permission to use their API and let them know what you're doing with it.  I know over at the RetroPie forums, my friend "meleu" was telling me that their API is kinda slow, and the RetroAchievements server itself is in major need for upgrading.  He built a set of scripts to scrape your roms against the list of games currently supporting achievements, and said that such a task has a huge strain on the server and if he were to go public with it and have every RetroPie user use it, it would crash their server.  So what he did was scrape it once and store all the hashes in a database that he stored on his github account.  Then he wrote a new script to scrape from github rather than RetroAchievements.  The idea being that the strain of multiple users would then be on GitHub, who has a much stronger and more reliable framework.  But yeah, I just wanted to get a word out to you suggesting if you're going to do anything with their API to check with the admins/etc and make sure it's not going to cause any heavy work loads.

Other than that, can't wait to see what stuff you can come up with.  Keep me apprised too.  I don't spend any time at all in the main GameEx forums anymore.  Mostly just the Social and High Score forums now.  I haven't even bothered trying to set up Evolution yet since I've been playing with RetroPie so much lately.

Link to comment
Share on other sites

What I'm doing is much lighter weight than that. I actually got a special account/API key from Scott some time ago, so I'm not too worried about that.
I'm definitely not looking to do a full scrape, just a user-by-user scrape. That number is much lower if you consider that the people that use GameEx, RetroAchievemebts and my Game Info plugin will be the only ones using it.
But I appreciate that Han. :)

  • Like 1
Link to comment
Share on other sites

 

Universal XML Scraper: A better solution to scraping artwork

On 8/26/2017 at 5:32 PM, hansolo77 said:

Unfortunately, it's not a simple drop and go like GameEx.  The way ES works, you have to TELL it work the files are located.  By using Selph's scraper, or UXS, it makes it simpler...

What I would do, is make a backup copy of your SD card in case you screw up.  Then install and run UXS.  You can configure all the paths you want UXS to use automatically.  To make it easier, I just had it create subfolders in the rom folders for "art".  Then I had it set to scrape videos, with the primary art being the box (in case a video doesn't exist) and the secondary art as a screenshot (in case boxart doesn't exist).  You can also use a MIX image, where it will create an image using a combination, like Screenshot, Box, Cart.  Just have it run through your systems.  You'll want to have it store the gamelist.xml file inside the folder "/opt/retropie/configs/all/emulationstation/gamelists/$system" or if that's not accessible, then "/home/pi/.emulationstation/gamelists/$system" (it's a symbolic link).  Sounds more complicated than it is to do it.  If you have problems, just ask.  But you definitely want to have a backup of your card before you attempt because if you screw your WORKING card up, you'll be so mad!

Thanks for pointing me to this tool. It's exactly what I wanted.

     I really like the wizard, it runs you through the setup with just pictures of how you want to set it up. That's a great idea! I left the paths vanilla and ran a couple of systems to test. N64 went perfectly! I only have 3 games to test with, since N64 emulation on pi3 is pathetic (Any help there would be appreciated, if it's possible to play them smoothly. I haven't overclocked yet, but just installed a custom heatsink that's 25x50x10mm so that shouldn't be a problem now). Here's a mockup I made in Sketchup to help me check clearances, so everything will fit nicely without interference. BTW, my Sketchup file has every 3D printable part needed to make one of these. All I have to do is export the layer the 3D model is on to COLLADA (*.dae), then I can open it in another program and export to STL, finally I can import that into my slicer for printing. A little roundabout, but very cool!

NEStalgia_Heatsink_Mockup.PNG.e5b3d78aa7b7887c356501b0e0cc320b.PNG

     When the test scrape on N64 went well, I scraped Atari 2600, for which I have 33 games. They went well too. So now I'm scraping the rest. I really like how it shows the primary artwork first while your video loads, then the video plays. And with sound It really improves the atmosphere. It brings the frontend alive.

Next up? Overclocking and attempting to get N64 emulation working...

Link to comment
Share on other sites

I'm glad you're getting as much enjoyment out of it that I did (AM)!  It's fun spending free time tweaking and making it work and do just what you want it to. 

That's a nice looking heat sink.  I'm going to need to come up with or find a solution that other's have designed to work with my setup in my PSX case.  I plan on using a "PowerBlock".  I've already ordered one and it turned out to be faulty, so I'm waiting for a replacement.  In either case, there's a problem with the heat in the build, in that the PowerBlock takes over the first 2x6 pins and overlaps a little of the CPU.  It blocks some of the heat sink and prevents using a fan in a good way.  But I'm sure I can figure something out.

As for N64, you're in the same boat as everybody else.  Emulation is dodgy at best even on high end PC's.  Which is a shame, considering the PSX is from the same generation and it runs "nearly" perfectly on the Pi3.  I have heard that overclocking can help increase frame rate to some degree, but you're still pretty much limited to 320x240 resolution, jagged lines (vs anti-aliasing), mono sound, etc.  There are some compatibility charts available online.  THIS ONE is the most recent one worth looking at, as it was created to combine the data of the others.  Basically, you NEED a Pi3, and Overclocking it will help but not necessarily solve problems.  In the case for achievements, N64 was recently added to their database and is actively in the process of getting cheevos created.  But if you plan to play games for cheevos, you must play with one of the "lr-" (libretro) cores and not the external ones.  So far, I've only tried playing one game (Super Mario 64) and was really disappointed in the graphics glitching.  It's playable, but it'll make you get an isnta-migraine. Mario's clothes are all flashy red/white. Oh well.  Let me know if you have any success.  I've personally not attempted to overclock, because I've read some things that say getting your Pi to the frequencies needed means voiding your warranty and without proper cooling can cause fires.  I just figure it's not worth it.  I'll wait till Pi4 comes out.  :)

Link to comment
Share on other sites

17 hours ago, stigzler said:

@RIP-Felix - Is that a really big heatsink on your pi?

Indeed it is. The only thing that concerns me about it is, because there are taller SMD components on the motherboard between the CPU and LAN chip, that I have to use a 0.5mm thermal pad. It's thick enough to envelop the taller components and sit on the chips. I still need to find an way to clip it down, it's just adhering on it own ATM.

Link to comment
Share on other sites

2 hours ago, RIP-Felix said:

Indeed it is. The only thing that concerns me about it is, because there are taller SMD components on the motherboard between the CPU and LAN chip, that I have to use a 0.5mm thermal pad. It's thick enough to envelop the taller components and sit on the chips. I still need to find an way to clip it down, it's just adhering on it own ATM.

Do you have a pic? I'm looking at different cooling solutions atm. The one I'm trying at the moment is a 30mmx30mm finned ceramic heatsink with a 30x30x8mm fan stuck on top...

Link to comment
Share on other sites

5 minutes ago, stigzler said:

Do you have a pic? I'm looking at different cooling solutions atm. The one I'm trying at the moment is a 30mmx30mm finned ceramic heatsink with a 30x30x8mm fan stuck on top...

Here is the kit I got.

I had to modify it to make it work with the pi control board, but it fits nicely without modification otherwise.

Link to comment
Share on other sites

32 minutes ago, stigzler said:

cool - like to see that fitted to the pi

Pi_Heatsink.jpg.bdb85e6bbd9659f27be613a3260a15e0.jpgPi_Heatsink_1.jpg.deb9e004ee18858c839515f739dda7e3.jpgPi_Heatsink_2.thumb.jpg.d2cea35c1925bb927ab0e9c4347abcb8.jpg

I did a comparison test with the heatsink on/off running a PSX game. The heatsink keeps the CPU ~8C cooler with active cooling in my tiny case. I routinely run from 43 to 55 C in this tiny case depending on where I set the fan thresholds. With the fan at full I can keep it at 42-43C with this heatsink. Without it, temps hover around 50C. I think I can improve this with a redesign of the Bottom shell to improve airflow and a fan shroud for the top shell. I have a 30mm fan on the way also.

  • Like 1
Link to comment
Share on other sites

Tutorial Website!

   Dustin Westaby in the Mini NES and SNES Builders facebook group created this fine tutorial to make one for yourself. It's quite good. I wish I had it when I started on mine. There are parts list, materials (printed, tools, accessories), assembly and soldering tutorial videos and scematics, everything you need to know laid out in logical order with links to everything. Very cool!

Link to comment
Share on other sites

5 hours ago, hansolo77 said:

So have you done anything more to your kit?

This last week I soldered up 3 electronics kits (minimum order of PCBs from OSH park). I found it easier to solder this time around, the flush cut snips help immensely. But man, those pico conn headers are small!!! The 30x30mm fans came in. One is 7mm thick and the other is 10mm. The 7mm has a larger JST connector that wont fit the one my kit uses, but the 10mm fits perfectly. I printed the fan shroud to mount it in NEStalgia and set the fan thresholds as low as I could get the temps.

I decided to load up a playstation game to test and was getting a steady 47-49C with fan on full. The fan is quieter than the 25mm it replaced and It pushes a lot more air! The fan shroud encloses around the top vents and forces cool air in. I haven't tried forcing hot air out in this configuration yet because it usually doesn't perform better, but it might in this situation. Since this fan shroud really makes a good seal and the case has vents under the cpu, it might be able to force cool air up under the RPi motherboard and keep the airflow moving quick enough to expel the heat as fast as it builds. I'll try fliping the fan tomorrow and look at the temps, I still think blowing cool air directly from the top vents down on the Heatsink is the better way to go. I can feel the air squeezing out of the case seams, which suggests to me that I need to modify the bottom shell to allow for more airflow.30mm_Fan_Shroud.thumb.PNG.e9fee4560bd93193bfc5b1e3ca1be40e.PNG

Anecdotally, while testing I decided to try "Martian Gothic Unification" on PSX. It sucked me in. It's like Resident Evil and I never even knew it existed until reciently. Think Zombies on Mars! There is some weird psychokinesis, simureality, alien life form mystery I've yet to unravel. For a PS1 game, it's a solid story and voice-over job. You control 3 characters who are directed to work apart. "Stay alone, stay alive" or something like that. They entered the base from separate airlocks, as directed, and are thus physically separated from one another by sealed security doors. You pass needed items over a system of Vacuum tubes around the base and can switch between the characters at will by pressing select (not a linear system at all). You have to think about the safety of your character when you switch to another because they can be attacked and killed while you're controlling someone else. It's an intriguing game mechanic that works well with this theme. It's got that base exploration, puzzle, and syfi Gothic horror hook to it. I can't believe this one slipped by me for so long! I'm glad I found it now, because all the timelines are near concurrent (takes place in 2017). It's kinda like watching back to the future in 2015 to see what all they got right.

...Back on topic. I'm probably going to build 1 more NEStalgia (2 total). I may give one to my cousin. The other 2 electronics kits are for different projects. One is earmarked for SNEStalgia. The last one I haven't decided for sure yet, but I'm leaning toward a MiniGenesis. I'm currently working on getting my 3D printer back up. I've been procrastinating. I need to perform some mods that make bed leveling easier and more precise. I also moved it to the garage, because I'm back to printing in ABS. The fumes are toxic and I'm not keen on keeping the printer in my room anymore. That also means I need to make an enclosure for it that's more permanent than the Cardboard box I'm now using. I'm still waiting on the final MiniSNES (NFC cartridge version) to be released by one of the Mini NES ans SNES builders members. I have some changes to my NEStalgia case to make too (More vents on bottom shell, better Lid design, other minor tweaks). So, I have some printing to do. Then sanding, priming, and painting again (I hate that process).

So that's where I'm at.

  • Like 1
Link to comment
Share on other sites

9 hours ago, stigzler said:

A custom made fan shroud. That makes me wanna buy a 3D printer....

Yeah? It's good for printing these too (120mm Fan Grill).

Spoiler

120mm_Fan_Grill.thumb.PNG.7e1c6aa9be3235d009625f3864b5a09f.PNG

 

I just installed the Z endstop mod. It's just a small clip that depresses the Z endstop switch a few millimeters higher (the one that tells the printer its as far down as it can go). This gives me a little more room for the glass bed I added. I was having to twist the thumbscrews too tight and it was causing my bed to twist. I could print, but it wasn't ideal. I used a dial gauge to level the bed this time so I could get the bed level down to 0.001mm. That should help tremendously. If I were looking at buying another 3D printer, I might spring for one that has auto bed leveling and it's own enclosure, they're just less hassle. This was cheaper though. So give and take.

 

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.

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.

×
×
  • Create New...