Michael2_3B wrote:
Woh.

Just tried a new version, and it looks super cool (in my opinion). Again, this is still monochrome.

Even though it looks similar to the first one on the page, it's not. Like always, jsTIfied can't quite capture what I see on my own calculator. Incase you're wondering, the first image is without the jsTIfied skin on, and the second one has the skin on. That's why they appear different.

Anyways, this one uses 2 HEX codes to do it, which fill the screen with white pixels and fill the screen with black pixels. You can't use ClrDraw, because you won't be able to see anything.


Code:

White Pixels:
AsmPrgm210000115F3FEF5C4DC9

Black Pixels:
AsmPrgm210000115F3FEF624DC9


Code:

Program:

Repeat getKey
Asm(prgmASM1
Asm(prgmASM2
End

You can also do this solely with an invert HEX code, which would be

Code:

AsmPrgm210000115F3FEF5F4DC9


[EDIT]
You can also use the HEX codes with other commands to make it look really cool. For example, try this:

Code:

Repeat getKey
ClrHome
Asm(prgmASM1   //fills screen with black pixels
End

Any chance that there could be an all-ASM version?
Hitechcomputergeek wrote:
Any chance that there could be an all-ASM version?

Maybe, but I wouldn't know.

There are MANY variations you could do with this, and pretty much anything that updates the LCD could be used. For example, I just discovered a new one - on my 83+, it kind of looks like waterfall. There's really no point in doing a jsTIfied gif here, just try it on your own calc Smile

Code:

PROGRAM:ASM
AsmPrgmEFD74AEFEF4AC6D8D8D3107B324784C9   //set contrast of LCD


Code:

Shade(Ymin,Ymax   //optional, but makes it look cooler
Repeat getKey
0:Asm(prgmASM  //lowest contrast
39:Asm(prgmASM  //highest contrast
End


Like I said, there are tons of variations. You could even toggle LCD power rapidly to create a cool effect. <Assembly Hex Codes>
Michael2_3B wrote:
this one uses 2 HEX codes to do it
[...]

Code:

White Pixels:
AsmPrgm210000115F3FEF5C4DC9

Black Pixels:
AsmPrgm210000115F3FEF624DC9


Code:

Program:

Repeat getKey
Asm(prgmASM1
Asm(prgmASM2
End

You can also do this solely with an invert HEX code, which would be

Code:

AsmPrgm210000115F3FEF5F4DC9


[EDIT]
You can also use the HEX codes with other commands to make it look really cool. For example, try this:

Code:

Repeat getKey
ClrHome
Asm(prgmASM1   //fills screen with black pixels
End


Why are you capitalizing 'HEX' like it's an abbreviation? Technically there isn't even any such thing as a 'HEX code', since these are assembly programs converted to machine code.

Speaking of assembly, here's a disassembly of each program; the only thing that changes between them is the bcall they use:

Code:

ld hl, 0       ;210000
ld de, $3F5F   ;115F3F
bcall(XXXX)    ;EFXXXX
ret            ;C9

//Invert: $4D5F
//Black: $4D62
//White: $4D5C

So if you want an all-ASM version, you'd have to use a jump instruction to create a 'loop':

Code:

210000  ;ld hl, 0        //the rectangle routines draw from (L, H) to (E, D), so we intialize (L, H) to (0, 0)...
115F3F  ;ld de, $3F5F    //...and (E,D) to (95 [$5F in hex], 63 [$3F]).
EF5C4D  ;bcall(_ClearRect)
;Loop:
210000  ;ld hl, 0        //The rectangle routines destroy every register,
115F3F  ;ld de, $3F5F    //so we have to reassign their values
EF5F4D  ;bcall(_InvertRect)
EF1840  ;bcall(_GetCSC)  //Similar to getKey in BASIC
FE0F    ;cp skClear
C8      ;ret Z
18EF    ;jr Loop

If you don't want it to clear the screen before it starts, delete the first three lines.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 2 of 2
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement