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