Logitech G900 Battery Upgrade

I found an upgraded battery for my Logitech G900 mouse and it has been working well for the past 2 months. The new battery has a capacity of 1000 mAh vs the original’s 750 mAh; it does seem to last longer on a single charge even though the Logitech Gaming Software still reports the same amount of running time (in my case, 25 hours with my lighting settings). The software is probably hard-coded for the original 750 mAh battery; I’ve noticed when the mouse is down to 20%, the software will continue to report there is 20% remaining for a few more hours before it continues to drop.

Opening the G900 is fairly straight forward; there is one T5 Torx screw by the micro-usb port and six 00 Phillips screws under some of the feet. I highly recommend purchasing a set of replacement feet rather than trying to reuse the ones you pull off. Be very careful when opening the G900 after removing the screws; there is a delicate ribbon cable connecting the two halves of the mouse as you can see below. You’ll want to disconnect the ribbon cable from the bottom half so you don’t accidentally rip it when you work on disconnecting and removing the battery. The battery is secured with double-sided tape so it will take some time to pry it out gently. The replacement battery has much longer leads but with some care it will all fit back inside.

Windows 10 – Most Used List Not Updating

Some time after building my emulation PC I noticed the “Most used” list in the Start Menu only ever displayed the default MS apps, even after a clean install of Win10. The most common programs launched on that PC are RetroArch, Launchbox and Steam yet none of them appeared in the list.

Searching on Google mostly yielded results of people complaining about it but no real solutions. Eventually I found a solution at the bottom of this thread – basically boils down to making another language the default in Windows and then switching back to your original language setting. Somehow this resets the list and allows it to update correctly.

  1. Go to Start Menu > Settings > Time & Language > Region & Language
  2. Click on Add a language > search and add another language (preferably one you can actually read…) installing the default options.
  3. Make the new language your default and reboot.
  4. After rebooting, go back to Start Menu > Settings > Time & Language as before and change your default language back to the original and remove the language you added in step 2.

After performing these steps, the “Most used” list should be populated with new apps after a few launches. I originally did this fix on Windows 10 1803 and my “Most used” list still accurately reflects app usage even after upgrading to 1809. Hopefully this bug doesn’t exist anymore but it’s worth giving the above steps a try if you stumble on this post while using a future build of Win10.

Failed to Run Task Sequence – 0x8007000f

Recently I needed to image several laptops; it worked fine the first day but the next day imaging was unsuccessful with every laptop showing the “Failed to Run Task Sequence” message with error code 0x8007000F. This was a new SCCM environment for me and I decided to google the error code to see what I could find. Funny enough I found a temp solution on a blog that uses the same base theme as this site (WordPress Twenty Fourteen). Error code 0x8007000F means the imaging environment is unable to find/format the disk properly before applying the image.

Using the above commands to manually format/partition the drive in each laptop helped me get the imaging working; the true solution was for the SCCM admin to rollback the image to a previous version as these commands shouldn’t be necessary.

RetroArch – Convert PlayStation 1 BIN/CUE to CHD

The Redump set for PlayStation 1 USA is 385GB (just the games, no demo/samplers etc) in 7zip format; 7zip is not supported by the Beetle PSX core so when I originally added the PSX library to my Launchbox/RetroArch setup I just extracted every game. This took up a significant portion of the 1TB drive I was using to store all ROMs; additionally Redump uses separate BIN files for every track on the CD so a single game would have multiple BIN files plus the CUE. I found by accident an old Reddit post where I learned that you can compress BIN/CUE into Mame’s CHD format which is supported by the Beetle PSX core; the result is you will have a single compressed file for each PSX game that is comparable to the original 7zip in size and directly playable.

To do this conversion you need chdman.exe which can be found inside the MAME Official Windows Binary packages located heremame0201b_64bit.exe was the latest release when I did the conversion.

Extract chdman.exe from mame0201b_64bit.exe into the same folder as your PSX BIN/CUE files. Then you can just run one command to convert everything to CHD:

Expect this to run for a long time; on the Redump set, this conversion took about 1.5 days on an i7-4770K and a 2.5″ 1TB Seagate FireCuda hybrid drive. You should also have free space equal to at least 1.5x the size of the Redump set before running the command.

Retrogaming with RetroArch and LaunchBox

For the last couple of years I’ve been doing my retrogaming with a combination EmulationStation and RetroArch. At first I was using a Zotac mini PC for the hardware and Lubuntu for the OS; at the time I also used this PC to play movies using Kodi. Looking back I’m not sure how that PC was able to emulate anything at full speed but I remember games running pretty well. EmulationStation on the other hand took forever to scrape metadata especially with the complete ROM sets for most systems. Eventually the Zotac was replaced by an Intel Skull Canyon NUC running Ubuntu. The NUC worked a million times better than the Zotac but with Retroarch on Ubuntu it seemed like configs were broken every time I ran apt-get update. I decided it was time to do a new setup for emulation; with a combination of new and old parts I was able to build another PC with the following specs:

  • Intel Core i7-4770K
  • Noctua NH-L9I CPU Fan
  • AsRock B85M-ITX
  • 16GB Crucial Ballistix Sport VLP DDR3-1600
  • 500GB Samsung 840 EVO
  • 1TB Seagate Firecuda
  • Gigabyte Radeon R9 Nano
  • Fractal Design Node 202
  • 600 Watt Corsair SF600 SFX Power Supply
  • 2x Noctua 120mm NF-S12A Case Fans

The Node 202 is a compact ITX case which made cable management fairly challenging but I think I managed to pull off a decent job:

For this new build I used Windows 10 for the OS and replaced EmulationStation front-end with LaunchBox. It has an alternate mode similar to Steam’s Big Picture Mode that’s perfect for gaming on a big screen TV:

As you can see from the video, you get a short intro for each platform and gameplay footage per game if you have an EmuMovies account enabled for scraping. If EmuMovies doesn’t have gameplay footage then LaunchBox will usually at least display a screenshot of the game’s title screen. LaunchBox is a big step up from EmulationStation aesthetically; it’s also a big step up for storage requirements. I have the No-Intro ROM sets for the following systems: NES, SNES, N64, Game Boy, Game Boy Color, Game Boy Advance, Master System, Genesis, 32X, Game Gear and TurboGrafx 16. On top of this I have the complete ROM set for FBA 0.2.97.43 and the USA Redump PSX collection. With these platforms scraped in LaunchBox, the folder size weighs in at 152.4GB:

It should be no surprise Video is the largest subfolder at 81GB followed by Images at 48.4GB; I scraped my ROM collection with the default settings in LaunchBox so it’s possible to get a slimmer install by leaving out game manuals and other types of images like front/back box art, cartridge art, screenshots, etc.

The 4770K and R9 Nano are a few years old at this point but are more than enough to handle RetroArch at 4K. The best part of this new build is I can use shader presets that brought my NUC to a crawl. My favorite shader so far is CRT-Royale – an advanced shader preset designed to recreate the look of a CRT monitor. You can see from the screenshots below it even recreates soft glow around sprites against a black background:

For controllers, I have the 8BitDo SN30 Pro and SF30 Pro, Xbox Wireless Controllers, and Qanba Q4 RAF arcade sticks. Both the 8BitDo and Xbox controllers are paired via Plugable’s USB Bluetooth 4.0 Adapter. The adapter is supported out of the box with Windows 10 and pairing the controllers was easy. I set my input driver in RetroArch to dinput which makes every controller show up as generic “Bluetooth XINPUT compatible input device”; the advantage here is I can pick up any of the Xbox or 8BitDo controllers and start playing. My default config in RetroArch uses Bluetooth controllers while I have a separate config for the FB Alpha core so the sticks are used for Arcade games. If you use mixed controllers, I recommend using devreorder – it’s a program that allows you to define the order in which controllers are enumerated in Windows. I have it set so the Qanba sticks are first, followed by the Bluetooth controllers. This way RetroArch will always see the sticks and controllers in the same order; without it my sticks would stop working if one of the Bluetooth controllers shut off from idle (when the controller shuts off, RetroArch would enumerate input devices again and my stick would no longer be assigned to Player 1).

If you want to set up LaunchBox and RetroArch for yourself, I recommend getting RetroArch working first as LaunchBox is just a front-end that will launch RetroArch with the game you choose. There’s a decent guide for setting up RetroArch from Lifehacker here and the Youtube channel for LaunchBox has a good video on setting up both RetroArch and LaunchBox. The Lifehacker guide doesn’t mention which RetroArch cores to use so I recommend you try out the following:

  • Nestopia UE (NES)
  • bsnes mercury Accuracy (SNES)
  • Mupen64Plus (N64)
  • Gambatte (Game Boy/Game Boy Color)
  • mGBA (Game Boy Advance)
  • Genesis Plus GX (Master System, Genesis, and Game Gear)
  • PicoDrive (32X)
  • Beetle SGX (TurboGrafx 16/PC Engine SuperGrafx)
  • Beetle PSX (Playstation 1)
  • FB Alpha (Arcade)

Most of these cores are the defaults shown in the setup video from LaunchBox. FB Alpha doesn’t emulate every Arcade game like MAME does but covers most of the ones I care about like Capcom CPS and Neo Geo games. I prefer using FB Alpha over MAME because the MAME cores require additional setup for controller inputs; the whole point of using RetroArch is to have a unified interface and set up your configuration once.

Pi-hole – Dnsmasq Not Starting Automatically (Ubuntu 16.04)

Pi-hole is a DNS sinkhole designed to block ads at the network level by acting as your DNS server; it’s like using AdBlock for every device on your network. It’s especially useful for iOS and Android devices since Pi-hole can block ads in both the browser and apps.

Installation on my Ubuntu 16.04 box was dead simple:

After running it for almost a week, I accumulated the following stats below; it’s amazing how many requests were blocked since I’m already using uBlock in Chrome.

After rebooting the system Pi-hole was running on, I noticed the DNS resolution was broken because the dnsmasq service was not running:

Apparently there is a bug in Ubuntu 16.04 with the dnsmasq service trying to start before network interface is up. Thanks to this, I was able to fix it by adding the highlighted lines below to the [Unit] section of /lib/systemd/system/dnsmasq.service:

Sega Dreamcast – GDEMU and Noctua Fan Mods

Recently I managed to get my hands on the GDEMU – an SD card reader that takes the place of the Sega Dreamcast’s optical drive. With it you can place multiple Dreamcast game images on an SD card and load whatever game you want from a simple menu system named GDmenu. I set mine up with a SanDisk Extreme Pro 128GB SDXC and was able to fit all the games I cared about. The best part is you can play 1:1 dumps of Dreamcast games instead of burning rips to CD-Rs or scouring eBay for original discs. There is a noticeable decrease in loading times as well since there are no moving parts.

In addition to the GDEMU upgrade, I also replaced the original 30mm Dreamcast fan with a 40mm Noctua NF-A4x10 5V using a 3D printed mounting kit I bought off eBay (listing is gone but you can find the files for the kit here).  Supposedly the Dreamcast runs hotter with the GDEMU because the GDEMU doesn’t use the 12v rail on the PSU which causes it to spike in voltage thus creating extra heat. There are some guides on the internet for either adding a resistor to load the 12v rail or removing the regulator for 12v entirely. I decided it was simpler to add a 12v fan for load and provide additional cooling to the PSU; I put a 40mm Noctua NF-A4x20 FLX in the back blowing into the PSU. Even with 2 fans, this entire setup is nearly silent compared to a stock Dreamcast.

8Bitdo SF30 Pro and SN30 Pro Controllers

I’ve been working on a new emulator build using Windows, Launchbox, and Retroarch. For my controllers I’ve always used Qanba Q4RAF sticks for arcade games and Xbox 360 controllers for consoles. I decided it was time to upgrade the controllers to something newer so I decided to pick up the 8Bitdo SF30 Pro and SN30 Pro Controllers. They’re basically replicas of the old SNES controller in both the Super Nintendo (SN30 Pro) and Super Famicom (SF30 Pro) colors. You can find plenty of in-depth reviews of these controllers on YouTube or Google; overall I’m quite pleased with these controllers for emulation usage.

Some things I noticed:

  • Everyone says to update the firmware out of the box; my SF30 Pro was already v1.25 (newest at the time of this post) but my SN30 Pro was v1.22.
  • The D-Pad on my SN30 Pro feels more worn and isn’t as stiff as my SF30 Pro’s D-Pad.
  • They pair quite easily with Windows 10 over Bluetooth; you can also use them wired (flat style USB-C cable is included)
  • You can pair both the SF30 Pro and SN30 Pro to your Windows PC for multiplayer games; they show up in Windows as “8Bitdo SF30 Pro” and “8Bitdo SN30 Pro” respectively. Not sure what happens if you have 2x SF30 Pros or 2x SN30 Pros since they share the same device name.
  • Works great with RetroArch; shows up as “Bluetooth XINPUT compatible input device”. If you have the SF30 Pro and SN30 Pro paired, then they will appear as “Bluetooth XINPUT compatible input device (#1)” and “Bluetooth XINPUT compatible input device (#2)”.

Fifth Freedom