CPM2HELI.DOC by Jim Blackwood *************************************************************** THE PROGRAMS CPM2HELI.OBJ AND HELI2CPM.OBJ CONVERT CPM TEXT FILES TO PROCESSOR TECH HELIOS II EDIT FILES, AND VICE-VERSA. TO CONVERT A CP/M FILE, LINEFEEDS, HTABS, AND CTRL/Z'S ARE REMOVED. IF THERE ARE 64 CHARACTERS WITHOUT A CR, ONE IS INSERTED. THIS MAKES EDIT DELIRIOUS WITH JOY. THE OTHER WAY, LINEFEEDS ARE ADDED AFTER EACH CR, AND CTRL/Z IS ADDED AT THE END. THE SOURCE VERSIONS ARE CPM2HELI.S AND HELI2CPM.S. THE PROGRAMS WILL NOT RUN, AND THE SOURCE WILL NOT ASSEMBLE UNDER CP/M. YOU NEED PTDOS1.4 OR 1.5. THE PROGRAMS READ BLOCKS OF THE INPUT FILE INTO A BUFFER. THE OFFENDING CHARACTERS ARE REMOVED (OR ADDED) AND THE MODIFIED FILE IS WRITTEN TO THE DISK. EDIT IS A SCREEN EDITOR, AND I'M MUCH MORE COMFORTABLE WITH IT THAN I AM WITH ED. THESE PROGRAMS LET ME ADAPT BASIC PROGRAMS, ASSEMBLY LANGUAGE PROGRAMS, ETC. FROM THE SIG/M LIBRARY TO MY OWN ENVIRONMENT. I SUSPECT THERE ARE VERY FEW FOLKS OUT THERE WHO CAN USE THIS STUFF, BUT IF YOU HAVE CP/M-LIFEBOAT-HELIOS, YOU MIGHT ENJOY IT. I GUESS I'M SUPPOSED TO MENTION THAT CP/M IS A PRODUCT OF DIGITAL RESEARCH AND THAT LIFEBOAT IS LIFEBOAT ASSOC. IF YOU HAVE QUESTIONS, FIND BUGS, ETC., YOU CAN GET ME AT 201-233-1285. OH YES, YOU MUST SET BU=8000 (OR LOWER) OR YOU WILL GET A LOADER ERROR, & THINGS MAY BLOW UP. THE OBJECT PROGRAMS ARE ASSEMBLED AT 103H. THE FIRST TIME, PUT THE OBJECT CODE INTO AN IMAGE FILE. YOU CAN THEN PROCESS THE SOURCE FILES, AND ASSEMBLE THEM WHEREVER YOU WISH. USING DDT, PUT THE FILE INTO MEMORY STARTING AT 400H IN THE FOLLOWING MANNER. BE SURE THAT YOUR BOOTLOAD IS NOT ANYWHERE IN LOW MEMORY. I PUT MINE AT 0C900H. YOU HAVE TO PUT THE PROGRAMS AT 400H BECAUSE START.UP USES SOME LOW MEMORY. DDT -ICPM2HELI.OBJ -R300 NOW, BOOT UP HELIOS, AND ENTER: IMAGE CPM2H:O,!250,403,64E,:103,103 YOU CAN, OF COURSE, USE ANY NAME YOU WANT. TYPE THE NAME OF THE FILE, AND YOU ARE IN BUSINESS. THE PROGRAM WILL PROMPT FOR THE INPUT AND OUTPUT FILE NAMES. IF YOU WANT TO TRANSFER THE HELI2CPM.OBJ FILE, FOLLOW THE SAME PROCEDURE, EXCEPT THAT THE IMAGE COMMAND IS: IMAGE H2CPM:O,!4C0,403,62B,:103,103 TO TRANSFER FILES FROM CP/M TO HELIOS: WHILE IN CP/M DDT -I(FNAME) -R300 DDT WILL RESPOND WITH THE LAST LOAD ADDRESS, SAY XXXX BOOT UP HELIOS AND ENTER: WRITE FNAME,!4C0,400,XXXX YOU MAY USE ANY BLOCK SIZE YOU WISH, I PICKED 04C0H. IF THE FILE WON'T FIT INTO MEMORY, YOU WILL HAVE TO BREAK IT INTO SMALLER FILES. BECAUSE DDT GIVES THE LAST PAGE OF MEMORY LOADED, THERE MAY BE GARBAGE AT THE END OF THE FILE, BUT PROCESSING THE FILE SHOULD REMOVE THIS. TO TRANSFER TEXT FILES FROM HELIOS TO CP/M WHILE IN HELIOS READ FNAME,103 THEN BOOT UP CP/M SAVE (PAGES) FNAME READ WILL GIVE YOU THE NUMBER OF BYTES IN THE FILE REMEMBER TO CONVERT HEX BYTES TO DECIMAL PAGES NOW DO THE FOLLOWING, WHILE IN CP/M ED FNAME *A *3D *E NOW YOU CAN TYPE IT, EDIT IT, ASSEMBLE IT, ETC. TO TRANSFER HEX FILES FROM HELIOS TO CP/M WHILE IN HELIOS, TYPE THE FILE NAME OF THE IMAGE FILE FOLLOWED BY A COMMA. READ WON'T WORK HERE. THE IMAGE FILE SHOULD ORG AT 103. CAN'T IMAGINE ANYONE WANTING TO DO THIS, AS THESE PROGRAMS WON'T RUN UNDER CP/M. HOWEVER IT IS A WAY OF EXCHANGING IMAGE FILES UNDER CP/M. IF YOU HAVE PREVIOUSLY LISTED THE FILE, YOU WILL KNOW HOW MANY PAGES TO SAVE. AT ANY RATE, ONCE YOU HAVE LOADED THE IMAGE FILE AT 103H, BOOT UP CP/M AND SAVE THE FILE. TO TRANSFER IT BACK TO HELIOS, SEE ABOVE. CHEERS. .