MODEM64: DOCUMENTATION BY CHRIS LAMPTON, 75275,1373 01/29/84 MODEM64 IS A SIMPLE TERMINAL EMULATOR WITH XMODEM DOWNLOAD FACILI- TIES, DESIGNED TO RUN UNDER COMMODORE 64 CP/M. IT WILL NOT RUN UNDER OTHER VERSIONS OF CP/M; IN FACT, IT WILL ONLY RUN UNDER THE CP/M PACKAGE OFFERED BY COMMODORE BUSINESS MACHINES. WHEN FIRST RUN, MODEM64 IS IN NORMAL TERMINAL MODE. ASCII DATA RE- CEIVED THROUGH THE RS-232 PORT IS DIS- PLAYED ON THE SCREEN. DATA TYPED ON THE KEYBOARD IS TRANSMITTED. PARITY IS IGNORED. MOST STANDARD ASCII CONTROL CODES ARE IMPLEMENTED. TO EXIT MODEM64 PRESS FUNCTION KEY F2 (SHIFT-F1). XMODEM DOWNLOADS ARE INITIATED BY PRESSING FUNCTION KEY F8 (SHIFT-F7). USING MODEM64 WITH AN RCP/M (REMOTE CP/M DATABASE) THE STANDARD RCP/M COMMAND FOR XMODEM TRANSMISSION IS: XMODEM S FILENAME.EXT IF THE SPECIFIED FILE IS AVAILABLE, THE RCP/M WILL RESPOND WITH THE NUMBER OF 128 BYTE BLOCKS IN THE FILE AND THE APPROXIMATE DOWNLOAD TIME. IF YOU SHOULD DECIDE AT THIS POINT THAT YOU WISH TO ABORT THE DOWNLOAD, PRESS CTRL-'X' TO SEND AN ASCII CANCEL SIGNAL TO THE SENDING COMPUTER. TO BEGIN THE DOWNLOAD, PRESS F8, AND MODEM64 WILL AUTOMATICALLY REQUEST THE RCP/M TO START TRANS- MITTING. THE MESSAGE 'XMODEM TRANSMIS- SION INITIATED' WILL APPEAR ON THE SCREEN. IF FOR ANY REASON THE TRANS- MISSION IS NOT RECEIVED, MODEM64 WILL CONTINUE BROADCASTING THE REQUEST FOR APPROXIMATELY 100 SECONDS BEFORE ABORTING THE DOWNLOAD AND RETURNING TO TERMINAL MODE. SHOULD THIS OCCUR, THE MESSAGE 'BLOCK NOT RECEIVED, XMODEM TRANSMISSION ABORTED' WILL BE DIS- PLAYED. THE DOWNLOAD MAY BE MANUALLY ABORTED BY PRESSING THE RUN-STOP KEY. ONCE TRANSMISSION HAS BEGUN, THE DOWNLOADED BLOCKS WILL BE AUTOMATICALLY SAVED TO THE DISK IN CP/M FORMAT. AS EACH BLOCK IS RECEIVED, THE MESSAGE 'BLOCK #NN RECEIVED' WILL BE DISPLAYED, WHERE NN IS THE BLOCK NUMBER IN HEXA- DECIMAL. IF MORE THAN 255 (FF HEX) BLOCKS ARE TRANSMITTED, THE BLOCK NUMBER WILL ROLL OVER TO 00. CHECKSUMS ARE USED TO VERIFY THE ACCURACY OF THE TRANSMITTED DATA. AT THE END OF TRANS- MISSION, MODEM64 WILL INFORM THE SENDING COMPUTER OF THE SUCCESSFUL RECEIPT OF THE FILE AND WILL DISPLAY THE MESSAGE 'XMODEM TRANSMISSION COM- PLETED' BEFORE RETURNING TO TERMINAL MODE. FILES WILL BE SAVED TO THE DISK UNDER THE FILENAME 'NEWFILE,' WITH THE EXTENSION '.XMD'. FILES DOWNLOADED DURING A SINGLE SESSION WILL BE SEQUEN- TIALLY NUMBERED, WITH THE FIRST FILE GIVEN THE NAME 'NEWFILE1.XMD,' THE SECOND FILE THE NAME 'NEWFILE2.XMD,' AND SO FORTH. LETTERS OF THE ALPHABET WILL BE USED ONCE THE TEN NUMERALS ARE EXHAUSTED. GIVEN THE OBVIOUS LIMITATION ON FILE NAMES, IT IS RECOMMENDED THAT YOU NOT DOWNLOAD MORE THAN 35 FILES IN ONE SESSION, OR YOU MAY FIND UNTYPABLE ASCII CHARACTERS IN THE NAMES. IT IS ALSO RECOMMENDED THAT YOU RENAME ALL DOWNLOADED FILES IMMEDIATELY AFTER THE SESSION, USING THE CP/M REN COMMAND, BECAUSE EXISTING NEWFILES ON THE DISK WILL BE DELETED BY MODEM64 DURING LATER SESSIONS TO MAKE ROOM FOR FRESHLY DOWNLOADED FILES WITH THE SAME SEQUENCE NUMBERS. IN THE EVENT THAT YOU ATTEMPT TO DOWNLOAD TO A FULL DISK (OR A FULL DISK DIRECTORY), AN ERROR MESSAGE WILL BE PRINTED AND THE DOWNLOAD ABORTED. ANY DATA DOWNLOADED TO THE CURRENT FILE BEFORE THE DISK LIMIT WAS REACHED WILL BE PRESERVED. THIS IMPLEMENTATION OF XMODEM IS NOT BULLET PROOF. IT IS POSSIBLE FOR THE SENDING COMPUTER AND THE RECEIVING COMPUTER TO FALL OUT OF SYNC AND NOT RECOVER, THOUGH THIS IS NOT A VERY LIKELY EVENT. SHOULD IT OCCUR, THE DOWNLOAD WILL MORE THAN LIKELY ABORT BY ITSELF. HOWEVER, SHOULD YOU NOTICE AN UNUSUALLY LONG PAUSE BETWEEN BLOCKS -- SAY 20 SECONDS OR MORE -- YOU SHOULD ABORT MANUALLY WITH THE RUN-STOP KEY. THE SENDING COMPUTER MAY CONTINUE BROADCASTING DATA, BUT WILL NOTICE WITHIN A FEW SECONDS THAT NO ACKNOW- LEDGING SIGNAL IS BEING RECEIVED AND WILL CANCEL THE DOWNLOAD. YOU MAY THEN INITIATE THE DOWNLOAD AGAIN. THIS HAS HAPPENED TO ME ONCE IN ROUGHLY 40 DOWNLOADS. SECURITY WILL BE TIGHTENED IN SUBSEQUENT VERSIONS. SUGGESTIONS FOR FUTURE IMPROVEMENTS AND REPORTS OF CURRENT BUGS SHOULD BE CONVEYED TO THE AUTHOR VIA COMPU- SERVE INFORMATION SERVICE EMAIL OR THE CIS COMMODORE-64 SIG.