• Please review our updated Terms and Rules here

Help with IMP245 + XMODEM for downloading files from my Dial-UP CBBS ...

wperko

Experienced Member
Joined
Jul 4, 2007
Messages
412
Hi,

I have CBBS working on both my Altair 8800c w/a Martin Eberhard 88-2SIOJP board, and now I'm running CBBS 24/7 on my IMSAI-JAIR computer with a PMMI modem.

The CP/M BIOS strips the 8th bit off characters so to work around that, I need to run XMODEM direct from IMP245 ... but I don't know how to tell IMP245 to use XMODEM for file transfers.

Is there a .PDF manual for IMP245?


.
 
Hi,

I have CBBS working on both my Altair 8800c w/a Martin Eberhard 88-2SIOJP board, and now I'm running CBBS 24/7 on my IMSAI-JAIR computer with a PMMI modem.

The CP/M BIOS strips the 8th bit off characters so to work around that, I need to run XMODEM direct from IMP245 ... but I don't know how to tell IMP245 to use XMODEM for file transfers.

Is there a .PDF manual for IMP245?


.
Manual for IMP245, and a information document describing "new" IMP245 features, is attached.
 

Attachments

  • IMP.pdf
    91.6 KB · Views: 7
  • IMPINF.pdf
    51.3 KB · Views: 7
Last edited:
Manual for IMP245, and a information document describing "new" IMP245 features, is attached.

Hi,

Thanks ... I found the .DOC file on the original floppy .DSK ... that and PatrickL. helped me get a working files download test ... info posted on my website: https://www.brainless.org/Altair/BBSes.html

OTOH, that other IMPINF.PDF doc you posted had some good info about why 1K blocks are used. Thanks!


.
 
You man notice on the communications disk with IMP there is a binary IMP8.com
This has the 8bit patch

For imp Xmodem from the command line use S for send and R for receive it using 1k automatic unless you want 128 transfer
If you type ? And ‘M’ On the imp command line it will show you all options and how to use the quick keys
 
Last edited:
IMP v245 modem pgm (type M for Menu)
Copyright (c) 1985, 1987 Irvin M. Hoff
Version for Altair 8800 with HAYES compatible
external modem on 2SIO, port 012H
Modem speed is: 9600 bps

-----------------------------------------------

>>COMMAND: ? Current Settings

Mode: CRC
KMD batch mode
Rub is backspace
Printer buffer is OFF
Modem speed is: 9600 bps
Incoming control characters received
Terminal mode file buffer is inactive
Unused portion of buffer is 16384 bytes
Use ESC before local command in terminal mode
XOFF testing used in terminal mode file output
LF NOT sent after CR in "L" or "T" for a disk file

Char. delay (terminal file mode) is: 0 ms. per character
Line delay (terminal file mode) is: 000 ms. per CR character



------------------------------------


>>COMMAND: M Single Letter Commands

? - Display current settings
^X - Function key intercept character, then (0-9)
M - Display the menu
E - Terminal mode with echo
L - Terminal mode with local echo
T - Terminal mode
^Z - Clears screen (command mode only)
R - Receive an 8-bit binary CP/M file
S - Send an 8-bit binary CP/M file

COMMAND: R (or S) FILENAME.TYP
R and S can use the following subcommands:
B - Batch transfer, can use wildcards (e.g., *.*)
D - Disconnect when done
K - Manual request for 1k transmissions
Q - Quiet mode (no messages to console)
V - View ASCII files on CRT during a file transfer
X - Inhibits auto 1k request to sender
Z - When done, disconnect, go to CP/M

For copying text to disk use T (E or L) FILENAME.TYP
[more] Three Letter Commands

BYE - Disconnect, then return to CP/M
CAL - Dial number
CPM - Exit from this program to CP/M
DIR - List directory and space free (may specify drive)
DSC - Disconnect from the phone line
ERA - Erase file (may specify drive)
LOG - Change default drive/user no. (specify drive/user)
and reset disks i.e., LOG A0: or LOG B: (user # unchanged)
SET - Set modem baud rate
SPD - Set file output speed in terminal mode
TBM - Toggle MODEM7/KMD batch mode selection
TCC - Toggle CRC/Checksum mode on receive
TIG - Toggle 'ignore CTL characters' on/off
TLF - Toggle LF after CR in "L" or "T" mode for a disk file
TRB - Toggle rubout to backspace conversion

The following are terminal text buffer commands:

DEL - Delete memory buffer and file
WRT - Write memory buffer to disk file

[more] Local Commands while in Terminal Mode

ESC-E - Exit to command mode
ESC-F - Send file to remote system
ESC-L - Send log-on message
ESC-N - Disconnect from the phone line
ESC-P - Turn printer on (or off)
ESC-Q - Send break tone
ESC-Z - Clears screen, terminal mode

ESC-R - Stop copy into buffer
ESC-Y - Start copy into buffer

Start and stop may be toggled as often as desired.
A ";" at start of line indicates buffer is copying.
X-off automatically used to stop input when writing
full buffer to disk, X-on sent to resume.





>>COMMAND:
 
You man notice on the communications disk with IMP there is a binary IMP8.com
This has the 8bit patch

For imp Xmodem from the command line use S for send and R for receive it using 1k automatic unless you want 128 transfer
If you type ? And ‘M’ On the imp command line it will show you all options and how to use the quick keys

Hi,

Using TeraTerm on my PC connected to CBBS, the R and S commands don't seem to get the file. TeraTerm XMODEM just sits there and times-out after about 2-minutes.

I've tried this from both computers ... the Altair 8800c and the IMSAI-JAIR ...


.
 
This is the issue i'm running into with handshaking.

I'm running into this problem with WIFI modems. There are various ones on the market, all of them based on the same base code.

Test examples:

If you connect 2 systems running IMP and have them talk back and forth via modem or wifi modem then use Xmodem to transfer a file it works.
you get no errors as IMP is handling the software handshake communication.
those Acknowledgments to requests you see in verbose mode.


If you take the same modems into teraterm and try to transfer Xmodem. you will get the first packet then it times out. if you connect teraterm to IMP you will get ACK errors because teraterm does not seem to be returning the acknowledgement that imp is waiting for.

there are no real options in teraterm for Xmodem transfer. In the manual it warns about using SOFTWARE handshaking disabling Xmodem transfer. it wants either hardware handshaking which isn't going to happen or it wants handshake turned off.

i get the same issue with KERMIT through Teraterm.

i have tried numerous tests involving my Windows 7 PC and my windows 10 desktop. using any type of Modem, my Xmodem transfer will fail. if i connect over Telnet IP without a modem of any kind then i can transfer via Xmodem back and forth no issue.

the second i put a wifi modem or a haynes modem between it no longer handshakes properly back and forth for a Xmodem or Ymodem or Zmodem transfer.

This is the same problem i run into when i use my WIFI modem to connect to TELNET BBS, I can upload a file but i can not download it will error time out every time.
This is also the same problem i have connecting to my unix box even though IMP if i set my modem to telnet mode and log into my unix box when i try to Xmodem it fails on the download but succeeds on the upload.
and it will do the same thing when i connect my WIFI modem to teraterm and telnet into my unix box again the handshake is being blocked.

its not acknowledging properly on the modem machine i'm connected to.

i played around with STTY and still could not find a solution.

if you google search there are about 3 or 4 threads that come up where people have the same problem but there are no solutions posted.

if i connect teraterm directly to a telnet BBS then i can transfer Xmodem back and forth.

so far i tried KERMIT, IMP and MEX all have the same problem because the issue is on the other machine acting as host.
i have also tried 3 different types of modem replacements and all have the same problem, all are also based on the same base code from github for IP modems.

again to prove my sanity i setup two vintage computers running IMP245 and 2 wifi modems.
i connected the two machines to each other and send messages back and forth, then i ran XMODEM Send and Receive via IMP245 and my file transfered correctly back and forth between both machines.
took a modern PC put the same wifi modem on it, connected via TERATERM 5 (tried this with version 4 also) to the vintage machine i just had no issues with and Xmodem continuously would time out after sending the first packet.
tried changing all settings with teraterm with zero success.

i'm still screwing around with things.


what i take from this is the modems will xmodem transfer correctly, IMP,MEX, KERMIT are not the issue.
 
Hi,

Yes, IF I don't try to transfer files with PC/TeraTerm XMODEM, but just use the IMP TCC, then T, then ATDT3055159858 to my CBBS, then when I have CBBS actively sending the file ... I then go back to the COMMAND: prompt in IMP, then type "R filename" and the file will download.

My understanding is that trying to use TeraTerm/XMODEM to download a file is where the 8th bit is trimmed OFF and so the system fails.


.
 
teraterm striping the 8th bit does not match with the manual with says XMODEM requires 8bits 00 to FF

from the teraterm manual
"Tips on XMODEM. The XMODEM file transfer protocol requires the communication lines to be transparent to all 8 bit characters, from $00 to $FF."

what does make sense is Teraterm not sending an acknowledgement that a packet was received.

i tried Extraputty, putty, teraterm none of them work properly. no matter what flow control i try it will always get one Xmodem packet then fail

You can Xmodem download a text file that is under 1kb as it falls under the XMODEM 1K transfer before acknowledgement failure.

I noticed that people on youtube when they try to download from a telnet BBS to an old machine they end up using "Listing" which will dump a ascii basic source code file which they capture from the terminal into a txt file then edit it with wordstar or wordperfect and resave as a .BAS file.

i have run into the same problem connecting to my unix box. even using Kermit in server mode. i can upload without issue but always fail on download, because its not giving the signal of a successful packet receive.

i contacted the author of various wifi modems on github and nobody has returned my messages for this issue.

something is getting lost.

if i telnet into my unix box without the wifi modem i can Xmodem transfer with zero issues back and forth.
the minute i put a wifi modem in between suddenly uploading kind of works but downloading always fails.

i downloaded a few white papers on XMODEM just to see how the packets work and its all key on sending an ack character back so that the next packet can come out.

keep in mind that if i run the same Test setup two modern windows machines both with the same wifi modems, and each using the same teraterm, i can connect send characters back and forth over the session but if i Select Xmodem send on one and recieve on the other it fails every time no matter the settings.

but if i setup the same test with IMP245 or MEX or Kermit on the old machines then i can send back and forth.

i've been looking for Terminal programs for windows outside of teraterm and putty to see if something works.
 
Hi,

IMP245 does the XMODEM transfer with zero errors. That's the trick when using PC/TeraTerm as the terminal to the computer CBBS.

Run IMP245 ... when you get CBBS waiting to send the file, then at the IMP245 COMMAND: prompt type "R filename"<enter> and the transfer goes without a hitch.

For the fastest transfer I have the process documented on my website: https://www.brainless.org/Altair/BBSes.html


.
 
it works because CBBS is handling the handshake old school along with IMP 2.45.
Unfortunately when you go to a modern bbs they are all using the same 2 pieces of software synchronet, or mystic for bbs. they don't seem to handle acknowledgement and it will fail.
same issue with telnet sessions SX and RX, SY,RY, ZX,ZY i guess they require hardware acknowledgement
 
omg i think i figured it out.

"ASCII 255 must be doubled over telnet connections... it is likely that the DOSBox modem doesn't collapse it back to a single character."

if i set my modem to handle telnet now i can download Xmodem!!!!!


still does not explain my unix box issue.
 
i get the same issue with KERMIT through Teraterm.
i've been looking for Terminal programs for windows outside of teraterm and putty to see if something works.

This sounds like the perfect opportunity to bring up a little project I maintain: C-Kermit for Windows. It's the same as C-Kermit on Unix but with built-in terminal emulation, X/Y/Z-MODEM protocols, an ssh client and a bunch of other features. Columbia sold this as commercial software for about 15 years (Kermit 95) but now it's open source. More information is on the github project and kermit project website.

If you run into issues with the Kermit protocol when using C-Kermit you can probably at least assume its not a bug in C-Kermit but rather some configuration issue or a problem with the implementation at the other end. Whatever the issue, the C-Kermit book may help with resolving it.
 
Back
Top