home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / c128 / programming / weehack128.lnx / weehack.txt.seq < prev   
Text File  |  1999-08-02  |  3KB  |  78 lines

  1.  
  2. Instructions for Monitor Hack
  3. Wee Hack 128
  4.  
  5. Commands available:
  6.  
  7. b t 0 dl dp dr R
  8.  
  9. With this hack, you can now set breakpoints in the regular monitor.
  10. A breakpoint is a point in code at which a BRK is set.  This is
  11. like STOP in BASIC.  It lets you stop, and check out how your code
  12. has fared in its desired operation.  You can set one breakpoint.
  13. To do this, just move your cursor along your disassembled code, and
  14. press B on that line where you want your breakpoint set.  It makes a
  15. beep.  Done.
  16.  
  17. Now of course, you execute your code, before that point, with the G
  18. command.  When it gets to the breakpoint, it is unset.
  19.  
  20. If before then, you wanted to unset your breakpoint, there is a
  21. command that will do this.  Type 0.
  22.  
  23. Capital R is a reset command.  If something goes awry in a program, this
  24. might help (not guaranteed of course).  Principally video reset.  Also,
  25. whenever you type R it sets the processor to 2 Mhz operation.  Just
  26. something I wanted.
  27.  
  28. This hack also provides a little alteration to the D command.
  29. Additional parameters are featured.  In the midst of disassembling, you
  30. can use one called DL [Length in bytes].  For example, DL50 will
  31. disassemble 50 (hex) bytes from the current point.
  32.  
  33. Another parameter is DP.  P here stands for Program Counter.  It
  34. disassembles from the Program Counter.  Another is DR.  This
  35. disassembles a routine.  If you find a JSR in code, cursor to it, and
  36. type DR.  A slight variation occurs if you type DR on a blank line.  In
  37. this case, the "main" routine is disassembled.  How does it decide this?
  38. Well, it takes the last object code you loaded, and disassembles from
  39. the beginning.
  40.  
  41. That's about it for commands.  Now, for clarity, I might as well add
  42. some notes.  Naturally, if you're going to use BRK commands to Stop
  43. at points in your code, you don't really want the typical operation
  44. of the BRK monitor response.  It retrieves the program counter as
  45. PC+2.  Not good.  So, this hack does make it so we are left at PC.
  46. It only corrects it when we come out of a breakpoint.
  47.  
  48. Don't know if you've ever noticed, but the built-in C128 monitor
  49. has a bug.  This appears in the BRK return code.  Suppose that you
  50. are in some bank, like oh say bank 0, while code executes.  It Brks
  51. out.  Guess what?  Now the monitor reports that it left from code
  52. executing in bank 15!  It reports the bank wrong.  Well, this hack
  53. fixes that error.
  54.  
  55. Last command is T.  This is actually just the same B command.  But
  56. with a twist.  It sets a breakpoint for you.  It takes the current
  57. PC, locates the instruction after that, and puts the breakpoint
  58. there.  Also, it then executes G for you.
  59.  
  60. This allows you a semblance of a Tracing operation.  For this, you
  61. would want to add a Key definition really.  The boot file for this hack
  62. adds one for F7.
  63.  
  64. Before you start, identify the starting point for execution like
  65. this.  For disassembly, locate the point to start.  Cursor up to
  66. it, hit ';' TAB ':'.  Now you can proceed.
  67.  
  68. For things like branch instructions, it can not really follow your
  69. code.  It does not proceed.  So you must set a breakpoint yourself
  70. in that case, using B, wherever it belongs.  Because of facts like
  71. this: Semblance is the key word.
  72.  
  73. Hope you like the hack.
  74.  
  75. Run the BASIC loader "wee hack" to install.
  76.  
  77. --
  78.