-
Notifications
You must be signed in to change notification settings - Fork 45
tcpser
Its a software Hayes compatible modem, that old blinking music box that used to take us around the world.
Theoretically you can configure and run multiple software modems on different ports physical or virtual and as such I have made this tool support that scenario.
Modes of operation
- physical serial devices beit onboard or USB support
- virtualised devices (VICE RS232) listening on a port for connection
Under the "Install Things" menu, choose the appropriate menu item "TCPSer ....", this will kick off the ansible configuration, the playbook will
- Add retronas user to the dailout group
- Compile the software from the fozztexx fork
- Create a configration dir at /opt/retronas/etc/tcpser
- Copy the tcpser executable to /opt/retronas/bin/
Under the "Run Tool and Scripts" menu choose "Configure a TCPSer Software Modem", from here you can create and or manage modems (nb: Modems once running are installed as systemd services).
A device is consider unique based on listen port at this stage
The configuration is basically the same between modes, where the differences are only in the device option.
- physical will have a device node
- virtual will have a listening port
Option | Default | Description |
---|---|---|
Device | /dev/ttyUSB0 or 23553 | Configure the target host device or port for the modem, i.e. where will the client be connected to |
Listen Port | 23456 | The TCP port for traffic incoming connections |
Speed | 9600 | Port speed (i.e. baud rate), the client config much match |
Init String | Z | The modem initialization string without the AT prefix |
Additional | blank | Additional command line parameters to pass to the modem, see tcpser --help
|
Mode | PHYSICAL or VIRTUAL | Determines if the device is passed as -d or -v to the modem |
These options will execute the appropriate systemctl commands to start/enable, query status or stop/disable the modem service
Enter the listen port number of the device to manage
- When you leave the Create/Edit dialog the config will be saved to the configuration dir as tcper-listen_port.
- The configuration is then used as an EnvironmentFile in the systemd unit instance.
- The virtual VICE RS232 device is useful for getting emulated machines online where TCP is present on the host system and serial is present in the machine (e.g. MAME bitbanger)
This is a very basic guide for what it took to get my Amiga 500 online to test this implementation
- RetroNAS tcpser branch on an RPI4 TCPser installed
- USB Serial Adapter at /dev/ttyUSB0
- Amiga 500
- A-Talk III ADF (and a way to boot it)
- Configure a tcpser software modem for the PHYSICAL device on the RPI
Option | Default |
---|---|
Device | /dev/ttyUSB0 |
Listen Port | 23456 |
Speed | 9600 |
Init String | Z |
Additional | blank |
Mode | PHYSICAL |
- Connect a null modem cable between the two devices A500 serial to PC USB serial.
- Boot up A-TALK III on the Amiga 500
- Right click
- -> Settings -> Match the baud rate, leave the rest as default
- -> Terminal -> Emulator -> ANSI
- -> Phone -> Dial -> Enter a telnet BBS address (e.g. bbs.fozztexx.com)
The connection should be successful, if you have issues check the modem service status and/or restart it and try dialing again.
Getting started:
Contributing
- Bugs
- Structure
- Testing RetroNAS
- Ideas potential future state stuff
Multi-system protocols:
- ADTPro Apple // era
- EtherDFS MS-DOS/FreeDOS
- ethflop MS-DOS/FreeDOS L2 floppy emulator
- FTP
- HTTP
- Kermit
- NFS
- Netatalk AppleTalk/AFP
- Samba SMB/CIFS
- TNFS Atari 8-bit and ZX Spectrum
- Telnet
- ZeroConf, Bonjour, Avahi
- pyGopherd a HTTP alternative
- zterm Serial Comms Zmodem Transfer
Specific system configurations:
- Supported Clients
- 3DS QR codes Nintendo 3DS and 2DS
- Batocera
- EmuELEC and derivatives
- RecalBox
- EmuDeck
- Analogue Pocket (OpenFPGA)
- FSP Nintendo GameCube
- Fenrir-ODE Webserver Sega Saturn
- MiSTer FPGA
- NABU Internet Adapter
- Netlink Sega Saturn Netlink online play
- OpenPS2Loader PlayStation 2
- XBox360
- dreampi dreampi project for Dreamcast (and others) online
- hb-store-cdn PlayStation 4 Homebrew Store CDN
- ps3netsrv PlayStation 3
- linux-dexdrive Dump/Write PS1 memory card images
- sidecart Atari ST Sidecart
Services:
- WaybackProxy Web Proxy through the Wayback Machine
- WebOne Web Proxy
- macproxy Web Proxy
- wrp Web Proxy
- Cockpit Web management
- Syncthing file synchronization
- ROM import Smokemonsters SMDB
- TCPser software Hayes Modem
- BitTorrent
- aria2 lightweight download utility.
- megatools mega.nz suite
- XLink Kai multi-platform
Tools:
- gogrepo Sync your GOG installers
- SabreTools DAT management tool
- mc Midnight Commander (Norton clone)
- ytree filemanger XTree clone
- far2l far2l filemanager
- Gadgets Linux gadgets (OTG) mode
- affstools
- amitools
Physical Media:
- DiscImageCreator dump redump.org compatible images
- Redumper advance disc dumper
On-Device Management:
- cue2pops BIN/CUE to VCD conversion
- extract-xiso Manage XISOs
- hdl-dump PS2 HDD device management
- nbd-client Network Block Device
- pfsshell PFS shell / PFS fuse
- ucon64 A multi-purpose copier device tool
- xboxmanager An experimental XBOX Manager
- pi1541 setup a pi1541 compatible device
Advanced Topics:
- Storage
- BtrFS RAID, Snapshots, Compression, Deduplication
- FAT Advanced guide to using FAT loopback mounts for EtherDFS
- TBA
- SMR Shingled Magnetic Recording hard drives (TBA)
- NTFS Advanced guide for NTFS formatted disks
- SMB Loopback Mounting an existing SMB NAS
- NFS Loopback Mounting an existing NFS NAS
- MDRAID (TBA)
- LVM (TBA)
- iSCSI Configuring iSCSI
- Networking
- Standalone Independent standalone network
- Zoned Firewall zones for retro and modern networks
- DHCP Basic DHCP on the Ethernet device
Other:
- Installation Profiles
- Generic ROMs folder
- Other projects and sites
- laptop-ao
- Local Module
- Docker and why it's not optimal for a network storage system