home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / Information / 01CAT5MSGS.SFX / 03cat5msgs < prev   
Encoding:
Text File  |  1990-02-12  |  37.4 KB  |  863 lines

  1.  ************
  2. Topic 7         Sun May 22, 1994
  3. B.GANN1                      (Forwarded) 
  4. Sub: staying motivated                      
  5.  
  6. How to stay motivated to finish a program
  7. 7 message(s) total.
  8.  ************
  9.  ------------
  10. Category 5,  Topic 7
  11. Message 1         Sun May 22, 1994
  12. B.GANN1                      (Forwarded) 
  13.  
  14. Motivation...
  15.  
  16. How do you programmers out there keep yourself motivated to finish a program?
  17.  
  18. I find myself working hard on a program. Then I shelve it to work on something
  19. else. I never seem to finish and polish anything up.
  20.  
  21. Anybody got any tips to overcome this?
  22.  
  23. Brenda
  24.  ------------
  25. Category 5,  Topic 7
  26. Message 2         Sun May 22, 1994
  27. B.MASSE [BIG BOB]            (Forwarded) 
  28.  
  29.  Category 5,  Topic 28
  30.  Brenda said to all....                    
  31.  
  32.  Motivation...
  33.  
  34.  How do you programmers out there keep yourself motivated to finish a program?
  35.  I find myself working hard on a program. Then I shelve it to work on
  36. something
  37.  else. I never seem to finish and polish anything up.
  38.  
  39.  Bob says,
  40.  
  41.  I certainly am not a REAL creative programmer,  but I have done quite a few
  42.  simple programs to use in my business.  My experience over the last 10 
  43.  years is that a program is NEVER finished.  There always seems to be little
  44.  things to add or improve on,  or just plain change around.
  45.  
  46.  On the other hand,  I have a hard time allowing a program that I am currently
  47.  creating or improving get hung-up with some BUG that makes it an un-working
  48.  program.  Then I will get obsessed until I have either fixed it or trashed
  49.  it all together....   must be the VIRGO in me. 
  50.  
  51.                               Bob
  52.  
  53.  
  54.  ------------
  55. Category 5,  Topic 7
  56. Message 3         Sun May 22, 1994
  57. CBM-ED [e.g.bell]            (Forwarded) 
  58.  
  59.  Brenda:
  60.   BG>  How do you programmers out there keep yourself motivated to
  61.   BG> finish a program?
  62.  
  63.  Personally, when I'm writing a program, it is usually because I need
  64.  it.  When I stop working on it to work on something else, it is because
  65.  something else I need more came up, or someone has found a glitch in
  66.  something else.  I have also done contracting work and I think I can
  67.  understand what you are saying in those terms.  It is most fun when he
  68.  big dramatic parts of the building are going up.  For instance, raising
  69.  the walls, hanging drywall, etc.  It gets tedious when you start doing
  70.  the million little things that need done to finish the project.  That is
  71.  when I was usually chomping at the bit to move on.  Of course, I get that
  72.  way after I've spent a long time on a project too.  When all is said and
  73.  done, I don't want to be known for one program or one genre of program...
  74.  I like to move around like a dog... little spot on every pole.  :)
  75.  
  76.   BM> a program is NEVER finished.  There always seems to be little 
  77.   BM> things to add or improve on,  or just plain change around
  78.  
  79.  I've found that to be true, but also a demon I've learned to live with.
  80.  If I ever want to move on, I have to say it is enough.  I'll go back and
  81.  fix something that turns up wrong, but at a certain point, I consider
  82.  things done as far as I'm concerned.  Magic 128 is a  good example for
  83.  me.  There may be things I'd like, but it does do everything I've ever
  84.  needed from it.  Again, I just don't want to be known for one program or
  85.  type of program.
  86.  
  87.   BM> hard time allowing a program that I am currently  creating or
  88.   BM> improving get hung-up with some BUG that makes it an
  89.   BM> un-working  program.  Then I will get obsessed until I have
  90.   BM> either fixed it or trashed  it all together
  91.  
  92.  I can also identify with that.  There have been many programs where I
  93.  just cut my losses and rewrote the program or the troublesome routine.
  94.  Frequently, it ended up better this way than my original intent.  Some
  95.  programs got put away and never finished because of this.  And I eat, 
  96.  sleep, and go to the bathroom listings and debugging... I hand code on
  97.  paper, flow chart, and desk check even more than I work at the keyboard.
  98.  Like Bob said, though, it is probably obsession that keeps me at something
  99.  until I consider it finished.
  100.  
  101.  And then there is Mark Dulski, who makes SURE I never stop working on my
  102.  stuff until it is 'finished'.  hehehehe
  103.  ------------
  104. Category 5,  Topic 7
  105. Message 4         Mon May 23, 1994
  106. CBM-MARK                     (Forwarded) 
  107.  
  108. LOL! Ed ;D
  109.  ------------
  110. Category 5,  Topic 7
  111. Message 5         Thu May 26, 1994
  112. S.EYRSE [steve]              (Forwarded) 
  113.  
  114. Myself it is the drive from Gig Harbor to Seattle. As this takes a hour to
  115. hour and a half. I have a lot of time to THINK  about the program I'm working
  116. on (if any)
  117.  
  118.   *l del 5
  119.  ------------
  120. Category 5,  Topic 7
  121. Message 6         Fri May 27, 1994
  122. CBM-ED [e.g.bell]            (Forwarded) 
  123.  
  124.  I agree with that too Steve... I usually walk twice a day for about 45
  125.  minutes each, and that accounts for a LOT of my programming time too
  126.  tho no code is getting written.  
  127.  ------------
  128. Category 5,  Topic 7
  129. Message 7         Wed Sep 21, 1994
  130. A.PLATT3 [Arthur]            at 00:17 EDT
  131.  
  132.      Myself, I just set apart vertain times in a day to do the programming...
  133. or whenever I feel like I want to, or have the time.  It's almost like
  134. homework (I know, you thought you were going t get out of it after school was
  135. out, but then again...) I always set apart a certain time to do it. It almost
  136. sounds like I don't like to program, but I do.  I like to be  formal, on
  137. time...once I've achieved that feel, I'llwork on anything.. but just as soon
  138. as my alarm clock doesn't go off, it takes me awhile to get back in the habit.
  139. But, this way, it keeeps my programming skills improving, although I may not
  140. even be programming anything at all, anyway.
  141.      Too, I do a lot of my staging out and graphics, and overall memory
  142. locations, organization, and other things away from the keyboard.  I seem to
  143. program MUCH faster that way.  I get it on paper and the programming just
  144. comes.  
  145.      But, I guess, the main point of this WHOLE response is, for me, if I keep
  146. myself on a not-too-strict, but partially strict schedule, I've got it made.
  147.  
  148.  
  149.  ------------
  150.  
  151. 5 ? ************
  152. Topic 9         Mon Jun 06, 1994
  153. S.FREDERICKM [Fred Stein]    (Forwarded) 
  154. Sub: Speeds avove 1200 baud...              
  155.  
  156. How do I get the C64 to handle modem speeds greater than 1200 Bps?
  157. 19 message(s) total.
  158.  ************
  159.  ------------
  160. Category 5,  Topic 9
  161. Message 1         Mon Jun 06, 1994
  162. S.FREDERICKM [Fred Stein]    (Forwarded) 
  163.  
  164. Hi! I'm trying to write a terminal program, and I am having a problem figuring
  165. out how to get the c64 to  receive data from the modem at speeds above 1200
  166. bps. My test terminal is sending commands to the modem, apparently at 2400,
  167. but all I get when the modem responds is garbage. Any help  will be
  168. appreciated.
  169.  
  170.  ------------
  171. Category 5,  Topic 9
  172. Message 2         Mon Jun 06, 1994
  173. S.FREDERICKM [Fred Stein]    (Forwarded) 
  174.  
  175. Oh, I forgot to mention that I am writing this term in ml. I suspect I may
  176. have to write a new NMI handler.
  177.  ------------
  178. Category 5,  Topic 9
  179. Message 3         Tue Jun 07, 1994
  180. CBM-ED [e.g.bell]            (Forwarded) 
  181.  
  182.  Fred:
  183.   FS> am having a problem figuring out how to get the c64 to  receive
  184.   FS> data from the modem at speeds above 1200 bps. My test terminal
  185.   FS> is sending commands to the modem, apparently at 2400, but all
  186.   FS> I get when the modem responds is garbage
  187.  
  188.  There have been 2 ways I have seen it done.  One was to copy some of the
  189.  ROM routines into RAM and adjust the timer latch values.  This is how
  190.  Steve Punter got his to work at 1200, and some people were able to tweak
  191.  the same handler to do 2400.  I never could get it to work reliably.  
  192.  Another, and better, way, would be to get a copy of George Hug's 2400
  193.  wedge which was just over 1 page of memory and does the job.  Most 64
  194.  terminal programs at one time or presently used this to handle 2400 
  195.  reliably.  The down side, if you consider the following down sides, was
  196.  that George's code disregards things like parity, and I believe handshake
  197.  and some other things that a terminal could not do much with anyway.
  198.  I don't believe his code handles 7 bit either, and there is only one stop
  199.  bet setting available *if* I remember correctly.  The up side is that as
  200.  I said, many programmers have made good use of his code to achieve this
  201.  2400 feat with ease and reliability.   There was an author (CCGMS) who 
  202.  was the first to do this with the 64 and without George's code.  I'm
  203.  not sure how he did it.  I never looked that close at his code, but I hve
  204.  at George's and have used it for years.
  205.  
  206.  If you decide to go it on your own, you are going to have to do something
  207.  to tweak the timers used to accumulate the incoming bits.  It is going
  208.  to really be the receive that causes the most problem, I am sure you 
  209.  wwill find out.
  210.  ------------
  211. Category 5,  Topic 9
  212. Message 4         Tue Jun 07, 1994
  213. S.FREDERICKM [Fred Stein]    (Forwarded) 
  214.  
  215. Yes, I have discovered that it's the receive that causes the problem. I have
  216. looked at some code, and it appears the chkin routine was altered, although
  217. I'm not sure why... unfortunately, my copy of mapping the c64 was taken out of
  218. state by a friend, and he lives there now... so I am programming with nothing
  219. more than the Programmer's Reference Guide... with is about as useful as boobs
  220. on a bull.
  221.  Which timers control the incoming bits? I was experimenting with $0299 and
  222. $029a, and timers a and b of cia #2... and I did get some usable output, but
  223. garbage as well.
  224.  
  225.  ------------
  226. Category 5,  Topic 9
  227. Message 5         Wed Jun 08, 1994
  228. CBM-ED [e.g.bell]            (Forwarded) 
  229.  
  230.   FS> it appears the chkin routine was altered, although I'm not sure
  231.   FS> why
  232.  
  233.  I can't remember what George's code does.  I am pretty sure it modifies
  234.  that vector though.  I don't even use chkin for my modem stuff.  I just
  235.  go directly to a routine to read from the input buffer.  It saves that
  236.  much more time... and in the C64 time is precious.
  237.  
  238.  $0299 and $029a are the timers for sending a bit.  Addresses at $0295/6
  239.  are for non-standard baud rate bit timers. According to the mapping book,
  240.  the value here should equal the system clock frequency divided by 
  241.  2 minus 100, stored in low-byte/hi-byte order".  The system clock
  242.  frequency for NTSC is 1.02273MHz.
  243.    As I recall, this pair of values would be part of the rs232 open
  244.  statement in the last 2 positions of the 'filename'.  I don't know
  245.  how you would go about tweaking the start-bit detection time in the 
  246.  ROM code if you can at all.  All of this is why you would be much better
  247.  getting hold of George's code.  It works.
  248.  BTW, timers a and b of cia #2 are correct for this.  Have you considered
  249.  disassembling the ROM NMI routines?  Might give you some clues as to 
  250.  where to start.  
  251.  ------------
  252. Category 5,  Topic 9
  253. Message 6         Wed Jun 08, 1994
  254. S.FREDERICKM [Fred Stein]    (Forwarded) 
  255.  
  256. Yes, I have considered dissasbling the rom nmi routines... problem is I'm not
  257. good at figuring out what other people have done... but perhaps it would be
  258. worth printing out the rom routines... maybe if it was on paper I could follow
  259. it better.
  260.  I like your idea of reading right from the modem buffers... it does seem like
  261. it would be faster, and not that difficult to keep the  pointers inline. I'll
  262. have to try that.
  263.  Finally, where can I get 2400 wedge? I didn't see it in the library.
  264.  Also, thanx for taking the time to try and help. :).
  265.  ------------
  266. Category 5,  Topic 9
  267. Message 7         Thu Jun 09, 1994
  268. CBM-ED [e.gbell]            (Forwarded) 
  269.  
  270.   FS> I'm not good at figuring out what other people have done... but
  271.   FS> perhaps it would be worth printing out the rom routines...
  272.   FS> maybe if it was on paper I could follow it better
  273.  
  274.  You would be surprised how much easier it is to figure things out when
  275.  you have them on paper in front of you.  I bought my first printer before
  276.  I bought a disk drive for this very reason.  And to tell the truth, you
  277.  don't need to understand it all.... all you really need are to see where
  278.  the timers are loaded from and what would be needed in RAM.  You *could*
  279.  download one of the Punter protocol source files from our libraries.
  280.  They have the source code for Punter's kludge included, which is how 
  281.  Steve P. tweaked 1200 out of the 64, and some have gone to 2400.
  282.  
  283.  As for George Hug's wedge, I think someone could make arrangements to get
  284.  you a copy of that code.  I have it somewhere unmodified.  I contacted
  285.  Transactor years ago when it first came out and got permission to use it.
  286.  Their condition at the time for me or anyone was that the author be
  287.  credited (George Hug) along with the volume and issue of the magazine in
  288.  which it appeared, which was Volume 9 Issue 3, April 1989.  I'll drop it
  289.  in your mailbox within the next few days.  Just gotta find the time and
  290.  the file.  :)
  291.  
  292.   FW> I like your idea of reading right from the modem buffers... it
  293.   FW> does seem like it would be faster, and not that difficult to
  294.   FW> keep the  pointers inline
  295.  
  296.  Well, consider than in the 64, there are 4 pointers dedicated to these
  297.  buffers in zero page.  The system doesn't mess with them... you just have
  298.  to set them in the right order of your vars, etc. if you plan on relocating
  299.  the rs232 buffers.  Long time since I've worked with all that.  George's
  300.  code may obviate the need for all that.
  301.  
  302.   FW> thanx for taking the time to try and help
  303.  
  304.  That's one of the ways we earn our keep.  :)
  305.  ------------
  306. Category 5,  Topic 9
  307. Message 8         Thu Jun 09, 1994
  308. S.FREDERICK [Fred Stein]    (Forwarded) 
  309.  
  310. Thanx... I hope that your disks are better organized than mine... since I got
  311. the 486 I really haven't taken the time to put my  commie disks in order.
  312.  ------------
  313. Category 5,  Topic 9
  314. Message 9         Sat Jun 11, 1994
  315. S.FREDERICKM [Fred Stein]    (Forwarded) 
  316.  
  317. Ed -> I received the file this morning... thanks. I'll let you know how I make
  318. out.
  319.  
  320.                     -Fred
  321.  ------------
  322. Category 5,  Topic 9
  323. Message 10        Sun Jun 12, 1994
  324. S.FREDERICKM [Fred Stein]    (Forwarded) 
  325.  
  326. Ed -> Thanx for the Hug's Wedge... problem is, it doesn't seem to be working
  327. very well. I assembled and ran it, and now when I send a character to the
  328. modem, the send light comes on and remains lit. It does exit the nmi routine,
  329. however... I stopped my terminal and looked at the 9e00, and my modem command
  330. was there... but the modem did not respond... there was nothing at $9f00. Any
  331. suggestions? I've tried using someone else's code, which was almost identical
  332. to Hug's Wedge, and the modem did the same thing. I suspect that something in
  333. the nmi handler routine is causing this, but I'm not sure what it is.
  334.  
  335. -Fred
  336.  ------------
  337. Category 5,  Topic 9
  338. Message 11        Mon Jun 13, 1994
  339. CBM-ED [e.g.bell]            (Forwarded) 
  340.  
  341.  What assembler do you use?  If I were you, I would dump a listing to
  342.  printer, since it is only a memory page or so, and carefully check to
  343.  make sure what you got is what you wanted.  I know Merlin, for example,
  344.  needs to be explicitly told that a binary parameter is immediate or it
  345.  assumes it to be an absolute operation.  This can cause major problems
  346.  with the code.  I know this from experience when I helped another guy
  347.  who used Merlin.  This is just one suggestion.   I assume you are using
  348.  buffers at $9e/$9f from your message.  Guess those *are* the defalut
  349.  c64 rs232 buffers tho.  ;)  Did you open the channel to the modem 
  350.  correctly BEFORE you installed the wedge?  The wedge uses the settings
  351.  made by that operation to install its own timer values.  Check all this
  352.  and see if any of it makes a difference.
  353.  ------------
  354. Category 5,  Topic 9
  355. Message 12        Mon Jun 13, 1994
  356. S.FREDERICKM [Fred Stein]    (Forwarded) 
  357.  
  358. Did I open the channel correctly BEFORE I installed the wedge? Errr... no. Let
  359. me hop off here and try that... I installed the wedge first. :D.
  360.  ------------
  361. Category 5,  Topic 9
  362. Message 13        Tue Jun 14, 1994
  363. S.FREDERICKM [Fred Stein]    (Forwarded) 
  364.  
  365. Welp, itthe modem light stopped staying on after I opened it when I was
  366. supposed to. I do have one question: at which times am I supposed to call the
  367. routines inable and disable, and am I  supposed to use rsget and rsout for
  368. modem i/o? I really wish I had the Transactor article to refer to.
  369.  ------------
  370. Category 5,  Topic 9
  371. Message 14        Wed Jun 15, 1994
  372. CBM-ED [e.g.bell]            (Forwarded) 
  373.  
  374.  Fred:
  375.   FS> question: at which times am I supposed to call the routines
  376.   FS> inable and disable
  377.  
  378.  These routines shut down the NMI during DOS activity.  Therefore, call
  379.  'disable' prior to any DOS activity, including REU and especially
  380.  RamLink.  When this activity is complete, call 'inable' to restore the
  381.  NMI handling.
  382.  
  383.   FS> am I  supposed to use rsget and rsout for modem i/o
  384.  
  385.  Yes.  That is exactly right.  As I recall from the original wedge,
  386.  the chkin and chkout routines are routed through new vectors that
  387.  handle the inable/disable for you... I don't remember that for sure
  388.  and calling them more than once won't hurt anything.   I changed the
  389.  code somewhat as far as what happens when, etc. because certain things
  390.  were done more often than needed IMO... like the baud rate setting, among
  391.  other things.  I also skip the chkin/chkout routine calls altogether and
  392.  just call disable/enable when needed.   This frees me to just call the
  393.  rsget/rsout routines instead of using the kernal entry points.  
  394.  
  395.  The reason you had to open the modem channel before installing the wedge
  396.  is because the open sets up a couple memory addresses, one of which is
  397.  used to generate the pointer into the baud rate tables in the wedge.
  398.  Not opening this, you were using the incorrect pointer.
  399.  ------------
  400. Category 5,  Topic 9
  401. Message 15        Wed Jun 15, 1994
  402. S.FREDERICKM [Fred Stein]    (Forwarded) 
  403.  
  404. Ok... thanks for the info. I'll see what I can do with it.
  405.  ------------
  406. Category 5,  Topic 9
  407. Message 16        Sun Jul 03, 1994
  408. S.FREDERICKM [Fred Stein]    (Forwarded) 
  409.  
  410. Ed... You asked me why I did the chkin/getin thing right after the call to
  411. open... from what I could gather from the prg reference manual, that call was
  412. necessary to initialize the rs-232 channel. Maybe I was misled by what I read.
  413. When I attempted to open the channel at 300 baud, I assumed the kernal rom
  414. routines would set up $299/$29a for 300 baud operation... likewise the 1200
  415. baud, which I know to be incorrect. But the system should have run fine at 300
  416. baud, and it didn't. Although  I'd like for the program to default to 2400,
  417. it's not a necessity. The code has been modified about seventy times trying
  418. different things. As far as the baud routine in hugs wedge, I also do not like
  419. the and #06 thing... I don't see why I couldn't just ldy with 0, 1 or 2 to set
  420. the baud rate. I'll try your suggestions, and I'll set the baud rate to 1200
  421. in the open command, if that's what the wedge is expecting. About the dec
  422. thing: I realise now that you are correct. Wouldn't the following also work:
  423.                dec $0299
  424.                bpl label1 ;test negative flag
  425.                dec $029a label1         rts Saving 3 bytes?
  426.                         -Fred
  427.  ------------
  428. Category 5,  Topic 9
  429. Message 17        Sun Jul 03, 1994
  430. CBM-ED [e.g.bell]            (Forwarded) 
  431.  
  432.  Fred:
  433.   FS> As far as the baud routine in hugs wedge, I also do not like
  434.   FS> the and #06 thing... I don't see why I couldn't just ldy with
  435.   FS> 0, 1 or 2 to set the baud rate. I'll try your suggestions, and
  436.   FS> I'll set the baud rate to 1200 in the open command
  437.  
  438.  I think if you are going to do it that way you may have to load .y
  439.  with 0, 2, or 4 if I remember correctly Fred.  I always thought that
  440.  was an odd way to do it, but since the kernal does put the correct
  441.  values (as far as what the wedge needs) into baudof and baudof+1 when
  442.  you open the rs232 channel for a specific baud (300 1200 or 2400 only)
  443.  that is all you need to do.  As I said later, given that you were
  444.  poking a 1 into baudof+1.... I don't know.  I should have done the open
  445.  and checked from BASIC to see what the value in baudof was.  Your code
  446.  may not be a problem, but I believe you may have run into problems at 
  447.  any other baud doing things like that because of the BAUD routine.  2400
  448.  may be the *one* you could get away with it with since it was the first
  449.  set of values in the table, if you see what I mean.
  450.  
  451.  
  452.   FS> from what I could gather from the prg reference manual, that
  453.   FS> call was necessary to initialize the rs-232 channel. Maybe I
  454.   FS> was misled by what I read. When I attempted to open the
  455.   FS> channel at 300 baud, I assumed the kernal rom routines would
  456.   FS> set up $299/$29a for 300 baud operation
  457.  
  458.  I don't think that is correct for a couple of reasons.  First, you are
  459.  not going to be using the ROM routines at all once you call SETUP and
  460.  have Hug's wedge in place.  Thus no need to 'initialize' that.  I 
  461.  believe the OPEN takes care of $0299 and $029a automatically for you...
  462.  depending on the last 2 values in the OPEN statement to the rs232 
  463.  channel.  You  opened the channel then manually poked the values from
  464.  Hug's timers into BAUDOF/BAUDOF+1.  You now have 2400 values in the 
  465.  timers and are trying to read data from the modem with a routine (ROM)
  466.  that won't handle that.  I believe, no matter where the problem is 
  467.  finally found, you don't need to connect or read the channel to the modem
  468.  before calling SETUP.  Matter of fact, you can do things calling RSGET
  469.  and RSOUT directly, never referring to that channel again IF you make
  470.  sure to handle DISABLE and ENABLE correctly.  As far as I've ever been
  471.  able to tell, the only thing that OPEN is  really needed for is to 
  472.  set those values in BAUDOF/BAUDOF+1.  I could be wrong about that, but
  473.  I do know I don't use CHKIN or CHKOUT at all in my 128 code.  It just
  474.  adds time to the handler, not to mention CLRCHN.  I just make direct calls
  475.  to RSGET and RSOUT, and DISABLE/ENABLE prior to any DOS or REU activity.
  476.  
  477.  Wouldn't the following also work:
  478.                 dec $0299
  479.                 bpl label1 ;test negative flag
  480.                 dec $029a label1         rts Saving 3 bytes?
  481.  
  482.  No, this won't work either, and this is a trap I still get caught in 
  483.  frequently when I am not paying attention.  Here is why.  The bit you
  484.  are testing, but 7, is going to be set as long as the value in $0299 is
  485.  greater than 128.  that the high byte is going to be cycling 1/2 the
  486.  time.  I can't tell you how many times I have done this in my programs
  487.  and took days finding out why later routines would not work.  (I would be
  488.  using the test in an init routine.)
  489.  
  490.  Ex:
  491.  init.code lda #0:ldy #160
  492.        !01 sta registers,y
  493.            dey
  494.            bpl !01
  495.            rts
  496.  
  497.  The code would only init the first time thru the look, at registers+160.
  498.  .y would be decremented once, but since it was then 159, and bit 7 
  499.  thus set, it would be satisfied and leave.  Looking at the routine, 
  500.  everything looks great TO ME, but the computer doesn't like it and never
  501.  protests.   :)
  502.  
  503.  BTW, I am wondering just what your code is doing.  From later examination
  504.  of the Term mode, I am guessing that perhaps a character is being sent
  505.  constantly to the modem.  Is that correct?  O, and finally, during testing
  506.  I would recommend you remove any cartridges (exc. SwiftLink, when you
  507.  start working with that) to make sure your results are not skewed by 
  508.  something outside the 'control' conditions.  I've gotten beaten by that
  509.  ttoo... my code was working but my Mach128 cartridge was making it seem
  510.  that it was not, etc.
  511.  
  512.  
  513.  
  514.  
  515.  After you try some of this stuff, and post back, let us know exactly what
  516.  is or is not happening.  O, and you don't have to lower the baud rate of
  517.  your test code to 1200.  Just make sure that the values in Hug's timers
  518.  are at 2400 after you set them there in your code, if you know what I mean.
  519.  Dump your assy. to printer so you can brk out and check them to make sure.
  520.  ------------
  521. Category 5,  Topic 9
  522. Message 18        Sat Jul 09, 1994
  523. S.FREDERICKM [Fred Stein]    (Forwarded) 
  524.  
  525. I Found It! I think the problem boiled down to the differences in the
  526. assemblers we use. In the hug source that I got from you, stt24 and full24
  527. were defined at the top, then were put into the code after the nop. The labels
  528. should have been beneath the nop, in the format: strt24   .wor $01cb strt12  
  529. .wor $0442
  530.  
  531. etc. As it was written, my assembler placed the value $01cb in the baud
  532. subroutine... e.g.
  533.  
  534.          lda strt24,y  ;lda $c [ $01cb,y
  535.  
  536. which should have read:
  537.  
  538.          lda $ce13,y
  539.  
  540. I really must apologise. The reason I didn't find it was because I did not
  541. follow your instructions. You suggested printing out the  assembly... today I
  542. finally did that, and voila! Bug found! I suppose it was out of laziness... I
  543. don't keep my printer plugged into the 64 due to space constraints. I really
  544. apreciate you're taking the time to help me out... I couldn't find anyone
  545. local who knew how to do 2400 baud.
  546.  
  547. I also made all the other changes you suggested. When I'm done  writing
  548. yetanothercommieterm, I'll be sure and send you a copy.
  549.  
  550.                                     -Fred
  551.  ------------
  552. Category 5,  Topic 9
  553. Message 19        Sat Jul 09, 1994
  554. CBM-ED [e.g.bell]            (Forwarded) 
  555.  
  556.  Fred:
  557.   FS> The reason I didn't find it was because I did not follow your
  558.   FS> instructions. You suggested printing out the  assembly
  559.  
  560.  I kind of suspected this would turn out to be the problem because I've
  561.  had it happen to me before with another person.  Glad you got it working
  562.  tho, which is the most important part!
  563.  ------------
  564.  
  565. 5 ? ************
  566. Topic 12        Sun Jan 29, 1995
  567. T.FARRELL5 [12Paws]          (Forwarded) 
  568. Sub: Can't format these disks!              
  569. 4 message(s) total.
  570.  ************
  571.  ------------
  572. Category 5,  Topic 12
  573. Message 1         Sun Jan 29, 1995
  574. T.FARRELL5 [12Paws]          (Forwarded) 
  575.  
  576. I got a bunch of used disks from a guy at work. These were used commercially
  577. in the auto business. I do not  know what type of computer they were used on.
  578. I tried to  format them with Super Snapshot v4-no good. I get a read error
  579. Then I tried my 128D w/ jiffydos-same thing. I loaded up a  c-64 utility
  580. (omega-q) and tried, but I got a write protect on error (no write protect is
  581. no [D [Don). I trien to format them with my warpspeed cart.-no good again! I
  582. tried a c-64 pgm called diskmaster-again write protect on error. How do I
  583. format these disks?
  584.  ------------
  585. Category 5,  Topic 12
  586. Message 2         Sun Jan 29, 1995
  587. C128.JBEE                    (Forwarded) 
  588.  
  589.  If the disks are high density (without hubs) or quad density (with
  590.  hubs) you can not format them properly.  Some older high density disks
  591.  came with hubs, though you can usually format the disk.  You just
  592.  encounter read/write errors the more you use the disk and eventually
  593.  lose the directory too.
  594.  
  595.  Some early DEC systems (RX series of drives?) came with the disks hard
  596.  formatted and are unusable on any system.
  597.  ------------
  598. Category 5,  Topic 12
  599. Message 3         Tue Jan 31, 1995
  600. T.FARRELL5 [12Paws]          (Forwarded) 
  601.  
  602. Thanks, JBEE! I looked closely at the disks and there are no hubs. Guess I
  603. just got given a bunch of disk sleeves. Evev the 64 the fellow gave me comes
  604. up with "out of memory error in 0". Thanks again for the answer to my problem.
  605.  ------------
  606. Category 5,  Topic 12
  607. Message 4         Wed Feb 01, 1995
  608. C128.JBEE                    (Forwarded) 
  609.  
  610.  You're welcome :)
  611.  ------------
  612.  ************
  613. Topic 13        Wed Feb 01, 1995
  614. D.TUOMI [Doctor]             (Forwarded) 
  615. Sub: BASIC                                  
  616.  
  617. I'm having a bit of a problem with a BASIC extension and would like some
  618. advise.
  619.  
  620. 12 message(s) total.
  621.  ************
  622.  ------------
  623. Category 5,  Topic 13
  624. Message 1         Wed Feb 01, 1995
  625. D.TUOMI [Doctor]             (Forwarded) 
  626.  
  627.  I have a rather nifty little subroutine that I discovered in a book.
  628.  The routine extends basic with a new command:
  629.  
  630.  INPUT* lfn,len,var
  631.  
  632.  This command enables you to have an open channel on the disk drive and
  633.  (lfn=logical file number) and specify the length of the string of data
  634.  you with to input (len), and put into into a variable (var).  Nice thing
  635.  is that this routine will allow everything to come into the variable.
  636.  I've actually written a file copier with just this single command
  637.  extension!  Only one problem with it.  I have no idea how to shut it
  638.  off.  I need to be able to disable the command extension and return
  639.  BASIC to normal.  I'd like some advise on how to do this.
  640.  
  641.  From my reading of the M/L routine the initialization of this extension
  642.  is this:
  643.  
  644.  033C LDA #$47
  645.  033E LDY #$03
  646.  0340 STA $0308
  647.  0343 STY $0309
  648.  0346 RTS
  649.  
  650.  Looking at my handy Mapping the 64 I discover that locations $0308 and
  651.  $0309 (dec 776-777) is the vector to the routine that executes the
  652.  next BASIC token.  This makes no sense to me at all.  Why is this
  653.  necessary.  How is this routine managing to wedge itself into BASIC.
  654.  And most importatnly, how do I get rid of it when I'm done?!
  655.  As to the actual mechanics of the routine, when I got into it it
  656.  basically checks the tokens for the INPUT command and the * (multiply)
  657.  command.  If the incoming token is by itself it jumps to the appropriate
  658.  routine, but if they're together then the new routine is executed.
  659.  Well, not being particularly experience in BASIC extensions, and not
  660.  really ever seeing anything quite like this.  I'd certainly appreciate
  661.  any advise that anyone might be able to give.
  662.  
  663.  Doc.
  664.  ------------
  665. Category 5,  Topic 13
  666. Message 2         Wed Feb 01, 1995
  667. C128.JBEE                    (Forwarded) 
  668.  
  669.  This is going to be an interesting answer :)
  670.  ------------
  671. Category 5,  Topic 13
  672. Message 3         Wed Feb 01, 1995
  673. E.GBELL [e.g.bell]           (Forwarded) 
  674.  
  675.  Doc:
  676.   DT> I have no idea how to shut it  off
  677.  
  678.  You have the idea... you just stopped short of getting it.  You looked at
  679.  the vector to see what it did.   You should have looked at the default
  680.  address of this vector, normally pointing to $a7e4.  To turn the wedge
  681.  off, just put that address back into addresses 776 and 777, in low byte/
  682.  high byte format.  In other words, poke 776,228:poke 777,167.  This will
  683.  disable the wedge by taking it out of the execution loop of BASIC.
  684.  
  685.   DT> vector to the routine that executes the  next BASIC token. 
  686.   DT> This makes no sense to me at all.  Why is this  necessary. 
  687.   DT> How is this routine managing to wedge itself into BASIC
  688.  
  689.  BASIC tokenizes its keywords into one byte each, which must then be 
  690.  evaluated.  Your extension is checking for the INPUT token as you figured,
  691.  and I guess the asterisk, to determine that it is the extended command.
  692.  If it is not, your extension jumps to the normal $a7e4 address.  If it
  693.  is the new command, your extension does its stuff, exiting back at a 
  694.  normal re-entry place, which I don't know right at the moment.  Put it 
  695.  like this.  Your son drives the car every night to wherever he goes.
  696.  You get an idea for a REALLY neat extension to his routine, whereby he 
  697.  sstops for gas when the GAS-FLAG=E.  Since he does not have this 
  698.  programmed into his routine presently, he never stops for gas.  However,
  699.  wedge the routine in, and when GAS-FLAG=E, he stops for gas.  If it does
  700.  not see that flag, he never stops, even though the routine is active now.
  701.  Is that a good example?
  702.  
  703.  There are a number of ways people have added routines to bASIC.  That is
  704.  just one of them.  Some people wedge into the error vector, parsing 
  705.  commands that are syntactically incorrect, like DEEK, for example, and if
  706.  the syntax error matches a new command list, the appropriate command is
  707.  executed.  bottom line is, the wedges are designed to recognize something
  708.  unique about a line of bASIc code, and if found, execute the new command.
  709.  If not found, they go on their merry way thru the normal routine, even as
  710.  you found.
  711.  
  712.  I'm not too high on BASIC extensions for program mode because people who
  713.  run your programs must have the extension installed, but did any of this
  714.  explain what is going on and how to undo it?
  715.  ------------
  716. Category 5,  Topic 13
  717. Message 4         Wed Feb 01, 1995
  718. M.RANDALL2 [Maurice]         (Forwarded) 
  719.  
  720. Ed Bell,
  721.   Correct me if I'm wrong Ed, because I've never messed with wedging a routine
  722. into the vector at $308,$309. But it would seem that if this vector is changed
  723. from within BASIC, that you would most likely crash before the second byte of
  724. the vector is altered. The first poke would be successful, but when BASIC
  725. attempts to evaluate the next token which would be the second poke, the
  726. address in the vector would be way off since the second poke has not yet
  727. occured.
  728.  
  729. Am I right on this?
  730.  
  731. If so, then the only way to change this vector would be through machine
  732. language, just like it is done within the routine that Doc is using, he just
  733. needs a similar routine for putting the vector back. There is also a routine
  734. built into the BASIC rom that will restore all of the BASIC vectors. SYS 58451
  735. will do the job.
  736.  
  737. You know something? Jumping straight into the operating system like this is
  738. considered to be a no-no. That is why we have kernal jump tables so that
  739. future upgrades to the operating system will be compatible with existing
  740. software. Do you suppose that SYS 58451 will not work when Commodore upgrades
  741. the operating system in the 64? Just wondering... (and being stupid)
  742.  
  743.  ------------
  744. Category 5,  Topic 13
  745. Message 5         Thu Feb 02, 1995
  746. D.TUOMI [Doctor]             (Forwarded) 
  747.  
  748. I did try to change the vector back to the original value.  It, as Maurice
  749. stated crashed out the computer.  The funny thing is that when I wrote the
  750. routine into M/L, it had no effect.  True, I could put the default numbers
  751. back in there, but it didn't disable anything.  The routine continued working
  752. whether the vector was changed or not.  This is the part that is so mysterious
  753. to me, because I can't figure out HOW it still works.  I must be doing
  754. something wrong.
  755.  
  756. Doc.
  757.  ------------
  758. Category 5,  Topic 13
  759. Message 6         Thu Feb 02, 1995
  760. E.GBELL [e.g.bell]           (Forwarded) 
  761.  
  762.  Maurice:
  763.   MR> would seem that if this vector is changed from within BASIC,
  764.   MR> that you would most likely crash before the second byte of the
  765.   MR> vector is altered
  766.  
  767.  duhhhhhhhhh!  Yes, of course you are right Maurice.  It would have to be
  768.  done from ML.
  769.  
  770.   MR> also a routine built into the BASIC rom that will restore all
  771.   MR> of the BASIC vectors. SYS 58451 will do the job.
  772.  
  773.  He might not want to use that Maurice, since that would disable anything
  774.  else that might have been changed.  It might even affect JiffyDos, tho I
  775.  can't say that for 100% certain. 
  776.  
  777.  as far as jumping straight into system addresses, wonder what Fred Bowen
  778.  would say about that, particularly in the light of Ramdos.  :)
  779.  
  780.   DT> put the default numbers back in there, but it didn't disable
  781.   DT> anything.  The routine continued working whether the vector
  782.   DT> was changed or not
  783.  
  784.  I'm inclined to say this is impossible unless there is something else that
  785.  routine does that you did not see.  Check the error vector at 768/769 too.
  786.  Matter of fact, make sure all of the BASIC vectors are pointing where they
  787.  did before you installed the wedge.  If this is the only one you are using,
  788.  try Maurice's SYS to reinstall them, or if you are fussy, write a routine
  789.  to do it yourself.  One way would be to store them all when you first run
  790.  your program and recover them from there, which would make it easy to 
  791.  undo any future additions.  If the vectors are at their original points,
  792.  the routine cannot work.  It will never get called... matter of fact, you
  793.  should get syntax errors, which is why I said to check the error vector.
  794.  Things may be getting trapped there too.  
  795.  
  796.  ------------
  797. Category 5,  Topic 13
  798. Message 7         Fri Feb 03, 1995
  799. D.TUOMI [Doctor]             (Forwarded) 
  800.  
  801. It indeed looked impossible, till I tried something.  I disabled my RAMLink
  802. and tried my routine again.  It worked like a charm.  With the RAMLink out of
  803. the system the vectors could be changed and the I could disable the extension.
  804. I don't know why the RAMLink is interferring, but its the only logical
  805. explanation since my rotine does work correctly with it out of the loop.  I
  806. did find that Maurice's SYS call worked with either the RAMLink in or out. 
  807. Its probably what I'll use, as it seems to work correctly, and it doesn't
  808. disable JiffyDOS.
  809.  
  810. Doc.
  811.  ------------
  812. Category 5,  Topic 13
  813. Message 8         Mon Mar 13, 1995
  814. C128-QT.PIE                  at 17:59 EST
  815.  
  816.  I have an idea for a prg I've been wanting to create for some
  817.  time. Since it will be my first REAL program, I'd like to stick
  818.  to BASIC. Is there a routine available that will let me easily
  819.  grab a KOALA pic and display it within my program? My program will
  820.  be a shell program that I can use to create a sora demo which
  821.  will contain a Koala and various text files. But, I'd like to
  822.  be able to easily change the files displayed by this program.
  823.  
  824.  Does anyone understand anything I just said? <g> Any tips or
  825.  pointers will be greatly appreciated ;)
  826.  ------------
  827. Category 5,  Topic 13
  828. Message 9         Tue Mar 14, 1995
  829. D.BELTER                     at 04:04 EST
  830.  
  831. Yep,  I think so.  What you want is to display a Koala pic from Basic, right? 
  832. If I remember correctly all you have to do is lower basic top of memory and do
  833. a series of pokes.  Blast,  I can't seem to find the disk that the info is on.
  834. Someone should be able to tell easily. I know it was easy since I used to do
  835. in a couple of programs.
  836.  ------------
  837. Category 5,  Topic 13
  838. Message 10        Tue Mar 14, 1995
  839. CBM-MARK                     at 19:21 EST
  840.  
  841.  Sherry, don't know if this will be of any help but file #9541 MULTICLR-2-
  842. KOALA
  843.  is a basic program that saves a multicolor image on your C128 to a koala
  844.  file on disk.  I don't remember how well commented the program is but you
  845.  might be able to 'reverse engineer' off of it to write a basic program that
  846.  will read a koala file from disk and display it.
  847.  
  848.                    ~~Mark~~
  849.  ------------
  850. Category 5,  Topic 13
  851. Message 11        Tue Mar 14, 1995
  852. C128-QT.PIE                  at 21:50 EST
  853.  
  854. Thanks for the info, Mark ;)
  855.  ------------
  856. Category 5,  Topic 13
  857. Message 12        Thu Mar 16, 1995
  858. CBM-MARK                     at 20:27 EST
  859.  
  860. Don't know if that file will be much help but, you're welcome Sherry ;)
  861.  ------------
  862.  
  863. 5 ?