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

  1.  ************
  2. Topic 18        Thu Feb 11, 1993
  3. CBM-MARK                     (Forwarded) 
  4. Sub: RTC Master ->  Looking for help!       
  5.  
  6. A place to ask for help with RTC Master.
  7. 181 message(s) total.
  8.  ************
  9.  ------------
  10. Category 8,  Topic 18
  11. Message  91       Sun Jun 04, 1995
  12. B.MASSE [BIG BOB]            (Forwarded) 
  13.  
  14. Whoops!  This should have been posted in topic 18 of this cat. sorry. Someone
  15. who know how,  please delete this.... (the message before this one, also). Bob
  16. :) 
  17.  ------------
  18. Category 8,  Topic 18
  19. Message 92        Sun Jun 04, 1995
  20. CMD-DOUG                     at 23:04 EDT
  21.  
  22. Here's one thought for how you can test for the problem, Ed. When your NMI
  23. handler grabs the bank number to store it, do a compare to see if it's an 8.
  24. If it is, do something to indicate this to the tester, like print a message.
  25. If the code still breaks but the message doesn't print, then I'm wrong about
  26. the NMI. If the message prints, we know that an NMI is sneaking through
  27. somewhere. If the message doesn't print and the code no longer breaks, then
  28. odds are still that it was an NMI problem, but the relationship between NMI's
  29. and DOS access was shifted enough by the addition of the added code in your
  30. handler to avoid the problem.
  31.  
  32. The only other test I can think of would be far more involved, and that would
  33. be to do away with custom NMI's altogether. That method would have to start by
  34. making sure that stock NMI's were in effect before any DOS access was to occur
  35. as well, since a 128 could have been previously running a program with custom
  36. NMI's, and the vectors only get reset if the user starts from a machine that
  37. has been turnedoff--not simply reset. But rewriting a program of the size of
  38. RTCM to use stock RS-232 would be no simple matter, so I don't expect this is
  39. a method you'd want to try.
  40.  ------------
  41. Category 8,  Topic 18
  42. Message 93        Mon Jun 05, 1995
  43. C128.JBEE                    at 09:50 EDT
  44.  
  45.  BTW: I have just tested my hardware, removed my Egads ROM, hooked up 
  46.  RamLink and tried again with the same results. Though, this time when I
  47.  tried a SW1571 (1571 clone) and put it into C-64 mode with U0>M0 I was
  48.  able to copy a few files to the RamLink before it broke into the monitor.
  49.  All other times it does not even make it past accessing the RamLink.
  50.  
  51.  My RamLink is device #10, my FD-4000 (I also tried a 1581) is #8, and I
  52.  tried with the SW1571 as device #9.
  53.  
  54.  I have a SuperGold but I tried RTCM with the serial cable unplugged from
  55.  the SW71.
  56.  
  57.  Remember, I have not even signed on-line yet while using the copier! Though
  58.  I am wondering if the screen saver is causing some kind of problem with
  59.  another routine because the VDC and CPU are tied together. I also tried
  60.  RTCM as "is" without any of my defaults and noticed that the screen does not
  61.  even blank, it just turns another color when the saver kicks in. So, on my
  62.  C-128D the screen saver is not working, it just changes the screen to another
  63.  color. I did not notice this because my background is yellow and my text
  64.  is black. Though, I can see what looks like a raster line jumping all over
  65.  the screen as a visible black line.
  66.  
  67.  The kicker is while posting this message, the screen saver kicked in
  68.  while I was typing, it actually turned everything black, and I had to *x
  69.  my message, save my buffer, and reset.
  70.  
  71.  I do know that all the VDC versions and the newer VDC in the C-128D, all
  72.  have different default values on power-up for screen position, width, or
  73.  length, amoung other things. What I would consider is something generic
  74.  to blank the screen. Maybe
  75.  turn attributes off
  76.  save the background and foreground colors into a byte somewhere
  77.  then set both the background and foreground to black.
  78.  
  79.  I think the fancier you get with the VDC, including pushing it with
  80.  things as IPAINT, you are going to run into more problems when things
  81.  are undocumented on exactly what changes where made to each VDC revision.
  82.  Especially since the C-128D has a chip that is very different and from
  83.  what I can tell of the tech topics, there is more glue and a different
  84.  type buffer on the chip. I meant to ask Fred Bowen about that when he was
  85.  here but forgot :P
  86.  
  87.  For what it is worth.
  88.  ------------
  89. Category 8,  Topic 18
  90. Message 94        Tue Jun 06, 1995
  91. E.GBELL [e.g.bell]           at 18:24 EDT
  92.  
  93.  Doug:
  94.   DC> When your NMI handler grabs the bank number to store it, do a
  95.   DC> compare to see if it's an 8. If it is, do something to
  96.   DC> indicate this to the tester, like print a message. If the code
  97.   DC> still breaks but the message doesn't print
  98.  
  99.  Now THAT is a good idea!  I'm going to take a pass at that when I go on
  100.  vacation at the end of the week.  The hard part will be to find a way to
  101.  wedge it in and keep it in because memory is so tapped, but I can maybe
  102.  provide a PEEK to get the same info.  I know Eddie and John and Brenda
  103.  can do that.  And if it fixes it, or identifies it, I'm more than willing
  104.  to admit I'm a #%"$!%C!... o, speaking of #$%"A%$, I think the line noise
  105.  I am seeing in your messages may be from you *uploading the text...  just
  106.  a guess.
  107.  
  108.   DC> rewriting a program of the size of RTCM to use stock RS-232
  109.   DC> would be no simple matter
  110.  
  111.  Actually, RTCM uses two handlers, one for the SwiftLink, or one for user
  112.  port modems, to handle rs232.   Rewriting it would not be necessary
  113.  because all accesses are done via jump table to key routines...  but it
  114.  would probably choke on 2400 baud... I get kind of shaky tweaking the
  115.  resident rs232 routines for more speed.  That has always seemed to 
  116.  catch up to me in the protocols, among other places.
  117.  
  118.  John:
  119.   JB> more problems when things  are undocumented on exactly what
  120.   JB> changes where made to each VDC revision.  Especially since the
  121.   JB> C-128D has a chip that is very different
  122.  
  123.  You have a point.  I thought the scroll thing was the only thing that
  124.  changed in the other version.  Short of disabling the feature, I'm not
  125.  sure how to dance around this problem tho!
  126.  
  127.   DC> can't fix problems that can't be reproduced on our systems (and
  128.   DC> we have quite a few), and have to assume that such problems in
  129.   DC> the field mean either old version problems o bad hardware.
  130.  
  131.  This is exactly what I've been saying, and I don't mean that as a finger
  132.  pointing.... just that it is almost impossible to fix something I have not
  133.  been able to duplicate.  And I simply have not been able to duplicate any
  134.  of the results, which makes the RamLink look VERY good here.
  135.  
  136.  Maurice:  I have to study your post so I make sure I understand it.  I 
  137.  am willing to try most anything.  I don't have a lot of room, but 
  138.  I have always been able to find it when I needed it, even if it meant
  139.  taking something else out.  I do like Doug's debug idea tho...  It would go
  140.  a long way toward proving things one way or the other on neutral turf.
  141.  Just for the record, BTW, all of my IRQ routines and NMI handlers are in
  142.  common RAM.  I set the config to 16K common for this very reason.
  143.  Until I've read your message carefully, I'm not sure if that has any 
  144.  bearing on your suggestions... but if there is any chance they will help,
  145.  I assure you I'll give them a try.
  146.  
  147.  Thanks all!
  148.  ------------
  149. Category 8,  Topic 18
  150. Message 95        Tue Jun 06, 1995
  151. M.RANDALL2 [Maurice]         at 20:43 EDT
  152.  
  153. Ed,
  154.   One of the things you might want to keep in mind is that even though you
  155. have your routines in 16K of common ram, there is no guarantee that this
  156. common ram is always in use. Who's to say that the RamLink ROM isn't setting
  157. up a special configuration when it excercises one of it's routines and then
  158. puts the configuration back when it is finished? If at all possible, I would
  159. consider trying to have a copy of your NMI routines in both bank 0 and bank 1
  160. at the same addresses, just in case. Then if the NMI routine that is in the
  161. 'other' bank from the one that you normally use, you could recognize that fact
  162. and act on it accordingly.
  163.  
  164. Just a suggestion.
  165.  ------------
  166. Category 8,  Topic 18
  167. Message 96        Tue Jun 06, 1995
  168. C128.JBEE                    at 23:12 EDT
  169.  
  170.  set 8
  171.  reply 18
  172.  Ed, if you have room for the code, you could always throw the byte into
  173.  a VIC register which someone could read from the monitor.
  174.  
  175.  As for the screen blanker, to blank the screen like I suggested takes
  176.  about twenty bytes for the read and write.
  177.  ------------
  178. Category 8,  Topic 18
  179. Message 97        Thu Jun 08, 1995
  180. B.GANN1 [Brenda]             at 05:20 EDT
  181.  
  182.  Congrats on the new addition to the family! 
  183.  
  184.  News on the RL... I downloaded a bunch of stuff the other day with no
  185.  problems. (The RL was reconfigured though because I lost power.) 
  186.  
  187.  I think I might have forgotten to say that I have a 9 meg RL, clock, and
  188.  SwiftLink. Battery backup is not hooked up.  
  189.  
  190.  Brenda 
  191.  ------------
  192. Category 8,  Topic 18
  193. Message 98        Thu Jun 08, 1995
  194. B.GANN1 [Brenda]             at 05:22 EDT
  195.  
  196.  EB>> case of the problem Brenda and Eddie mentioned about BRKs in the boot
  197.  a the point of reading the clock 
  198.  
  199.  Uh, 'scuse me, but I don't think the clock was being read at the point my
  200.  two BRKs occured. If I remember right, the first one happened when I tried
  201.  to access the disk to load the quoter overlay as the screen was printing
  202.  the log on menu. (The list of like, 15 topics.) The second time, it
  203.  occured sometime during the download process. (But it did not start it at
  204.  all, I do remember that.) I also got a BRK when I was testing with a
  205.  computer that needed the timing clip. I'm not sure if that was what the
  206.  first BRK was from or if I have had 3 BRKs. Sorry, I'm usually way more
  207.  informative than this :/ 
  208.  
  209.  
  210.  Doug and Ed seem to be taking things a bit too personally. (Which I'm sure
  211.  I would be doing too, if I was personally involved.) But hey guys, the
  212.  BRKs might be a little of both, ya know? The more you boast how it can't
  213.  possibly be
  214.  -whatever-, the dumber you will feel if it turns out to be partly on
  215.  "your" side ;) 
  216.  
  217.  Brenda 
  218.  ------------
  219. Category 8,  Topic 18
  220. Message 99        Fri Jun 09, 1995
  221. E.GBELL [e.g.bell]           at 18:29 EDT
  222.  
  223.  Maurice:
  224.  Two things... 
  225.  First I went over and over your earlier post and could not figure out how
  226.  what you discussed had any bearing on my problem... your second post may
  227.  shed light on the link.  However....
  228.  
  229.   MR> RamLink ROM isn't setting up a special configuration when it
  230.   MR> excercises one of it's routines and then puts the
  231.   MR> configuration back when it is finished
  232.  
  233.  I would take it from everything that Doug has said to this point to
  234.  indicate that this is not the case.  Since the BRKs always occur in the
  235.  BASIC ROM area, I believe, and my NMI routines are down below address 
  236.  4096, I'm not inclined to think this is a possibility.  It is interesting
  237.  that you bring it up tho, because the very first versions of RTCM did 
  238.  just what you suggest, namely load the handlers to ram 0 and ram 1.
  239.  It seemed redundant, tho, with the common RAM.... I do know that common
  240.  ram is from RAM 0 tho.  I'd be interested to hear what Doug has to say
  241.  about the possibility of this happening tho.Dh
  242.   * z m  IIn addition, if what Doug has suspected is correct, the only proper 
  243.  solution is to disable them entirely.... which I believe I have done
  244.  consistently.  But for curiB  # j      Ad  l  3    osity's sake, do you have
  245. a recommendation
  246.  on what action should be taken if a routine finds itself executing in
  247.  ram 1 instead of common RAM.   I'm not even sure what all the 
  248.  ramifications of your suggestion are... my IRQ routines are also in
  249.  that 16K common RAM.
  250.  
  251.  I uld also set up the BRK vector to point back to somewhere
  252.  innocuous.... that moight be dumb tho... I'm just running things thru my
  253.  mind... but if you are correct and RL is changing my common RAM setting,
  254.  that scares me a little.  Doug?  Is this a possibility?
  255.  
  256.  Brenda:  I'm willing to feel a little dumb... even very dumb.. and don't
  257.  worry about more heat cuz it ain't gonna happen.  I understand that 
  258.  things happen and that my code is not ever perfect.... never will be.
  259.  As far as I'm concerned, being willing to admit at least the possibility
  260.  that something is your fault, at least in part, is the start of solving
  261.  the problem.
  262.  ------------
  263. Category 8,  Topic 18
  264. Message 100       Fri Jun 09, 1995
  265. C128.JBEE                    at 19:58 EDT
  266.  
  267.  Ed,
  268.  Your last post was slightly garbled for a few lines.
  269.  ------------
  270. Category 8,  Topic 18
  271. Message 101       Fri Jun 09, 1995
  272. M.RANDALL2 [Maurice]         at 20:17 EDT
  273.  
  274. Ed,
  275.   I know that some of the stuff I did with the NMI's wouldn't pertain to what
  276. you are doing, but it doesn't hurt to tell about it just in case it might make
  277. you think of something. However, I would still check out the common ram thing.
  278. A couple of years ago, I was investigating something with RamLink and
  279. discovered that it does indeed mess with the ram banks. One of the kernal
  280. routines that alters the bank is SETNAM when RamLink is using it for it's own
  281. purpose such as setting up a filename to search for maybe. It's been awhile
  282. and I would have to check into it again but this routine seems to ring a bell
  283. (no pun intended, Ed). It might not have been SETNAM, but I remember it had to
  284. do with filename handling. -Maurice
  285.  ------------
  286. Category 8,  Topic 18
  287. Message 103       Sat Jun 10, 1995
  288. B.GANN1 [Brenda]             at 00:56 EDT
  289.  
  290.  Ed> Brenda:  I'm willing to feel a little dumb... even very dumb.. and
  291.  don't worry about more heat cuz it ain't gonna happen. 
  292.  
  293.  I was getting ready to duck from those pies you guys seemed about to
  294.  throw
  295.  ;) 
  296.  
  297.  Brenda 
  298.  ------------
  299. Category 8,  Topic 18
  300. Message 104       Sat Jun 10, 1995
  301. E.GBELL [e.g.bell]           at 13:48 EDT
  302.  
  303.  John:
  304.   JB> about twenty bytes for the read and write.
  305.  
  306.  Could you post that code. 
  307.  
  308.  I'll post my code a in the next message.
  309.  ------------
  310. Category 8,  Topic 18
  311. Message 105       Sat Jun 10, 1995
  312. E.GBELL [e.g.bell]           at 13:53 EDT
  313.  
  314.  Here is my screen blanking/unblanking code John...
  315.  
  316.  780 ;
  317.  785 ;-----<blank screen during painting>
  318.  790 .u
  319.  795 blankit lda #100
  320.  800 .byte 44
  321.  805 ;
  322.  810 ;-----<unblank screen after painting>
  323.  815 .u
  324.  820 unblankit lda #125:sta light.switch
  325.  825 ldx #34:jsr pokevdc
  326.  830 jmp lights.high;             reset irq timer for lights out
  327.  835 ;
  328.  
  329.  The executing code is all right here.  The variables are just to make sure
  330.  the IRQ timers get set/unset properly.   It can be changed, of course.  I'm
  331.  interested to see what you are suggesting.
  332.  ------------
  333. Category 8,  Topic 18
  334. Message 106       Sat Jun 10, 1995
  335. E.GBELL [e.g.bell]           at 14:07 EDT
  336.  
  337.  John:
  338.  I don't understand the line noise.  I'm not uploading text... I'm typing
  339.  it in... I'm fast, but I don't think I'm THAT fast.  :)
  340.  
  341.  Maurice:
  342.   MR> investigating something with RamLink and discovered that it
  343.   MR> does indeed mess with the ram banks
  344.  
  345.  This is PRECISELY the kind of thing I've been talking about all along
  346.  Maurice... that even when you follow the 'rules', there may be something
  347.  odd afoot that you should have no reason to even expect.  I know, and I
  348.  know you and Doug both know, that the bigger a program gets, the harder
  349.  it gets to anticipate the effect small changes have on every other part
  350.  of the program, whether by overwriting variables, registers, aliasing,
  351.  or just rippling effects of one thing on another.  That is why I have been
  352.  unwilling to say something absolutely COULD NOT be the problem.  
  353.  
  354.  Your suggestion, if it did have to do with filename handling, and 
  355.  specifically if it messes with the common ram setting, could be causing
  356.  some if not all of the problems.  I'm not going to jump on that as 100%
  357.  the answer.   But this is exactly the kind of thing I've been railing
  358.  about when I start to rail.  To me, this would not negate the value of
  359.  having a RamLink... neither would any problem like this... it would not
  360.  even argue against buying one.  People are still buying 128's, even with
  361.  all of the built-in bugs in its operating system.  Things would just be
  362.  a LOT easier if these things were published and/or acknowledged.
  363.  Thanks!  I'm going to have to try to figure out how to work this in.  My
  364.  vacation has been cancelled so I am not going to have the time I 
  365.  anticipated.  :(  But I'm going to explore how to go about it.  Thanks
  366.  again!
  367.  ------------
  368. Category 8,  Topic 18
  369. Message 107       Sat Jun 10, 1995
  370. CMD-DOUG                     at 21:45 EDT
  371.  
  372. >  MR> investigating something with RamLink and discovered that it >  MR> does
  373. indeed mess with the ram banks
  374.  
  375. > This is PRECISELY the kind of thing I've been talking about all along >
  376. Maurice... that even when you follow the 'rules', there may be something > odd
  377. afoot that you should have no reason to even expect.
  378.  
  379. I'm not aware of RAMLink changing anything WHILE a user-controlled program
  380. SHOULD be in effect. It does all kinds of odd mapping during times when a user
  381. program SHOULDN'T be in effect. When we say that if you follow the standard
  382. rules that programming for RAMLink should be no different than programming
  383. with anything else, that's what we mean. RAMLink can do nothing until a Kernal
  384. serial access routine is called. After the call is executed, RAMLink returns
  385. everything back to the way it was before the call, with the exception of
  386. returning values that should be returned.
  387.  
  388. Maurice can possibly run into some things that the standard programmer would
  389. not, however, since he's using RAMLink under GEOS with RAMLink's GEOS
  390. driver... this will indeed bypass normal DOS functons at certain times, and
  391. some functions under GEOS will manage the RAMLink hardware directly.
  392.  
  393. It IS possible that what Maurice was talking about (some change in the RAM
  394. configuration after returning from SETNAM or some other DOS call) existed at
  395. some point as a bug. I'm not aware of it existing at this point in time. I'd
  396. be happy to present any proof of this existing in the current DOS to Mark so
  397. that it could be fixed. Bear in mind, NO-ONE has reported the existace of such
  398. a bug in the current version of RL-DOS.
  399.  ------------
  400. Category 8,  Topic 18
  401. Message 108       Sun Jun 11, 1995
  402. C128.JBEE                    at 08:28 DT
  403.  
  404.  Ed,
  405.  Here is the code I use, a bit longer than yours but it should work on
  406.  all machines. You could cut off 15 bytes or so by not checking values
  407.  and just writing the values you know should be in reg#25.
  408.  
  409.  ---------------------------
  410.  ; screenblank
  411.  ;---------------------------
  412.  screenblank
  413.    jsr bank            ;set proper bank for i/o
  414.    ldx #$1a            ;load x with vdc register to read, #26, Back/Foreground
  415.    jsr vdcread         ;colors and jsr vdcread routine
  416.    sta screenbnk1      ;value left in A. store for restore on keypress
  417.    lda #$00            ;X. should still hold dest register#26
  418.    jsr vdcwrite        ;after this routine is called, X. $00 equals black
  419.                        ; for back/foreground colors
  420.    dex                 ;we want 25, so DEX to save a few bytes,
  421.    jsr vdcread         ;register 25 value left in A.
  422.    and #%10111111      ;mask out bit 6 and set to zero = attributes off
  423.    jsr vdcwrite        ;X. should still be holding $19 
  424.                        ; no need to load dest X. register
  425.    rts
  426.  
  427.  screenunblank
  428.    jsr bank            ;set proper bank for i/o
  429.    ldx #$19            ;load X. for reg 25
  430.    jsr vdcread         ;once we get the value, do not reload .X 
  431.                        ; with reg value
  432.    ora #$01000000      ; as it should still be there
  433.    jsr vdcwrite        ;
  434.    inx                 ;X. should contain reg#25, increase for one for reg26
  435.    lda screenbnk1      ; which is the Back/Foreground color register
  436.    jsr vdcwrite
  437.    rts
  438.  screenbnk1
  439.    .byt 000
  440.  ;
  441.  ------------
  442. Category 8,  Topic 18
  443. Message 109       Sun Jun 11, 1995
  444. E.GBELL [e.g.bell]           at 16:05 EDT
  445.  
  446.  Doug:
  447.   DC> I'm not aware of RAMLink changing anything
  448.  
  449.   DC> I'm not aware of it existing at this point in time
  450.  
  451.   DC> NO-ONE has reported the existace of such a bug in the current
  452.   DC> version
  453.  
  454.  Consider this borne in mind...  But lack of awareness is not the same as
  455.  a blanket statement that something doesn't exist.  I am aware, as I've
  456.  always been, that it is easier for me to tweak my code to make nice with
  457.  your firmware than it is for you to tweak your firmware to make nice with
  458.  all NMI handlers.  I accept that.  I also accept that fact that it is
  459.  quite possible that something in my code may be the sole culprit... I
  460.  if I have not conveyed that properly, I'm sorry.  My point all along has
  461.  been that it is also possible that there is something more here than meets
  462.  the eye.
  463.  
  464.   DC> that what Maurice was talking about (some change in the RAM
  465.   DC> configuration after returning from SETNAM or some other DOS
  466.   DC> call) existed at some point as a bug
  467.  
  468.  I was not aware that GEO programmers used CBM kernal routines, so I'm not
  469.  sure (if I'm correct about that) that Maurice's experience with exits 
  470.  from that routine can be explained away by pointing at his being a user
  471.  of an alternate operating system.  I would also like to point out to 
  472.  everyone reading this... or at least to ask reasonable people who are
  473.  reading this.... to see that if you acknowledge that there have been
  474.  reported bugs, it is also implicit that they are possible still.  If 
  475.  you are discounting that Mark's code (it is Mark's, right... that is the
  476.  impression I've had of your posts, that it is Mark's code you seem to be
  477.  saying is infallible) could conceivably have any kind of shortcoming,
  478.  congratulations are in order.  If neither you nor Mark are willing to say
  479.  that every piece of code you write is 100% perfect, then how can you be
  480.  unwilling to explore other possibilities.  And if your code IS 100%
  481.  perfect, why are there different versions?  Is there a way to easily 
  482.  determine the version of RLDOS... perhaps we are dealing with something
  483.  that earlier versions are susceptible to.  That would explain, perhaps,
  484.  why you would not see it, but why older customers might.  This is not
  485.  an accusation... just entertaining ideas.  (BTW, by 'older customers, 
  486.  I'm talking about the age of the RamLink, not the customer)
  487.  
  488.  A bug is a bug, even before being reported.  Some take longer to find, or
  489.  more exposures to different configurations, etc.  Maurice recently found
  490.  something like this w/the modem thing he reported.  I could be wrong, but
  491.  I suspect as more people start using GEOFAX with mutant modems, etc. more
  492.  weird stuff is going to occur... perhaps not.  I still remember a time
  493.  when people were not only discounting the SAVE@ bug, but even offering 
  494.  rewards to anyone who could prove it existed.  Lack of proof at the time
  495.  did not make it go away.  I really feel that I have an open mind about
  496.  this thing.  I'm going to find, if not the problem, some kind of workaround.
  497.  And I am not going to categorically rule out anything... including my
  498.  code.
  499.  
  500.  For my part, I'm willing and eager to entertain any and all suggestions
  501.  and even implement them where possible.  I'm not averse to wholesale
  502.  changes.  My code is not perfect... nor will it ever be.  If you are 
  503.  willing to say in public that your code, or Mark's, is absolutely beyond
  504.  suspicion, fine.  Not much room to wiggle with that, and I have a feeling
  505.  that kind of public statement would come back to bite later.  Maybe not.
  506.  I only know that I won't make such a statement.  But let's face it...
  507.  there have been reports of problems over the years.  I could easily go 
  508.  back and find them in the RL category.  That is the nature of this stuff.
  509.  I fully plan to give Maurice's suggestion a try, at least in copying a
  510.  duplicate of my NMI stuff into ram 1...  I'd have changed it to restore
  511.  the banks or something but my vacation got cancelled for this week and
  512.  I have just not had the time.  I do plan, also, on trying to figure
  513.  a way to implement your suggestion about the debug byte, tho later 
  514.  thought tells me that it would not work just the way you suggested... I
  515.  think it would have to be that I put a value in a predictable register
  516.  at the start of the NMI routine and zapped that at the end so that I'd
  517.  know if the BRK occurred during an NMI... if the value was there, it did,
  518.  if not, it didn't.  Tho I guess that value could be the MMU setting...
  519.  anyway, I am on vacation starting this coming Saturday... (the Friday
  520.  of the following week was taken from me too... darn! )  But I fully 
  521.  intend to explore all possibilities on my end.
  522.  ------------
  523. Category 8,  Topic 18
  524. Message 110       Sun Jun 11, 1995
  525. E.GBELL [e.g.bell]           at 17:05 EDT
  526.  
  527.  John:  I've looked at your code and I have a question or two.  If you
  528.  disable attributes and then change the foreground and background colors
  529.  to black, or whatever color, is that going to prevent the system from
  530.  maintaining the characters, etc on the screen?  I thought they would be
  531.  painted to the screen no matter what.  If I'm correct, 'blanking' the
  532.  display by making everything the same color won't protect the screen from
  533.  burn-in, which is what I intended with the blankit routine.  If I'm not
  534.  correct in my assumption, that is something else and I'll have to squeeze
  535.  your code in... just before I go to that work I want to make sure the most
  536.  important function is preserved, because without that there is no reason to
  537.  blank the screen at all.
  538.  
  539.  Another way might be to tweak my routine, if that is possible, to work 
  540.  with your machine.  I can do a BASIC loader that would allow you to try
  541.  different values to see if it is possible... unless you are sure what I'm
  542.  asking above is just incorrect... I just don't know for sure.
  543.  ------------
  544. Category 8,  Topic 18
  545. Message 111       Sun Jun 11, 1995
  546. CMD-DOUG                     at 18:09 EDT
  547.  
  548. Ed,
  549.  
  550. I've never once stated that we haven't had bugs in the past, or that others
  551. may exist that we aren't aware of in the current version. Matter of fact, I
  552. believe I've mentioned that we do indeed fix bugs when someone can supply us
  553. with a way to verify them, or when we locate them ourselves. I will, however,
  554. point out that the current version of RL-DOS has been around quite a while,
  555. and that wouldn't be the case if we were still running into bugs that were
  556. affecting the operation of programs. IOW, it would appear that any currently
  557. remaining bugs aren't affecting the operation of programs enough for anyone to
  558. point them out to us. The last 'official' bug report I saw for RAMLink was so
  559. long ago that I can't even remember what it was. No, Mark doesn't write
  560. perfect code, and nobody I know does. But he does write very well, and he does
  561. a pretty good job at testing and debugging it. If my life hinged on a properly
  562. written routine, I'd give the job to Mark, no hesitation.
  563.  
  564. All this is neither here nor there, though. I cannot go into work and tell
  565. Charlie Sr. that we have to pull Mark off of production and his other projects
  566. to start digging through RAMLink in search of a bug that in all likelihood
  567. doesn't exist. If I can offer some proof of a real bug, that's a different
  568. story. Until then, the matter is moot. I just really think that before we can
  569. make any further assumptions, we need to know what the results are from the
  570. test I outlined to you. I far prefer to deal with facts when I know they're
  571. obtainable.
  572.  ------------
  573. Category 8,  Topic 18
  574. Message 112       Sun Jun 11, 1995
  575. C128.JBEE                    at 19:48 EDT
  576.  
  577.  Ed,
  578.  Just a thought about your code hanging. For some reason FFAB (UNTLK) when
  579.  using burst mode hangs when using JiffyDos/RamLink/FD-4000 for me. It does
  580.  not when using a C-1581, just with the FD-4000. So, after tracing the code
  581.  back and forth across the ROMS I came to the conclusion all I had to do
  582.  was add a CLI after calling FFAB to cure ARC/CS-DOS from hanging on "some"
  583.  computer systems.
  584.  
  585.  I tried tracing all the possible exit routes to see if a CLI was sent after
  586.  all those SEI in the FFAB routine but after spending hours just finding out
  587.  why ARC hanged, I gave up seeing why it hanged with JiffyDos/RL/FD and added
  588.  the CLI. Since the overlays break upon disk access, I would double check to
  589.  make sure your SEI/CLI commands are in place before and after calling any
  590.  routines used for disk access/burst mode.
  591.  
  592.  I did try to see where the differences are in the original CBM ROMs and
  593.  JD/RL by using the Internals Book, but, it is too much work to spend doing
  594.  it when I now know a simple CLI after accessing the routine will do.
  595.  ------------
  596. Category 8,  Topic 18
  597. Message 113       Sun Jun 11, 1995
  598. C128.JBEE                    at 20:09 EDT
  599.  
  600.  Ed,
  601.  How I look at it is the monitor is going to be redrawing the screen 60
  602.  times a second no matter what you do with the VDC and its signal. When you
  603.  say "burn in" to me that means seeing visible characters or ghosts burnt
  604.  into the screen because of the differences between the characters and the
  605.  background. Which is best for a monitor, blanking the screen by setting
  606.  or changing the beginning or the end of the display scan, blanking with an
  607.  all white screen, or an all black screen, or something else? I do not know.
  608.  
  609.  Disabling attributes does not prevent you from writing to VDC ram, it is
  610.  just telling the chip not to use the information it finds. Once you enable
  611.  attributes, the VDC will use whatever is there for attributes.
  612.  
  613.  When attributes are disabled you can not use flash, the second character
  614.  set, etc. They are ignored, but once enabled, it will use whatever was
  615.  placed in DRAM.
  616.  
  617.  I can try a revised BASIC loader, though with six different flat 128
  618.  revisions and at least one VDC revision for the C-128D, we have seven
  619.  potential types to test, at least. Though considering the defect rate
  620.  of the early 7/8 rev. numbers, all we probably have to worry about is
  621.  R9a/b and the C-128D.
  622.  ------------
  623. Category 8,  Topic 18
  624. Message 114       Mon Jun 12, 1995
  625. CMD-DOUG                     at 00:43 EDT
  626.  
  627. JBEE,
  628.  
  629. Does the ARC code clear Status prior to each of the primitive DOS calls? I've
  630. found that not doing so has generally caused lockups at some point, especially-
  631. -though not exclusively--in 128 mode. I've only had it happen to me once in 64
  632. mode, but putting those clears straightened things right out. Ever since, I
  633. start every one of my DOS primitive subroutines with an LDA #0, STA $90.
  634.  ------------
  635. Category 8,  Topic 18
  636. Message 115       Mon Jun 12, 1995
  637. E.GBELL [e.g.bell]           at 06:02 EDT
  638.  
  639.   JB> For some reason FFAB (UNTLK) when  using burst mode hangs when
  640.   JB> using JiffyDos/RamLink/FD-4000 for me. It does  not when using
  641.   JB> a C-1581, just with the FD-4000
  642.  
  643.  John:  I don't use burst routines or low level routines, with the
  644.  exception of the ARC code, and even there, I don't think I use them that
  645.  often... some that were like that I changed to higher level routines
  646.  because there was no need to do them lower than that.
  647.  
  648.  As for the status byte, it is cleared where Chris cleared it and I don't
  649.  have problems on my end with any hanging with stuff like that.  If you
  650.  are referring to what I said about the RL and the full partitions, I
  651.  don't know that I clear interrupts after those calls, but as i said,
  652.  none of my routines are low level calls in the main program.
  653.  
  654.  The only places I DO use low level routines are in places where more 
  655.  than one drive is used simultaneously... examples would be the copier and
  656.  archiver, where a source AND a target drive are in use at the same time.
  657.  The reason is that I have to constantly monitor error channels and felt
  658.  it was better not to open multiple error channels.  I don't do anything
  659.  erotic... just standard access, albeit via the low level routines, and
  660.  those for error channel polling only.
  661.  
  662.  Doug:  I am on vacation starting this Saturday.  I fully intend to give
  663.  everything suggested a try.
  664.  
  665.   JB> When you  say "burn in" to me that means seeing visible
  666.   JB> characters or ghosts burnt  into the screen because of the
  667.   JB> differences between the characters and the  background
  668.  
  669.  Ok, I thought that burn-in was caused by the phosphors being worn out
  670.  or something like that, and that it was totally unrelated to color.  If
  671.  that is not correct, then I'll have to give your code a try.  It is 
  672.  less work than cooking up a hack to twiddle on other machines.... just
  673.  a problem wedging it into virtually no room.
  674.  
  675.  ------------
  676. Category 8,  Topic 18
  677. Message 116       Fri Jun 16, 1995
  678. B.GANN1 [Brenda]             at 22:23 EDT
  679.  
  680.  Ed... here is something interesting... I had just called GEnie with RTCM.
  681.  I saved the buffer with C= W. Put The Write Stuff in the 81. Reset (not
  682.  turned off) the computer. Now I hope I am remembering this part right... I
  683.  needed to do a cp3 on the HD. So I guess it was when I pressed control -
  684.  up arrow, TWS broke to the monitor. It would not let me exit with x. It
  685.  just printed a question mark. I pressed reset and am using TWS now with no
  686.  further problems. Here is what the break said...
  687.  
  688.  pc     sr  ar  xr  yr  sp
  689.  7e0bb  30  0c  0c  1c  f3
  690.  
  691.  This has never happened before. There was NO RL access during this time.
  692.  (I might have looked at a directory before booting RTCM though.)
  693.  
  694.  Like I said in an earlier message, it seems all my brks to the monitor
  695.  happen at the very beginning of disk access. And now, it doesn't even
  696.  matter if it is the HD and not the RL.
  697.  
  698.  Brenda
  699.  ------------
  700. Category 8,  Topic 18
  701. Message 117       Fri Jun 16, 1995
  702. B.GANN1 [Brenda]             at 22:24 EDT
  703.  
  704.  Oops, I did not press reset when TWS broke to the monitor. I pressed
  705.  run-stop/restore.
  706.  
  707.  Brenda
  708.  ------------
  709. Category 8,  Topic 18
  710. Message 118       Sat Jun 17, 1995
  711. B.GANN1 [Brenda]             at 23:05 EDT
  712.  
  713.  Ed... more interesting stuff... I turned on the computer and loaded TWS. I
  714.  typed for a while and then tried to save it. My HD was off. I was saving
  715.  to the FD. (I might have had TWS set to the HD though.) When I typed the
  716.  filename, I got this...
  717.  
  718.  pc 7e0bb
  719.  sr 30
  720.  ac 0c
  721.  xr 0c
  722.  yr 1c
  723.  sp f5
  724.  
  725.  Then I tried again. It broke to the monitor again. I accidentally scrolled
  726.  the screen so I do not have the registers. I tried a 3rd time, and got
  727.  this...
  728.  
  729.  pc e43150
  730.  sr 30
  731.  ac 78
  732.  xr 0a
  733.  yr 00
  734.  sp f7
  735.  
  736.  Then I got it to save. I don't remember if I pressed run/stop, or turned
  737.  the HD on, etc.
  738.  
  739.  RTCM was not booted before this problem. RL was not accessed. 
  740.  
  741.  Sorry for bothering you if this problem is not related to RTCM. When it
  742.  happened before, it happened after RTCM had been running. I tried to
  743.  recreate the error (I just got off GEnie). I turned the HD off before
  744.  trying to change devices. (control - d) It just looked like it ignored me.
  745.  No messages or anything. But it did not break. This has not happened
  746.  before since the first time the other day.
  747.  
  748.  Brenda
  749.  ------------
  750. Category 8,  Topic 18
  751. Message 119       Sun Jun 18, 1995
  752. E.GBELL [e.g.bell]           (Forwarded) 
  753.  
  754.  Brenda:
  755.   BG> So I guess it was when I pressed control -  up arrow, TWS broke
  756.   BG> to the monitor. It would not let me exit with x. It  just
  757.   BG> printed a question mark. I pressed reset and am using TWS now
  758.   BG> with no  further problems
  759.  
  760.   BG> turned on the computer and loaded TWS. I  typed for a while and
  761.   BG> then tried to save it. My HD was off. I was saving  to the FD.
  762.   BG> (I might have had TWS set to the HD though.)
  763.  
  764.  I was confused at first.... thought perhaps you were typing TWS when you
  765.  meant to type RTCM, but I figured out when you mentioned pressing CTRL-
  766.  UPARROW that you were trying to send DOS commands thru TWS
  767.  
  768.  Exiting RTCM through either a RESET or the C=ESCAPE exit does a system
  769.  reset through the normal reset vector AFTER disabling the NMIs.  So you
  770.  would not be carrying problems from one program to the next.  Further 
  771.  evidence of this is the fact that when you did it from a cold start (
  772.  power turned on/load TWS) the same result, including the same BRK, 
  773.  occurred.
  774.  
  775.  I can't tell you what is using the '7' in your 'pc' status indicator.
  776.  I *can* tell you this tho... the memory in context when the mmu has a 7
  777.  is the following:
  778.  
  779.  0400 - 3fff   Ram 0
  780.  4000 - 7fff   Ram 0
  781.  8000 - Beff   Internal ROM
  782.  D000 - DFFF   Character Gen
  783.  C000 - FFFF   Kernal ROM
  784.  
  785.  This kind of points away from the RamLink because it maps in as an
  786.  external ROM I'm pretty sure, which is the '8' I mentioned in earlier
  787.  posts.  What you are experiencing kind of points, in my mind, to a 
  788.  chip or something in that empty slot in the 128.  I'm not a real expert
  789.  on that stuff, but I think that is the only place you can map in internal
  790.  ROMs.  Do you have anything in that socket Brenda?
  791.  
  792.  In addition, if this is a fluke and that 7 is not relevant, it has always
  793.  been my understanding that non-existent banks map into either ram 1 or
  794.  ram 0 depending on whether they are odd or even, if you know what I
  795.  mean...  iow Bank 3 = bank 1... that may not even apply to an MMU setting
  796.  tho.
  797.  
  798.  Something is apparently routine 'traffic' to address $E0B9.  A BRK always
  799.  shows up in the 128 monitor 2 address locatsions AFTER the location that
  800.  caused the BRK.
  801.  
  802.  RTCMaster does not use $E000 - $FBFF for anything under most situations.
  803.  The data block at $E000 stores the music data under normal circumstance.
  804.  Never executable code.  When it is needed by an overlay, the overlay
  805.  restores the music data on exit.  What *does* happen sometimes in programs
  806.  is that programs modify themselves or use indirect JMPs, and the pointers
  807.  get corrupted somehow.   And since these can often get set using other
  808.  pointers into address tables, they can be boogers to track down.
  809.  
  810.  I don't know anything about the CMD HDs.  Only what I've already said about
  811.  the RL.  And my vacation weeks (last week and this week) got cancelled so
  812.  I haven't even had time to experiment.
  813.  
  814.  I would still be interested to  hear if there is a command or something
  815.  that can be issued to CMD devices to determine the DOS version in the
  816.  unit.  As I've said consistently, the unit I have has virtually none of
  817.  the problems everyone else has described.  I'd be interested if we could
  818.  isolate this stuff to perhaps a specific version of the DOS, for whatever
  819.  reason.  iow, is the version I have newer than everyone else's, or older?
  820.  
  821.  BTW, FWIW, TWS, as far as I know, does not do telecom.  I don't think it
  822.  does anything to the NMI vector, and the only way you would get an
  823.  interrupt there otherwise would be pressing the RESTORE key.
  824.  
  825.   BG>  Sorry for bothering you if this problem is not related to
  826.   BG> RTCM. When it  happened before, it happened after RTCM had
  827.   BG> been running
  828.  
  829.  Trust me!  You are NOT bothering me.  I'm open to ANYTHING that will solve
  830.  the riddle.  As a matter of fact, tho it is not good for you, it does 
  831.  at least give me some comfort that it is not only my program experiencing
  832.  it.  The best way to find these things is by talking about them, especially
  833.  since no one can have every possible configuration on their desk.... 
  834.  especially with telecommunications, but as your experience shows, it is not
  835.  necessarily restricted to that... and if it happened once, it will happen
  836.  again I'm sure.  As a matter of fact, I want to thank you for telling us
  837.  about this.  As more things are revealed, we will close in on it... 
  838.  ed
  839.  ------------
  840. Category 8,  Topic 18
  841. Message 120       Sun Jun 18, 1995
  842. B.GANN1 [Brenda]             at 23:46 EDT
  843.  
  844.   
  845.  EB>> I was confused at first.... thought perhaps you were typing TWS when
  846.  you
  847.   meant to type RTCM, but I figured out when you mentioned pressing CTRL-
  848.   UPARROW that you were trying to send DOS commands thru TWS.
  849.  
  850.  Uh, sorry. I guess I was taking too much for granted.
  851.  
  852.  EB>> but I think that is the only place you can map in internal ROMs.  Do
  853.  you have anything in that socket Brenda?
  854.  
  855.  Uh oh, now it is really getting scarey... no I do not have anything in
  856.  that socket.
  857.  
  858.  re: stuff
  859.  
  860.  I don't know how much of that stuff I followed :)
  861.  
  862.  EB>> I would still be interested to  hear if there is a command or
  863.  something that can be issued to CMD devices to determine the DOS version
  864.  in the unit. 
  865.  
  866.  When you first turn the drive on, read the error channel. I have version
  867.  1.86. 
  868.  
  869.  The weird thing is that I never had a BRK with TWS before, and I am a
  870.  heavy user. I have the parallel cable, but it is not hooked up. My RL has
  871.  an old DOS (I think 2.0.) I got 2.01, but have not installed it yet. My HD
  872.  is from 9/91. I recently upgraded the DOS from 1.82 (?) so I could use the
  873.  parallel cable whenI got it. I just recenty hooked up the RL, an FD, and a
  874.  Canon BJ200EX. (just need a ZIP ;D) A 1581 was disconnected to make room
  875.  for the FD. The printer is normally off. (Before, I normally had a Star
  876.  SG-10 and left it on.)
  877.  
  878.  Now one thing I did not mention before, was that I noticed RL was kinda
  879.  sitting up high in the port. The SL was pressed against the edge of the
  880.  desk and was pushing the whole unit up. I don't know if this could have
  881.  affected it or not.
  882.  
  883.  EB>> BTW, FWIW, TWS, as far as I know, does not do telecom.
  884.  
  885.  Correct. The weird thing is, it happened one day. Then the next day, it
  886.  happened 3 times in a row. I wonder if something could be going out in the
  887.  flat?
  888.  
  889.  EB>> Trust me!  You are NOT bothering me... As a matter of fact, I want to
  890.  thank you for telling us about this.  As more things are revealed, we will
  891.  close in on it... 
  892.  
  893.  Thanks, and you're welcome! ;) Let's nail this thing! :D If anyone else
  894.  has BRKs, please mention it. No program should do this. Anytime it
  895.  happens, the programmer wants to know about it. (I saw this because some
  896.  people think that the programmer just puts out buggy programs. I think 99%
  897.  of programmers want to be told when something goes wrong. I know I do)
  898.  
  899.  Brenda
  900.  ------------
  901.  
  902. 8 |