B269 >> Timber is the foundation of modern civilisation's material culture. >> Most homes are timber--as is furniture, until 20th century vehicles as >> well. It continues to be the most environmentally renewable and >> efficient source of structural material. Only when places cut too many >> in a short period of time (kings and queens of Europe) do we find >> timber being de-valued and denigrated. > If you believe that most homes are made of timber, you really need to > travel outside the US a bit more... > How many storeys can be build from wood? I mean I live in a 7 floor building (with ground floor) VPN X-RFC2646: Format=Flowed; Original >I believe he has the same problem I had when I tried to assign ORG to the > >>time key and keep the Shift Held Time untouched. I had to explicitely >>assign >>to the shift held key its own function to keep it working. > > I can see why that would be annoying. I wonder why HP decided to do > that... > Because the shift&hold was added afterwards It also could be *MY* fault Why? Avenard first thought of adding 7,8,9 for shit&holds But I asked for - example 43.2 to mean standard assignment 43.21 to mean shift&hold My way makes it more easy to program things in user RPL but unfortunately the implementation might have side-effects VPN > Because the shift&hold was added afterwards > > It also could be *MY* fault > Why? > Avenard first thought of adding 7,8,9 for shit&holds > But I asked for - example > 43.2 to mean standard assignment > 43.21 to mean shift&hold Still don't see why xy.21 should overwrite the default assignment of xy.2. What's particularly annoying is when the original .2 assignment was a takeover. How do I reassign a takeover programatically? (I can only work how to do this with KEYMAN interactively.) > Avenard first thought of adding 7,8,9 for shit&holds Now that's a surprising thing to think of! Well, we've heard about those Frenchies.... -- James X-Library: Indy 9.00.10 media4sale.com offers innovative and quality media, CD/DVD packaging and other computer accessories at the best prices. We pride ourselves in service, quality and commitment and are certain that our standards will exceed expectations. http://www.media4sale.com Media4Sale.com how will you create an interactive table in system RPL? what I want o achieve is : enter values for each variable > for eample if an equations is to be programmed: f(x)=x +y; I want row 1,1 to have x and row 1,2 to have y. jusy like that !! values entered in table should be dynamic > Hello > how will you create an interactive table in system RPL? what I want o > achieve is : enter values for each variable > for eample if an > equations is to be programmed: f(x)=x +y; > I want row 1,1 to have x and row 1,2 to have y. jusy like that !! > values entered in table should be dynamic > You could always try to look at the Table program in the 49G because it does already exactly what you want to do JY >On further thought, if you also want to prevent an error >on extreme inputs such as 1E-300 and 1E300, >for which %CH produces an Overflow if System flag -21 is set, try: > ><< RCLF ROT ROT -21 CF %CH ABS .01 <= SWAP STOF >> > >This results in 1 (True) if B is within .01% of A >or 0 (False) if not, over all possible real inputs A and B. A shorter program which accomplishes the same thing, and also avoids the overflow problem, is: << LN SWAP LN - ABS .0001 <= >> Here you'll encounter problems if one of the values is zero though - but in such a case %CH will encounter problems too. Negative numbers shouldn't be a problem though, the HP48/49 then produces a complex LN. Then you take the difference between two complex numbers, and ABS produces the absolute value (a real number) of that difference. If you want the absolute rather than the relative difference, it becomes even simpler: << - ABS .0001 <= >> but this may sometimes overfliw - e.g. if one of the numbers is 1E+300 and the other is -1E+300 >Note that comparing 1 with 1.0001 gives 1 (True) >no matter which is A and which is B, >while comparing 1 with .9999 gives opposite results, >depending on which is A and which is B > >Usually you would make A your precisely known target value, >against which you compare observation B >(if you want this reversed, insert SWAP at the very beginning). > >[r->] [OFF] > -- Paul Schlyter, Grev Turegatan 40, SE-114 38 Stockholm, SWEDEN e-mail: pausch at saaf dot se WWW: http://stjarnhimlen.se/ X-RFC2646: Format=Flowed; Original It's always good to practice;-) For more and deeper practicing, I'd suggest using JAZZ, which comes with a good documentation. There's also a version for 49g type machines... Raymond schrieb im Newsbeitrag > Nobody does. > It's just practicing. > > Fred. > posting-account=KQWjnw0AAACANm1kNgAD2CRArdu2Ufkt May I ask where you read this? Adrian posting-account=7JSjhQwAAACHPoWhnBsy0SqBF4HYgr3E > May I ask where you read this? > > > Adrian Yes, of course. I read it in this newsgroup, just search for CNA5. Both of the statements you will find are from the same person, Joey C., as I notice now. Perharps there are not enough units out there to ask this now. Just I wanted to know. I will certainly inform you here on the quality of my replacement when I get it. Alexis > With ROM 2.0 as the keyboard is fully handled natively in ARM (no more > emulating the old HP49 interrupt handler) the CPU will go into sleep > mode more rapidly than in 1.23. Have any other parts of the ROM been ported from Saturn to ARM? > >>With ROM 2.0 as the keyboard is fully handled natively in ARM (no more >>emulating the old HP49 interrupt handler) the CPU will go into sleep >>mode more rapidly than in 1.23. > > > Have any other parts of the ROM been ported from Saturn to ARM? Well, you could take a crack at disassembling the ROM. See http://www.hpcalc.org/search.php?query=Saturn%2B for new Saturn+ opcodes. -- James > hello, > > Well, my brain is fried and I realy do not feel like spending the time on > that little geometry problem that I have, so I am posting it here to see if > someone wants to have fun with basic geometry... > > here is the problem, I bought a band saw which is belt driven (ie: a pulie > on the engine is connected with a pulie on the band saw weel through a > belt)... however, the band saw runs around 40% slower that I want it to, so > my plan is to fabricate 2 new poulies to replace the previous ones to > increase the band saw speed by 40 %, BUT I want to keep the same belt... > > so, what do we know. > The center of the poulies are L CM appart > the radius of the current poulies (which are the same) are r0 > the length of the belt is 2*L+2*pi*r0 > > what I want to know, is, what are going to be the radius R1 and R2 of my 2 > new poulies, knowing that the distance between the center will not change > (L) that the ratio of R1/R2 is 1.4 and that the lenght of the beld should > not change... > > careful when proposing a solution, pay attention to the fact that the belt > will not wrap around 1/2 of each of the poulies, but over 1/2 on the big > poulie and less than 1/2 on the little one... which means that you will need > to find the angle of the belt compared with the poulie center axis and do > some trig :-) Okay, here's what I come up with: First off, by belt length, I mean where it contacts the pulleys. For a flat belt, this would be the inner surface, but for a V-belt, it would be the pitch surface. Similarly, for the pulleys, the outer diameter for flat pulleys, but the pitch diameter for a V-pulley. The new angle (let's call it 'a') of the straight part of the belt to the line of centers will be 'ASIN((R1-R2)/L)'. The contact with the larger pulley will (using radian measure) be '(pi+2*a)*R1'. The contact with the smaller pulley will be '(pi-2*a)*R2'. The free parts of the belt will be '2*L*COS(a)'. So the total belt length using the new pulleys will be '(pi+2*a)*R1+(pi-2*a)*R2+2*L*COS(a)'. Substituting 'ASIN((R1-R2)/L)' for a, If we want to run 40% faster than equally sized pulleys, then R1=1.4*R2. Substituting into the above, we get '(pi+2*ASIN((1.4*R2-R2)/L))*1.4*R2+(pi-2*ASIN((1.4*R2-R2)/L))*R2+2*L*COS (ASIN((1.4*R2-R2)/L))' 1.4*R2-R2=0.4*R2, so '(pi+2*ASIN((0.4*R2)/L))*1.4*R2+(pi-2*ASIN((0.4*R2)/L))*R2+2*L*COS(ASIN( (0.4*R2)/L))' which we want to be equal to the total length of the belt using the old pulleys, '2*L+2*pi*r0' so we have an equation, '(pi+2*ASIN((0.4*R2)/L))*1.4*R2+(pi-2*ASIN((0.4*R2)/L))*R2+2*L*COS(ASIN( (0.4*R2)/L))=2*L+2*pi*r0' And of course, we have the equation 'R1/R2=1.4' Putting them into a list, we have (in text file format): %%HP: T(3)A(R)F(.); { '(pi+2*ASIN((0.4*R2)/L))*1.4*R2+(pi-2*ASIN((0.4*R2)/L))*R2+2*L*COS(ASIN(( 0.4*R2)/L))=2*L+2*pi*r0' 'R1/R2=1.4' } STO the above as EQ, and execute MINIT to initialize the multiple equation solver, and the MSOLVR to start the solver. For example, suppose that the knowns are L=30 and r0=5 then it comes up with: R1: 5.81623692465 R2: 4.15445494616 The ratio is: 1.40000000001 Pulling out parts of the equation list and evaluating them, the old belt length is '2*L+2*pi*r0' which evaluates to 91.4159265359, and the new belt length is '(pi+2*ASIN((0.4*R2)/L))*1.4*R2+(pi-2*ASIN((0.4*R2)/L))*R2+2*L*COS(ASIN( (0.4*R2)/L)) which evaluates to 91.415926536. Close enough? But please don't just take my word for it. Someone, please, check my work. -- James X-RFC2646: Format=Flowed; Original Hello James, Cyrille >> hello, >> >> Well, my brain is fried and I realy do not feel like spending the time on >> that little geometry problem that I have, so I am posting it here to see >> if >> someone wants to have fun with basic geometry... >> >> here is the problem, I bought a band saw which is belt driven (ie: a >> pulie >> on the engine is connected with a pulie on the band saw weel through a >> belt)... however, the band saw runs around 40% slower that I want it to, >> so >> my plan is to fabricate 2 new poulies to replace the previous ones to >> increase the band saw speed by 40 %, BUT I want to keep the same belt... >> >> so, what do we know. >> The center of the poulies are L CM appart >> the radius of the current poulies (which are the same) are r0 >> the length of the belt is 2*L+2*pi*r0 >> >> what I want to know, is, what are going to be the radius R1 and R2 of my >> 2 >> new poulies, knowing that the distance between the center will not change >> (L) that the ratio of R1/R2 is 1.4 and that the lenght of the beld should >> not change... >> >> careful when proposing a solution, pay attention to the fact that the >> belt >> will not wrap around 1/2 of each of the poulies, but over 1/2 on the big >> poulie and less than 1/2 on the little one... which means that you will >> need >> to find the angle of the belt compared with the poulie center axis and do >> some trig :-) > > Okay, here's what I come up with: > > First off, by belt length, I mean where it contacts the pulleys. > For a flat belt, this would be the inner surface, but for a > V-belt, it would be the pitch surface. Similarly, for the pulleys, > the outer diameter for flat pulleys, but the pitch diameter for a > V-pulley. > > The new angle (let's call it 'a') of the straight part of the belt > to the line of centers will be 'ASIN((R1-R2)/L)'. > > The contact with the larger pulley will (using radian measure) be > '(pi+2*a)*R1'. > > The contact with the smaller pulley will be '(pi-2*a)*R2'. > > The free parts of the belt will be '2*L*COS(a)'. > > So the total belt length using the new pulleys will be > '(pi+2*a)*R1+(pi-2*a)*R2+2*L*COS(a)'. > > Substituting 'ASIN((R1-R2)/L)' for a, > > If we want to run 40% faster than equally sized pulleys, then > R1=1.4*R2. Substituting into the above, we get > '(pi+2*ASIN((1.4*R2-R2)/L))*1.4*R2+(pi-2*ASIN((1.4*R2-R2)/L))*R2+2*L*COS( ASIN((1.4*R2-R2)/L))' > > > 1.4*R2-R2=0.4*R2, so > '(pi+2*ASIN((0.4*R2)/L))*1.4*R2+(pi-2*ASIN((0.4*R2)/L))*R2+2*L*COS(ASIN(( 0.4*R2)/L))' > > which we want to be equal to the total length of the belt using > the old pulleys, '2*L+2*pi*r0' so we have an equation, > '(pi+2*ASIN((0.4*R2)/L))*1.4*R2+(pi-2*ASIN((0.4*R2)/L))*R2+2*L*COS(ASIN(( 0.4*R2)/L))=2*L+2*pi*r0' > > And of course, we have the equation 'R1/R2=1.4' > > Putting them into a list, we have (in text file format): > > %%HP: T(3)A(R)F(.); > { > > '(pi+2*ASIN((0.4*R2)/L))*1.4*R2+(pi-2*ASIN((0.4*R2)/L))*R2+2*L*COS(ASIN(( 0.4*R2)/L))=2*L+2*pi*r0' > 'R1/R2=1.4' > } > > STO the above as EQ, and execute MINIT to initialize the multiple > equation solver, and the MSOLVR to start the solver. For example, > suppose that the knowns are L=30 and r0=5 then it comes up with: > > R1: 5.81623692465 > R2: 4.15445494616 > > The ratio is: 1.40000000001 > > Pulling out parts of the equation list and evaluating them, the > old belt length is '2*L+2*pi*r0' which evaluates to > 91.4159265359, and the new belt length is > '(pi+2*ASIN((0.4*R2)/L))*1.4*R2+(pi-2*ASIN((0.4*R2)/L))*R2+2*L*COS(ASIN(( 0.4*R2)/L)) > which evaluates to 91.415926536. Close enough? > > But please don't just take my word for it. Someone, please, check > my work. > > -- > James The formula I finally got for belt length in a two-pulley system (ignoring real-world considerations such as effective radius with V-belts, etc.) is [after setting RADian angle mode] 'L=2*(v/(C^2-(B-A)^2)+(B+A)*pi/2+(B-A)*ASIN((B-A)/C))' Where pulley *radii* (not diameters) are A and B, C is distance between pulley centers, and L is total belt length; 'ASIN((B-A)/C)' is the angle between either straight belt segment and the line between pulley centers. Results agree with http://www.durabelt.com/beltlengthcalculator.php (scroll down to Method Three: Two Pulley System); above formula is the case where pulley groove depths, belt cross-section diameter and stretch factor are all zero). But of course James has already solved Cyrille's entire problem (except for the effective reduction of force when saw is speeded up, breaking/overheating of the saw band, belt, object being sawed, or motor, as VPN has also already predicted :) Calculator engineering and physical machinery engineering are not quite the same branch of engineering :) [r->] [OFF] > The formula I finally got for belt length in a two-pulley > system (ignoring real-world considerations such as > effective radius with V-belts, etc.) is > [after setting RADian angle mode] > > 'L=2*(v/(C^2-(B-A)^2)+(B+A)*pi/2+(B-A)*ASIN((B-A)/C))' > > Where pulley *radii* (not diameters) are A and B, > C is distance between pulley centers, > and L is total belt length; > 'ASIN((B-A)/C)' is the angle between either straight > belt segment and the line between pulley centers. > > Results agree with > http://www.durabelt.com/beltlengthcalculator.php > (scroll down to Method Three: Two Pulley System); > above formula is the case where pulley groove depths, > belt cross-section diameter and stretch factor are all zero). > > But of course James has already solved Cyrille's entire problem > (except for the effective reduction of force when saw is speeded up, > breaking/overheating of the saw band, belt, object being sawed, > or motor, as VPN has also already predicted :) A speed increase might, or might not, cause problems. It also might (or might not) improve things. I've used band saws that have stepped pulleys, so that the speed can be selected. The best speed depends on various factors, such as the characteristics of the workpiece, desired surface texture, blade type, and feed rate or pressure. Some experience, or else experimentation, is called for. > Calculator engineering and physical machinery engineering > are not quite the same branch of engineering :) Indeed not. By the way Cyrille, congratulations to you and Jaime on your engagement. But aren't your calculators getting jealous of your time and attention? We are, but I suppose that it might be okay if you took the 11th and 12th of June off this year. -- James X-RFC2646: Format=Flowed; Original >> But of course James has already solved Cyrille's entire problem >> (except for the effective reduction of force when saw is speeded up, >> breaking/overheating of the saw band, belt, object being sawed, >> or motor, as VPN has also already predicted :) > > A speed increase might, or might not, cause problems. It also > might (or might not) improve things. I've used band saws that have > stepped pulleys, so that the speed can be selected. The best > speed depends on various factors, such as the characteristics of > the workpiece, desired surface texture, blade type, and feed rate > or pressure. Some experience, or else experimentation, is called > for. In this case, the band saw has stepped pulleys in order to acheive speeds of 400 to 2600 FPM... However, I am planning to do some resawing which requires speeds closer to 3000+ FPM (constraint 1) and secondary, when I go back to europe, where the frequency of electrical current is 50hz instead of 60 (the engine for the band saw will take 230V, so that is ok), the speed of the engine will reduce by 60/50th = 20% this is why I want to increase the top speed by 40% :-) the engine being 1.5hp should be OK driving the saw :-) > By the way Cyrille, congratulations to you and Jaime on your > engagement. But aren't your calculators getting jealous of your > time and attention? We are, but I suppose that it might be okay if > you took the 11th and 12th of June off this year. ho, I just have not told her (my calcualtor) that it was happening... I just put it in coma mode so it does not realize what is happening :-) cyrille P.S.: The formulas for http://www.durabelt.com/beltlengthcalculator.php may be found at http://www.durabelt.com/javascripts/lengthcalculator.js (and agree with James' method): var Angle = Math.asin((PitchDiam1-PitchDiam2)/(2.0*TRCenterDistance)); var Term1 = (2.0*TRCenterDistance*Math.cos(Angle)); var Term2 = ((PI / 2.0)*(PitchDiam1+PitchDiam2)); var Term3 = (Angle*(PitchDiam1-PitchDiam2)); var Divisor = (1.0+TRStretch); var TRCutLength = ((Term1+Term2+Term3)/Divisor); [r->] [OFF] Oops! it looks as if I moved a line instead of copying it as I meant to. > So the total belt length using the new pulleys will be > '(pi+2*a)*R1+(pi-2*a)*R2+2*L*COS(a)'. > > Substituting 'ASIN((R1-R2)/L)' for a, > > If we want to run 40% faster than equally sized pulleys, then Make that: So the total belt length using the new pulleys will be '(pi+2*a)*R1+(pi-2*a)*R2+2*L*COS(a)'. Substituting 'ASIN((R1-R2)/L)' for a, '(pi+2*ASIN((R1-R2)/L))*R1+(pi-2*ASIN((R1-R2)/L))*R2+2*L*COS(ASIN((R1-R2 )/L))'. If we want to run 40% faster than equally sized pulleys, then -- James P.P.S.: We could generalize the equations a bit, to work for any given speed increase. For example, say we want to increase it by .5 (50%) instead. Lets use the equations: %%HP: T(3)A(R)F(.); { '(pi+2*ASIN((F*R2)/L))*(1+F)*R2+(pi-2*ASIN((F*R2)/L))*R2+2*L*COS(ASIN((F* R2)/L))=2*L+2*pi*r0' 'R1/R2=1+F' } where F equals the fraction the speed is increased. Actually, it seems that if you increase the diameter of one pulley the same amount that you decrease the diameter of the other pulley, the belt length won't increase all that much. Probably the change could be compensated for with a tension adjustment. It seems obvious, but I've seen people who know better make the mistake; the bigger pulley is for the engine, and the smaller pulley is for the band saw wheel, unless you want it to run slower instead. -- James P.S.: The calculator should be in Radians mode when solving these equations. -- James posting-account=tJEQEw0AAAAD1Rviuyd5QqxLNODse0hE Hello there, I'd like to emit three wishes for the next ROM version of the HP-49G+: 1) add the ability to the debugger (DBUG) to debug SysRPL and (eventually) assembler as well as UserRPL. The used and displayed mnemonics could be those from the extable library. Note: the Jazz 6.8e does not work properly on the HP-49g+ 2) Periodic Table from the EQLIB 3) Integrate the USAG command in the ROM At least, I guess the first wish should be very usefull. I hope the genius in the lamp will hear that ;) Fred. Distribution: world >> i search for the faculty function: x! > Du kannst auch den Program FFAC von Al Borowski benutzen. > Es ist sehr schnell, weil es auf ARM ASM geschrieben wird. > > (I should be writing German more often.) Merci beaucoup. Je l'essayerai directement. (Non je ne pas parler de fran.8dais. Aussi, si je l'ai appris dans l'.8ecole.) Distribution: world > i search for the faculty function: x! >> Du kannst auch den Program FFAC von Al Borowski benutzen. >> Es ist sehr schnell, weil es auf ARM ASM geschrieben wird. >> >> (I should be writing German more often.) > Merci beaucoup. Je l'essayerai directement. > (Non je ne pas parler de fran.8dais. Aussi, si je l'ai appris dans l'.8ecole.) i tried this programm (http://www.hpcalc.org/details.php?id=6011), but i get an error: 1 FFAC Error: Bad Argument Type i think it's because. in readme: ... Then put a ZINT (Exact Integer) on the stack, then run FFAC .... how can i creat a zint? or i must change something? > i tried this programm (http://www.hpcalc.org/details.php?id=6011), but i get > an error: > > 1 FFAC > Error: Bad Argument Type > > i think it's because. in readme: ... Then put a ZINT (Exact Integer) on the > stack, then run FFAC .... how can i creat a zint? or i must change > something? Weird. A ZINT is just an exact integer. Do you see a '1', or a '1.'? If its a '1.' then you have a Real (inexact number), not a ZINT. FYI the typecheck code is DUPTYPEZINT? NcaseTYPEERR DUP ZINT 0 Z>= NcaseSIZEERR DUP ZINT 9999 Z<= NcaseSIZEERR DUP ZINT 2 Z< casedrop ZINT 1 [...] Maybe it needs a number bigger than one. I forget; I don't know sysRPL Al PS Coming soon, in the tradition of Fast Factorial and Fast Fibonacci, is Fast Factor: Better and faster then the built in one :) Distribution: world >> i tried this programm (http://www.hpcalc.org/details.php?id=6011), but i >> get an error: >> >> 1 FFAC >> Error: Bad Argument Type >> >> i think it's because. in readme: ... Then put a ZINT (Exact Integer) on >> the stack, then run FFAC .... how can i creat a zint? or i must change >> something? > Weird. A ZINT is just an exact integer. Do you see a '1', or a '1.'? yes, i see a 1, (the same like 1.) and it's a real. how can i convert it to a integer? > If its a '1.' then you have a Real (inexact number), not a ZINT. > > FYI the typecheck code is > > DUPTYPEZINT? NcaseTYPEERR do you mean this? DUP TYPE ZINT? NcaseTYPERR > DUP ZINT 0 Z>= NcaseSIZEERR > DUP ZINT 9999 Z<= NcaseSIZEERR > DUP ZINT 2 Z< casedrop ZINT 1 > [...] this code don't run. ZINT is an ID and it cannot be evaled. > Maybe it needs a number bigger than one. I forget; I don't know sysRPL >>Weird. A ZINT is just an exact integer. Do you see a '1', or a '1.'? > > yes, i see a 1, (the same like 1.) and it's a real. how can i convert it to > a integer? Either get out of approx mode, or use the 'XQ' command to turn a real into a zint. > > >>If its a '1.' then you have a Real (inexact number), not a ZINT. >> >>FYI the typecheck code is >> >> DUPTYPEZINT? NcaseTYPEERR > > do you mean this? DUP TYPE ZINT? NcaseTYPERR I copied and pasted exactly from my source. > >> DUP ZINT 0 Z>= NcaseSIZEERR >> DUP ZINT 9999 Z<= NcaseSIZEERR >> DUP ZINT 2 Z< casedrop ZINT 1 >>[...] > > this code don't run. ZINT is an ID and it cannot be evaled. As the author of FFAC, I assure you it does run. best, Al Distribution: world >Weird. A ZINT is just an exact integer. Do you see a '1', or a '1.'? >> yes, i see a 1, (the same like 1.) and it's a real. how can i convert it >> to a integer? > Either get out of approx mode, or use the 'XQ' command to turn a real > into a zint. >If its a '1.' then you have a Real (inexact number), not a ZINT. >FYI the typecheck code is > DUPTYPEZINT? NcaseTYPEERR >> do you mean this? DUP TYPE ZINT? NcaseTYPERR > I copied and pasted exactly from my source. > DUP ZINT 0 Z>= NcaseSIZEERR > DUP ZINT 9999 Z<= NcaseSIZEERR > DUP ZINT 2 Z< casedrop ZINT 1 >[...] >> this code don't run. ZINT is an ID and it cannot be evaled. > As the author of FFAC, I assure you it does run. i found the error. it isn't userrpl. denis X-RFC2646: Format=Flowed; Original (Non je ne pas parler de fran.8dais. Aussi, si je l'ai appris dans l'.8ecole.) Je ne parle pas fran.8dais non plus. Tom Lake Distribution: world t> I tried to do a message search yesteray (RS-CO..) in the emacs editor t> and after searching ~230 libs it died on me with a TTRM. Can anyone t> verify this or do i have a bad library installed or something? First of all, I am amazed someone besides me actually uses message search in Emacs. Makes me happy. :-) Second, yes, I can confirm this problem. There seems to be a problem with library 231, message two is not a string, but an invalid rompoitner XLIB 428 2083 The next version of Emacs will catch this case and skip any remining messages in that library. However, it appears to me that this is in fact an obscure bug in the ROM. - Carsten posting-account=KQWjnw0AAACANm1kNgAD2CRArdu2Ufkt I'll join the queue of happy customers. I have had my 49g+ for just over a week - and it is amazing. How that much functionality can be packed into so little ROM code ... I would have bet $100 that it wasn't possible if you asked me a month ago. Adrian posting-account=eD5a8w0AAAA4_RfowCbAul0aARMG5Dci > I would like to thank all of those who worked to so hard to give the 49G+ a > great new ROM version !!!! > Dale Richmond Is there a description somewhere of how ROM version 2.0 differs from 1.23? Distribution: world f> Hi Carsten, f> I the case you show me, the message Do you want to quit? appears in f> small font, and YES/NO appears in middle font. f> What I wish is the following: f> - Having the message Do you want to quit? in middle font in a popup f> window (like for the DoWarning) f> - in the menu: YES, NO (instead of OK in the DoWarning) f> - Having a question mark grob instead of an exlamation mark for the f> DoWarning. f> Like the Win32 MessageBox API... pWnd-> MessageBox(Do you want to quit?, SOKOBAN, MB_YESNO); f> See what I wish? There is not default entry for this, you need do do it yourself. you can use ^SaveHARDBUFF and ^RestoreHARDBUFF to save and restore the screen. Make the grob with the text yourself, display the menu and have the user act on it. All in all a lot of effort, so why don't you just go with AskQuestion? Users can directly press OK or CANCEL in the menu, CANCEL will be equivalent to selecting NO and pressing OK. - Carsten f> Fred.