 x	E                                                                 nto it, so that you won't get to the end of a download only to find that a hiccup in the phone line trashed the whole file.  So far, so good.  The BAD part is that on 
BIOS CALL February, 1990 edition by Jerome Hess (MOAUG CP/M Librarian) 
 
Well, it's that time of year again -- Valentine's Day is coming.  If you get to this article late and you're JUST NOW FIGURING OUT what that means, then this article may be just what you need.  No, I can't solve your marital problems or your memory, but I can give you something to do while hiding out from your significant other.
 
Back in 1985 when I REALLY got into the ADAM, I had 2 digital data drives and an ADAMLINK modem, but the only way to use the darn thing was through ADAMLINK I or II, both ASCII-only programs.  This was fine for SmartBASIC and other EOS files.  But I had just gotten CP/M for my birthday, and had no idea of what to do with it.  (SEE, you're NOT alone in that feeling.) I knew a few folks with old CP/M machines, and even a few with new ones (COMMIDORES 128 [sic].) But there was still no way to get their software from their machine to mine.
 
At that time, the largest ADAM BBS base was on the Atlanta Smart-link which started out as ADAM only.  On Smart-link I was introduced to a man by the name of John Moore.  And John, hearing of my plight, was kind enough to send me a copy of HIS starter DDP (very similar to MOAUG's Starter Pak, but a tad more restricted
 
Well, I got into trouble right away.  But more on that later.  I could go deep into the history and evolution of CP/M modeming, but that's for a time when you're REALLY bored.  For now, let's just start right in.
 
As with everything, what you need to do first is boot CP/M off your Starter Pak and run TRUE30.  Once that's finished, type MADAM7 <RETURN>.  The DDP will spin and then you'll come up with a typical title screen.  The prompt may seem unfamiliar to you; instead of an A> prompt, it will read AO>.  It's all the same for present purposes.
 
You are now at the first point in CP/M communications for your internal ADAMLINK modem.  Before we go further, let me point out that this article will be a brief overview of the operations of MADAM7.  There are several pages of documentation that go along with the program that simply wouldn't fit on the Starter Pak.  MADAM7 has many features that are found in expensive commercial programs, including a phone library and a series of special function keys that you can program yourself.  These last two features will be covered in future installments of BIOS CALL.
 
Now, let's get started.  There are 7 single-letter commands that are easy to use, and make sense, too!  These are typed at the AO> prompt.  They are:

? - This will display the current settings of the program.
M - Will display a short menu of the commands.
E - Will put you into direct terminal mode with ECHO ON
    (not necessary on most bulletin board systems.)
T - Will put you into terminal mode without Echo.
R - Receive a file using XMODEM.
S - Send a file using XMODEM.
 
In addition to these 7 single-letter commands, there are several multi-letter commands.  I'll go over a few of the most important of these here:
 
CPM - This will take you out of MADAM7 and back to CP/M at
      command line of the drive that you are logged into. 
DIR - Will show a directory of the drive logged into. 
DIR B: - Will show a directory of Drive B (and so on.) 
ERA - Just lke in CP/M, will erase a file on the logged 
      drive.  Or, it can be directed, as in: ERA C: BOB.COM 
LOG - Allows you to log into and use a drive other than the
      one you booted from.  (For example, LOG C:) 
TCC - Changes from CRC to checksum SMODEM and back.  
      (Checksum was the first but is rarely used now.) 
BYE - Disconnect from the phone and return to CP/M. 
CAL - Call the number specified, as in CAL 6481133 
DSC - Disconnect from the phone, but retain MADAM7. 
DEL - Delete the file from the memory buffer. 
WRT - Write the file from memory to your DDP.
 
Then there are the Control keys.  These are the important keys to remember, as they may not be as obvious as the rest:
 
Control E - Takes you from terminal mode to the MADAM7 
            command line. 
Control N - Disconnects you from the phone quickly. 
Control P - Turns the printer on and off again. 
Control Y - Start copying into the memory buffer. 
Control R - Stop copying into the memory buffer. 
Control T - Send a file ASCII.
 
Having this list in front of us, let's make a call, shall we?  As the MIDAS Touch BBS seems to be having some difficulty of late, let's try John Lingrel's board in Ohio.
 
Load the STARTER disk, then type MADAM7 <Return> at the prompt.  Let's change DDP's so that we have some free space. Put a different CP/M FORMATTED DDP into drive A and type:  
LOG A:  
Your drive will spin as it logs the DDP in.  Then the prompt will return.  At this point, you'll want to check the directory to find out what's on the DDP and how much space is left.  If you already know, you're welcome to skip this part.  Otherwise, type:  
DIR A:  
Now, to call Big John's board.  This is quite easy.  Type CAL and the number, exactly as you would dial it from the phone, including 1 and the area code.  (No spaces or hyphens are needed to separate the sections within the number.) ^N 
CAL 12168824720 <Return> 
 
As soon as you hit Return, you should hear the ADAMLINK purring out the number over the phone line.  (NOTE: If your modem is NOT in the machine, the ADAM will lock up upon booting.) If there is no answer, MADAM7 will come back and tell you so, and give you the option to Q)uit, R)edial, or C)ontinuous redial.  Just choose the appropriate key.  In reference to busy signals: if you know that the BBS you want to call is usually a very busy one, you may type:  
CAL 12168824720 # 
The character "#" tells MADAM7 in advance to keep trying until you get through.  When you do get connected, MADAM7 will automatically drop you into terminal mode (like ADAMLINK) and you can operate from there.  When you are ready to perform another function -- upload, download, etc.  --and you need to get back to the command line, you simply type Control E or ESCAPE E to go back to the drive prompt.
 
OK, we're now logged onto the BBS and we want to download an ASCII file, text or BASIC or another EOS file.  Let's say that we want to capture the Bulletin so that we can print it out and read it later.  We escape back to the command line and use the "T" command.  To make it simple, we'll call our file BJbullet.  We simply type: ^N
T BJbullet <Return> ^M 
Always do this BEFORE you start the ASCII transfer.  That is, do not start the bulletin scrolling until after you have gone to command mode and typed the above line.  The drive spins awhile, and drops us back into terminal mode.  From there, we want to hit Control-Y to ensure that the buffer is open and receiving.  Then we follow normal BBS procedures (they vary from board to board) to start the bulletin scrolling on the screen.  
 
When the bulletin is finished, we type Control - R to stop copying to the file, and go on with our business.  If we are sure that that's all we want to put into the file, then we escape back to the command line.  MADAM7 will ask us whether to DEL or WRT the file.  If we want to keep what we downloaded, then we type WRT, and it will be WRiTten to the DDP.  If we changed our mind, we can type DEL and it will be DELeted from memory.
 
What we just did was an ASCII transfer, which could have been done with ADAMLINK software.  But now let's talk about XMODEM.  This is the method we need for downloading CP/M .COM, .LBR, and most other non-ASCII files.  And that's why we really need a program like MADAM7.  
 
XMODEM does have a limitation with digital data drives.  The ADAM DDP is a 4-track tape.  That means that every time you get to Block 64 the tape has to rewind and start reading over from the beginning again.  This is good for storage, but it's bad for XMODEM.  See, the big thing about XMODEM is that it has ERROR correction features built into it, so that you won't get to the end of a download only to find that a hiccup in the phone line trashed the whole file.  So far, so good.  The BAD part is that one of these error correction features is a timing feature, which decides that a block should only take x number of seconds to be copied, otherwise it must be a bad file.
 
Well, what this means is that when MADAM7 gets to the end of the tape and has to rewind, the sending computer usually gets bored and starts counting.  The longer it counts, the more bored it gets, until it decides that you didn't really want the file and it sends a file cancel command to your computer -- and all is lost.  So if you have ONLY DDPs, then I'm afraid that downloading a file longer than 4-5k is out.  EXCEPT: if you have a RAM disk (64k memory expander) then you can do what I did for the first 2 years of modeming. Log to Drive M: (the memory expander.) You can download 60k or so to the RAM drive, and when you're done copy it to datapack.  It's a tad slow that way, but it works.  Later we'll talk about other sorts of RAM DISKS but for now those are my suggestions.
 
Now let's say we're done BBSing on this board, and we're ready to move on to another.  Nothing could be easier.  We just type DSC (DiSConnect) and move onto the next BBS.  If, on the other hand, we feel that Ma Bell has gotten enough of our time and money, we can end the session in two ways.  We could use DSC and then type CPM, or we could go straight to CPM by typing BYE.
 
That's the SHORT course on MADAM7.  Next time we'll talk about phone libraries and function keys.  Meanwhile, remember: it's all Public Domain software, so even if you did mess it up, you could always get another copy!
 
And remember this: whenever you ask a computer buddy to send you something by mail, ALWAYS include a Self-Addressed Stamped Envelope.  Your request will always take less time that way than if you just send stamps or money to cover postage.  It's much faster for the person at the other end to stuff an envelope than to hunt for one that's the right size, as well as find the right stamps -- by which time your address might have been misplaced. 
 
Jerome Hess 
P.O. Box 678203 
Orlando, FL 32867 
(407) 671-1063
 
 type DSC (DiSConnect) and move o
