Xref: utzoo comp.sys.handhelds:7428 comp.sys.hp48.d:21 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!decwrl!deccrl!news.crl.dec.com!shlump.nac.dec.com!ryn.mro4.dec.com!pinbot.enet.dec.com!ervin From: ervin@pinbot.enet.dec.com (Joseph James Ervin) Newsgroups: comp.sys.handhelds,comp.sys.hp48.d Subject: Re: Machine Language Info Message-ID: Date: 30 Apr 91 13:08:01 GMT References: Sender: guest@ryn.mro4.dec.com Reply-To: ervin@pinbot.enet.dec.com (Joseph James Ervin) Followup-To: comp.sys.handhelds Organization: Digital Equipment Corporation Lines: 84 >I vaguely remember someone posting some highly recomended reading material >concerning machine level programing on the HP-48. Could someone, preferable >the orginal poster or a copy of the original post, please give me a second >copy of that information. At the time I wasn't interested in machine level >programming; however, I have recently decided to explore the internals of >my HP-48SX. Any advise on good sources of information would be great. I am >most definitely a beginner. The only assembly language experience that I >have had was last term in my one of my EE classes involving the Motorola >MC6809. Thanks in advance. > >Jason P. Meyers >JMEYERS@mtus5.cts.mtu.edu > Ah yes, the good old 6809. Actually I grew up on the 6800 family of processesors, and I understand that the 6809 is considerably more advanced than the 6800's I used back at U-Maine. Anyway, I believe that I am the original poster to which you refer. Here is a copy of the information you requested. Enjoy! >>>Joe Ervin *********************************************************************** To all who are interested about doing machine language programming on the HP48SX, and who have been frustrated at trying to find information on how to do so: To my knowledge there is no official documentation or books which describe how to do ML programming on the HP48SX. Here are some sources of information that have served me well. First, check out Alonzo Gariepy's notes on the Saturn processor, which is the processor HP used in the 28 and also in the 48SX. This will give you a decent introduction to the instruction set and the basic architecture of the processor. Then, you should read Alonzo Gariepy's notes on doing ML programming on the HP48SX. These notes provide some useful information, and give some decent examples of how to do things. Next, I recommend you take a look at the internals description by Derek Nickel. This gives a decent explanation of the different data types used in the 48SX, and how they are each represented. Of all the internals lists that have been posted I believe that his has the best descriptions of the various object types, their prologs and how they are stored. Next, I recommend that you get the list of internal addresses that Jake Schwartz posted to the net. This gives a good description of all (?) the known internal addresses and what they do. Finally, I suggest you get the Star assembler. After reading the README file and the STAR.REF files which come as part of the Star assemlber, you should have a pretty decent feel for how to program the 48SX. STAR was written by Jan Brittenson, and he has put in a good effort to make it fairly transportable. I was able to compile and run it on a VAX/VMS system without requiring much effort on my part. For some more involved examples of machine language code, check out the sources for CHIP-48. This also gives some good hints on how to access the keyboard and display. Lastly, let me make one more suggestion. READ THE DOCUMENTS I HAVE MENTIONED ABOVE, in the order I have specified them. Alonzo's notes will give you a decent foundation regarding the architecture of the SATURN processor and the instruction set. Derek's notes will give you a good foundation in the object types and how the 48SX stores information internally. After reading these documents, I have been able to undertake non-trivial ML projects. Another tool which you will find very valuable is Derek Nickel's Voyager program. Voyager is a tool for examining the code in the HP48's ROM. It's a great way to find those ML routines that the people at HP wrote to do all those wonderful things like reading the keyboard, playing with the display, and reading the hardware timer. I hope that helps. >>>Joe P.S. All of the documents mentioned above are available on Wayne's mail server; a service that I highly recommend.