[comp.sys.handhelds] HP48SX Screen Dissolver

ervin@pinbot.enet.dec.com (Joseph James Ervin) (03/01/91)

Hello all,

I have finally finished the first version of "DISS",  my screen dissolver 
program.

What is a "screen dissolver" you ask?

The program takes two arguments:

2: real number (zero or one)
1: GROB (131x64)

The program will do different things with the GROB depending on whether a 1 or
a 0 is in level 2.  If level 2 contains a 0, then the program will do a
bit-wise dissolve of the GROB on level 1 into PICT.  The idea here is that you
would use DISS in a program  after previously displaying some graphic
image via 
PVIEW.  When you execute DISS, the new graphic on level 1 will replace
the
graphic currently on the display 1 pixel at a time, in a random fashion.

If a 1 is on level 2 when DISS is executed, then instead of doing a bit-wise
dissolve, it will do what I call "tiling".  In this mode of operation, the
program will move random _nibbles_ from the level 1 GROB into PICT, rather than
doing one bit at a time.  The effect is slightly different, and it runs around
5 times as fast as the bit-wise dissolve (5 seconds for a bit-wise dissolve,
and 1 second for tiling).  I think both modes look pretty cool (of course). :-)

Well, below is the code in ASC format.  It is written in a combination of
system RPL and machine language (like Bill Wickes ASC routines themselves), and
there are no known bugs.  When you ASC-> the code, you'll have a directory
object in level 1.  Just store this using any name you like.  Then you'll
probably want to go down into the directory you just created and copy the DISS
program up into the home directory, so you can use it from any directory.  

I will be watching the conference dilligently for feedback, and ideas for
improvement. (I'd love to see this used in TETRIS, for example).

Enjoy!

>>>Joe Ervin

*************************CUT HERE***************************************
%%HP: T(3)A(D)F(.);
"69A20FF7A000000000404494353540D9D20D4881D8A812BF8170140D9D208813
026AC130A503223030A50322301192004000A3D36D9D2044230C2A207200094E
66716C69646027425F4240244164716933A1B21301192038000A3D36D9D20442
30C2A207200094E66716C69646027425F4240244164716933A1B2130F7815322
301192004000A3D36D9D2044230C2A207200094E66716C696460205943445023
596A756933A1B21301192038000A3D36D9D2044230C2A207200094E66716C696
460205943445023596A756933A1B213032230AEC8111920F780032230CCD200D
1008F14660AF38A850B478F14660AF2DE109143818F09818F0981AF02174E78F
B97601F56507147818F29818F2981AF08AF234FFF3094B9034FFF00D7AF01031
04AF230194B5030FAE581AF1381AF1AC2135AF014B0E6011B13381AF10C21331
3514FBED0E650E6ABED15D011CC6C6114C2818F220EF781AF0C81AF0B94FB6AE
A819F2819F281AF0BDC808203DC0E60AE1960F1B6596042B6596092808208AEC
6620808201AEC6910808202AEC6C00808204AEC81AF1181AF1B8B224DE81AF1A
C2135AF014B0E6011B13381AF10C213313514FBED0E650E6ABED15D081AF148A
860631F8F34150B2130B21309CE7"

ervin@pinbot.enet.dec.com (Joseph James Ervin) (03/01/91)

Re: my recent posting of the screen dissolver


Credit where credit is due....


I wish to thank Jan Brittenson for his assistance during this endeavor.  I 
could not have finished this project without his wonderful STAR assembler 
and his expert advice on writing machine language and system RPL code.  
Also to be credited are Alonzo Gariepy, who did much of the pioneering work on 
the saturn processor, and Derek Nickel, who has provided a wealth of
information 
regarding system RPL programming on the 48SX.

Sincerely,

>>>Joe Ervin

Oh, one more thing about DISS;  it requires both the GROB on level 1
*and PICT* to have 
sizes of 131x64.  Anything else will generate an error.

  

akcs.falco@hpcvbbs.UUCP (Andrey Dolgachev) (03/04/91)

Thanks, Joe, this woudl be aa cool thing to use in Tetris, and it's small
enough.  I don't want to guarantee wnything, but a new version of Tetris
shall be up in a week along with the puse to off suggestion.  I needed a
break from colorizing and updating my blackjack program for the new macs
anyways.
   --Falco

ervin@pinbot.enet.dec.com (Joseph James Ervin) (03/04/91)

>Thanks, Joe, this woudl be aa cool thing to use in Tetris, and it's small
>enough.  I don't want to guarantee wnything, but a new version of Tetris
>shall be up in a week along with the puse to off suggestion.  I needed a
>break from colorizing and updating my blackjack program for the new macs
>anyways.
>   --Falco
>

I have modified my copy of TETRIS to use the screen dissolver, so now at 
the start of the game, the playing field dissolves in one bit at a time. I 
think it looks nice.  Sort of gives it that little extra 'touch'.   :-) 

It might also be good at the end.  You may want to experiment with
using DISS in tiling mode, and see which one you like better.

By the way: if for some reason you decide not to use DISS in your next
posting of TETRIS, then I'm afraid I'll be forced to take matters into my
own hands and post the instructions for how to add DISS to TETRIS. :-)

But seriously, I would be honored if you decide to used it.

Regards,

>>>Joe

ervin@pinbot.enet.dec.com (Joseph James Ervin) (03/07/91)

Falco,

I'm not sure I can reach you, so I thought I'd post a note to 
you here.  Sorry folks.

If you do decide to use the screen dissolver in your code,  and
I hope you do :-),  then you might want to test for the variable 
DISS using the VTYPE command.  If this returns a 0, then the 
user has not installed DISS, and you could just display the 
startup screen normally (not using DISS).  Otherwise use DISS
to display the startup screen.

Testing for the existence of DISS in this way eliminates the need of 
distributing it with TETRIS, and adding the test should be easy and 
cheap.   

Just a thought.

>>>Joe Ervin

cloos@acsu.buffalo.edu (James H. Cloos) (03/08/91)

In article <892@sousa.enet.dec.com> ervin@pinbot.enet.dec.com (Joseph James Ervin) writes:
[etc]
>DISS using the VTYPE command.  If this returns a 0, then the 
                                ^^^^^^^^^^^^^^^^^^^^
>user has not installed DISS, and you could just display the 
[etc]

Actually, -1 is returned if the ID does not exist.

-JimC
--
James H. Cloos, Jr.		Phone:  +1 716 673-1250
cloos@ACSU.Buffalo.EDU		Snail:  PersonalZipCode:  14048-0772, USA
cloos@ub.UUCP			Quote:  <>

akcs.falco@hpcvbbs.UUCP (Andrey Dolgachev) (03/10/91)

Joe, and all
  I finished the Tetris with DISS, and because DISS is a relatively small
file, I think that I will just include it with Tetris.  The dissolve
happens when you start the game, when you enter you name in the high
score, when it displays the high scores, and when you return to the
stack.  I will post the new version, which also has a few minorfixes, and
a true pause function which allows you complete access to your
calculator.  I will psot it tonight, so look for it.  Thanks for your
DISS, Joe, it works great and it doesn't take up too much memory.
           ---Falco

jreeves@magnus.ircc.ohio-state.edu (Joe B Reeves) (03/20/91)

New person here, so here's a dumb question: Where are some sites with HP-48 
programs?
Just askin'.
Lookin' fer Tetris, though.

 ____________________________________________________________________________
|Joe Reeves | The Ohio State University | jreeves@magnus.acs.ohio-state.edu  |
|---Memo-to-myself.-Do-the-dumb-things-I-gotta-do.-Touch-the-puppet-head.----|
|    //               They Might Be Giants debut album.                      |
|  \X/ Amiga Rules!     "Jesus Thinks You're A Jerk" - Frank Zappa, 1989     |
 ----------------------------------------------------------------------------

-- 
 ____________________________________________________________________________
|Joe Reeves | The Ohio State University | jreeves@magnus.acs.ohio-state.edu  |
|---Memo-to-myself.-Do-the-dumb-things-I-gotta-do.-Touch-the-puppet-head.----|
|    //               They Might Be Giants debut album.                      |