USB-NES Firmware Upgrades

Mission Statement

We here at The BTTD Group are committed to supporting the USB-NES system firmware for the long haul. As collectors and enthusiasts of retro games and NES/Famicom games in particular, we have an interest in making and maintaining the most accurate, compatible, economical and interesting modern NES cartridge reader and programmer on the market. We have also built an innovative and user-friendly firmware upgrading system that makes it easy to always keep your USB-NES up-to-date with the highest possible level of game compatibility for old as well as new carts. Moreover, we listen to all our customers and use their feedback on our public forum to fix bugs and direct the focus of our routine seasonal future firmware releases. That said, The BTTD Group is open for business and if you folks dig what we are up to and would like to support us, please vote with your wallets. Thank-you for your kind shopping consideration.

Visit the USB-NES store

If there are games or mappers you’d really like us to get working on for a future USB-NES firmware release, every bit helps. Your purchase helps us to buy those cartridges we need to test and figure out how to support them for future firmware releases. Please consider supporting The BTTD Group by making a purchase if you like the appeal of USB-NES. Thank-you.

Upgrade your USB-NES: Firmware Update Tool

The USB-NES firmware is easy to update via USB. Before updating however, you should check the current version of your USB-NES firmware by hooking your USB-NES up to a computer without an NES cart inserted, and opening the VERSION.TXT file in the root directory of the USB-NES drive. The 3rd line of VERSION.TXT is the USB-NES version number. If your version matches the highest number in the Stable USB-NES Firmware Versions Available list below, you already have the most recent firmware and there is no need to upgrade. If you upgrade to a newer firmware version and you find it does not work properly you may still retrograde your USB-NES to a previous version.

Be sure to allow hidden and system files to be displayed on your computer, and connect your USB-NES to the computer with no cartridge inserted. Then, click on the link above to go to the page where you can download all publicly available USB-NES Lite firmware versions (see compatibility list below), and upgrade your unit.

After the download, proceed to copy the FIRMWARE.BIN file from your computer into the USB-NES root directory either by drag & drop or command line. Be sure to confirm you want to overwrite the existing FIRMWARE.BIN file and when the file gets copied over you should see a blinking green light on the unit. Once the green light stops blinking (after about 10 seconds), restart USB-NES by unplugging and re-plugging in the USB connector, and open VERSION.TXT to verify the new version of the firmware is on your unit.

Stable USB-NES Firmware Versions Available

  • USB-NES lite 0.79 (01-16-2023)
    • SUROM support (Ninjara Hoi!, Dragon Warrior 3 & 4)
    • VRC1 support (mapper 75)
    • NAMCOT-340 support (mapper 210, sub-mapper 2)
    • Fixed a bug reporting SRAM size in mapper override modes
    • Changed mapper override error messages into “ERR” codes to save some space in firmware
  • USB-NES lite 0.75 (08-18-2022)
    • Alwa’s Awakening supported
    • Maxi 15-in-1 supported
    • Mother 25th Anniversary supported
    • Initial “NES 240” boardset implementation
    • Improved loading times with mapper 268 boardset types
    • Added check for save RAM with UNROM-512 types
    • Fixed a bug with 4-screen detection on mapper 30 types
    • Expanded secret memory area for mapper overrides
    • Removed all boardset delay timings from SETTINGS.TXT
  • USB-NES lite 0.71 (05-09-2022)
    • Fixes minor issues with invalid characters appearing in OVERRIDE.TXT and DETECT.TXT
    • Fixed bug where OVERRIDE.TXT can’t be edited in Linux
    • Pair with kernel version 0.08 for best performance
  • USB-NES lite 0.70 (05-02-2022)
    • Add new BCMTABLE.BIN1 file for customizing bus conflict mapper tests; 32 slots are available in the 1KB file
    • Initial mapper 268 support (COOLBOY/MINDKIDS); offset variant support @ $6004/5004:
      • Data East All-Star Collection
      • Kira Kira Star Night DX
    • Initial large PRG-ROM detection system (up to 32 MB)
    • Reworked bus conflict mapper detection system; fixed bugs and faster detecting now
    • Fixed media reset problems when writing system files to the drive; proper UNIT_ATTENTION protocol invoked now
    • Reload NES games by reading/opening DETECT.TXT; this file echoes REPORT.TXT but also re-scans the cartridge, re-initializes the file system and signals UNIT_ATTENTION
    • New OVERRIDE.TXT2 file to specify user-defined mapper overrides and optional auto-detection TEST scripts
    • Empty cart slot now selects a default mapper mode setting
    • Added a 28 nS delay to /ROMSEL line to fix some mappers
    • MC-ACC mapper chip supported
    • Support deferring CHR-ROM data to PRG-ROM (mapper override scripts only)
    • Increased the size of SETTINGS.TXT up to 1KB
    • Increased the size of OVERRIDE.BIN up to 4KB
    • Changed the debug_mode_enable setting to BCMTABLE_reporting; this enables the generation of the bankswitch and scoring table files:
      • ROOT_TBL.BIN
      • DATA_TBL.BIN
    • Added 10 more settings to SETTINGS.TXT:
      • DETECT.TXT_enable
      • OVERRIDE.TXT_enable
      • OVERRIDE.BIN_enable
      • BCMTABLE.BIN_enable
      • ASIC_map_testing_on
      • alt_buscon_tests_on
      • conflict_testing_on
      • 16_KB_PRG-ROM_test
      • override_testing_on
      • default_map_index
  1. After both a kernel and firmware upgrade or very first 0.70 firmware upgrade, you must copy BCMTABLE.BIN (from the .ZIP archive) to the USB-NES drive for the internal bus conflict mapper tests to work.
  2. You may optionally copy OVERRIDE.TXT to the USB-NES for the “no cart detected” message to work properly in DETECT.TXT.
  • USB-NES lite 0.64 (03-13-2022)
    • New manual mapper override abstract system mode
    • Mapper 30 full configuration support, flash support
    • Mapper 111 support, flash support (512 KB in 31 sec.)
    • BTTD Group NES-RED-PILL support, flash support
    • PRG.BIN flash file abstraction support (write-only)
    • CHR.BIN flash file abstraction support (write-only)
    • CPROM support
    • AVE NINA 03/06 support; test fixed
    • TQROM support
    • Eliminate all invalid characters in text files
    • Correct text file sizes
    • CHR flash timing bug fixed
    • Add debug_mode_enable setting for troubleshooting
    • Bug fix for edge-case UNROM and CNROM games
      • Castlevania
      • Pro Wrestling
      • Donkey Kong Classics
    • Add ROM.W_bus_disable setting to fix UNROM issues
      • Top Gun
  • USB-NES lite 0.51 (02-08-2022)
    • Fix bugs with identifying CNROM, UNROM boards
    • Fix major powerup bug with LS161 boards
    • Fix problems with Spy Hunter, Dragon Warrior
    • Fix bug in reading out 115-in-1
  • USB-NES lite 0.42 (02-22-2021)
    • Initial public release
    • Mapper support:
      • 0 NROM 128/256
      • 1 NINTENDO MMC1
      • 2 UNROM
      • 3 CNROM
      • 4 NINTENDO MMC3/6
      • 5 NINTENDO MMC5
      • 7 AOROM/ANROM
      • 9 NINTENDO MMC2
      • 10 NINTENDO MMC4
      • 11 Color Dreams
      • 13 CPROM
      • 18 JALECO SS88006
      • 19 NAMCO 163
      • 24 KONAMI VRC6a
      • 25 KONAMI VRC4b
      • 29 Sealie Computing
      • 30 UNROM-512
      • 33 TAITO TC0190
      • 34 BNROM/NINA-1
      • 64 TENGEN RAMBO-1
      • 66 GNROM
      • 68 SUNSOFT-4
      • 69 SUNSOFT FME-7
      • 70 Family Trainer
      • 77 Napoleon Senki
      • 78 Holy Diver
      • 85 KONAMI VRC7a
      • 89 Mito Koumon
      • 93 Fantasy Zone
      • 94 UN1ROM
      • 96 Oeka Kids
      • 107 Magic Dragon
      • 118 NINTENDO TxSROM
      • 148 Tengen 800008
      • 149 Mahjong 16
      • 152 Arkanoid 2
      • 158 TENGEN RAMBO-AS
      • 180 UNROM + HC08
      • 188 Karaoke Studio
      • 206 TENGEN MIMIC-1
      • 225 52/58/64-in-1
      • 255 110/115-in-1

Kernel Update Tool

The kernel is the working USB file system layer that exists beneath the USB-NES firmware. Updating the kernel on USB-NES should only be done if you are having difficulty using your unit with your computer.

In Windows, you can check the kernel version of your USB-NES by right-clicking on the USB-NES drive and going to properties. Click on the Hardware tab, select BTTD Grp BLUE-PILL KERNEL USB Device from the list of disk drives, and click on Properties to open a new box.

From here, click on the Details tab, and select Hardware Ids from the Property drop-down box. At the end of the first line in the Value window, you will see the 1.2 digit version number at the end of the string.

The process for upgrading the kernel is the same as mentioned in the previous firmware section, with a few minor notes. After using the kernel update tool to download firmware.bin and copy it to USB-NES, do not interrupt the file transfer or cut power to the unit while the green light is on or blinking (for about 10 seconds) or you could damage your unit. Moreover, using a good computer with an uninterruptible power supply is strongly recommended for performing USB-NES kernel upgrades (i.e., any modern laptop that isn’t malware-infested).

After the green light blinking is done, you will be left with a USB-NES with no application layer, so you will have to repeat the steps with the firmware update tool as well to finish setting up the USB-NES with fresh new firmware.

Stable USB-NES Kernel Versions Available

  • USB-NES Kernel 0.08 (05-09-2022)
    • Fixes a serious bug in Linux where editing OVERRIDE.TXT caused the file data to be misdirected to FIRMWARE.BIN (or ROM.SAV if present)
  • USB-NES Kernel 0.07 (05-02-2022)
    • Improved media reset support
    • Corrected file attribute assignment bug
    • Added 4 KB disk write buffer for streaming in unknown file data
    • Added support for .goutputstream in Linux
    • Drag + drop to USB-NES in Linux works now; text file editing & saving works.
  • USB-NES Kernel 0.05 (03-13-2022)
    • Increase USB power request from 100 mA to 500 mA
  • USB-NES Kernel 0.04 (02-08-2022)
    • Fix major file write-back issues in Linux
    • Fix firmware updating in Linux (command-line cp works)
    • Fix issue with FCEUX battery-backed save game write-back
  • USB-NES Kernel 0.03 (02-22-2021)
    • Initial release