[comp.sys.handhelds] Ascii Up/Download Idea for hp48sx

dohm@magnus.acs.ohio-state.edu (Peter J Dohm) (06/11/91)

Hello all!  Well, the other day I backed up all my chip games from my 48 in
->asc'd form, just for the heck of it.  Well, now I think I figured out the
reason why...  You can easily upload these ->asc'd strings to your 48 at
**almost** 9600 baud (something kermit will never do...).  Now, the ->asc'd
string is longer than the original data, but the speed makes up for all of
that...  See below for details... (it's quite simple, really, and i'm kinda
surprised that no one's posted something like this yet (or have they???) )

Please make comments, suggestions for updates, etc.  Note that I just wrote
this today, and haven't tested it much... If someone would like to play with
it, find bugs, errors, etc. I can try writing some updates.  I'll be searching
for better ways to do this myself, so please, drop me a line if you have any
suggestions...

Ascii ReCeiVe
-------------

This program is written for **quickly** uploading your ->asc'd files to your
hp48sx.  It does NOT use Kermit, but rather the raw text up/down loading of the
hp48sx.  It's quite a simple concept, really... Note also, that this will only
work correctly when using the cable from your pc to your 48... ALSO note that
I haven't tried this on a mac yet...  I'm not entirely sure how macs handle
carriage returns and line feeds...  It seems to work fine every time on my
IBM pc, so if someone could mail me the mac specs, i could try writing a mac
version...

INSTRUCTIONS:
Cut this little puppie out and download it to your hp.  Call it something like
ARCV ( Ascii ReCeiVe ?)

From there, it gets a bit tricky, and this is where I could use some ideas on
bettering it.

(it's finals week, my mind's not working too well right now :)

After downloading you're ready to run it, but it's not THAT simple :)

Upon executing the program you communications parameters should be:

   wire ascii 9600 none 0 3 1

Then, using your favorite telecom program (like telix) you ASCII upload
the string to your hp48.  Here's what you need to check:

  You must make sure that the telecom program is stripping uploaded linefeeds,
  and pacing lines at 2/10's of a second.

Once you're sure everthing looks correct, you do this:

Figure out ( via a directory ) how many bytes the ->asc'd string that you
want to send to the hp48sx is.  Put that number on the stack.
Then, in close chronological proximity to one another, you run ARCV
then about a half second later, start the ascii upload from your pc.
It works every time for me... (but of course that guarantees nothing :)
Then, when you've got the string, proceed as you normally would...

Anyone can easily see that this is awkward.  I figured rather than
holding back the idea until i refined it, i'd let you all help me refine it...
If anyone can figure out how to increase the speed, that'd be great.
I haven't had that much time to play with it.
(maybe transferring it in binary?)
(maybe writing this in machine language?)

(*
   Tech info:  this little piece of code will figure out how many extra
   characters are in your string, and subtract that number from the number
   on the stack.  This program assumes that ->asc produces 64 character
   lines, plus a carriage return and line feed (on an IBM) totalling 66.
   Then it divides the number of characters by the number per line, and
   manipulates that a bit to get the number of characters to be received.
   Don't ask how I got the algorithm (It was trial and error!! :)
   It then receives that number (stack minus extra chars) of characters and
   puts it on the stack as a string.  Pretty simple...
   I see lots of possible uses for this...
*)
------snip snip----------
%%HP: T(3)A(R)F(.);
\<< \-> LEN
  \<< LEN LEN 66 /
CEIL 1 + - OPENIO
SRECV DROP CLOSEIO
  \>>
\>>
-----end-----------------

Peter J. Dohm

+-----------------------------------------------------------------------------+
| Peter J. Dohm	- Comp. Science Major | ** dohm@magnus.acs.ohio-state.edu **  |
|    dohm@geo1s.mps.ohio-state.edu    |      ak541@cleveland.freenet.edu      |
| pete.dohm@osu.edu dohm@mps.ohio-... |     dohm@kcgl1.eng.ohio-state.edu     |
+-----------------------------------------------------------------------------+