From dmh@goanna.cs.rmit.OZ.AU Mon Apr 30 18:55:21 1990
From: dmh@goanna.cs.rmit.OZ.AU (Darren Hosking)
Newsgroups: comp.sys.handhelds
Subject: 48SX machine code screen inverter
Date: 26 Apr 90 01:46:15 GMT
Organization: Comp Sci, RMIT, Melbourne, Australia


Here is my first machine code program. It simply inverts (reverse video) the
entire stack display (except for the menu keys).

I have included the uuencoded binary which (once uudecoded) can be downloaded
and run "as is" (set translation to 0 in the I/O setup menu).

Checksum: #9F33h Bytes: 38.5
begin 644 i
I2%!(4#0X+4',+=`#`#$&-L27<#&&@$)\`1!D[T$41LPE#Q=C01)&",@`
`
end

If you can't load the above for some reason you can use the following:

%%HP: T(3);
{
# 3606310003D02DCCh
# 7C428086317097C4h
# CC461441EF641001h
# 0846124163170F25h
# C8h
}

Place the above list in stack level 1 and run:

The ->SYS program was written by Rick Grevelle.
It expects a list of hex integers and converts them into an object.

\->SYS
   \<<
      " "  +  LIST\->  2 SWAP
      START #5193h  SYSEVAL
      NEXT  #4003h  SYSEVAL
      #56B6h SYSEVAL DROP
   \>>

Then store this in I.

Running I standalone causes the current stack display to be momentarily inverted
and then restored so you will need to use it in a program to make the inverted
screen persist (eg freeze). The following program expects the screen invert
program to be stored in I and simply calls I and freezes the display until
the next key press.

IN
\<< I 3 FREEZE \>>

As usual with machine code hacking, make sure you have backed up
(or written down :-) anything you don't want to lose before attempting the
above incase anything goes wrong.

	dmh

Darren Hosking				ACSnet: dmh@goanna.oz	 
Department Of Computer Science		ARPA:   dmh%goanna.oz.au@uunet.uu.net
RMIT					CSNET:  dmh%goanna.oz.au@australia
GPO Box 2476V				UUCP:   ...!uunet!goanna.oz.au!dmh
Melbourne Vic., Australia 3001

