home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / appleii / apple.bwr < prev    next >
Internet Message Format  |  2020-01-01  |  8KB

  1. Date: 12 JUN 91 11:07:58
  2. From: PSYC223@UNLCDC2.BITNET
  3. Subject: kermit.laser.128
  4.  
  5.     I received your address from the Computing Resources Center at the
  6. University of Nebraska.  I am trying to use Kermit to make connection
  7. with the University mainframe; the computer is a Laser 128 (Apple IIc
  8. compatible) and the modem is a Zoom 2400R.  When I enter the "CONNECT"
  9. command, I get an error message, requesting a reboot.  Is it known whether
  10. Kermit works with Laser 128?  If it does not work, are there modifications
  11. in the program that can make it compatible?  If it does work, are there
  12. any special configurations or slot assignments that are not obvious?
  13.     If you are not the person to whom I should direct these questions, I
  14. am sorry to bother you.  If you know another person who might have this
  15. information, I would appreciate receiving an e.mail address for such
  16. assistance.
  17.     Thanks.
  18.                             Dan Bernstein
  19.                             University of Nebraska
  20.                             psyc223@unlcdc2
  21.  
  22. ------------------------------
  23.  
  24. Date: Wed, 03 Jul 91 11:59:46 PDT
  25. From: Ted Medin <MEDIN-T@SHARK.nosc.mil>
  26. Subject: Re: Apple II Kermit question
  27.  
  28. The lazer 128 must use the microtek serial port driver.  Not the apple com
  29. driver.
  30.  
  31. ------------------------------
  32.  
  33. From: David Wilson <david@uow.edu.au>
  34. Subject: Some fixes to Kermit-65 source
  35. Date: Mon, 12 Jan 1998 10:44:20 +1100 (EST)
  36.  
  37.     Attempting to build Kermit-65 on my Linux system (5x86-133 CPU,
  38.     Redhat 4.2), I find that as65c02 is unable to assemble appmai.m65.
  39.     Building the same program on Solaris for Sparc results in an
  40.     assembler that has no problems with that module. Very strange -
  41.     I wonder if as65c02 assumes that the system it runs on is big-endian?
  42.  
  43. 3)    A number of modules of Kermit-65 v3.87 do not assemble due to comments
  44.     missing leading semi-colon. Here is a diff to fix them:
  45.  
  46. *** appcps.m65.orig    Mon Jan 12 10:20:34 1998
  47. --- appcps.m65    Mon Jan 12 10:20:49 1998
  48. ***************
  49. *** 20,28 ****
  50.   ;
  51.   
  52.   ;$Log:    appcps.m65,v $
  53. ! Revision 1.5  90/10/15  14:19:59  medin
  54. ! new org for 3.87 of $7f00
  55. ! version 1.4
  56.   
  57.   ;Revision 1.4  88/12/22  09:25:02  medin
  58.   ;use the time constant for the wait routine
  59. --- 20,28 ----
  60.   ;
  61.   
  62.   ;$Log:    appcps.m65,v $
  63. ! ;Revision 1.5  90/10/15  14:19:59  medin
  64. ! ;new org for 3.87 of $7f00
  65. ! ;version 1.4
  66.   
  67.   ;Revision 1.4  88/12/22  09:25:02  medin
  68.   ;use the time constant for the wait routine
  69. *** appgs.m65.orig    Mon Jan 12 10:21:09 1998
  70. --- appgs.m65    Mon Jan 12 10:21:21 1998
  71. ***************
  72. *** 19,27 ****
  73.   ;
  74.   
  75.   ; $Log:    appgs.m65,v $
  76. ! Revision 1.7  90/10/15  14:21:04  medin
  77. ! new org for 3.87 of $7f00
  78. ! version 1.6
  79.   
  80.   ;Revision 1.6  89/11/06  11:42:28  medin
  81.   ; Use xon/xoff or dtr but not both
  82. --- 19,27 ----
  83.   ;
  84.   
  85.   ; $Log:    appgs.m65,v $
  86. ! ;Revision 1.7  90/10/15  14:21:04  medin
  87. ! ;new org for 3.87 of $7f00
  88. ! ;version 1.6
  89.   
  90.   ;Revision 1.6  89/11/06  11:42:28  medin
  91.   ; Use xon/xoff or dtr but not both
  92. *** apphmm.m65.orig    Mon Jan 12 10:19:36 1998
  93. --- apphmm.m65    Mon Jan 12 10:19:46 1998
  94. ***************
  95. *** 18,26 ****
  96.   ;
  97.   
  98.   ;$Log:    apphmm.m65,v $
  99. ! Revision 1.8  90/10/15  14:23:32  medin
  100. ! new org of $7f00 for 3.87
  101. ! version 1.8
  102.   
  103.   ;Revision 1.7  88/12/22  09:26:51  medin
  104.   ;use the time constant for the wait routine
  105. --- 18,26 ----
  106.   ;
  107.   
  108.   ;$Log:    apphmm.m65,v $
  109. ! ;Revision 1.8  90/10/15  14:23:32  medin
  110. ! ;new org of $7f00 for 3.87
  111. ! ;version 1.8
  112.   
  113.   ;Revision 1.7  88/12/22  09:26:51  medin
  114.   ;use the time constant for the wait routine
  115. *** appmsv.m65.orig    Mon Jan 12 10:19:59 1998
  116. --- appmsv.m65    Mon Jan 12 10:20:24 1998
  117. ***************
  118. *** 18,26 ****
  119.   ;
  120.   
  121.   ;$Log:    appmsv.m65,v $
  122. ! Revision 1.9  90/10/15  14:25:50  medin
  123. ! new org of $7f00 for 3.87
  124. ! version 1.8
  125.   
  126.   ;Revision 1.8  88/12/22  09:40:58  medin
  127.   ;use time constant for the wait routine
  128. --- 18,26 ----
  129.   ;
  130.   
  131.   ;$Log:    appmsv.m65,v $
  132. ! ;Revision 1.9  90/10/15  14:25:50  medin
  133. ! ;new org of $7f00 for 3.87
  134. ! ;version 1.8
  135.   
  136.   ;Revision 1.8  88/12/22  09:40:58  medin
  137.   ;use time constant for the wait routine
  138. *** appssc.m65.orig    Mon Jan 12 10:19:11 1998
  139. --- appssc.m65    Mon Jan 12 10:19:24 1998
  140. ***************
  141. *** 22,30 ****
  142.       .ifne    0        ; get around the revisions
  143.   ; DONT FORGET TO UPDATE THE VERSION
  144.   ;$Log:    appssc.m65,v $
  145. ! Revision 1.15  90/10/15  14:27:07  medin
  146. ! new org of $7f00 for 3.87
  147. ! version 1.15
  148.   
  149.   ;Revision 1.14  88/12/22  09:13:22  medin
  150.   ;verison 1.14 changes for time count, input buffer now $900 and
  151. --- 22,30 ----
  152.       .ifne    0        ; get around the revisions
  153.   ; DONT FORGET TO UPDATE THE VERSION
  154.   ;$Log:    appssc.m65,v $
  155. ! ;Revision 1.15  90/10/15  14:27:07  medin
  156. ! ;new org of $7f00 for 3.87
  157. ! ;version 1.15
  158.   
  159.   ;Revision 1.14  88/12/22  09:13:22  medin
  160.   ;verison 1.14 changes for time count, input buffer now $900 and
  161. -- 
  162. David Wilson  Sch of Informatics, Uni of Wollongong, Australia
  163. david@uow.edu.au
  164.  
  165. ------------------------------
  166.  
  167. From: David Wilson <david@uow.edu.au>
  168. Subject: A fix for problem in as65c02 unable to assemble kermit-65
  169. Date: Wed, 14 Jan 1998 09:49:49 +1100 (EST)
  170.  
  171. > > 2)    Attempting to build Kermit-65 on my Linux system (5x86-133 CPU,
  172. > >     Redhat 4.2), I find that as65c02 is unable to assemble appmai.m65.
  173. > >
  174. > Well, as you know it's not written in any standard assembler, as you have
  175. > discovered; it was originally written for a cross-assember called CROSS, that
  176. > ran on the PDP-10.  Later, as I recall, it was ported to SunOS, but it gets
  177. > dim after that.  In any case, the last guy who worked on Kermit-65 retired
  178. > several years ago, so you're kind of on your own.
  179.  
  180. It turned out to be a simple problem - a buffer overrun.  GDB's watch command
  181. was very useful in finding this.  When built with gcc on Linux, the errcnt
  182. variable ends up just in front of the prlnbuf buffer.  In the readline function
  183. we find the following code:
  184.  
  185.         i = 3;
  186.         while (temp1 != 0) {    /* put source line number into prlnbuf */
  187.                 prlnbuf[i--] = temp1 % 10 + '0';
  188.                 temp1 /= 10;
  189.         }
  190.  
  191. Note that appmai.m65 is 17698 lines in length.
  192.  
  193. When the assembler reads line 10000, the code above writes a '1' into
  194. prlnbuf[-1] which destroys the errcnt variable.
  195.  
  196. My fix for this:
  197.  
  198. *** ass1.c.orig Wed Jan 14 09:44:27 1998
  199. --- assm1.c     Wed Jan 14 09:44:40 1998
  200. ***************
  201. *** 153,159 ****
  202.         temp1 = ++slnum;
  203.         for (i = 0; i < LAST_CH_POS; i++)
  204.                 prlnbuf[i] = ' ';
  205. !       i = 3;
  206.         while (temp1 != 0) {    /* put source line number into prlnbuf */
  207.                 prlnbuf[i--] = temp1 % 10 + '0';
  208.                 temp1 /= 10;
  209. --- 153,159 ----
  210.         temp1 = ++slnum;
  211.         for (i = 0; i < LAST_CH_POS; i++)
  212.                 prlnbuf[i] = ' ';
  213. !       i = 4;
  214.         while (temp1 != 0) {    /* put source line number into prlnbuf */
  215.                 prlnbuf[i--] = temp1 % 10 + '0';
  216.                 temp1 /= 10;
  217.  
  218. Or, if you prefer to fix the shell archive:
  219.  
  220. *** appxas.2.orig       Wed Jan 14 09:46:02 1998
  221. --- appxas.2    Wed Jan 14 09:46:17 1998
  222. ***************
  223. *** 648,654 ****
  224.         temp1 = ++slnum;
  225.         for (i = 0; i < LAST_CH_POS; i++)
  226.                 prlnbuf[i] = ' ';
  227. !       i = 3;
  228.         while (temp1 != 0) {    /* put source line number into prlnbuf */
  229.                 prlnbuf[i--] = temp1 % 10 + '0';
  230.                 temp1 /= 10;
  231. --- 648,654 ----
  232.         temp1 = ++slnum;
  233.         for (i = 0; i < LAST_CH_POS; i++)
  234.                 prlnbuf[i] = ' ';
  235. !       i = 4;
  236.         while (temp1 != 0) {    /* put source line number into prlnbuf */
  237.                 prlnbuf[i--] = temp1 % 10 + '0';
  238.                 temp1 /= 10;
  239.  
  240. I do not think that we will ever need to support 100,000 line 6502 programs.
  241. -- 
  242. David Wilson
  243. School of Informatics, University of Wollongong, Australia
  244. david@uow.edu.au
  245.