From: Raymond Del Tondo on 29 Dec 2006 19:22 Hi, nice try, but the keyword VERSION and H-> don't exist on the SX;-) I'd use IFERR VERSION THEN (Code for all other models) ELSE "SX" END instead. Regards Raymond "GaaK" <2006(a)gaak.org> schrieb im Newsbeitrag news:1167437144.414346.294940(a)73g2000cwn.googlegroups.com... Veli-Pekka Nousiainen wrote: > "James M. Prange" <jmprange(a)i-is.com> wrote in message > news:e39f4$45958bf3$4267eb7b$21699(a)123.NET... > > UserRPL: > > No SYSEVAL, LIBEVAL, or FLASHEVAL? > > No commands from 49 series development library (menu 256)? > > How could that be > if the software should work just the same in all models? > > > Models: > > 48SX and 48S considered to be the same model? > yes > > 48GX, 48G, and 48G+ considered to be same model? > yes > > 49G, 48gII, 49g+, and 50g considered to be distinct models? > Yes, if possible > > I suppose the UserRPL should work on ANY model > > > Prize: Fame? > > The program below is now considered official!! > > James > > Hello, this is 'UserRPL', work on ANY model: (48SX/48GX/48Gii/49G/49g+/50G) � IF VERSION TYPE 6 == THEN "48SX" ELSE IF DROP 1 R->I TYPE 6 == THEN DROP "48GX" ELSE { "49G" "48Gii" "49G+" "50G" } "D9D2029262CCD20240008FB9760D082480B8346177104D" "07710540E4E4E48DC753080BB20180BE2016F262B2130" + H-> EVAL 1 + GET END END � .... change R->I and H-> (RightArrow) and compile with STR-> Bytes (various), R->I is: (id-48SX), (ptr-49G) Speed (various), first check the slow calculators like 48SX. Strings: UserRPL H->: UserRPL Full compatibility :-) Cheers, - GaaK -
From: Raymond Del Tondo on 29 Dec 2006 19:26 Of course I meant IFERR THEN "SX" ELSE other END ;-) "Raymond Del Tondo" <RDelT(a)gmx.de> schrieb im Newsbeitrag news:en4bgt$ifo$03$1(a)news.t-online.com... > Hi, > > nice try, > > but the keyword VERSION and H-> don't exist on the SX;-) > > I'd use > > IFERR VERSION > THEN > (Code for all other models) > > ELSE "SX" > END > > instead. > > Regards > > Raymond > > > "GaaK" <2006(a)gaak.org> schrieb im Newsbeitrag > news:1167437144.414346.294940(a)73g2000cwn.googlegroups.com... > Veli-Pekka Nousiainen wrote: >> "James M. Prange" <jmprange(a)i-is.com> wrote in message >> news:e39f4$45958bf3$4267eb7b$21699(a)123.NET... >> > UserRPL: >> > No SYSEVAL, LIBEVAL, or FLASHEVAL? >> > No commands from 49 series development library (menu 256)? >> >> How could that be >> if the software should work just the same in all models? >> >> > Models: >> > 48SX and 48S considered to be the same model? >> yes >> > 48GX, 48G, and 48G+ considered to be same model? >> yes >> > 49G, 48gII, 49g+, and 50g considered to be distinct models? >> Yes, if possible >> >> I suppose the UserRPL should work on ANY model >> >> > Prize: Fame? >> >> The program below is now considered official!! >> > James >> > > > Hello, this is 'UserRPL', work on ANY model: > (48SX/48GX/48Gii/49G/49g+/50G) > > � IF VERSION TYPE 6 == > THEN "48SX" > ELSE > IF DROP 1 R->I TYPE 6 == > THEN DROP "48GX" > ELSE > { "49G" "48Gii" "49G+" "50G" } > "D9D2029262CCD20240008FB9760D082480B8346177104D" > "07710540E4E4E48DC753080BB20180BE2016F262B2130" > + H-> EVAL 1 + GET > END > END � > > ... change R->I and H-> (RightArrow) and compile with STR-> > > Bytes (various), R->I is: (id-48SX), (ptr-49G) > Speed (various), first check the slow calculators like 48SX. > Strings: UserRPL > H->: UserRPL > > Full compatibility :-) > > Cheers, > - GaaK - > >
From: James M. Prange on 29 Dec 2006 19:30 Veli-Pekka Nousiainen wrote: > "James M. Prange" <jmprange(a)i-is.com> wrote in message > news:e39f4$45958bf3$4267eb7b$21699(a)123.NET... > X >>> How about a UserRPL version that works from 48S to 50G? >>> MiniChallange! :-D >>> Rules: speed * bytes, smallest value wins, eg. >>> speed using CLEAR MEM DROP @ do a carbage collection >>> TICKS program TICKS SWAP DROP @ drop the return value >>> SWAP - B->R 8192. / @ seconds >>> RCL on stack BYTES SWAP DROP @ drop the CRC >>> * >> Okay, but perhaps a few things should be defined a little tighter? >> >> UserRPL: >> No SYSEVAL, LIBEVAL, or FLASHEVAL? >> No commands from 49 series development library (menu 256)? > > How could that be > if the software should work just the same in all models? Well, of course it would "work" differently depending on the model, but I can assure you that it is indeed possible using "pure RPL", that is, no SYSEVAL, LIBEVAL, FLASHEVAL, or development library commands. Actually, I'm not at all sure that development library commands would be helpful. >> Models: >> 48SX and 48S considered to be the same model? > yes >> 48GX, 48G, and 48G+ considered to be same model? > yes >> 49G, 48gII, 49g+, and 50g considered to be distinct models? > Yes, if possible Yes, it's certainly possible. >> Returns: >> >> A different number for each model? A string representing the >> model number? Suggestion: Return "real" numbers as follows: 48SX/S: 0 48GX/G/G+: 1 49G: 2. 49g+: 3. 48gII: 4. 50g: 5. >> Conditions: >> >> Must work regardless of flags settings (except wordsize) and >> must restore any modes or flag settings that it changes. >> >> Must work on all 48 and 49 series. For those who don't have all >> models available, it can be tested on Emu48 for those models >> that aren't available. >> >> On second thought, for the 49 series, should the ROM revision >> matter? > > Difficult question since I am using two calcs with different ROM's > I just upgraded - using helpful advice - to 2.09 > While the other uses old 1.19-6 Which brings up one of the reasons for that question. Note that with ROM revision 2.09, VERSION returns the same for the 49G as it does with the 48gII, meaning that some other method of distinguishing those models is needed. > I suppose the UserRPL should work on ANY model Of course, but working "correctly" may depend on which ROM revision is used. >> Deadline for entries? > 31.12.2006 midnight ?? ;-) > well what about end of January or somewhere in-between ?? > >> Reporting: >> >> Should source code be posted before any deadline? > I don't know? 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. >> Results from BYTES, the speed, and the "Speed*Bytes" values for >> whichever models are available should be posted. >> >> Prize: Fame? > > I could give a 49G compatible metal housing > for protection to that model > Just visit Finland and I will hand it to the winner > with a kiss if she's female, Nina could deliver the price > if somehow a male would win... > >> For the speed test, I suggest first clearing the stack, and >> perhaps doing a KILL, forcing the wordsize, and placing the >> program itself on level 1, and then running the following program: > > The program below is now considered official!! > >> %%HP: T(3)F(.); @ ASCII transfer header. >> @ Special timer for program that takes no argument and returns one >> @ result. >> @ First force wordsize 64. >> @ The program itself (not its name) should be the only object on >> @ the stack. >> @ Does not attempt to compensate for the time to do TICKS SWAP. >> @ Results from the BYTES command: >> @ 48 series: >> @ Checksum: # E39Dh >> @ Size: 45.5 >> @ 49 series: >> @ Checksum: # 2107h >> @ Size: 45.5 >> \<< >> MEM DROP @ Force garbage collection. >> TICKS @ Initial system time. >> SWAP @ Move program down. >> EVAL @ Execute program. >> TICKS @ Ending system time. >> ROT @ Move initial time down. >> - @ Difference. >> B\->R @ Convert to real. >> 8192. / @ Time in seconds. >> \<< -- Regards, James
From: Raymond Del Tondo on 29 Dec 2006 19:27 Still not working on the SX;-) "GaaK" <2006(a)gaak.org> schrieb im Newsbeitrag news:1167438138.232688.116930(a)48g2000cwx.googlegroups.com... TW wrote: > > H->: UserRPL > > > > Full compatibility :-) > > Cool solution, but same mistake I always make. . . forgetting that L256 > isn't attached on eveyone's calc. That has bitten me more than a few > times when helping people get serial numbers and such. ;-) > > Throw in a 256 ATTACH and you're good. > > TW See this: GaaK wrote: > If the lib 256 is detached, > replace [ H-> ] ---> [ 256 ATTACH "H->" STR-> ] So, the final solution: � IF VERSION TYPE 6 == THEN "48SX" ELSE IF DROP 1 R->I TYPE 6 == THEN DROP "48GX" ELSE { "49G" "48Gii" "49G+" "50G" } "D9D2029262CCD20240008FB9760D082480B8346177104D" "07710540E4E4E48DC753080BB20180BE2016F262B2130" + 256 ATTACH "H->" STR-> EVAL 1 + GET END END � Cheers, - www.GaaK.org -
From: GaaK on 29 Dec 2006 19:31
Raymond Del Tondo wrote: > Hi, > nice try, > but the keyword VERSION and H-> don't exist on the SX;-) 48SX?, then STR-> decompile to 'VERSION' (id), the next line check if id or string... IF VERSION TYPE 6 == THEN "48SX" Emu48 (test) - GaaK - |