Post Reply 
BASIC Programs on HP 50G
03-19-2014, 06:16 PM
Post: #41
RE: BASIC Programs on HP 50G
Wow! Thanks for the gift of your time and trouble!

In the U.S., and I think internationally now, you have an implied copyright to your code the moment you publish it, as you have done here. That means it is illegal for anyone to copy your code without your permission. If you want your code to be used freely, there are a variety of ways to say that, in a legal way. The list of options is very broad, and understanding them all takes a significant amount of study, but you might be interested in looking over your options. These range from very simple (placing the code in the public domain, for example,) or very elaborate, like the various flavors of the GPL.

For a fairly complete description, see this Wikipedia page.

Here's an off-topic thread regarding using Wikipedia. TINSTAAFL indeed.


Regards,
Howard
Find all posts by this user
Quote this message in a reply
03-20-2014, 07:57 AM
Post: #42
RE: BASIC Programs on HP 50G
(03-19-2014 06:16 PM)Howard Owen Wrote:  Wow! Thanks for the gift of your time and trouble!

In the U.S., and I think internationally now, you have an implied copyright to your code the moment you publish it, as you have done here. That means it is illegal for anyone to copy your code without your permission.

I'm curious how many people will take advantage of or be disadvantaged by this fact.
My guess is 0 (zero).
Find all posts by this user
Quote this message in a reply
03-23-2014, 01:08 AM
Post: #43
RE: BASIC Programs on HP 50G
UBASIC now has the IF-THEN-ENDIF command and IF-THEN-ELSE-ENDIF command implemented for several lines of code, also corrected several BUGS.

the next step is to provide the interpetre a real string handling

executable size remains the same.

keep you informed of the progress in these small development UBASIC

new example of an Ubasic program:

Code:

Rem Quadratic Equation (Uses Square Root Function)

Print "Ax^2 + Bx + C = 0"
Input "A =",A
Input "B =",B
Input "C =",C

D= b*b-4*a*c
If D>0 Then
  Ds= Sqr(D)
  Print "Real Roots:",(-B-Ds)/(2*A),(-B+Ds)/(2*A)
Else
  If D=0 Then
     Print "Duplicate Root:",(-B)/(2*A)
  Else
     Ds= sqr(-D)
     Print "Complex Conjugate Roots:",(-B/(2*A));"+/-";Ds/(2*A);"i"
  EndIf
EndIf
Find all posts by this user
Quote this message in a reply
03-23-2014, 09:18 PM
Post: #44
RE: BASIC Programs on HP 50G
(03-23-2014 01:08 AM)churichuro Wrote:  UBASIC now has the IF-THEN-ENDIF command and IF-THEN-ELSE-ENDIF command implemented for several lines of code, also corrected several BUGS.

the next step is to provide the interpetre a real string handling

executable size remains the same.

keep you informed of the progress in these small development UBASIC

new example of an Ubasic program:

Code:

Rem Quadratic Equation (Uses Square Root Function)

Print "Ax^2 + Bx + C = 0"
Input "A =",A
Input "B =",B
Input "C =",C

D= b*b-4*a*c
If D>0 Then
  Ds= Sqr(D)
  Print "Real Roots:",(-B-Ds)/(2*A),(-B+Ds)/(2*A)
Else
  If D=0 Then
     Print "Duplicate Root:",(-B)/(2*A)
  Else
     Ds= sqr(-D)
     Print "Complex Conjugate Roots:",(-B/(2*A));"+/-";Ds/(2*A);"i"
  EndIf
EndIf

Very nice churichuro.
I just had a look about "Local Variables" definition in the HP´s Handbook and more and more I believe your UBASIC will be a "Must have" App for every one.
Find all posts by this user
Quote this message in a reply
03-26-2014, 02:59 PM
Post: #45
RE: BASIC Programs on HP 50G
(03-23-2014 01:08 AM)churichuro Wrote:  UBASIC now has the IF-THEN-ENDIF command and IF-THEN-ELSE-ENDIF command implemented for several lines of code, also corrected several BUGS.

the next step is to provide the interpetre a real string handling

executable size remains the same.

keep you informed of the progress in these small development UBASIC

new example of an Ubasic program:

Code:

Rem Quadratic Equation (Uses Square Root Function)

Print "Ax^2 + Bx + C = 0"
Input "A =",A
Input "B =",B
Input "C =",C

D= b*b-4*a*c
If D>0 Then
  Ds= Sqr(D)
  Print "Real Roots:",(-B-Ds)/(2*A),(-B+Ds)/(2*A)
Else
  If D=0 Then
     Print "Duplicate Root:",(-B)/(2*A)
  Else
     Ds= sqr(-D)
     Print "Complex Conjugate Roots:",(-B/(2*A));"+/-";Ds/(2*A);"i"
  EndIf
EndIf

Churichuro,
I want to thank you for sharing your project with us. I have been semi-interested in purchasing a 50G. I think that your uBasic may be just the application that gets me to "pull the trigger" on buying one.

Thanks again.
Shawn
Find all posts by this user
Quote this message in a reply
03-26-2014, 06:00 PM
Post: #46
RE: BASIC Programs on HP 50G
(03-09-2014 11:45 AM)HP67 Wrote:  Did you find any HP materials that claim BASIC is supported? I saw this comment in many places, but as far as I know I never saw it on anything HP put out.

(03-09-2014 01:59 PM)Namir Wrote:  There is NO BASIC in the HP50G!!!!!!!!!!

True, but never-the-less, this link from hp.com lists the 49g+ languages as "RPL/ Assembly/ HP Basic" Someone in marketing no doubt. :-)
http://h10025.www1.hp.com/ewfrf/wc/docum...0002#N1686

Interestingly, hpcalc.org states that the 50g has: "Five built-in programming languages: User RPL, HP Basic, System RPL, Saturn assembly, ARM assembly." I wonder if this was quoted from some marketing info.

In case you've never seen an Algebraic program on the 50g, see this comp.sys.hp48 post.
https://groups.google.com/d/msg/comp.sys...FHGoofOYAJ

-Wes L
Find all posts by this user
Quote this message in a reply
03-26-2014, 06:13 PM
Post: #47
RE: BASIC Programs on HP 50G
(03-26-2014 06:00 PM)Wes Loewer Wrote:  In case you've never seen an Algebraic program on the 50g, see this comp.sys.hp48 post.
https://groups.google.com/d/msg/comp.sys...FHGoofOYAJ

Do you have a usenet message-id? I don't use google.

It ain't OVER 'till it's 2 PICK
Find all posts by this user
Quote this message in a reply
03-26-2014, 07:54 PM
Post: #48
RE: BASIC Programs on HP 50G
(03-26-2014 06:13 PM)HP67 Wrote:  
(03-26-2014 06:00 PM)Wes Loewer Wrote:  In case you've never seen an Algebraic program on the 50g, see this comp.sys.hp48 post.
https://groups.google.com/d/msg/comp.sys...FHGoofOYAJ

Do you have a usenet message-id? I don't use google.

Maybe someone else knows how to get the message-id. But since it was my own post, I'll just quote it here. It was a tiny little program intended only to demonstrate that it could be done. (It might be the only Algebra program I've ever written for the 49+/50g.)

Code:

Below is an example HI-LO program taken from a past post
...
@ must be entered in ALGEBRAIC MODE
@ \|> is the STO key
\<< IP(RAND*100.) \-> N
  \<< OBJ\->(INPUT("GUESS A NUMBER, 1-100","")) \-> G
    \<<
      DO
        IF G>N THEN
          OBJ\->(INPUT("TOO HIGH",""))\|>G
        ELSE
          IF G<N THEN
            OBJ\->(INPUT("TOO LOW",""))\|>G
          END
        END
      UNTIL G==N END ;
      CLLCD() ;
      MSGBOX(G+" IS CORRECT!")
    \>>
  \>>
\>>

-Wes L
Find all posts by this user
Quote this message in a reply
03-26-2014, 07:56 PM
Post: #49
RE: BASIC Programs on HP 50G
(03-26-2014 06:13 PM)HP67 Wrote:  
(03-26-2014 06:00 PM)Wes Loewer Wrote:  In case you've never seen an Algebraic program on the 50g, see this comp.sys.hp48 post.
https://groups.google.com/d/msg/comp.sys...FHGoofOYAJ

Do you have a usenet message-id? I don't use google.


If you are interested to see how a Algebraic Mode program ("HP BASIC"???) on the HP 50g looks like see also this link
http://www.hpmuseum.org/forum/thread-851.html
Find all posts by this user
Quote this message in a reply
03-26-2014, 08:09 PM
Post: #50
RE: BASIC Programs on HP 50G
Thanks Wes and Alvaro. That's very interesting. It looks kind of like a weird hybrid of RPL, PASCAL, and FORTRAN. I will stick to RPL for now!

It ain't OVER 'till it's 2 PICK
Find all posts by this user
Quote this message in a reply
03-26-2014, 08:46 PM
Post: #51
RE: BASIC Programs on HP 50G
(03-26-2014 08:09 PM)HP67 Wrote:  Thanks Wes and Alvaro. That's very interesting. It looks kind of like a weird hybrid of RPL, PASCAL, and FORTRAN. I will stick to RPL for now!

Programing in RPL has a very interesting particularity: Every time you make a user INPUT you have to declare another PROGRAM begin or you have to SAVE that input variable a as GLOBAL so that a the end you have all your HP50g FULL of USELESS variables that you will need to PURGE manually. Weird, I would say.
Find all posts by this user
Quote this message in a reply
03-27-2014, 03:54 AM
Post: #52
RE: BASIC Programs on HP 50G
(03-26-2014 08:46 PM)Alvaro Wrote:  Programing in RPL has a very interesting particularity: Every time you make a user INPUT you have to declare another PROGRAM begin or you have to SAVE that input variable a as GLOBAL so that a the end you have all your HP50g FULL of USELESS variables that you will need to PURGE manually. Weird, I would say.
Weird is your speed to get to conclusions having almost no idea what is it all about. Everything you say above is nonsense.
Find all posts by this user
Quote this message in a reply
03-27-2014, 08:05 AM
Post: #53
RE: BASIC Programs on HP 50G
(03-27-2014 03:54 AM)RMollov Wrote:  
(03-26-2014 08:46 PM)Alvaro Wrote:  Programing in RPL has a very interesting particularity: Every time you make a user INPUT you have to declare another PROGRAM begin or you have to SAVE that input variable a as GLOBAL so that a the end you have all your HP50g FULL of USELESS variables that you will need to PURGE manually. Weird, I would say.
Weird is your speed to get to conclusions having almost no idea what is it all about. Everything you say above is nonsense.

Fisrt, thank you very much. Very nice.
Second, I am talking about Local variable Structure; please read page 3-303 (PDF 423) of the Advanced User Guide HP 50g, about (Create Local). A Local Variable must be followed either by a Expression or a Program. If you don´t proceed like that, you must use the Global Variable definition! And, inside a Program, every time you define a Local Variable it must be followed either by a Expression or a Program and repeat that so many times as you need to "pause" for variable input.
Regarding the Disadvantage of Global Variables , please read page 1-7 (PDF 31) "Using Local Variables".
And, if I am missing something or you know it better, then it would be much more usefull to share your knowledge, if you like.
Find all posts by this user
Quote this message in a reply
03-27-2014, 09:02 AM (This post was last modified: 03-27-2014 09:08 AM by RMollov.)
Post: #54
RE: BASIC Programs on HP 50G
(03-27-2014 08:05 AM)Alvaro Wrote:  And, if I am missing something or you know it better, then it would be much more usefull to share your knowledge, if you like.
Sorry mate, if you wanted to learn RPL and asked reasonable questions I would share my experience as just about everyone in this very helpful community. Rather you draw conclusions from your limited knowledge and leave no space for help or explanations.
If I were you, I'd get myself familiar with this very powerful language starting with the HP48 (s) user manual which I consider "The Bible" of RPL. HP48G added more powerful functions, but the manual lacks some of the basics. Further manuals (HP49, 50) just assumed one knew "The Bible".
Again, what you wrote in your previous post is just not true, and I wouldn't start commenting such a nonsense.
What's more, I've read many times in this forum that RPL has a steep learning curve. I absolutely disagree. It's very easy, logical, and neat language as far as calculators are concerned.

Regards,
Find all posts by this user
Quote this message in a reply
03-27-2014, 03:41 PM
Post: #55
RE: BASIC Programs on HP 50G
(03-26-2014 08:46 PM)Alvaro Wrote:  Programing in RPL has a very interesting particularity: Every time you make a user INPUT you have to declare another PROGRAM begin or you have to SAVE that input variable a as GLOBAL so that a the end you have all your HP50g FULL of USELESS variables that you will need to PURGE manually. Weird, I would say.

I think you missed the point of RPL being a stack based language. While you could use local or even global variables, a common method is to just use the stack. Perhaps an example would help. Here's the same Hi-Lo demo program again in RPN mode using no local or global variables.

Code:
\<< RAND 100. * 1. + IP "GUESS A NUMBER, 1-100" "" INPUT OBJ\->
  DO
    IF DUP2 <
    THEN DROP "TOO HIGH" "" INPUT OBJ\->
    ELSE
      IF DUP2 >
      THEN DROP "TOO LOW" "" INPUT OBJ\->
      END
    END
  UNTIL DUP2 ==
  END
  CLLCD " IS CORRECT!" + MSGBOX DROP
\>>

-Wes L
Find all posts by this user
Quote this message in a reply
03-27-2014, 06:24 PM
Post: #56
RE: BASIC Programs on HP 50G
I am don´t care about RPL or what ever that Macro Like script language is called. By the way, this Train drives towards about BASIC on the HP50g...
Find all posts by this user
Quote this message in a reply
03-27-2014, 09:29 PM
Post: #57
RE: BASIC Programs on HP 50G
(03-27-2014 08:05 AM)Alvaro Wrote:  Second, I am talking about Local variable Structure; please read page 3-303 (PDF 423) of the Advanced User Guide HP 50g, about (Create Local). A Local Variable must be followed either by a Expression or a Program. If you don´t proceed like that, you must use the Global Variable definition! And, inside a Program, every time you define a Local Variable it must be followed either by a Expression or a Program and repeat that so many times as you need to "pause" for variable input.
Regarding the Disadvantage of Global Variables , please read page 1-7 (PDF 31) "Using Local Variables".
And, if I am missing something or you know it better, then it would be much more usefull to share your knowledge, if you like.


This is true if you absolutely must create a new local variable deep within the program as opposed to declaring them at the start. If your program has a fixed number of variables, then you can always create the ALL variables ahead of time and initiate them with a dummy value:
Code:

<<
  0 0 0 0 0 -> a b c d e 
  <<
  @ now you are free to use a b c d and e as you like
  >>
>>
I cannot think of very many instances in which a completed program would require an indeterminate number of variables during run time. Even so, however, your programs would necessarily have a finite number of variables (if for no other reason than there is only a finite amount of memory). So you can always "pre" declare variables (for use much later on) rather than waiting until you need them to create them.

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
03-28-2014, 02:43 AM
Post: #58
RE: BASIC Programs on HP 50G
(03-27-2014 06:24 PM)Alvaro Wrote:  I am don´t care about RPL or what ever that Macro Like script language is called. By the way, this Train drives towards about BASIC on the HP50g...
Saying that on this forum is nothing short of complete ignorance. If I understand properly what you meant, of coarse.
Find all posts by this user
Quote this message in a reply
03-29-2014, 03:32 AM
Post: #59
RE: BASIC Programs on HP 50G
(03-28-2014 02:43 AM)RMollov Wrote:  Saying that on this forum is nothing short of complete ignorance. If I understand properly what you meant, of coarse.

This and this.


Regards,
Howard
Find all posts by this user
Quote this message in a reply
04-20-2014, 12:39 PM
Post: #60
RE: BASIC Programs on HP 50G
(03-09-2014 07:20 PM)churichuro Wrote:  well, I do a Basic in C from scratch for the HP50
and for TI-89/Ti-voyager

you need the HP50 with the library HPGCC

Hi churichuro,

Are still working on your uBASIC?

In the mean time I installed HPGCC 2.0 for Windows and the ARMToolBox 3.12 on the HP 50g.
I tried some of the examples that with HPGCC 2.0 that they complie OK and also run OK in the HP.

Now, I tried your versions of uBASIC 0.2 and 0.1 but there are a lot of errors on the HPGCC compiler so that I do not get the necessary *.HP file.
Can you help on this?
Thanks.
Alvaro
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)