COPY, an Application Card Copier. Copies Card 1 to Port n (n>1). Author: Rick Grevelle. Doc: Joseph K. Horn. GX ONLY! Intended ONLY for those who OWN an application ROM card AND a port 2 RAM card (e.g. HP 1-Meg RAM card), and wish to copy the ROM card into the RAM card so that port 1 is free for other uses. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ NOTICE!!! This is NOT intended for use by software ³ ³ pirates and other scurvy marauders. COPYing ROM ³ ³ cards that you do not own (or making copies of your ³ ³ ROM cards for other people) is illegal, immoral, and ³ ³ stupid. It's illegal because it hurts commerce. It's ³ ³ immoral because it denies a worker his just wages. ³ ³ And it's stupid because it discourages good ³ ³ programmers from writing better programs. DON'T. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ WARNING! This is a "bit copier", that is, it makes an EXACT copy of the card which is in port 1. This can be excellent, or nightmarish. The previous contents of the target port will be totally overwritten and irretrievably lost. If port 1 contains code that cannot run in port 2 or above, COPY will copy it anyway, which can cause a crash. KNOW WHAT YOU'RE DOING. WHEN IN DOUBT, DON'T. YOU HAVE BEEN WARNED! INSTRUCTIONS: Plug any card into slot 1. Plug a RAM card into slot 2. Input the PORT number (2 through 33) which you wish to RECEIVE the copy. Run COPY. When the copying is finished, the HP48 will turn off. Remove the card from slot 1, and turn the HP48 back on. Verify the copy. Error Messages: Port Not Available (either port 1 contains no card, or the target port doesn't exist). Note: if the copy causes the HP48 to refuse to turn on (for example, a library's configuration routine might go into an endless loop), DON'T PANIC. You need not lose the entire contents of your RAM card in slot 2. All you have to lose is the offending libraries which COPY copied from port 1 to your RAM card. This can be done by removing the RAM card from slot 2 and then copying the XPUB library (also on this disk) into RAM. XPUB prevents libraries from running their configuration routines. Purge the offending libraries, and then purge XPUB. Disclaimer: This is dangerous software. Use at own risk. Note: Rick's original program took a *bank* number as its input, performed no stack or type checks, and exited back to the RPL loop, which caused me no end of grief (including the clearing of my entire 1 Meg RAM card! Auughh! So I added stack & type checking, subtracted 1 from the input (so it's a *port* number), and turned the HP48 off at exit. All of this required only 6 extra commands in the source code! And it took about 30 seconds to do it, using Jazz! Ain't life sweet?