![]() |
Nonpareil display improvements - Printable Version +- HP Forums (https://archived.hpcalc.org/museumforum) +-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html) +--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html) +--- Thread: Nonpareil display improvements (/thread-74350.html) |
Nonpareil display improvements - Eric Smith - 06-02-2005 Release 0.68 of Nonpareil has much better looking LCD displays for the HP-41C and Voyager series calculators. Now instead of single-pixel-wide "stick digits", they have segments that look pretty much like the real thing, thanks to the scaling and compositing features of gdk-pixbuf. The Voyager annunciators are also now implemented. The .png image files contain an oversized digit/character template, with each segment in a different color. The KML file specifies where the segment tempate is, how big it is, and what colors (RGB) the segments are. At startup, Nonpareil extracts the segments individually, changes their color to black, scales them, and converts the result to alpha channel data for compositing. Display updates are also faster because display update requests now only invalidate the digits and annunciators that have actually changed, and the expose event handler uses the update region to determine which ones need to be repainted. Updated the About box. Added some animation and an easter egg.
Re: Nonpareil display improvements - Mike (Stgt) - 06-02-2005 Hi Eric!
Compiling nonpareil-0.68 under CYGWIN_NT-5.0 i686 1.5.17(0.129/4/2) 2005-05-25 19:38 reveals following: $ sconsNonpareil-0.67 compiled and installed perfectly, but: $ nonpareil hp21 BTW: HP-12C works nice on VM/ESA
Ciao.....Mike
Re: Nonpareil display improvements - Eric Smith - 06-03-2005 I think you need a newer SCons, 0.96.90.
However, there is another build problem in Nonpareil 0.68, so I suggest you wait for the next release, which will probably happen tonight or tomorrow night.
Re: Nonpareil display improvements - Todd - 06-03-2005 I had the .obj file open issue with 0.67 on Cygwin as well. Some debugging showed that it was actually a file re-open that was failing. Inside the sim_read_object_file() function in proc.c, freopen() had NULL for the .obj file name string, and it was bombing the reopen. I replaced NULL with the actual filename string (as in the fopen() earlier in the same function) and the issue went away. /* f = freopen (NULL, "rb", f); */ f = freopen (fn, "rb", f); It's been years since I've programmed in C and I didn't research further -- I was just happy everything automagically worked after that and I could play with the calculators.
Many thanks to the author of Nonpareil!!
SCons versions - Mike (Stgt) - 06-03-2005 Yes, of cause I did _not_ install the beta version. But the SCons_local you supply with Nonpareil fails in similar manner.
Ciao.....Mike
Re: Nonpareil display improvements - Mike (Stgt) - 06-03-2005 Aha! There is at least one more (or two?) using Cygwin. Did you encounter that type mismatch for variable addr_t too?
Ciao.....Mike
nonpareil-0.69 - Mike (Stgt) - 06-03-2005 Sorry Eric, but what did you change from 0.67? $ ./scons-local/scons.pyThis is with scons-local-0.96.90
Ciao.....Mike
Re: Nonpareil display improvements - Eric Smith - 06-03-2005 Quote: Apparently the Cygwin implementation of the freopen() function is not compliant with the C standard. ISO/IEC 9899:1999(E), section 7.19.5.4, paragraph 3 states:
Quote: Anyhow, your fix should be OK. The reason I used NULL was that I *only* wanted to change the mode, not to actually close the file and reopen it, though doing that shouldn't hurt anything unless the file has been deleted in the mean time. (Some operating systems allow deleting an open file; the actual deallocation of the occuiped space is deferred until all open file handles are closed.)
Re: nonpareil-0.69 - Eric Smith - 06-03-2005 In order to render the images used in the About box, there are two utilities that get built and executed as Nonpareil is being built. One of them uses the library gdk-pixbuf, and even though I never tell it to draw anything to the X server, the library will not work if it cannot connect to an X server. The SCons error you're reporting is the result of not having the DISPLAY and XAUTHORITY environment variables set; SCons is trying to copy the values of those environment variables to the environment it will export to the utility.
Whatever means you use to start the X server should set those environment variables in any subprocesses it creates, such as xterms. It's easiest to run SCons from one of those.
Re: nonpareil-0.69 - Mike (Stgt) - 06-04-2005 Thank you!! Up to now I used the simple "Bash window" (?, looks like a DOS box) to compile Nonpareil. If I do the same from the X-Window the DISPLAY key-error ceased. Now it hangs with KeyError XAUTHORITY. Well, I do not have enough time for that here at work (yes - i know - it's Saturday), I'll try at home 2nite.
Ciao.....Mike
Re: nonpareil-0.69 - Eric Smith - 06-04-2005 Try commenting out the line in src/SConscript that uses XAUTHORITY. If that makes it work for you, I'll figure out how to make it optional.
Re: Nonpareil display improvements - Todd - 06-04-2005 Yep. I compiled nonpareil after you, so getting down to just the addr_t naming conflict was an indicator to me that I had all the necessary libraries and headers in place. :-)
-Todd
Re: Nonpareil display improvements - Eric Smith - 06-04-2005 Quote:
Where is that occuring? I get several other warnings when I build on Linux, but not that one.
Re: nonpareil-0.69 w/o XAUTHORITY - Mike (Stgt) - 06-06-2005 Hi Eric! When I do as adviced, I suddenly get an error from Windows: "cygX11-6.dll not found in path: ..." when the scons process invokes str2png.exe. The path shown in the error message is incomplete compared to the settings listed with SET within XWindow. Seems it's getting hairy - at least I feel lost in the middle of the jungle. Any pathfinder around?
Ciao.....Mike
Re: nonpareil-0.69 w/o XAUTHORITY - Klaus - 06-06-2005 Make sure the CygX....dll is in your Windows path (or in the autoexec.bat-Path. Use the cygwin-bash and then type startx
xauth info to view the settings
Good Luck!
Re: nonpareil-0.69 w/o XAUTHORITY - Mike (Stgt) - 06-07-2005 Thank you for the hint, I get a "time out error" on xauth info as at work I am not admin of my PC. I'll try once more at home ASAP. Up to now I assumed using the SET PATH=... in cygwin.bat would be enough. Now I did so in startxwin.bat too. Alas still no success. Seems I realy have to change the path in the autoexec.bat, I do not like that, I wanted to keep Cygwin separated from windows.
Ciao.....Mike
addr_t conflict solution - Klaus - 06-08-2005 the addr_t is already defined in /usr/include/cygwin/types.h you can disable the definition by defining "__addr_t_defined". gcc -Wall -D__addr_t_defined -g -D_REENTRANT -DDEFAULT_PATH=/usr/local/lib/nonpareil -Ibuild -Isrc -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -c -o build/csim.o src/csim.c executed in folder src compiles without error, but I have no idea how to add "-D__addr_t_defined" in the SConscript.
Edited: 8 June 2005, 5:04 a.m.
Re: addr_t conflict solution - Mike (Stgt) - 06-08-2005 Well - ah - ... - yes, for addr_t I use a brute-force method: I search for all *.c and *.h files in Nonpareil, load them to UltraEdit and change all addr_t to azzt_t. Pronto!
Ciao.....Mike
cygX...dll - Klaus - 06-08-2005 This is an odd error: build/str2png.exe -x 40 -y 44 kml/41cv.kml "." build/rgoose.png
I can send a zip with my SConscript and src folder.
IT works!!!! - Klaus - 06-08-2005 I changed the functions in sound.c to return 1, and defined size_t as int in sound.h, and now it works. I just started the 41cv, and now I will try the other calcs!!!
Thank you Eric for this wonderful piece of software!!! Edited: 8 June 2005, 6:17 a.m.
|