From: Veli-Pekka Nousiainen on 29 Dec 2006 16:58 "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? > 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 > Returns: > > A different number for each model? A string representing the > model number? > > 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 I suppose the UserRPL should work on ANY model > 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? > 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: GaaK on 29 Dec 2006 19:05 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: GaaK on 29 Dec 2006 19:15 GaaK wrote: > 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 » If the lib 256 is detached, replace [ H-> ] ---> [ 256 ATTACH "H->" STR-> ] - GaaK -
From: TW on 29 Dec 2006 19:16 > 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
From: GaaK on 29 Dec 2006 19:22
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 - |