Re: Inconsistency in CP/M Kermit Version 4.09 Problem: Comments in the source-files indicate that the routine which processes the "Set Port" command, "prtset" in CPSCOM.ASM, returns the port value in the register pair DE for the system-dependent routine to process. In fact, the value is returned in the HL register pair. Solution: Either (1) put a "xchg" instruction after the "shld port" instruction in "prtset" and modify all port-setting routines which expect the port parameter in HL, e.g., that for those systems using iobyte redirection, to get the value from DE (this would be, I suppose, philosophically correct since this would correspond to the way the baud-rate-setting routine handles things) or (2) change the comments in CPSDAT.ASM and CPXLNK.ASM to show the return value from "prtset" in HL and modify the "sysprt" routines which expect the port value in DE to get it from HL. I chose this approach as it appeared that this would involve less code changes (the only system I saw getting port values from DE was the Lobo). Below are FILCOMs of the appropriate files showing these changes. File 1) DSKE:CPSDAT.ASM[10,50,KERMIT,CPM] created: 1925 26-Aug-89 File 2) DSKE:CPSDAT.ASM[10,50] created: 1202 31-Aug-89 1)4 ; called with value from table in DE 1) sysscr: jmp $-$ ; screen setup for file transfer **** 2)4 ; called with value from table in HL 2) sysscr: jmp $-$ ; screen setup for file transfer ************** File 1) DSKE:CPXLNK.ASM[10,50,KERMIT,CPM] created: 1826 26-Aug-89 File 2) DSKE:CPXLNK.ASM[10,50] created: 1157 31-Aug-89 1)1 ; called with value from table in DE 1) jmp sysscr ; screen setup for file transfer **** 2)1 ; called with value from table in HL 2) jmp sysscr ; screen setup for file transfer ************** File 1) DSKE:CPXSY2.ASM[10,50,KERMIT,CPM] created: 0743 28-Aug-89 File 2) DSKE:CPXSY2.ASM[10,50] created: 1210 31-Aug-89 1)4 mov a,e ;[hh] get the data port value and store at 1) sta outmd3+1 ;[hh] the two places we use... **** 2)4 mov a,l ;[hh] get the data port value and store at 2) sta outmd3+1 ;[hh] the two places we use... ************** 1)4 mov a,d ;[hh] now get the baud rate port value 1) sta getbd+1 ;[hh] store it in the two places we use... **** 2)4 mov a,h ;[hh] now get the baud rate port value 2) sta getbd+1 ;[hh] store it in the two places we use... ************** E-mail replies may be sent to me via Bitnet at mailer@uwalocke. Please place on the subject line the phrase <dec10%"bpa"> (less the angle- brackets). -- Mike Freeman (routing MORF); Bonneville Power Administration; P.O. Box 491; Vancouver, Wa 98666; Telephone (206)690-2307 --