[Staff] Microhertz - TI-83/TI-83+ Scene Demo
Moderator: MaxCoderz Staff
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
[Staff] Microhertz - TI-83/TI-83+ Scene Demo
Download
I haven't been able to fully test the 83 version, and don't know how LCD-driver friendly the 83+ version is for people with SEs.
It's been a little side project to keep me going and as a testbed for Brass and Latenite.
I haven't been able to fully test the 83 version, and don't know how LCD-driver friendly the 83+ version is for people with SEs.
It's been a little side project to keep me going and as a testbed for Brass and Latenite.
You... I... This... How... WTFBBQ?!
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
Thanks everyone
Nothing here is really ground-breaking, but I've always enjoyed this sort of programming more. If anyone dares to read the source, it shouldn't be too difficult to follow. Lots of basic trig and Bresenham goes on in there, plus some cheating with precomputed tables (which might explain the massive binary size...)
As for "hidden" keys;
Tunnel: cursor keys control movement
Flipping card: up/down control movement, left+right takes a screenshot, inverts it and uses that as the card's "texture".
Cylinder: up+down (held) inverts the text.
Nothing here is really ground-breaking, but I've always enjoyed this sort of programming more. If anyone dares to read the source, it shouldn't be too difficult to follow. Lots of basic trig and Bresenham goes on in there, plus some cheating with precomputed tables (which might explain the massive binary size...)
As for "hidden" keys;
Tunnel: cursor keys control movement
Flipping card: up/down control movement, left+right takes a screenshot, inverts it and uses that as the card's "texture".
Cylinder: up+down (held) inverts the text.
- thegamefreak0134
- Extreme Poster
- Posts: 455
- Joined: Mon 23 Jan, 2006 10:09 pm
- Location: In front of a Computer, coding
- Contact:
....... How can you even speak of trig as basic??? (OK, so what if I'm advanced 2 years already in math, whats your point?)Nothing here is really ground-breaking, but I've always enjoyed this sort of programming more. If anyone dares to read the source, it shouldn't be too difficult to follow. Lots of basic trig and Bresenham goes on in there, plus some cheating with precomputed tables (which might explain the massive binary size...)
Just the screenshots look awesone here. I'll go take a real look in a minute. Someday, I hope to understand how these demos are even made...
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
Basic, as in nothing more complex than:thegamefreak0134 wrote:....... How can you even speak of trig as basic??? (OK, so what if I'm advanced 2 years already in math, whats your point?)
Code: Select all
x = centre_x + circle_radius * sin(angle)
y = centre_y + circle_radius * cos(angle)
Yeah, it's huge, but very cool none the less
The lens is my favourite too. How exactely does that work..?
(I know, I could take a look in the source, but I'm a lazy slacker )
The lens is my favourite too. How exactely does that work..?
(I know, I could take a look in the source, but I'm a lazy slacker )
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- Jim e
- Calc King
- Posts: 2457
- Joined: Sun 26 Dec, 2004 5:27 am
- Location: SXIOPO = Infinite lives for both players
- Contact:
You're so considerate of the lcd. Most people wouldn't think twice about leaving it happy, most people just order her around.; Leave the LCD driver in a happy state!
Now would I be correct in assuming that the lens effect is a BIG table, or is there some serious math coding. It's weird, I chose not to look at screenies, and try it out on actual hardware, and all that ran my mind was trying figure how you were doing things.
Excellent job yet again.
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
Very simply, and can easily be altered to change the effect. Each pixel of the area the lens is over is put through a transformation table. Like the tunnel, this is precomputed. The lens is 32x32 pixels, so the transformation table is 32x32 elements. Each element has an X and a Y, so the most basic transformation table would be:Timendus wrote:Yeah, it's huge, but very cool none the less
The lens is my favourite too. How exactely does that work..?
Code: Select all
.for y, 0, 31
.for x, 0, 31
.db x, y
.loop
.loop
Code: Select all
.for y, 0, 31
.for x, 0, 31
.db x/2, y/2
.loop
.loop
Code: Select all
.for y, 0, 31
.for x, 0, 31
.db 31-x, y
.loop
.loop
A sort of pseudo-code would be:
Code: Select all
transform[32][32] ; transformation table
lens_x = 10 ; \_ position of lens
lens_y = 10 ; /
old_area[32][32]; old area under the lens
; Copy the area under the lens to a temporary buffer
for x = 0 to 31
for y = 0 to 31
old_area[x][y] = get_pixel(lens_x+x, lens_y+y)
next y
next x
; Redraw the lens, applying the transformation:
for x = 0 to 31
for y = 0 to 31
set_pixel(lens_x+x, lens_y+y) = old_area[transform[x][y].x][transform[x][y].y]
next y
next x
EDIT: Reading this back, the explanation sucks. Er...
Last edited by benryves on Mon 13 Feb, 2006 6:29 pm, edited 1 time in total.