home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / sources / hp48 / 257 < prev    next >
Encoding:
Text File  |  1992-09-13  |  6.5 KB  |  186 lines

  1. Newsgroups: comp.sources.hp48
  2. Path: sparky!uunet!seq!spell
  3. From: David Waelder <davidw@fib.upc.es>
  4. Subject:  v07i006:  sd10_dw - String Displayer 10 lines v1.0, Part01/01
  5. Message-ID: <1992Sep14.012019.15902@seq.uncwil.edu>
  6. Followup-To: comp.sys.hp48
  7. Sender: spell@seq.uncwil.edu (Chris Spell)
  8. Organization: Univ. of North Carolina @ Wilmington
  9. Date: Mon, 14 Sep 1992 01:20:19 GMT
  10. Approved: spell@seq.uncwil.edu
  11. Lines: 176
  12.  
  13. Checksum: 3324972336 (verify with brik -cv)
  14. Submitted-by: David Waelder <davidw@fib.upc.es>
  15. Posting-number: Volume 7, Issue 6
  16. Archive-name: sd10_dw/part01
  17.  
  18.  
  19. BEGIN_DOC sd10.doc
  20.  
  21. Program, version:    SD10 v1.0
  22. This means:        String Displayer 10 lines
  23. Author:            Marc Molin del Castillo
  24.  
  25. **What does this thing?
  26.     SD10 is a program that permits you display up to 10 lines in your hp48
  27. and move through it with ease (line up, line down, page up, page down, home 
  28. and end). All you have to do is put a String in level one of the stack and
  29. voil!. Use the A - B - C - D - E - F keys to move arround and any other key to
  30. finish. I use it for looking at programs which don't work. First I try to 
  31. find out the problem with the SD10 and afterwards I use the editor of the 
  32. calculator to correct the problem (It's good programming: much less local
  33. patching!). To do so you just RCL the program in the stack, press the "" and
  34. then the + key, after you execute SD10.
  35.  
  36.     My friends at the university use it for "memos" at exams. It's very 
  37. useful in that sense, but cheating in exams beeing unfair to others. (Would you
  38. be happy to know that most of those who work in missile guidance faked all their
  39. exams through all their career?)
  40.  
  41.     Also I think the SD10 is useful for long instructions. Quest For Leila 
  42. is a nice example. 
  43.  
  44.  
  45. **Details, detalis...
  46.  
  47.     The SD10 allows you about 31 chars. per line depending of the letters   
  48. you use (Due to proportional spacing. In one line fit 22 M's or 66 I's). That
  49. implies that the amount of information on screen can be 370% (more or less) 
  50. superior to the regular editor screen.
  51.  
  52.     The program keeps record of the flags it changes and the graphics 
  53. screen. If you want to remain things unchanged at the end of the edition
  54. do not exit the program via the ON/ATTN do it by pressing any other key
  55. except the A-B-C-D-E-F
  56.  
  57.  
  58. **A little technical explanation...    
  59.  
  60.     I was fed up of horsing arround that small editor our big calculator
  61. has and so I decided to make a program that could display the more information
  62. the better. Outputing text in the graphics screen seemed the solution, but
  63. when I tried to move across the string it was awfuly slow and copying the idea 
  64. from a friend I divided the string in small strings and put them in a list.
  65. I use a pointer to know what part of the string is displaied and thats all. The
  66. shredding of the string into lines was very slow so I decided to make it in 
  67. System RPL (my first SysRPL program, snif!) to make it faster (Altough I 
  68. espected it would be faster than it actually is) The part of the shredding is
  69. explained in the program SD10.s 
  70.  
  71. **Disclaimer and stuff
  72.  
  73.     This program makes use of undocumented features of the hp48 even if
  74. you can proof that the use of this program bears to data loss, hardware
  75. malfunction or exam failing the author is responsible... NOT
  76.  
  77.  
  78.  
  79.     Feel free to send all of your money to:
  80.             Marc Moline
  81.             Pza F i Argemi - 4
  82.             08224 Terrassa     (BARCELONA)
  83.             S P A I N
  84.  
  85.     Comments and "keep up with the good job" to be sent to:
  86.             akcs.MarcM@hpcvbbs.cv.hp.com
  87.  
  88.         or    DavidW@fib.upc.es
  89.  
  90.  
  91.     For those who have an urge to contact me: 
  92.             93 - 788 01 51 (From Spain)
  93.     xxx(International call) 34(Spain) 3(barcelona) 7880151(my house)
  94. END_DOC
  95.  
  96. BEGIN_ASC sd10.asc
  97. %%HP: T(1)A(D)F(.);
  98. "D9D20E1632D9D202BA81D9F81D0040D9D209E5502A170DCC2683256119201000
  99. 01B5464D226EE170D9D2008316119201000032230E0E30337507EE06AF250CAF
  100. 06FED3022650FED303375032230B21305E170B9F06C0726AF250B2130B213078
  101. BF18B9C1916C1634E104B023392010000000000000495D2C147A20683A29C2A2
  102. E24A2173A2339203000000000000019339203000000000000010B21309C2A21C
  103. 432D6E2010C4D6E2020C435D6E203064C474D6E2030059434D6E2030B424C4D6
  104. E201095E1632339201000000000000110472C133032339201000000000000110
  105. 313C1D5032D9D20F52E1D6E201095D6E2020C43533920100000000000001090D
  106. A13ECB19C2A217CB145632D6E20109597632DCC02D6E20109578BF1173A276BA
  107. 1D6E2020C4353ECB10A132D6E201096634E147A20E4A20510000000000000000
  108. 000B2130D6E201096D6E20109590DA1233A2EEDA1B969176BA1D6E2010C4D6E2
  109. 010966C7D19C2A2DA5E1AE8C1C4232634E147A20E4A205100000000000000000
  110. 00E4A2051000C300000000000000B2130E1B20790004000038000FBFBFDFEFF7
  111. F3EBFDF8FF7D2AB8D74BC70FBF1FDFE387FBD1FDF6387DA29ED77AA70FBF0EDF
  112. E7C7F3E0EDF87C71AAACD769A70F3CFFDF0FE7FBFFFDFEFE7D2AB8D74BC70AE8
  113. C1D6E2030B424C4743A24A5A147A20E4A20510000000000000000000E4A20510
  114. 000000000000000000B21300F2E14B2A2F17A133920100000000000001090DA1
  115. D6BB1FD3326C7D1F1732D9D203392010000000000001105D2C14B2A2B21305DF
  116. 22EB3A1D6E20109576BA145632D6E20109597632DCC02B213049632606E1ED2A
  117. 269112D6E203064C474F76C1D6E2030059434634E1DCC023FBF1EF53293632B2
  118. 13051E2"
  119. END_ASC
  120.  
  121.  
  122. BYTES: #2E15h 6415
  123.  
  124. BEGIN_UU sd10.uue
  125. begin 644 sd10
  126. M2%!(4#0X+46=+>!A(YTM(*L8G8_1``2=+9!>!:)QT,QB.%(6D0(!`!!;9-0B
  127. MYAX'G2T`.&$1*1```",RX.`#,U=P[F#Z4L#Z8.\](&(%[STP<P4C,K`2`^5Q
  128. ML/E@#">F+P4K,;`2`X?[@9L<&<9A0QY`"S*3`@$```````"4U<)!IP*&HY(L
  129. M*BZD$C<J,RDP````````$#F3`@,````````!*S&0+"K!--+F`@%,;2X@P#35
  130. MY@(#1DQ';2XP`)4TU.8"`TM"3&TN$)#E82,S*1`````````10"<<,S`RDP(!
  131. M```````0`1/#T04CG2WP)1YM+A"0U>8"`DQ3,RD0````````$)#0&N.\D2PJ
  132. M<;Q!92-M+A"0E6<CS0S2Y@(!68?[$3<J9ZO1Y@("3%/CO`$:(VTN$)!F0QYT
  133. M*N"D`A4```````````"P$@-M+A"0UN8"`5D)K2$S*NZML6D99ZO1Y@(!3&TN
  134. M$)!F?!W)HM):'NK(P20C-N1!IP).*E`!````````````3BI0`0`\````````
  135. M`"LQX+$"EP!```"#`/#[^_W^?S^^WX__UZ*+?;1\\/OQ_3YXOQW?;X/7*NE]
  136. MIWKP^^#]?GP_#MZ/QQ>JRGV6>O##__WP?K__W^_OUZ*+?;1\H(X<;2XPL"3$
  137. M=#0JI*5!IP).*E`!````````````3BI0`0```````````"LQ`"\>M*+R<1HS
  138. M*1`````````0D-`:;;OQ/2/&U_%Q(YTM,),"`0``````$`'5PD$K*BLQ4/TB
  139. MOJ/1Y@(!66>K064C;2X0D)5G(\T,LA(#E#9B8![>HF(9(6TN,&#$=/1G'&TN
  140. 4,`"5-&1#'LT,,K\?_C628R,K,0`K
  141. `
  142. end
  143. sum -r/size 52758/919 section (from "begin" to "end")
  144. sum -r/size 61164/650 entire input file
  145. END_UU
  146.  
  147.  
  148. BEGIN_SRC sd10.s
  149. ASSEMBLE            ( *HEADER OF THE FILE* )
  150.     NIBASC /HPHP48-E/
  151. RPL
  152. ::
  153.  
  154. CK1NOLASTWD            ( *SEE IF THERE'S ANYTHING IN THE STACK* )
  155.  
  156. CK&DISPATCH0 str        ( *IT MUST BE AN STRING* )
  157.  
  158.   ::
  159.  
  160.   NULL{}            ( *EMPTY LIST* )
  161.  
  162.   BEGIN 
  163.  
  164.     OVERDUP NEWLINE$ #1      ( *CHECK FOR NEWLINES IN THE STRING* )
  165.  
  166.     POS$ DUP#0<>        ( *IF POS$ RETURNS 0 WE FINISH* )  
  167.  
  168.   WHILE
  169.  
  170.     SWAPOVER #1 SWAP #1-    ( *WE CUT A LINE* )
  171.  
  172.     SUB$ ROTSWAP >TCOMP    ( *AND CATENATE IT TO THE LIST* )
  173.  
  174.     UNROT #1+ OVERLEN$ #1+     ( *LEAVE THE REST OF THE STRING* )
  175.  
  176.     SUB$ SWAP        ( *ON THE STACK*)
  177.  
  178.   REPEAT
  179.  
  180.   SWAPDROP DROPSWAP >TCOMP     ( *CUT AND PASTE OF THE LAST BITS* )
  181.  
  182.   ;
  183.  
  184. ;
  185. END_SRC
  186.