Sega Naomi Sega Triforce Sega Chihiro: Wipi Netbooter Manual
Sega Naomi Sega Triforce Sega Chihiro: Wipi Netbooter Manual
Sega Naomi Sega Triforce Sega Chihiro: Wipi Netbooter Manual
SEGA NAOMI
SEGATRIFORCE
WiPi Netbooter
Manual
VERSION 6.1
Table of Contents
i
WiPi Netbooter Overview
This version of the Pi Netbooter code is a scratch rewrite of the original solution written by
devtty0 and has been enhanced with a new user interface and richer functionality. It has full
support for all netbootable Sega arcade ROMs for the Naomi, Naomi2, Triforce, Chihiro
and the Atomiswave conversions made possible by Darksoft. This version also includes the
card reader emulator code for games that support it, the original python scripts were written
by Winteriscoming on the arcade-projects.com forums and have been adapted for use in a
web interface. The entire netbooting suite of scripts including the on screen menu and server
mode was written by DragonMinded and integrated into WiPi. OpenJVS is provided as well,
and was written by bobbydilley.
Requirements
• Raspberry Pi v3B, 3B+ or 4B and microSD Card - 32GB Class 10 card recommended
• Naomi, Naomi2, Triforce or Chihiro with a netdimm running firmware 3.03 or greater
• Standard network cable and 5v power source for the Pi – you can make a custom cable to
draw power directly from the system (see below)
• Web Browser :)
Optional
1
Getting Started
Download all files from the download link and extract the img file using WinRAR or similar.
Write the image to a 32GB microSD card using Win32DiskImager or Etcher and insert into
the Pi.
Power up your arcade board, and plug the network cable between the Pi and the netdimm
network port. Power on the Pi.
When the Pi first boots up it will start broadcasting a wireless network called WiPi-
Netbooter. Join either a computer or mobile device (recommended) to the network using
password “segarocks”. Once joined, open a browser and navigate to http://netbooter.local,
this will take you to the main game menu.
Launching Games
The main page of the web interface is used for
launching games, simply browse through the game
list and select a game to send the ROM to your
arcade system. If you are using the Advanced Menu
mode (default), when you select a game you will see
extended game information and a gameplay video if
one is present on the Pi along with a Launch Game
link. Once the loading process is complete a success
message is shown, after that you can safely browse to
other pages or shutdown the Pi.
2
Main Menu
By pressing Menu in the top left of any screen of the
WiPi web interface, you’ll bring up a blue overlay
that’ll allow you to configure various aspects of the Pi
system.
Options Menu
The Options menu displays the current mode settings
and provides links to toggle between them.
Simple Menu
Simple mode (change setting to enabled) allows you to boot the ROM directly from the main
game list page.
Display OSM
3
OSM Theme
Toggle between light (black text on white background) or dark (default; white text on black
background) modes.
OSM Mode
When set to once (default), the Pi will send the menu one time. Setting to Replay will send
the menu again when the arcade board is restarted (and Single Boot is enabled). This is
useful if your Pi is powered separately from the cabinet. If you have OpenJVS enabled and
the OSM has been loaded at least once since Pi power on, pressing the Exiting a Game
combination will reload OSM.
Note that you may have an issue with OSM freezing if you’re using OpenJVS for controls.
Discrete JVS IO boards should work without any problem.
Power Saver
There are two power modes to choose from, Always-On and Power Saver. Always-On works
as its name suggests, you should use the Shutdown link from the web interface to safely shut
down the Pi, this is the default setting.
Generally speaking, you probably won’t get any problems from simply powering the Pi off,
but there is a chance that the microSD card may become corrupted if you do. Power Saver
will start a timer when the Pi is booted and runs for 10 minutes before shutting the Pi down.
This leaves enough time to open up the web interface and change any options you need to.
Note that the timer cannot be stopped or started from the web interface, so switching
between power modes requires a reboot of the Pi.
Single Boot
The WiPi Netbooter has two different boot modes: Multi (default; setting set to disabled) and
Single (setting set to enabled). Multi-mode requires you to manually launch the game from
the web interface every time you want to play and is the default. Enable Single Boot mode
to automatically boot the selected default game for each netdimm when the Pi starts up (See
Manage Netdimms). The Pi will wait until it can communicate with each netdimm before
sending the game so power up timing is not important.
Note that some games may not allow you to hot boot another game while one is already
loaded. This affects the Atomiswave games in particular. These games can take up to 30
seconds to restart the system, so to avoid getting stuck in a loop when booting those games
in Single boot mode you need to wait for the restart. If you do get stuck in a loop, disable
Single mode, reboot the Pi and select your new game before re-enabling Single mode.
4
Server Mode
This is another feature written by DragonMinded and works like Single mode, but allows the
Pi to remain powered up on the network and acts as a netbooting server. Simply select which
default game(s) you would like for each netdimm (See Manage Netdimms) and Server
Mode will always boot those games when the netdimm can be reached on the network.
To change a game simply update the default and Server Mode will launch the new game
immediately. The main game list is not available in this mode as booting any other game will
result in Server Mode overriding that game with the default. Disabled by default.
Note that Server Mode requires the Memory Check to run, so loading games will be slightly
slower. You will notice an asterisk (*) next to Single Boot Mode and Server Mode. When
you enable Server Mode, Single Mode is also enabled. This is intended as Server Mode is an
extension of Single Boot Mode.
Relay Reboot
Relay Reboot mode is for use with an optional relay connected to the Naomi power or fan
speed wire. When a game is launched, and this is enabled it will send out a signal on GPIO
pin 40/GPIO26 which triggers the relay to cut power and soft reboot the Naomi. This is for
games that will not allow you to hot boot another while it is running. The feature is now
largely redundant with the latest version of the Naomi multibios. Disabled by default.
Time Hack
Time Hack mode is used when a null pic chip is not present in the netdimm. When enabled this
will send a special packet to the netdimm to reset its security check. This requires the Pi to be
left connected to the netdimm and powered on while the game is running. Disabled by default.
Video Sound
Video sound enables or disables sound in the preview videos in Advanced menu. See Simple
Menu above. Disabled by default.
Nav Button
Nav button enables and disables a “jump to top” floating button on the main game select
menu. Enabled by default.
OpenJVS
OpenJVS is a software JVS IO emulator which allows you to connect the Pi to the Naomi using
an RS485 to USB connector and play games with virtually any USB game controller. See the
OpenJVS github page (see Page 1) for full instructions. Bluetooth controller support has been
5
added in version 6 which allows scans, pairing and removal via the web interface. If you were
lucky enough to purchase an OpenJVS HAT you can enable support for it by selecting the option
in the OpenJVS Configuration menu (See Enable HAT Support). Disabled by default.
OpenFFB
OpenFFB adds support for Aganyte’s Sega FFB (Force Feedback) Controller board, the
software has been kindly provided by FredoBedo. Does not work with with OpenJVS.
Disabled by default.
NFC Support
This allows you to enable NFC card reader support by connecting an Advanced Card
Systems ACR122U NFC card reader to the Pi to allow save data from the card emulator to
be stored on physical cards. There will be more NFC enabled functionality coming in future
releases, so look out for those! You will need NTAG215 or NTAG216 cards which are cheap
and readily available. Disabled by default.
LCD Mode
LCD Mode allows you to switch between a 16x2 LCD display or MHS type 3.5-inch
touchscreen attached directly to the Pi as an alternative to the web interface via a browser. If
no screen is detected the Pi will switch to display only via its webpages. If you have an RGB
16x2 display you can choose the backlight colour. If you have an older non-RGB model,
choose None. 16x2 by default.
The card emulator scripts run in either manual or auto modes. See Card Reader Emulator
for more information. Manual by default.
Setup Menu
The Setup menu is used for one-time setup functions and
additional features.
6
games in the main game list. This is useful if you want to load a full set of ROMs onto your
SD card but you’d like to hide all vertical, analog and driving games for instance. Use the
link in the Enabled column to toggle the setting between Yes and No to Show/Hide the game.
Manage Netdimms
Here you can update type 1 netdimms up to version 4.03. It is recommended if upgrading
from version 3.x that you update to 4.01 first.
The Card Emulator saves and loads card data via files held locally on the Pi. There are
separate files and folders for each of the games as they are not compatible with each other.
The emulator mode is controlled from the Options Menu and runs in either manual or auto
mode. In manual mode you need to manually launch the emulator by selecting a card to play
with or creating a new one. This starts the emulator for that game and loads the card data into
memory.
In auto mode the emulator will generate a new blank card to play with and the correct emulator
will launch when you load the game, ready to play. If you want to play with a particular card
7
you can select it from the web page when the game is at the
Insert Card screen. Auto mode is highly recommended as that
is the closest to a real arcade experience.
For Mario Kart and Wangan Midnight the manual mode is slightly different:
Initially you won’t have any cards so there is a text box where you can specify a name for
your new card. Spaces are not currently supported in the card name.
To launch the emulator either hit the submit button if you are creating a new card or the card
name link to launch an existing one. The emulator will fire up in the background and start
communicating over the serial link. If you’ve already booted the game, reset it via the arcade
sytem’s test menu, and be sure to enable the reader in the game test mode! Once you have
finished your game and saved progress to your card you can launch another from the menu to
continue playing.
The Card Emulator now supports NFC card saves and card printing in the web interface
for Initial D, Initial D2, Initial D3 and F-Zero AX. The Pi captures and decodes the print
packets that would have been sent to the physical card printer and virtually prints the cards
for display in the web interface. All original cards have been scanned and saved in WiPi, and
you will be issued a random card at purchase just like the original arcade game.
To use the NFC card feature, enable NFC support in the Options Menu, attach an Advanced
Card Systems ACR122U NFC reader and use NTAG215 or NTAG216 cards to save your
data. You can use Card Data Management (See below) to wipe a card, copy an existing
save file or check the contents of a card.
When playing, simply present the card to the reader — the simplest option is to leave it in place
on the reader so your data is automatically saved after card ejection. If you have removed the
card you will have 10 seconds to replace the card to write save data back. If you are too slow
you can manually copy the save data back to the card using the NFC Copy function.
Card Reading:
8
Card Writing:
Card upgrades and renewals are supported via the web interface and the NFC reader.
You will find an orphaned file left behind by the process which can be safely removed. If you
have upgraded, this means you can carry on racing with the old card if you wish.
This is used if you have made any changes to the CSV data on an external computer via the
boot drive copy. This will import your changes and overwrite the copy used to populate the
main game list. The CSV file holds all the relevant data used by the Pi, including ROM file
name, images and videos, description, system type and much more.
OpenJVS Configuration
9
use an in-browser editor if you want to changes change button mappings or analog axis
configurations. This is where the physical buttons are mapped to the OpenJVS controller
standard layout. Refer to the OpenJVS github for more information or the Controller
Reference option below.
Bluetooth Devices
OpenJVS Control
Update OpenJVS
Run a process to update OpenJVS to the latest version. Your config file will be backed up
and restored during the update. You’ll be prompted to confirm or cancel the operation.
Controller Reference
Displays the OpenJVS controller standard layout (Xbox 360/One/Series graphic with a table
of mapping keywords) to assist with building device and mapping files.
10
Network Configuration
To use Home Wifi Direct mode so that the Pi connects to your local wifi for management,
but is wired directly a single netdimm, click Wifi Setup and enter the SSID and password for
your network. Then click Appy and Reboot.
To use Hotspot Router mode, connect the Pi and your netdimm by ethernet to your router.
You can use a static or DHCP address for buth the Pi and the netdimm, but using static
IP addresses is highly recommended. One advantage with this setup is that the Pi can be
reached via the home router network as well as the hotspot.
To set up Home Wifi Router mode, connect the Pi to your router by wifi and your netdimm to
your router by ethernet. This mode is useful if you don’t want to change wifi networks each
time you use the netbooter, but the downside is you need to locate your Pi on your home
network.
The hostname call also be changed from the netbooter (default) to something else.
Manage WiPi
Download Logs
11
WiPi Updater
Reboot Raspberry Pi
Shutdown
Safely shuts down the Pi.
Exiting a Game
If you’re using OpenJVS you can exit a game by pressing and holding Start + any two digital
controller buttons for three seconds and then releasing. Exiting the game can take up to 30
seconds, but not every game supports this feature.
Advanced
Connection information for SSH/SCP/SFTP is as follows:
USERNAME: root
PASSWORD: raspberry
For those of you who like to code, you can access the source files for the web interface in
/sbin/piforce and /var/www/html. Feel free to have a poke around, generally if something
cannot be done in PHP it’s due to permissions, the PHP page calls a python script to execute
it on its behalf. OpenJVS files and mappings can be found in /etc/openjvs. The boot process
is as follows:
When the Pi starts up it executes a file called rc.local that fires up a python script
/sbin/piforce/check.py. This script checks a few files in the piforce folder to get settings for
the power and boot modes. It then sends a netboot command if set to single mode and a
shutdown command with a timer if the power mode is set to auto. The CSV file is copied
back to the boot partition as part of the shutdown routine.
Most of the web code is PHP so the pages are generated as they are loaded, the benefit is
you can make changes on the fly without having to restart the Pi. There is a sidebarstyles.css
12
file in /var/www/html/css that can be modified to change the colours and look and feel of the
menus and webpages.
All data for the games is scraped from the romsinfo.csv file held in the /boot/config folder, if
you wish to add more columns bear in mind the existing scripts refer to the absolute column
reference so you’ll need to add any new ones after the existing columns. There is a way to
import CSV data as a multidimensional array using PHP but I got lost quite quickly in the
coding for that, so my script just reads and writes line by line.
Here are the cable pinouts you need for the Card Emulator to work. I bought a straight
through female serial connector on eBay for £3, cut it in half and crimped a 6 pin JST NH
connector on the end.
1 <- 3 3 <- 5
2 <- 2 4 <- 2
3 <- 5 5 <- 3
4 <- 8 6 <- 8
5 <- 7 7 <- 7
Version History
6.1 - Feb. 3, 2022
• Proper multi dimm support, all areas now covered, OpenJVS has an extra setting in
netdimm management so WiPi knows which system it’s attached to
• F-Zero AX card printing and NFC support on Triforce
• DragonMinded’s excellent on screen menu for Naomi, this will be in sync with the main
game list if you’ve edited it in the web interface
• Single boot mode now works as originally intended, once booted it will wait until it can
reach each configured system then boot the default game once (this can also be the on
screen menu)
• New server mode based on DragonMinded’s netdimm_ensure script, this works like
single boot mode but you can leave the Pi powered up on your network
• New update system, future releases will be uploaded as deb packages and installed via apt
so no more giant downloads
• LCD 16x2 colour option added as requested
• No more Triforcetools on the backend, replaced with DragonMinded’s netboot suite of
tools
13