From: James M. Prange on
Veli-Pekka Nousiainen wrote:
> "James M. Prange" <jmprange(a)i-is.com> wrote in message
> news:81ca9$4595b32c$4267ead8$29200(a)123.NET...
> X
>> Suggestion: Return "real" numbers as follows:
>>
>> 48SX/S: 0
>> 48GX/G/G+: 1
>> 49G: 2.
>> 49g+: 3.
>> 48gII: 4.
>> 50g: 5.
> So your code is shorter with the "49g-" having abigger value? ;-)

I wasn't considering the size, but rather how conveniently the
returned value could be used by a calling program.

> What is pure Saturn would have they values as negative
> and ARM CPU models positive?
> Hmmm. perhaps 49G could be zero, like this:
> -2. 48SX/S
> -1. 48GX/G/G+
> 0. 49G
> 1. 48gII
> 2. 49g+
> 3. 50g
> X
> Anything could do
> Even giving a model name string
> (that will up the byte count though)
>
>>> I suppose the UserRPL should work on ANY model
>> Of course, but working "correctly" may depend on which ROM
>> revision is used.
> One should then ask for independence of the ROM revision
> eg. 49G should work with 1.05, 1.10, 1.16, 1.18, 1.19-6, 2.09

Yes, although I'm not about to check whether the code will work
with all models with all ROM revisions.

Actually, my code produces 3 different program objects, depending
on whether the same source code is compiled on a 48SX/S, a
48GX/G/G+, or a 49 series.

>> For now, I'll just post the results from BYTES, the speed, and the
>> Speed*Time value. I have a program that I believe will work, but
>> haven't tested it on all models yet.
>
> Where are they then? The values I mean? Not ready yet?

Calling my bluff, eh? Actually, I did have to make a couple of bug
fixes, but here are my values for working (not optimized) code:

@ Program for determining model.
@ Arguments: None
@ Returns:
@ 0 for 48SX/S
@ 1 for 48GX/G/G+
@ 2. for 49G
@ 3. for 49g+
@ 4. for 48gII
@ 5. for 50g
@ For 49 series, download or enter in exact mode.
@ Results from the BYTES command:
@ 48SX/S:
@ Checksum: # 4216h
@ Size: 224.5
@ 48GX/G/G+:
@ Checksum: # A675h
@ Size: 216.5
@ 49 series:
@ Checksum: # FC59h
@ Size: 197.5
@ Approximate execution times in seconds:
@ Average of 10 trials each model.
@ 48SX: .1986
@ 48GX: .1745
@ 49G (ROM 2.09): .6297
@ 49g+ (ROM 2.09): .1768
@ 48gII (Emulated, ROM 2.09): .3154
@ 50g (Emulated, ROM 2.09): .1382
@ Approximate Time*Bytes values:
@ 48SX: 44.60
@ 48GX: 37.77
@ 49G (ROM 2.09): 124.4
@ 49g+ (ROM 2.09): 34.93
@ 48gII (Emulated, ROM 2.09): 62.30
@ 50g (Emulated, ROM 2.09): 27.30

--
Regards,
James

From: Veli-Pekka Nousiainen on
"James M. Prange" <jmprange(a)i-is.com> wrote in message
news:d95f2$4595e079$4267eaf4$8258(a)123.NET...
X
> Calling my bluff, eh? Actually, I did have to make a couple of bug
> fixes, but here are my values for working (not optimized) code:
X
So it seems we have two persons sending their results
We need a third one so that also a bronze medal can be announced!
:-D


From: TW on
> So it seems we have two persons sending their results
> We need a third one so that also a bronze medal can be announced!

Ok. Here's mine:

<< "Choose Calculator" { { "48S" 0 } { "48G" 1 } { "49G-" 2 } { "49G"
3 } { "49G+" 4 } { "50G" } } 1 CHOOSE >>

I think that would work. . . as long as you don't lie. Rules didn't say
you couldn't have manual entry. ;-)

If nobody else enters I win 3rd!!!! :-) ( unless choose didn't
exist on the 48S. . . I am not old enought to remember :-)

TW

From: Veli-Pekka Nousiainen on
You can check the Commands by seacrhing "Veli-Pekka" at
www.hpcalc.org
The excel file (Open Office Compatible)
lists all commands from HP-28C up to current 49g+/50G ROMs

"TW" <timwessman(a)gmail.com> wrote in message
news:1167454934.237472.112750(a)73g2000cwn.googlegroups.com...
>> So it seems we have two persons sending their results
>> We need a third one so that also a bronze medal can be announced!
>
> Ok. Here's mine:
>
> << "Choose Calculator" { { "48S" 0 } { "48G" 1 } { "49G-" 2 } { "49G"
> 3 } { "49G+" 4 } { "50G" } } 1 CHOOSE >>
>
> I think that would work. . . as long as you don't lie. Rules didn't say
> you couldn't have manual entry. ;-)
>
> If nobody else enters I win 3rd!!!! :-) ( unless choose didn't
> exist on the 48S. . . I am not old enought to remember :-)
>
> TW
>


From: John H Meyers on
Other tidbits:

:&:0. EVAL TYPE is non-zero in 48 series, zero in 49/50 series
(this is a historic original "bug"
which was intentionally never "fixed" in 48 series,
since it provided a simple way to create "bints")

Also, RCLF SIZE 3. > is true for 49/50 series, false for 48 series.

However, what is the goal of knowing what exact model
a program is running on?

For some purposes, it's sufficient to distinguish
just which series it is (as above); for other purposes,
you may need to know the screen size (LCD\-> SIZE);
a few keyboard items are swapped between 49G and 49G+/50G,
so for key assignments you may need to distinguish just that;
for other purposes, you'll want to know whether
a given port number is available -- much of the time,
what you need to know can be best determined
by a specific test for that attribute,
rather than by identifying the exact model,
so specific attribute tests may be more practical in many cases.

By the way, what about emulators?

How do you know when you're running on a Debug4x emulator of 50G,
rather than on a real 50G (this may have some significance
for HPGCC programs or other similar attempts to use
the ARM processor which isn't there, even though
the emulator convinces the VERSION command that it's a 50G :)

[r->] [OFF]