Jump to content
IGNORED

Serial bridge with Mame


Shift838

Recommended Posts

Have you ever wanted to get onto a BBS again but regret selling all your TI/Geneve Equipment ?

 

Only have an emulator to play with ?

 

Well I have your solution and I have been doing this for about 3 years now.

 

I hammered out this procedure on the PC with the latest version of MAME.

 

Latest version of MAME can be found HERE

 

How to make a serial bridge with MAME and UDS or Modem device
Required:
UDS or Modem
MAME Latest version
TiImageTool (HERE)
Null Modem cable
Ooey GUI MESS Launcher (makes it easier - HERE)
Communications port (I used a USB to serial)
For typing this procedure I used MAME and emulated a Geneve 9640 and used PORT set at 4800 bps.
Assuming you already have the above requirements.
First my UDS10 configuration:
*** Channel 1
Baudrate 4800, I/F Mode 4C, Flow 02
Port 00023
Connect Mode : D6
Auto increment source port disabled
Remote IP Adr: --- none ---, Port XXXXXX
Disconn Mode : 80 Disconn Time: 15:00
Flush Mode : 00
Tested with my UDS1100
Channel 1
Baudrate 4800, I/F Mode 4C, Flow 02
Port 00023
Connect Mode : D6
Send '+++' in Modem Mode enabled
Show IP addr after 'RING' enabled
Auto increment source port disabled
Remote IP Adr: --- none ---, Port XXXXXX
Disconn Mode : 00
Flush Mode : 00
1. Boot PC
2. Launch OoeyGUI MESS Launcher
Make sure you have configured OOEYGUI with the correct directories for MAME, TIIMAGETool, etc.
3. Ensure your serial device is turned on (this is essential)
4. Load up your favorite configuration with Serial Bridge Enabled
5. Click Launch in OoeyGUI
TiImageTool will load and then MAME will launch with the configured ROM you have selected.
6. Once the Geneve is loaded up press SCROLL Lock to Enable Partial Keyboard Emulation
7. Press TAB to bring up the MAME menu
8. Scroll to 'Machine Configuration'
9. Scroll to 'Serial cable pin configuration'
10. Use left or right arrows to select '8-20'
11. Press Escape twice to exit out of the MAME Menu
12. Press Scroll Lock again to Enable Full Keyboard Emulation
13. Launch your favorite communications program
14. Set the baud rate to match your device
I have noticed on UDS devices you will have to restart the device by powering off the device ( at least in my case ) after you have set the baud rate (step #14)
to get it to recognize it.
15. Good to dial out!
Enjoy...
Hope this helps some of you out there. Any question drop me a PM.

 

  • Like 1
Link to comment
Share on other sites

If you are adventurous, you could write another bridge that connects two emulated machines with each other. Or maybe two emulations on different hosts.

 

You would (simply :-) ) have to implement the protocol that I described on Ninerpedia. The good thing about the bridge solution is that it is a separate program outside of MAME, connected via sockets, so anything else could step at its place. There is no need to have a real serial port beneath.

Link to comment
Share on other sites

I decided to do some more extensive testing with MAME and TiImageTools serial bridge.

 

I dialed into HeatWave to test a few times tonight.

 

I have found out with a UDS device and the serial bridge emulating a Geneve the optimum baud rate is 38400!

 

I used PORT of course and it was fast...really fast! Screen refreshes, menus,etc.

 

I tested with both ANSI Monochrome and ANSI Color. The monocrhome was twice as fast, but the color ANSI was still fast..

 

Hats off to Michael Zapf and his serial bridge!

 

if I can figure out some good software to take a monitor capture I will get one posted.

 

Any suggestions?

post-35187-0-60085800-1455163404_thumb.jpg

Edited by Cschneider
  • Like 1
Link to comment
Share on other sites

.

Hi,

 

Is it possible maybe to have something like a "LAN bridge" ?

 

Means, if I am using my Windows-PC with MESS, not to have to buy/use an UDS-10 for the "Serial Bridge",

but to use my given TCP/IP-LAN-connection to connect the virtual Geneve to the internet ?

 

Or is this to complicated, as it is a completely new product or so ?

 

xXx

Link to comment
Share on other sites

I (or whoever) would have to write an emulation/simulation of the UDS-10. You still expect the external device to handle all the TCP/IP details, and you let it look like a serial connection to the TI or Geneve. So in the end, we would have to write a program that understands the serial bridge protocol, but which fully replaces the serial bridge.

Link to comment
Share on other sites

I (or whoever) would have to write an emulation/simulation of the UDS-10. You still expect the external device to handle all the TCP/IP details, and you let it look like a serial connection to the TI or Geneve. So in the end, we would have to write a program that understands the serial bridge protocol, but which fully replaces the serial bridge.

 

 

ah OK. So that is somehow about about the "Slip" from the other post, right ? If this would exist.....

 

OR

 

What, if the Serial-Bridge-Panel - which already connects the Virtual Geneve to the PC - just get´s an "Add-On",

to "route" this serial traffic not to real COMx (where the UDS is), BUT somehow :) to LAN ?

Link to comment
Share on other sites

 

ah OK. So that is somehow about about the "Slip" from the other post, right ? If this would exist.....

 

Networking support is usually organized in layers:

 

- Transport layer (OSI 4): End-to-end protocols (TCP or UDP)

- IP layer (OSI 3): Routing

- MAC layer (OSI 1+2): access to the transmission medium

 

The MAC layer on the PC is usually populated by device drivers like Ethernet driver, WLAN driver, Bluetooth etc. The SLIP driver is another instance of this layer, as is the PPP driver. The SLIP driver is to transmit the datagrams via a serial connection, and on the other side to receive them and to deliver the datagrams to the IP layer. The PPP driver is traditionally used for (serial) modem connections as well, but thanks to its special subprotocols for authentication, it is also used for DSL (as PPPoE, PPP over Ethernet).

 

In order to get a full network support on the TI or Geneve you have to implement these layers. What I did in my TCPIP99 project is to write the SLIP driver, and to write a simple ICMP driver that lives in the IP layer as well which responds to Echo requests (sent by the "ping" program).

 

The UDS-10 encasulates all those layers, with one side exiting through layer 1 as Ethernet, and another side entering on layer 4, accepting the contents to be transmitted, which are then packed into segments.

 

 

 

What, if the Serial-Bridge-Panel - which already connects the Virtual Geneve to the PC - just get´s an "Add-On",

to "route" this serial traffic not to real COMx (where the UDS is), BUT somehow :) to LAN ?

 

 

What I said. Still, you need something on the Geneve side that provides the access via the transport layer, otherwise you are thinking about a TCP/IP implementation.

Edited by mizapf
  • Like 1
Link to comment
Share on other sites

I suggested something similar a week ago about coding a new piece of the serial bridge to act as a virtual modem / UDS (so it would accept all the standard AT commands, etc). Receive all the commands and the PC see's it as a serial port.

 

The products out there right now will not do the job we need for virtual serial devices. we would have to code our own. I don't know how much work it would be to add it to Michaels Serial Bridge since I do not know Java. Doing it in Java would make it cross platform i bet. or maybe even Python...

  • Like 1
Link to comment
Share on other sites

Chris - which RS232 option are you using within PORT? I'm curious as I notice a few missing or out of place characters within your screenshot. When you test monochrome, be sure to also try the interrupt-based cable as it will give you real-time character reception versus handshaked reception.

 

i will need to check which option I chose but I think it was just the standard one.

 

I have some more RJ45 to DB25 pin I can make cables for too. So am planning on doing some more testing with each of the serial options.

Link to comment
Share on other sites

 

i will need to check which option I chose but I think it was just the standard one.

 

I have some more RJ45 to DB25 pin I can make cables for too. So am planning on doing some more testing with each of the serial options.

That makes sense; the default is hardware handshaking. Color @ 38400 will fail miserably without hardware handshaking, so the setup is obviously working 99.9% as expected. ;) I am interested in your testing because I have been reviewing how to replace TIMXT's old serial code with my code from PORT. A different cable configuration may be in order to do so, I just don't have the time right now.

 

When I want speed I choose ansi-mono with interrupt-based RS232. ;)

Link to comment
Share on other sites

That makes sense; the default is hardware handshaking. Color @ 38400 will fail miserably without hardware handshaking, so the setup is obviously working 99.9% as expected. ;) I am interested in your testing because I have been reviewing how to replace TIMXT's old serial code with my code from PORT. A different cable configuration may be in order to do so, I just don't have the time right now.

 

When I want speed I choose ansi-mono with interrupt-based RS232. ;)

 

I checked exactly which option and it's:

 

Hardware #1 (Jeff''s).

 

I'll check the others in a bit and report back.

Link to comment
Share on other sites

An update on my UDS settings.

 

I noticed that I was receiving double characters when connecting into my BBS on my TI via MAME and the UDS serial bridge.

 

I have changed the 'Disconnect Mode' to "C0" to resolve the issue.

Edited by Cschneider
  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Have you ever wanted to get onto a BBS again but regret selling all your TI/Geneve Equipment ?

 

Only have an emulator to play with ?

 

Well I have your solution and I have been doing this for about 3 years now.

 

I hammered out this procedure on the PC with the latest version of MAME.

 

Latest version of MAME can be found HERE

 

How to make a serial bridge with MAME and UDS or Modem device
Required:
UDS or Modem
MAME Latest version
TiImageTool (HERE)
Null Modem cable
Ooey GUI MESS Launcher (makes it easier - HERE)
Communications port (I used a USB to serial)
For typing this procedure I used MAME and emulated a Geneve 9640 and used PORT set at 4800 bps.
Assuming you already have the above requirements.
First my UDS10 configuration:
*** Channel 1
Baudrate 4800, I/F Mode 4C, Flow 02
Port 00023
Connect Mode : D6
Auto increment source port disabled
Remote IP Adr: --- none ---, Port XXXXXX
Disconn Mode : 80 Disconn Time: 15:00
Flush Mode : 00
Tested with my UDS1100
Channel 1
Baudrate 4800, I/F Mode 4C, Flow 02
Port 00023
Connect Mode : D6
Send '+++' in Modem Mode enabled
Show IP addr after 'RING' enabled
Auto increment source port disabled
Remote IP Adr: --- none ---, Port XXXXXX
Disconn Mode : 00
Flush Mode : 00
1. Boot PC
2. Launch OoeyGUI MESS Launcher
Make sure you have configured OOEYGUI with the correct directories for MAME, TIIMAGETool, etc.
3. Ensure your serial device is turned on (this is essential)
4. Load up your favorite configuration with Serial Bridge Enabled
5. Click Launch in OoeyGUI
TiImageTool will load and then MAME will launch with the configured ROM you have selected.
6. Once the Geneve is loaded up press SCROLL Lock to Enable Partial Keyboard Emulation
7. Press TAB to bring up the MAME menu
8. Scroll to 'Machine Configuration'
9. Scroll to 'Serial cable pin configuration'
10. Use left or right arrows to select '8-20'
11. Press Escape twice to exit out of the MAME Menu
12. Press Scroll Lock again to Enable Full Keyboard Emulation
13. Launch your favorite communications program
14. Set the baud rate to match your device
I have noticed on UDS devices you will have to restart the device by powering off the device ( at least in my case ) after you have set the baud rate (step #14)
to get it to recognize it.
15. Good to dial out!
Enjoy...
Hope this helps some of you out there. Any question drop me a PM.

 

 

Ok, need some guidance here. I got my PCI--e card in last night and I have it connected to the Lantronix UDS-10 through COM1 at 38.4K. Putty recognizes it. The cable is a 9 pin serial to the 25 pin UDS connection.

 

I go into tiimagetool directory and type the following:

 

java -jar tiimagetool.jar bridge com1

 

I get a message containing the following: "Serial library missing, implementing gnu.io.SerialPort (like RXTX)"

 

I then load MAME with the Geneve emulation with the machine configuration for the serial port 8-20.

 

No communication. I suspect tiimagetool is not talking correctly.

 

Suggestions?

 

Beery

Link to comment
Share on other sites

I wonder whether you get RXTX running under Windows 10.

 

Some weeks ago I had some heavy issues with RXTX; it just did not want to find any serial adapter. I contacted the last maintainer (indeed found him, and he's also German, and responding...), and I reported some issues that I found. The problem became apparent when my Java was upgraded to release 9 - the path of libraries has changed. Maybe this is only a problem in Linux, don't know.

 

On that occasion, I found that the author had an OS query inside and a list with all previous Windows releases, but NOT including "Windows 10".

 

I did not find enough time in the last weeks, but maybe now I can upload a new branch that contains the fixes. The maintainer said he was short on time right now, but I'm also a bit relunctant to start fixing other people's stuff...

 

(I'm referring to the version of RXTX on Github, not on possibly patched versions.)

Edited by mizapf
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...