GEODEX.FIXX 'PRG formatted GEOS file V1.0AWrite Image V2.1geoWrite V2.1?1ʎ ADetails on getting GeoDex V2.1 to work with ANY Hayes Compatible Modem.t %7 Š/ x9 @ 0  H  GeoDex V2.1 Auto Dial Fix 1 of 2  (c) Oct. 1989 Jon Olson @DISCLAIMER: The software patch described below has NOT been tested or approved by Berkeley Softworks and as is not guaranteed to to work with your modem/RS-232 interface. DO NOT use this patch on your ORIGINAL copy of GeoDex (make a copy of GeoDex and patch the copy). If you use this patch, you do so at your own risk. What GeoDex Does: GeoDex does not use any CBM ROM routines or CBM KERNAL calls to talk to the RS-232 port on the C64 and C128. Instead, it speaks directly to the the hardware (i.e. CIA #2). In doing so, GeoDex first looks for the Data Set Ready (DSR) signal from the modem. This signal USUALLY indicates that an RS-232 device is connected and is ready to receive data from the computer. If this signal is PRESENT, GeoDex returns a message to the screen: Cannot Access Modem To Dial. If the DSR signal is NOT PRESENT, GeoDex then begins looking up and sending the Hayes AT Commands and phone number to the modem. While it is doing this, GeoDex also checks for a Data Carrier Detect (DCD) signal and if it is Clear To Send (CTS) data to the modem by looking for a CTS signal. I have been told that the CBM 1670 modem does not send these signals according to the RS-232 standard. This would explain why GeoDex works with the 1670 and not standard RS-232 Hayes Compatible modems. While it is good practice to do things this way if you are designing a terminal program, it only serves to take up space and cause compatibility problems with non standard devices in the GeoDex phone dialer. Terminal programs get around this problem by asking you which modem you are using. So now...... Without any further delay..... I give you..........THE PATCH ! ! : Tools needed: Backup copy of GeoDex Disk Sector Editor with HEX and ASCII display Boot up your Sector Editor and READ the directory track of your disk containing the backup of GeoDex, that is Track 18 ($12 Hex) Sector 00 on a 1541 Disk Drive. Now follow the Track/Sector links (your sector editor should have a feature that does this) until you get to the sector that holds the Directory entry for GeoDex. The first Byte of the GeoDex entry will be $83. The next two Bytes are the ones that tell you the first Track and Sector of the GeoDex program. Read that Track/Sector with your Disk Editor. Now, you want to follow the Track/Sector links until you arrive at the thirty-first Sector in the Geodex Program. You will know you are in the correct Sector if you advance to the thirty-second Sector and see ATM0.ATS7=2.ATDT in the ASCII display. Now, go back to the thirty-first sector and look for the following: AD 01 DD 25 50 C5 50 D0 DD A9 09 Change these eleven Bytes so that they are all of the value EA The above patch removes the part of the program that looks for CTS and DCD. This was not necessary to get my modem (Packard Bell PB2400PLUS) and RS-232 interface (VIC 1011A) to work but you may need it for yours. Continued On Next Page  0 H  GeoDex V2.1 Auto Dial Fix 2 of 2 0 (c) 1989 Jon Olson @Next, go to the thirty-second sector and look for the following: AD 01 DD 29 80 D0 18 Change it so that it reads as follows: AD 01 DD 29 80 EA EA This change allows GeoDex to check for DSR but prevents it from doing anything beyond that. Without this change, GeoDex would always tell me "Cannot Access Modem To Dial" when I tried to Dial. I believe that this is the part of the GeoDex code that has been preventing modems other than the 1670 from working with GeoDex. I am VERY surprised that no one has discovered this until now, you "programmers" should be ashamed of yourselves !!! Hayes AT codes: Before GeoDex V2.1 dials the modem it sends the code to disable the internal speaker (ATM0) and the code that tells the modem to hang up two seconds after dialing (ATS7=2). This is located in the thirty-second sector of the program on the 1541 disk. The ASCII display of your sector editor should show it as follows: ATM0.ATS7=2.ATDT Change ATM0 to ATM1 to hear GeoDex dial the number. Change ATS7=2 to ATS7=1 for one second delay after dialing before GeoDex hangs up. ATS7=9 sets it for a nine second delay. The code only allows for the the numbers 1 through 9 to be used. ATDT can be changed to ATDP for pulse dialing (for those of you that don't have touch tone service). NOTE: You may have to reset your modem after you use GeoDex in order for it to work correctly with a terminal program. ---------------------------------------------------------------------------------------------------------- "Proprietary Information" "You Can't Do That" "That Information Is Not Available" ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ These are phrases I choose NOT to know the meaning of !! Remember, "I'm sorry, we can't help you" and "Go kiss a tree, we WON'T help you!" both mean the same thing. Mud #6186 - Mnematics Videotex #70206,104 - CompuServe THE MUDMAN - Qlink