Many times we've been talking about grey scale capabilities of the
HP49G.
Well, here is a fun example of what can be done with it.
This small program (in pure UserRPL) will take a graphic on the level 1
of the stack. Be sure that you select a 131 pixels width graphic.
And then, appreciate...
If somebody wants to create a HP48/49 graphic with the new HP logo, it
would be really nice to keep it in your HP49 that way...
You will also find in this post, the SysRPL version of the same code.
It will open a browser showing all the graphic in memory. Simply select
the graphic you want... Be sure that you select a 131 pixels width
graphic otherwise the result may look strange ...
Unfortunately, there's no way to do the same in UserRPL as the entry
point BrowseMem.1 doesn't allow to browse graphic... I will modify this
entry point in future ROM release, so it can be done in UserRPL as
well..
I think te SysRPL code will be useful for people that want to use
internal ressources of the Filer. It's quite powerful (more than the
MetaKernel one)
Have fun..
Jean-Yves
UserRPL: (lib 256 must be attached)
BCKGROUNDON
\<<
#8069Dh #8068Dh APEEK A\->H #80695h APEEK A\->H
\-> SCR A B C
\<<
A B POKE A 10 + B POKE
:0: T PURGE SCR :0: T STO
A 20 + :0:T RCL \->A 20 + A\->H POKE
A 5 + C POKE
A 15 + C POKE
A 25 + C POKE
#8069Ch "F" POKE
\>>
\>>
BCKGROUNDOFF:
\<< #8069C "0" POKE \>>
SysRPL Version...
Load your HP49 entry points table in port 2.
Attach the library 256, then simply type ASM...
Replace the \-> with the arrow character...
You can download the binary version on my address:
http://www.epita.fr/~avenar_j/hp/product/bckgrnd.zip
"!NO CODE
!RPL
DEFINE fEverywhere ZERO
DEFINE fNoLib TWO
* Need to define FOUR as an address
* seems that there is a bug with DEFINE
DEFINE cArbo 3312F
DEFINE cQUIT THIRTYSEVEN
DEFINE cView THREE
DEFINE cBip ZERO
DEFINE t1OBJ SEVENTEEN
DEFINE tNoOBJ SIXTEEN
DEFINE kcEnter 33305
::
TOADISP
* Only GROB and DIR
{ # 2B1E # 02A96 }
* Default PATH:HOME
{ }
* Application Menu:
{
{ "TREE" fEverywhere cArbo }
{
"OFF" fEverywhere tNoOBJ
::
DROP
HXS 5 C9608 "0" xPOKE
FALSE
' TakeOver
;
}
{ "VIEW" fNoLib cView }
{ NULL$ fEverywhere cBip }
{ "CANCL" fEverywhere cQUIT }
{
"OK" fEverywhere t1OBJ
::
DROPSWAPDROP
DUPTYPEGROB?
NOTcasedrop DoBadKey
* ( if TakeOver is returned by the program, it will end the filer )
' TakeOver
;
kcEnter
}
}
FPTR2 ^FILER_MANAGERTYPE
NOT?SEMI
DUPTYPEGROB? NOTcaseDROP
HXS 5 D9608
HXS 5 D8608 xAPEEK xA\->H
HXS 5 59608 xAPEEK xA\->H
{
LAM SCR LAM A LAM B LAM C
} BIND
LAM A LAM B xPOKE
LAM A ZINT 10 x+
LAM B xPOKE
TAG 0
ID T
xPURGE
LAM SCR
TAG 0
ID T
xSTO
LAM A ZINT 20 x+
TAG 0
ID T
xRCL x\->A
ZINT 20 x+ xA\->H xPOKE
LAM A ZINT 5 x+ LAM C xPOKE
LAM A ZINT 15 x+ LAM C xPOKE
LAM A ZINT 25 x+ LAM C xPOKE
HXS 5 C9608 "F" xPOKE
ABND
;
@"
Sent via Deja.com http://www.deja.com/
Before you buy.
http://www.perso.atsat.com/pigallio/Hp48/Lil_hp48.htm
Thanks Jean-Yves
aven...@epita.fr a écrit dans le message <833501$aoe$1...@nnrp1.deja.com>...
Excellent !!
Bravo :-)
Joėl