Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!olivea!samsung!zaphod.mps.ohio-state.edu!wuarchive!uunet!apctrc!drd!mike From: mike@DRD.Com (Mike Rovak) Newsgroups: comp.sys.handhelds Subject: Re: Chip question Summary: Make lots of backups Keywords: caution, backups, disclaimer Message-ID: <1990Dec7.160011.22983@DRD.Com> Date: 7 Dec 90 16:00:11 GMT References: <1990Dec6.231427.28844@jarvis.csri.toronto.edu> Sender: Mike Rovak Followup-To: comp.sys.handhelds Organization: DRD Corporation Lines: 91 byu@csri.toronto.edu (Benjamin Yu) wrote: } I don't know if anyone of you who used CHIP (ver 225) experienced this or it } is just me. When I run, say BRIX, I put BRIX on level 1 and hit CHIP to } "interpret" it. Now, I don't have my clock on display, but sometimes, I need } to repeat the whole process about 6 times before I can actually play the game! }... It's not just you. Background: I have a version E rom, and have been using CHIP/225 with BRIX and SYZYGY. I also have been using the RPL TETRIS (fast enough for *me*!). I recently downloaded AS48, the RPL CHIP8 Assembler, posted by G. Kohl, (which IMHO is the slickest [most elegant] and most intellectually stimulating piece of RPL code I have ever seen) and several things occurred in the same day: 1. I installed my freebie EQ LIB card, and a purchased 128K card into the calculator and merged all the system memory. 2. I loaded AS48 into my calculator and ran it on the supplied demo. I had a typo in one of the routines, and it did not run successfully on the first attempt. I fixed the problem, and then it ran correctly. 3. I downloaded the HP-supplied utilities into the calculator (stop watch library, USAG, appointment book front end) and tried to attach the stop watch library to a subdirectory, not realizing that it attempts to automatically attach to the HOME directory on power-up. 4. At one point, I had the stop watch library apparently attached both to the HOME directory and the subdirectory. I realized my error and then detached the one on the subdirectory. 5. I didn't like the fact that SW-A appears first in the LIBRARY menu, I preferred to see the EQ LIB menu selections fill up the first six slots, so I [stupidly] turned off the calculator, removed the EQ LIB card, turned on the calculator, verified that the only library in the LIBRARY menu was SW-A, then turned the calculator off, installed the EQ LIB card, turned the machine on, and gave up when I saw that the machine was going to insist that PORT 0 library objects list first in the menu. I should point out here that I appreciate the value of a backup. I make frequent ARCHIVEs to my PC and am glad of it. It paid off. Imagine my surprise the next day when TETRIS ran and accumulated score without displaying any falling pieces. Likewise, PUZZLE24, which I thought was an RPL program, failed to run and required a system halt (ON-C) to return to the stack display. I looked at the INIT subroutine, and it had some intersting and rather large binary integers and Externals in it, which I could have sworn were not in the original code. I immediately and without question nor further debate executed the three-fingered salute (ON-A-F) and cleared memory. Reloaded from a good backup, downloaded what was missing, didn't do anything questionable or anomalous, and voila, everything works and memory is intact (then I made yet another backup). I think that the bottom line is that what we have here is a piece of computing machinery which is complex in its hardware AND its firmware. Disclaimers on low-level machine language code are not published in vain. A word to the wise should be sufficient. I have no idea which operation actually corrupted my memory. All I am saying is that there was ample opportunity for doing so in the course of normal operation, and this time it happened. Fortunately for me, it only cost me a few extra minutes of my time. The user should be aware that some RAM addresses control some hardware functions in the HP48SX (e.g., display), and there are apparently no hardware interlocks (cost constraints) to prevent a user from physically damaging the machine, or so I gather from readings on this newsgroup. My humble advice would be to stay out of the memory scanner and the ON-D stuff unless you have a reason for being there and know what you are doing with it, unless potentially losing your investment makes no impression on you. I would also advise clearing memory at the first sign of trouble, and frequent archiving if you modify memory contents a lot. Just trying to help. -- Mike ------------------------------------------------------------------------ Disclaimer: My opinions do not necessarily reflect those of my employer. ======================================================================== ------------------------------------------------------------------------ mike@DRD.Com uunet!apctrc!drd!mike ========================================================================