[50G] Question
04-23-2015, 02:15 AM
Post: #61
 DavidM Senior Member Posts: 504 Joined: Dec 2013
RE: [50G] Question
(04-21-2015 08:37 PM)Tugdual Wrote:
(04-21-2015 08:32 PM)Voldemar Wrote:  You can erase L226, L227 and L229. In this way you will lose the equation libraries and periodic table. To restore these files, you will need to reflash the ROM.

Thanks Voldemar.
To my second question, I found the beginning of an answer. After warm reset, the 50g is evaluating 'STARTUP'. So I created a small RPL ':2:Settings' that sets defaults things such as KEYTIME. Then I created 'STARTUP' in Home that evaluates ':2:Settings'.
Works quite nicely except for the contrast that I cannot tune manually yet.

Edit:Also found trhis: http://www.hpcalc.org/details.php?id=3384 but still doesn't address contrast.

The Equation Library & Periodic Table Library are available separately in this zip file containing the 2.15 update. You don't need to reflash the ROM just for those libraries.

As you have already determined, creating a STARTUP program object allows you to run your own RPL code after a system warmstart. You're probably already aware of this, but just as a reminder you can set quite a few mode settings simultaneously by storing binary strings into the system flags (see the documentation for RCLF/STOF). While this is quick and concise, for this kind of application I still prefer to do individual changes in setup programs so that it's easier to modify them later.

Changing the contrast via a program is a more interesting topic. While this was fairly straightforward to do on the pre-ARM 48/49 systems using native Saturn code, it seems that there were some changes made to how this works on the ARM-based 49g+/50g; most (if not all) of the older apps that did this didn't work properly on the ARM systems. It seems that it should be possible, and indeed at least one older 49g program I've tested seems to adjust the contrast on my 50g. It doesn't support a non-interactive setting, however. It also wasn't designed for the larger display area of the 49g+/50g, but that's a different issue.

So it appears that it should be possible to set the contrast via Saturn code, though I'm not aware of any current apps that allow you to pass a stack-based parameter for the target. Anyone else aware of something that will do this on a 50g?
05-01-2015, 05:09 PM (This post was last modified: 05-01-2015 05:10 PM by Tugdual.)
Post: #62
 Tugdual Senior Member Posts: 697 Joined: Dec 2013
RE: [50G] Question
Just found that the 50g doesn't seem to know the equivalence in between complex exponential and sin/cos. For example the following equation doesn't evaluate to zero.
$$cos(x)+i.\sin { \left( x \right) } -{ e }^{ i.x }$$

Is there a special setting to define that? I find that disturbing to say the less...
05-01-2015, 05:29 PM (This post was last modified: 05-01-2015 05:38 PM by Gilles.)
Post: #63
 Gilles Member Posts: 114 Joined: Oct 2014
RE: [50G] Question
(05-01-2015 05:09 PM)Tugdual Wrote:  Just found that the 50g doesn't seem to know the equivalence in between complex exponential and sin/cos. For example the following equation doesn't evaluate to zero.
$$cos(x)+i.\sin { \left( x \right) } -{ e }^{ i.x }$$

Is there a special setting to define that? I find that disturbing to say the less...

Hi, you can do :

$$cos(x)+i.\sin { \left( x \right) } -{ e }^{ i.x }$$

LIN : RShift ALG = Linearize expression involving exponential terms
-> 0

or

EXPLN EVAL
-> 0

EXPLN : LShift EXP&LN = Transform trigonometric term to exponential and logarithm
05-01-2015, 06:41 PM
Post: #64
 Tugdual Senior Member Posts: 697 Joined: Dec 2013
RE: [50G] Question
(05-01-2015 05:29 PM)Gilles Wrote:
(05-01-2015 05:09 PM)Tugdual Wrote:  Just found that the 50g doesn't seem to know the equivalence in between complex exponential and sin/cos. For example the following equation doesn't evaluate to zero.
$$cos(x)+i.\sin { \left( x \right) } -{ e }^{ i.x }$$

Is there a special setting to define that? I find that disturbing to say the less...

Hi, you can do :

$$cos(x)+i.\sin { \left( x \right) } -{ e }^{ i.x }$$

LIN : RShift ALG = Linearize expression involving exponential terms
-> 0

or

EXPLN EVAL
-> 0

EXPLN : LShift EXP&LN = Transform trigonometric term to exponential and logarithm
Thanks Gilles. Just found the SINCOS function that does all the magic...
It is not documented in the user guide, only in the advanced user guide.

Anyway the two functions to remember are EXPLN and SINCOS.
05-03-2015, 12:50 AM
Post: #65
 Claudio L. Senior Member Posts: 1,194 Joined: Dec 2013
RE: [50G] Question
(04-23-2015 02:15 AM)DavidM Wrote:  So it appears that it should be possible to set the contrast via Saturn code, though I'm not aware of any current apps that allow you to pass a stack-based parameter for the target. Anyone else aware of something that will do this on a 50g?

A late reply, but it should be trivial to write a C program to take a number from the stack and call lcd_setcontrast(). Using hpgcc 2.0 or hpgcc3 this is very reliable on all ARM machines.
05-03-2015, 08:10 AM
Post: #66
 HrastProgrammer Member Posts: 139 Joined: Dec 2013
RE: [50G] Question
(04-23-2015 02:15 AM)DavidM Wrote:  So it appears that it should be possible to set the contrast via Saturn code, though I'm not aware of any current apps that allow you to pass a stack-based parameter for the target. Anyone else aware of something that will do this on a 50g?

Does this attached program of mine work for you?

Put the number from 0 (lowest contrast) to 31 (highest contrast) on the stack and execute CTR49 ...

Attached File(s)

http://www.hrastprogrammer.com/hrastwerk/
http://hrastprogrammer.bandcamp.com/
05-03-2015, 08:49 AM (This post was last modified: 05-03-2015 08:52 AM by Gerald H.)
Post: #67
 Gerald H Senior Member Posts: 1,303 Joined: May 2014
RE: [50G] Question
Works good on 49G versions 1.19-6 & 2.10-7, also on 50G 2.10-7.

By the way, were you, HrastProgrammer, the source of the XTABLE that has entries Z1_ & similar?
05-03-2015, 09:25 AM
Post: #68
 HrastProgrammer Member Posts: 139 Joined: Dec 2013
RE: [50G] Question
(05-03-2015 08:49 AM)Gerald H Wrote:  By the way, were you, HrastProgrammer, the source of the XTABLE that has entries Z1_ & similar?

No, I am not. Which library is that?

BTW, I updated CTR49 so it now limits the argument to 0..31 because the initial version just took the lowest 5 bits of the argument.

http://www.hrastprogrammer.com/hrastwerk/
http://hrastprogrammer.bandcamp.com/
05-03-2015, 09:30 AM (This post was last modified: 05-03-2015 09:37 AM by Tugdual.)
Post: #69
 Tugdual Senior Member Posts: 697 Joined: Dec 2013
RE: [50G] Question
(05-03-2015 08:10 AM)HrastProgrammer Wrote:
(04-23-2015 02:15 AM)DavidM Wrote:  So it appears that it should be possible to set the contrast via Saturn code, though I'm not aware of any current apps that allow you to pass a stack-based parameter for the target. Anyone else aware of something that will do this on a 50g?

Does this attached program of mine work for you?

Put the number from 0 (lowest contrast) to 31 (highest contrast) on the stack and execute CTR49 ...
Thanks, this is nice!
Does work on my 50g above limits of system!
Looks like ON+/- doesn't have the full range fo values
BTW, wouldn't it totally make sense top have the "getContrast" counterpart?

Off topic edit: just found that you were doing music. Oh wow must give a try to that tranzistow!!
05-03-2015, 09:51 AM (This post was last modified: 05-03-2015 09:53 AM by Gerald H.)
Post: #70
 Gerald H Senior Member Posts: 1,303 Joined: May 2014
RE: [50G] Question
(05-03-2015 09:25 AM)HrastProgrammer Wrote:
(05-03-2015 08:49 AM)Gerald H Wrote:  By the way, were you, HrastProgrammer, the source of the XTABLE that has entries Z1_ & similar?

No, I am not. Which library is that?

BTW, I updated CTR49 so it now limits the argument to 0..31 because the initial version just took the lowest 5 bits of the argument.

Library 258, extable (possibly known as extable2).
05-03-2015, 10:25 AM
Post: #71
 HrastProgrammer Member Posts: 139 Joined: Dec 2013
RE: [50G] Question
(05-03-2015 09:30 AM)Tugdual Wrote:  Thanks, this is nice!
Does work on my 50g above limits of system!
Looks like ON+/- doesn't have the full range fo values
BTW, wouldn't it totally make sense top have the "getContrast" counterpart?

Updated. CTR49 will now return the current contrast as well and won't change it if argument >31 has been provided so you can, for example, use 32 CTR49 just to retrieve the contrast. BTW, I have to correct myself here: negative values will default to zero contrast.

Strictly speaking, this should be put into library but I don't have time to do this at the moment as I am trying to finish the manual for my HRAST BASIC I am about to release.

Quote:Off topic edit: just found that you were doing music. Oh wow must give a try to that tranzistow!!

Yes, I was a lot into Electronic Music and Digital Signal Processing during the last couple of years. That's the reason why, until recently, I wasn't a lot into calculators since 2008.

Tranzistow is the culmination of my DSP work, this is my ultimate software synthesizer which has everything I wanted and needed as far as sound synthesis is concerned. I even developed additive and FM synthesis engine which runs on a GPU in parallel with the main engine running on the CPU

http://www.hrastprogrammer.com/hrastwerk/
http://hrastprogrammer.bandcamp.com/
05-03-2015, 10:55 AM
Post: #72
 HrastProgrammer Member Posts: 139 Joined: Dec 2013
RE: [50G] Question
(05-03-2015 09:51 AM)Gerald H Wrote:  Library 258, extable (possibly known as extable2).

Ah, me blind ...

http://www.hrastprogrammer.com/hrastwerk/
http://hrastprogrammer.bandcamp.com/
05-03-2015, 04:17 PM
Post: #73
 DavidM Senior Member Posts: 504 Joined: Dec 2013
RE: [50G] Question
(05-03-2015 08:10 AM)HrastProgrammer Wrote:  Does this attached program of mine work for you?

Put the number from 0 (lowest contrast) to 31 (highest contrast) on the stack and execute CTR49 ...

Works well! Did you create this with hpgcc2? Just curious which approach you took.

Thanks!
05-03-2015, 05:07 PM
Post: #74
 Gerald H Senior Member Posts: 1,303 Joined: May 2014
RE: [50G] Question
As it works on the 49G I guess not.
05-03-2015, 05:14 PM
Post: #75
 HrastProgrammer Member Posts: 139 Joined: Dec 2013
RE: [50G] Question
(05-03-2015 04:17 PM)DavidM Wrote:  Works well! Did you create this with hpgcc2? Just curious which approach you took.

No, I am enjoying pure Saturn machine language programming (with some SysRPL where needed) very much for almost 20 years

http://www.hrastprogrammer.com/hrastwerk/
http://hrastprogrammer.bandcamp.com/
05-03-2015, 06:00 PM
Post: #76
 Massimo Gnerucci Senior Member Posts: 1,437 Joined: Dec 2013
RE: [50G] Question
(05-03-2015 05:14 PM)HrastProgrammer Wrote:
(05-03-2015 04:17 PM)DavidM Wrote:  Works well! Did you create this with hpgcc2? Just curious which approach you took.

No, I am enjoying pure Saturn machine language programming (with some SysRPL where needed) very much for almost 20 years

Father, forgive them, for they do not know what they are saying.

Greetings,
Massimo

-+×÷ ↔ left is right and right is wrong
05-03-2015, 06:17 PM
Post: #77
 DavidM Senior Member Posts: 504 Joined: Dec 2013
RE: [50G] Question
(05-03-2015 05:07 PM)Gerald H Wrote:  As it works on the 49G I guess not.

Good point! I didn't catch that the first time around.

(05-03-2015 05:14 PM)HrastProgrammer Wrote:  No, I am enjoying pure Saturn machine language programming (with some SysRPL where needed) very much for almost 20 years

Any chance you'd be willing to share your source code for this? I'd like to compare this with the earlier versions of Saturn code I've seen (which don't work on the Saturnators).

(05-03-2015 06:00 PM)Massimo Gnerucci Wrote:  Father, forgive them, for they do not know what they are saying.

Mea culpa! I'm just happy to see that there are still a few folks left doing Saturn coding for this platform.
05-03-2015, 06:30 PM
Post: #78
 Massimo Gnerucci Senior Member Posts: 1,437 Joined: Dec 2013
RE: [50G] Question
(05-03-2015 06:17 PM)DavidM Wrote:  Mea culpa! :S I'm just happy to see that there are still a few folks left doing Saturn coding for this platform.

:)

Let me only say that Hrast's creations are pure genius.

Greetings,
Massimo

-+×÷ ↔ left is right and right is wrong
05-03-2015, 06:38 PM (This post was last modified: 05-03-2015 06:55 PM by HrastProgrammer.)
Post: #79
 HrastProgrammer Member Posts: 139 Joined: Dec 2013
RE: [50G] Question
(05-03-2015 06:17 PM)DavidM Wrote:  Any chance you'd be willing to share your source code for this? I'd like to compare this with the earlier versions of Saturn code I've seen (which don't work on the Saturnators).

No problem, here it is:

Code:
         IFNDEF HP49G         NIBASC \HPHP48-R\         ELSE         NIBASC \HPHP49-B\         ENDIF         CON(5) =DOCOL         CON(5) =DOCODE         REL(5) ~CNTRST         A=PC         D0=A         D0=D0+ 16         A=DAT0 A         D0=D0+ 5         PC=(A)         CON(5) =DOCOL         CON(5) =CK1NOLASTWD         CON(5) =CKREAL         CON(5) =COERCE         CON(5) =DOCODE         REL(5) ~CODE         A=DAT1 A         D1=D1+ 5         D=D+1 A         GOSBVL =SAVPTR         D0=A         D0=D0+ 5         A=DAT0 A         D0=(5) #00101         C=0 A         C=DAT0 B         R0=C         LC(2) #1F         ?A>C A         GOYES +         DAT0=A B +       GOVLNG =PUSH#LOOP ~CODE   CON(5) =SEMI         CON(5) =UNCOERCE ~CNTRST CON(5) =SEMI

http://www.hrastprogrammer.com/hrastwerk/
http://hrastprogrammer.bandcamp.com/
05-03-2015, 06:39 PM
Post: #80
 HrastProgrammer Member Posts: 139 Joined: Dec 2013
RE: [50G] Question
(05-03-2015 06:00 PM)Massimo Gnerucci Wrote:  Father, forgive them, for they do not know what they are saying.

http://www.hrastprogrammer.com/hrastwerk/
http://hrastprogrammer.bandcamp.com/
 « Next Oldest | Next Newest »

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