Created by Damon Murdoch (@SirScrubbington)
This Python application serves as middleware between an NFC card reader and a specialised version of the 'OpenBanapass' software, which acts as a DLL replacement for the Maximum Tune 6 and 6R arcade titles to allow for Banapassport card emulation other systems.
The system works by writing an access code and chip id generated
from the ID of any NFC chip which is tapped on the card reader to
the file provided. The custom bngrw.dll
file provided polls for
any changes to the file card.txt
in the same directory as itself,
and if found sends the data to the server and clears the contents.
The contents of the card.txt
file is as follows:
[card chip id];[card access code]
This software has been tested using a Sony RC-S380 PaSoRi NFC card reader, however should be compatible with any NFC card reader which is listed in the nfcpy compatibility list.
- Python 3.x
- NFC Card Reader compatible with the nfcpy library
- open-banapass
release
build, ordebug
if you experience issues
- Clone the repository to a local folder
git clone https://github.com/dragapult-xyz/py-banapass
. - Install the required Python modules by running
pip install -r requirements.txt
in the directory. - Follow the nfcpy setup tutorial.
- Back up the original
bngrw.dll
file in the game directory and replace it with thebngrw.dll
file contained within the downloadedopen-banapass
build.- Use the version in the
release
archive unless you experience issues, in which case thedebug
version may be used - The debug version may have different behavior, and may require additional libraries.
- Use the version in the
- Connect the NFC card reader to your system and ensure it is working properly.
- Start the application by running
python banapass.py [filename]
- example:
python banapass.py '/path/to/game/directory/card.txt'
- Please see below for other optional arguments.
- example:
positional arguments:
filename File to write NFC card information to
options:
-h, --help show this help message and exit
--endianness {big,little}, -e {big,little}
Endianness for the card data (Default: 'little')
--timeout TIMEOUT, -t TIMEOUT
Timeout delay in seconds between scanning cards (Default: 5)
--logfile LOGFILE, --log LOGFILE, -l LOGFILE
Log file which should be written to (Default: None)
--verbose, -v Verbose / debug logging will be used. (Default: False)
Repository changed to public, added link to open-banapass repository, updated readme, removed precompiled files from repository
Added bngrw debug/release files, added notes to readme
Renamed to banapass.py, added arguments
Merged upstream changes
Re-added example config
Added readme.md
Cleaned up card reader code
Rewrote example config file
Removed gitignored files, cleaned up gitignore
Initial version, working card reader interface