PC Engine build
-
It's been a long while since I posted an update but I've made some major progress now. I have my NFC reader working now and using python I can retrieve the rom name from the nfc tag and launch the rom. This was my main hurdle so now I have that working I should be able to progress much more quickly.
I had trouble originally for 2 reasons. The NFC reader I originally bought was fake and I was using spi to connect the nfc reader to the pi.
The problem with the fake reader was that its range and reliability were not very good. In the end I bought a reader directly from Elechouse and the range/reliabilty is much better.
The problem with spi was that I couldn't find a way to access the ndef data. So after finding a tutorial online I switched to uart and now I can use NFCPY to access that data. Through trial and error I modified an example python program to achieve what I wanted, I admit I am lost when it comes to python as I've never used it before but the code seems to work as expected which is what matters.
I've also had loads of HuCard blanks laser cut from acrylic in preparation. I also had some problems in that regard as the first batch I received weren't cut correctly but luckily the person who cut them for me was happy to cut them again.
Finally here is quick test I did to see how the cards will look once I apply the labels I'm making.
-
I've been trying to get this to boot as fast as possible, so far it takes 13 seconds from the rainbow square to when the game starts which isn't bad but I'd still like to improve that if possible. I've read that removing/disabling samba may help so once everything is setup I may give that a go.
I have a speedy SD card (sandisk extreme plus), and I've set the pi to not wait for network on boot which always makes a big difference. I also tried oveclocking the SD card but I didn't notice any real improvement to the boot time. Any other suggestions would be welcome.I've made a loading animation so at least for those 13 seconds it looks interesting. It's inspired by some Hudson Soft trailers I saw which featured 2 Bombermen kicking a bomb to each other. I used sprites and a background from a few different Bomberman games (with some editing) to make the splash animation. I think bomberman is a pretty good mascot for the system but I may do a few others featuring Bonk and Air Zonk as they are the more official mascots and I can have a random boot animation each time.
If anyone is interested in having the splash video I can make a more generic version by replacing the 'PC engine' logo with the 'Retropie' logo.
Out of curiosity is there any way to force the splash video to stop as soon as retropie has finished booting (or in my case when runcommand is launched?) It would save having to trim videos to an exact size to fit the boot time. I could just have a longer video then which would stop automatically. Even better would be the ability to have a short looping video which could loop repeatedly until retropie has finished booting (I'm fairly sure that isn't possible though ).
-
@ruckage said in PC Engine build:
Even better would be the ability to have a short looping video which could loop repeatedly until retropie has finished booting (I'm fairly sure that isn't possible though ).
Anything is possible with the magic of programming. You'd probably have to have a script or daemon of sorts that loops until emulationstation is called or something.
I haven't looked at it since it's switched to systemd but you should be able to modify the boot script to cut out once es loads
-
Your attention to detail on these builds is incredible! Great work as always!
-
@ruckage said in PC Engine build:
...and I've set the pi to not wait for network on boot
How did you do that? My FamicomPi takes also longer to boot up and mostly because of the network check.
Awesome work on the splashvideo!
-
@herb_fargus
Thanks for the info, I'll look into it. I tend to muddle through anything to do with Linux but usually get there in the end.@FlyingTomahawk
It's a setting in raspi-config.Go to 'boot options'.
Select 'Wait for network on boot'
select 'no'It should make a big difference (it has on all my builds at least), let me know if it improves things for you.
-
Thank you!
Will try this today after work. I'll also check the boot time. Keep you updated asap.
-
@ruckage said in [PC Engine build]:
I was initially hesitant as this is a working machine and they are fairly rare over here. I decided though that as it would need various mods to even get it working on a TV over here that I will convert it - however I'm being very careful so that at a later date it could be returned to an almost original state if needed.
A man after my own heart. Respect the classics! Not many of these Retro consoles left, so look after them :)
Always makes me worried when people tear apart old consoles just to put a Raspberry Pi in them. They are finite and only getting old (I know there are millions, but still). But its nice to see if someone does do this they do it in a way that the console can be restored if needed.
-
@ruckage now, if you really want to be ambitious you could look into Plymouth boot splashes... Though I've found on my pi 3 the boot time is so fast that the Plymouth bootsplash is disappointingly brief.
This is the Pacman one I did:
Unfortunately also with Plymouth there isn't really sound either.
-
@flyingtomahawk said in PC Engine build:
How did you do that?
You can do it via
sudo raspi-config
(https://github.com/legotheboss/YouTube-files/wiki/(RPi)-Wait-For-Network-at-Boot).
@ruckage In addition to disabling Samba, you can also disable the Wifi and configure ES with Parse Gamelists only, this way ES will not re-scan the ROM folders on start. -
@mitu
Does disabling Wifi has the same effect as turning off network check at boot. Or is it recommended to deactivate both to speed things up? -
@flyingtomahawk said in PC Engine build:
Or is it recommended to deactivate both to speed things up?
If you don't use the Wifi, then I think you'll get a few seconds off in the boot time. I've looked at the service boot start time, using
systemd-analyze critical-chain
; the outliers were the smbd/nmbd (samba) services, which for the dhcp IP address, which in turn waited for the wifi to come up.
You can try and do some tests on your own - disable/enable Wifi and/or Samba and run each timesystemd-analyze critical-chain
(after rebooting) to see the boot times and the order in which services are started. -
@ruckage Can't wait to see what "theme" you come up with for this build
-
So back at home I gave it a try and here the results
First boot up
around 23 sec till boot video
28:45 sec till menuSecond boot up (wifi off)
around 16 sec till boot video
48:45 sec till menuThird boot up (wifi and network check off)
around 17:20 sec till boot video
23:38 sec till menuThe overall time hasn't improved by much but the boot video shows up lot faster now.
I don't use super fast SD cards or the like just regular stuff so maybe this is as fast as it goes. I also don't have 1000+ roms on it. Now I am also curious to know what else can be turned off to speed up the boot time.UPDATE
Retropie Shares removed, Samba uninstalled.
Getting random times. Sometimes fast sometimes a bit slower.8-9 seconds till boot video
15-21 seconds till menuI ain't braking any records here but it has become faster and that is good enough for me. Many thanks for the pointers.
Hope ruckage can cut off a bit more so I'll be following this discussion closely. -
Ok, that's pretty tight man. I'm thinking about using that as my intro splash screen.
-
I saw this the other day, and I loved the splashscreen Here. Sadly, I'm not a bomberman fan or TurboGrafx-16 fan, but this is well done.
-
@mrjordaaany said in PC Engine build:
@ruckage said in [PC Engine build]:
A man after my own heart. Respect the classics! Not many of these Retro consoles left, so look after them :)Always makes me worried when people tear apart old consoles just to put a Raspberry Pi in them. They are finite and only getting old (I know there are millions, but still). But its nice to see if someone does do this they do it in a way that the console can be restored if needed.
Yeah, for this one especially I didn't want to destroy it as it's much less common than other consoles (particulalrtly in UK) so the internals will be kept safe for the future and the only damage to the case will be a few drill holes - most people who mod these for RGB etc. cause much more damage to the cases than that so I don't feel guilty :) .
@herb_fargus said in PC Engine build:
@ruckage now, if you really want to be ambitious you could look into Plymouth boot...
I saw your PacMan boot a while back, I really like it. I don't think I'll try Plymouth for this build though, it does look interesting but also quite complicated and I've already made this build more complicated than I originally planned :D. Animated gif support would actually be a good option for the boot screen, I wonder if that's possible.
@mitu said in PC Engine build:
@ruckage In addition to disabling Samba, you can also disable the Wifi and configure ES with Parse Gamelists only, this way ES will not re-scan the ROM folders on start.
Thanks, I like to have the wifi on so i can access the machine easily if needed but once everything is completely setup it may not be necessary so I'll look into it. Setting ES to 'parse gamelists only' is a good tip if you have a lot systems and roms but for this build I'm not loading ES at all so it wouldn't have any impact.
@stuart2773 said in PC Engine build:
@ruckage Can't wait to see what "theme" you come up with for this build
I'm sorry to disappoint you but this build won't be using ES at all so it won't have a theme, all games will be launched by inserting my fake Hucards (I have enough plastic blanks to make 100 at least which will easily cover all the PC Engine games I'm interested in.
@flyingtomahawk said in PC Engine build:
8-9 seconds till boot video
15-21 seconds till menuI ain't braking any records here but it has become faster and that is good enough for me. Many thanks for the pointers.
Hope ruckage can cut off a bit more so I'll be following this discussion closely.That's a pretty good improvement, thanks for posting the different boot times as it gives a good indication of what changes make the most difference. Is it a pi3 or a pi2 you're using? The SD card can definitely make a big difference up to a point, you don't need a super expensive card as the SD reader is limited anyway but I've always found Sandisc Ultra to be a good affordable card with good performance (32gb is about £10 sold by Amazon).
-
Are you 3d printing the fake cards? And I assume they'll use NFC?
-
@sgtjimmyrustles They're lasercut and using NFC. Hucards are the size and shape of a credit card (only thicker) so it was relatively cheap to have them cut which makes this feasible for a large number of games (more details in my post a few days ago https://retropie.org.uk/forum/topic/14989/pc-engine-build/16 )
-
@ruckage
It's a Pi3 with a Mausberry switch.
I'll definitely have a look at different SD cards to see if I can get the boot time down a few more seconds.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.