NABU Internet Adapter

Experience NABU as intended with the NABU Internet Adapter software - including Homebrew channels, Cloud CP/M, Retro On-Line chat, and more! This software emulates the NABU Network Adapter by providing internet access.

DJ Sures created the first official NABU Internet adapter as a software replacement for the Nabu Network Adapter (NA). The NA was a hardware component connected to the Television Coax Cable and NABU PC. It would decode digital information from the analog cable and send it to the Nabu computer.

The NABU Internet Adapter is a text-based menu-driven application that emulates the NABU Servers and NABU Network Adapter, which provide entertainment and family software to the NABU Personal Computers.



Troubleshooting
1) Look at the bottom of this page for the troubleshooting FAQ.

2) To report issues, submit an issue on the NABU Forum.

RetroNET Cycle Application List

Screenshots

Main window of the Internet Adapter

NABU Channels allows you to select from the original NABU Network Cycles, or homebrew applications written by the community.

The settings menu has many options for customizing and tweaking the behavior for running and creating homebrew apps.

RetroNET Chat is an online chat that runs on your NABU. Using the NABU Computer as intended over a world-wide network!

Use the homebrew Telnet  with vt100 emulation to connect your NABU to BBS's and your Windows/Linux/MacOS computers.

Experience homebrew demos, including Bad Apple with music on the original 3mhz NABU PC!

Witness the epic NABU Intro. The NABU PC inspired to blend in with your existing entertainment units, such as the VCR. 

The Main Menu Cycles are a snapshot from the original NABU Network before it was shut down in 1984.

Many multiplayer family fun games from the original NABU Network of 1984!

NABU Internet Adapter Downloads

Version 2023.05.18.02

Download the version for your operating system and processor type. For installation instructions, scroll down further, and there are details for various operating systems. Further down the page are instructions on making the RS422 cable that connects to the NABU Personal Computer for emulating the NABU Network Adapter.

*Note: If you are experiencing issues getting up and running, there is a trouble-shooting guide below on this page.

Windows Installer
(x64)

Download

Windows Portable
(x64)

Download

Windows Portable
(x86)

Read more

Linux
(ARM32)

Download

Linux
(ARM64)

Download

Linux
(x64)

Download

mac OS
(x64)

Download

mac OS
(ARM64)

Download

Windows Installation

For Windows, the download includes an installer to get up and running with less effort.

1) Download the zip file containing the installer to a folder. 

2) Extract the contents of the zip file to a folder.

3) Double-click the installer in the zip file to launch the installer.

4) The application will be installed and available anytime from the Start Menu and Desktop.

MacOS Installation

The MacOS edition includes a binary that can be launched from the command line.

1) Unzip the files to a folder

2) In a terminal shell, give the file executable permission
% chmod +x ./NABU-InternetAdapter-84

3) From a terminal shell window, launch the application with the following command:
% ./NABU-Internet-Adapter-84

Verification Error
You may receive a warning when running the program that the program is not signed and may contain viruses. We also value security and do not recommend you run unknown software. However, you'll have to make an exception for ours if you want to use it - at least for the time being until we get the macOS binaries signed. So here is how you can disable the warning...

In your terminal window, run this command. You will be prompted for your password. After completion, you can run the Internet Adapter without issues.

% sudo spctl --master-disable

Linux Installation

The Linux edition includes a binary that can be launched from the command line.

Known Issues:
- Some other Linuxes (i.e. ARMBIAN, UBUNTU) has an issue where Internet Adapter will not load and crash immediately with the following error:

System.NullReferenceException: Object reference not set to an instance of an object. at Unix.Terminal.Curses.endwin() at Terminal.Gui.CursesDriver.End() at Terminal.Gui.Application.ResetState() at Terminal.Gui.Application.Shutdown() at NABU_Internet_Adapter_84.Program.Main(String[])

This can be fixed with a solution found by a user named jefferystone. He suggests the following...

1) Create a symbolic link in the folder where the NABU-Internet-Adapter-84 is

  cd /path/to/NABU-Internet-Adapter-84
  ln -s /lib/x86_64-linux-gnu/libdl.so.2 libdl.so 


2) If you do a ls -l in the folder, you should see the symlink:

  libdl.so -> /lib/x86_64-linux-gnu/libdl.so.2


Installation Instructions

1) Download the ZIP for your OS below. 

2) Unzip the files into a folder

3) CHMOD the binary to make it executable

$ chmod +x ./NABU-Internet-Adapter-84

4) Execute the binary and run it in a command-line terminal

$ ./NABU-Internet-Adapter-84

*Note: If you receive Access Denied when attempting to use the COM (/dev/ttySx) port, you may require ROOT. In that case, launch the application with the sudo command.

$ sudo ./NABU-Internet-Adapter-84


Putty and Remote Terminals
If you experience an issue using the Internet Adapter with PUTTY, please configure the correct terminal type in the Putty settings. 

1) In PUTTY settings, go to
Settings->Connection->Data->Terminal-type

2) And enter
xterm-256color


NABU Network Cable Summary

The RS422 portion of the cable must be short as possible, or two twisted pairs if possible. Also, keep the RS422 piece of cable away from AC power cords. The cable should be shielded to the GND pin of the DTech RS422 adapter only. Lastly, I advise using a MIDI cable to avoid having to solder the tiny pins of a DIN-5 connector. This cable is the lifeline for your NABU, so do not chance a poor-quality effort.

*Note: GND should only be connected to the shield on one end. If your cable is grounded on the DTECH connector, do not connect the shield to the outer rim of the DIN connector. Why?

Cable Testing

Ready to see if your NABU's lifeline cable is rock solid?

Slide Show is the most communication-heavy application ever created for the NABU. The best test is running the Slide Show application to see if it locks up. Ideally, a proper setup will run the Slide show non-stop on repeat overnight. The longer it runs without locking up, the better your cable is.

Find the Slide Show application in one of two locations:

NABU Channel

On the main screen of the Internet Adapter will be a list of NABU Channels. Locate the Slide Show in the list, and select it. You must double-click to select an item, inwhich the selected item will be displayed in yellow at the top status bar.

Cloud CP/M

Load Cloud CP/M from the NABU Channels list. When Cloud CP/H has loaded, you may type HELP for information on how to use it. For those who are familiar with CPM, you can skip that step.

The Slide Show application is titled SLIDESHO.COM and can be found on the A: Drive in User Area 1. So, once you boot into CP/M...

1) Type USER 1 to enter the User Area #1

2) Type DIR to see the list of files on the User Area #1

3) Type SLIDESHO to execute the slidesho.com file.

Making The Cable

The NABU computer communicates to the Network Adapter with an RS422 connection. The DTech RS422 adapter will convert USB to the appropriate protocol required for the NABU to load files from your PC or Raspberry Pi.

5 Pin DIN Pinout

This is the pinout of a 5 DIN connector from the solder side of the connector. 

*Note: GND should only be connected to the shield on one end. If your cable is grounded on the DTECH connector, do not connect the shield to the outer rim of the DIN connector. Why?

RS422 Breakout 

If connecting directly to the DTech RS422 adapter breakout, use this image as a reference.

RS422 DB9 Cable

If you have a DB9 cable with wire codes. Well, I'd verify the wires first, but this includes the wire colors to make it easy.

*Note: GND should only be connected to the shield on one end. If your cable is grounded on the DTECH connector, do not connect the shield to the outer rim of the DIN connector. Why?

Troubleshooting

Note: Before attempting the troubleshooting steps below, verify that you are using the latest Internet Adapter version.

I get timeouts, lockups, and other communication issues

This could mean one of four things...

1) RS422 cable is getting interference and might need to be shielded. Connect the shield of the cable to the GND pin on the RS422 adapter only (find out why). Also, check your solder joints to ensure they are securely connected and not touching the outside plug surround or other wires. An insufficient electrical connection is a bad electrical connection, simple as that. Your cable is the lifeline to the NABU PC; ensure it is reliable and built correctly. 

*Note: GND should only be connected to the shield on one end. If your cable is grounded on the DTECH connector, do not connect the shield to the outer rim of the DIN connector. (find out why)

2) Keep your cable away from power cords and wires carrying AC voltage. Unless your communication cable is twisted pair or has a shielded ground, you may experience issues from AC voltage interference. If the RS422 portion of your cable (not the USB part) is near or touching AC power cords, you will experience a high rate of failure. * This is the most likely cause of issues *. I recommend keeping the RS422 portion of the cable to be short as possible because it is the most affected by interference.

2) The RS422 USB adapter may not have the capacity required on a USB HUB or docking station. Docking stations that share HDMI output, specifically multiple monitors or 4K resolutions, may have bandwidth limitations that prevent the RS422 adapter from performing correctly. Ensure the RS422 adapter is connected directly to a computer USB port.

3) Baudrate is incorrect because you are using a Linux system. The .NET ports library has a bug that does not allow selecting the correct baud rate for the NABU. This is documented in many places on this website, and a link is provided above in the Linux section. Until this bug is fixed in the Linux .NET ports library, you will continue to experience issues if operating at 115,200 bps, which is not the correct baud rate for the NABU

4) Clean the NABU Adapter Connection. The NABU computers are 40+ years old and have not been stored in ideal environments. The connection terminals may have corrosion, dust, or dirt that causes a poor connection. With the power off and unplugged, I sprayed the plugs with 99% alcohol and pushed the mating plugs in and out a few times (that's what she said). 

The log gives me an error for either get 00 and 3E errors.

The cable is connected backward. That means your RX is connected to the TX of the NABU. Also, verify the polarity. We're not sure why many DIN diagrams are incorrect on the internet. So we provided a pinout of the DIN connector on this page above that is correct and from Wikipedia. The image looks at the soldered part of the connector, not the part that goes into the NABU. That means you hold the connector with the soldered part facing you; that way, you can match the pins to the diagram.

I get an error that 00 was received.

The value of 00 means NULL. This means the cable has been connected incorrectly to the RS422 USB adapter. Verify the NABU's positive wires connect to the RS422's positive wires and the NABU's negative wires connect to the RS422's negative wires. Also, ensure the transmit connects to receive and the receive connects to transmit.

There have been reports of 5 Pin DIN connector drawings on the internet as being incorrect. Please reference the correct drawing that we have on this page.

What kind of joystick can I use on the NABU?

Any Atari style joystick will work with the NABU. Simply get an Atari compatible joystick and plug it into the keyboard joystick connections. 

Putty does not display the Internet Adapter correctly

If you experience an issue using the Internet Adapter with PUTTY, please configure the correct terminal type in the Putty settings.

1) In PUTTY settings, go to
 Settings->Connection->Data->Terminal-type

2) And enter
 xterm-256color

Access Denied on COM Port in Linux or MacOS

If you receive Access Denied when attempting to use the COM (/dev/ttySx) port, you may require ROOT. In that case, launch the application with the sudo command.

$ sudo ./NABU-Internet-Adapter-84

Internet Adapter crashes immediately and does not load

Some Linuxes (including Ubuntu) has an issue where Internet Adapter will not load and crash immediately. This can be fixed with a solution found by a user named jefferystone. He suggests the following...

1) Create a symbolic link in the folder where the NABU-Internet-Adapter-84 is
  cd /path/to/NABU-Internet-Adapter-84
  ln -s /lib/x86_64-linux-gnu/libdl.so.2 libdl.so

2) If you do a ls -l in the folder, you should see the symlink:
  libdl.so -> /lib/x86_64-linux-gnu/libdl.so.2

Change Log

2012.12.06.00
- Initial launch of Windows and Mono (Linux/macOS) versions

2022.12.07.00
- Fix in Windows for saving the configuration
- Checks for an available update on startup if there is an internet connection
- Clear the PAK Cache option in the File menu. This will clear the local cache of loaded and parsed PAK files. Useful if using testing homebrew applications.
- Allow loading local .npak segment files, so you do not need an internet connection.

2022.12.07.1
- Display if using the current version and there are no updates
- Fix for not being detected as a virus 

2022.12.08.0
- Option to disable the progress bar animation for slow SBCs, like the raspberry pi zero
- On Linux, store the configuration file relative to the local binary rather than /usr/share
- Fix segfault when selecting the local folder for local pak files

2022.12.10.0
- Fix for timing by removing the timing as it is no longer needed
- Added experimental TCP Server

2022.12.11.0
- Added option to clear debug window when Nabu sends init (default on)
- Fixes CRC errors in real-time or even real-cycle packets
- Shortcut keys for clearing pak cache for homebrew developers
- Option to clear PAK cache when Nabu sends init for homebrew developers
- Fix for not having a COM port and wanting to use the TCP server. It does not give an error when saving an empty COM port

2022.12.11.1
- Fix for the saving project in Windows
- TCP Server does not stop after every client disconnection
- Baud rate reset for all users to the correct value

2022.12.12.0
- Allows loading custom homebrew NABU Channels
- Added RetroNET online NABU chat

2022.12.18.0
- Added support for homebrew to download assets
- Bug fix for RetroNET chat tunnel, which properly disconnects when Mame clients are closed without disconnection.

2022.12.20.0
- Added additional support for more homebrew internet features (will publish examples in C library shortly)
- TCP Server no longer disables itself when MAME closes/disconnects.

2022.12.25.00
- New NABU Channel dropdown organized by category
- Fix for new NABULIB features of loading assets and making TCP calls
- Merry Christmas!

2022.12.26.00
- Added support for the RetroNET Telnet Client
- Added support for the new NABULIB (find it in DJ's GitHub). The new NABULIB can request data/files over HTTP (up to 256). The Internet Adapter will store the file and allow the NABULIB HomeBrew application to use the data as it needs it. This can be code, images, music, or whatever your homebrew application requires.

2012.12.27.02
- Added a new parameter in settings for RetroNet TX Delay. This is because I increased the performance of the RetroNET apps by using HCCA Interrupts. However, some people were still experiencing issues on MAME with missing characters.
- Clear PAK cache when refreshing the NABU Channel listing
- Fix for TCP MAME Server that would require the Internet Adapter to be restarted

2012.12.31.00
- Added support for new NABULIB file storage handlers.
- Local config file moved in Windows to My Documents (rather than Common Documents)
- Use disable colors for the Nabu channel dropdown when local file support is selected
- Lowered RetroNet delay default to 25ms

2023.01.01.0
- Removed TX delay from serial because the real NABU hardware works with the updated NABU-LIB RX Interrupt buffer. The TX delay option is only applied to TCP connections to accommodate MAME, not throttling the HCCA speed. 

2023.01.03.0
- Rewrote the application to work in the command line, which is compatible with Windows, OSX, Linux, and various CPU architectures. The application can now be controlled remotely with an SSH/Telnet terminal or locally. In terminals that support the mouse, the mouse will also work.
- Added new file features for NABU-LIB

2023.01.03.01
- Added scrollbars to the debug text display and Nabu channel selection list.
- Bug fix the TCP server start/stop button not refreshing
- Removed the title from the top of the window, as it's unnecessary because, of course, we know what program it is :)

2023.01.04.00
- Added support for new homebrew NABU channel format.
- Stopped encrypting the cycles since they've finally been cracked. Good work!
- Added a DJs playground with many new programs, such as F80 Fortran, Cobol-80, MS Basic, and more.

2023.01.06.00
- Whole pile of GUI enhancements and navigation fixes. 
- New error message when using Linux as default baud rate, because there's a bug with SerialPort on .Net 7 that Microsoft dev group is working on.
- Choosing TTY/COM port in Settings swapped Combobox with a Listbox because the term wasn't rendering correctly. Listbox is much easier
- Added scrollbars for stuff
- Handle crash errors better by resetting the term and displaying the full message stack trace

2023.01.07.00
- Busy Friday, the IA has an improved rendering engine, so it should be more responsive and produce correct popup menus
- Fixed a filename/folder separator issue with macOS and Linux when using a remote file system

2023.01.07.01
- Lower cost logging (not as much, so renders faster)
- UI performance improvement 

2023.01.09.00
- Removed detailed logging from the UI
- Added a few new remote filesystem features for Cloud CP/M (rn_fileHandleReadSeq() and rn_fileHandleSeek())
- Modified rn_fileHandleRead() to return the number of bytes read to be more similar to standard C read functions

2023.01.13.00
- Updated logging window so it should not lockup hopefully; cross your fingers oh geez
- The application Settings tab has a new option for maximum log window length
- Displays a log window when the closing file handles since it does the same for an open file handle. (used in RetroNET remote file systems)

2023.01.14.00
- Updated with a small fix for the remote file system for the Cloud CP/M release.

2023.01.14.01
- Fix for recovering when Cloud CP/M requests a drive that does not exist.

2023.01.15.00
- RetroNET temporary downloaded filenames are sanitized rather than hashed. This should be easier to find specific files.
- There is a new RetroNET option for timeout (hours) of downloaded files. This ensures your server does not constantly download new disk images when you change drives. The default for 12-hour cache.

2023.01.15.01
- Removed HTTP download cache expiry. Instead, I delete the temp files during NABU INIT.

2023.01.16.00
- Several fixes to improve the Cloud CP/M stability for the remote file system.
- Fix for RetroNET Cloud CP/M apps to exit gracefully (i.e. Telnet and Chat)

2023.01.18.00
- TCP pass-through mode fix for exiting pass-through when nabu reboots. Waits for 3 0x83 in a row and exits
- Message on settings window under Baudrate for Linux users to use 115200 during Microsoft .Net bug
- Fixed Logging that was in reverse order for multiline items

2023.01.21.00
- Changed the default TCP Delay value to 0 because it seems to be working on my machine. If you have issues, increase them. 
- Included a README.TXT with details for Linux users who do not check the website for instructions on how to work around any of the bugs from .Net or Ubuntu

2023.02.06.00
- Several bug fixes
- New feature that automatically caches all cloud files until they have been updated on the server. So this means files will only update if they have been updated on the cloud server. Your NABU will be faster and use less bandwidth.
- Changed the default baudrate to 111,861. I had gotten the original baudrate from someone mentioning it in a YouTube comment. However, I did the calculation today and was just wondering if this new baudrate is the correct one. The actual baudrate would be 111,860.78125bps, which is impossible to have decimal values. The baudrate is calculated by the TR1863 datasheet, which is the clock speed divided by 16. So the clock fed to the TR18 is divided with a flipflop, so it's 3579545 divided by 2, then by 16. The tr1863 datasheet says CLOCK/16 to get the frequency.
- Removed the TCP Delay option because it's recently been rock solid on MAME.
- Added beta support for the IAControl that allows NABULIB to control settings and UI of the IA.

2023.02.09.00
- Bug fix when attempting to access a remote file that did not exist would crash Cloud CP/M. A proper error is returned instead of halting the machine.

2023.02.14.00
- Added support for TCP Client Stream of NABULIB. This is required for the latest Telnet and RetroNET chat.
- There are a few other optimizations and changes, such as better logging messages for errors and less logging for redundant stuff.

2023.02.20.00
- Added support for http compression to make downloading resources faster and use less bandwidth
- Displays in log the download file size and elapsed transfer time
- No longer displays "Ping" in the console window when ping is running on cloud cp/m for testing connection

2023.02.22.00
- The Internet Adapter supports printing to a file from Cloud CP/M. The files are stored in the Storage Folder on the PC. The files can be printed to PUN (punch card) or LST (printer) ports.

2023.02.04.00
- Removed the hardware handshake parameter on the serial port connection per this bug issue

2023.03.30.00
- Added support for RetroNET TCP Server. This allows applications to host TCP server connections, and most notably, it allows Cloud CP/M to allow TCP Telnet connections. RDR:=UR1: for input, and CON:=UC1: for output. [example]

2023.03.31.00
- Fix for using cached files that have been downloaded when there is no internet connection.

2023.04.08.01
- Ability to save the default NABU Channel when the Internet Adapter loads

2023.04.10.00
- Added support for new retronet commands. This is needed for the new jukebox CPM application.

2023.04.14.00
- Ability to log all communication to a file between the nabu and pc

2023.04.15.01
- Ability to log the console to a file