Omnimaga

Calculator Community => Other Calculators => Topic started by: meishe91 on May 18, 2010, 12:20:33 am

Title: 16-Level Grayscale
Post by: meishe91 on May 18, 2010, 12:20:33 am
Has anyone else ever seen, or heard, of 16-level grayscale for the 84+ before? I had never seen, nor heard it was possible, before I saw this (http://www.ticalc.org/archives/files/fileinfo/428/42899.html) program on ticalc (http://www.ticalc.org) by Brian Coventry (http://www.ticalc.org/archives/files/authors/108/10867.html). I don't know if he is someone from here already or not but he seems to be good at assembly, as a side note. Anywho, was just curious if someone else has seen this or seen something like this before.
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on May 18, 2010, 12:28:36 am
Yeah I saw this, I wonder if it flickers a lot on calc because I don't have a 84+ calc to test it on. And he seems good at ASM indeed, or at least at making games with it. He's ThePenguin77 on UTI btw. I hope his stuff gets noticed by the community.

Before 16 lv gs, I only saw 7 and 8
Title: Re: 16-Level Grayscale
Post by: meishe91 on May 18, 2010, 12:30:27 am
Well he says it isn't flickerless but ya. I plan to try it out to see what it looks like.

OH! I knew his name looked familiar, but I haven't been on UTI much lately so that's why I didn't recognize it.
Title: Re: 16-Level Grayscale
Post by: Quigibo on May 18, 2010, 12:31:59 am
Yeah, I was pretty impressed by the variety of assembly he's done.  Did he just pop up or was he in the community for a while?  He seems too experienced to have just started recently.

EDIT: And by the way, any shade of grayscale is possible.  I can make 256 color grayscale if I wanted to.  The question is, is it noticeable?  I mean, does it really look any better than 8 color?  Can you actually tell the difference between the 11th shade and the 12th shade?
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on May 18, 2010, 12:36:00 am
He has been part of United-TI since this Summer. I believe he joined not long after the key factoring controversy started, but he only has 60 posts there. Calcs might either not be his primary hobby or he's extremly busy. I'm not sure for how long he has coded. Sometimes, people code for a few years before joining community forums.
Title: Re: 16-Level Grayscale
Post by: meishe91 on May 18, 2010, 12:43:02 am
Oh ok. Ya, it is actually pretty impressive. There are sixteen colors pretty distinctly noticeable but your contrast does have to be set and the darker and lighter ones are a little hard to see, but the middles ones I thought were easy. The pictures look quite good that he provides. I don't know when he popped up but as DJ said he apparently joined over the summer.
Title: Re: 16-Level Grayscale
Post by: tr1p1ea on May 18, 2010, 05:57:49 am
I checked it out and its pretty good. The 16 shades arent really stable and do end up looking like patterns (pictures look like they are underwater (which is cool )).

Current 8lvl routines are more stable and look better but of course this is a first release so there i no doubts things can be improved.
Title: Re: 16-Level Grayscale
Post by: Raylin on May 18, 2010, 06:58:00 am
I didn't really have an interest in the 16-level GS.
You just can't make fast games with it.
If you could, then I would be into this.
Otherwise, meh.

However, that author has some AWESOME games in his profile.
:)
Title: Re: 16-Level Grayscale
Post by: TIfanx1999 on May 18, 2010, 08:01:06 am
It looks ok for still pictures, but I can't really see it being used in games (though it would be cool).
Title: Re: 16-Level Grayscale
Post by: Builderboy on May 18, 2010, 10:19:45 am
I loaded it up onto my calculator and I noticed some very prominent rolling patterns, not just flicker.  From what I've seen flickerless 8 scale looks better than this kinda flickery 16 scale.  Heh he does have some very awesome games and utilities on his profile though, like that 1D game! ^^ I'm hessitent to put that ram clear startup app on my calc though because it writes to the OS and I don't want anything bad to happen, especialy durring crash resets where things might go wrong.   
Title: Re: 16-Level Grayscale
Post by: Galandros on May 18, 2010, 03:50:52 pm
I instantly noticed his appear in ticalc. He showed his projects in UTI.

He has some nice utilities, check it out. ;)
Title: Re: 16-Level Grayscale
Post by: ztrumpet on May 18, 2010, 04:19:32 pm
He's a really awesome programmer!  I really like his Tetris Marathon, Stopwatch, and Orbit programs.  The games are really fun! ;D
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on May 18, 2010, 04:36:36 pm
Yeah that Tetris game is epic. It looks a bit more advanced than other ones on ticalc too in terms of features
Title: Re: 16-Level Grayscale
Post by: meishe91 on May 18, 2010, 06:40:24 pm
Ya, that Tetris game is awesome. It's the best grayscale one I've really seen.
Title: Re: 16-Level Grayscale
Post by: Raylin on May 18, 2010, 06:42:17 pm
For reals.
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on May 30, 2010, 02:10:53 pm
That's me. Anyways, calculators is really all I do in my free time, but I'm a pretty quiet person and I usually like to do things myself so that is why my posts are so low. But I actually check UTI like every day and it wasn't until like a few weeks a go that I really noticed omnimaga.

I got my calculator before the 08-09 school year and by February I had learned assembly. I have pretty much been making games and stuff since then. But I never put them on ticalc because I am also a perfectionist and I never felt that the games were finished. But one day, I finally decided that they were done and just posted everything notable that I've made.

The 16 level gray scale just came from the fact that 8 had already been done, so why not do 16. I agree, it's got some pretty strange stuff going on, but if you look at the gradient picture, you can see 16 shades (or maybe just movement patterns.) The main problem is that the last half shade only toggles 6.5 times per second, which causes all the nasty effects.

My goal for Tetris was really just to end the war of the Tetris games and make one with the most the calculators can do. Plus some of the stuff in ZTRIS was annoying me.

For zStart, I understand why you are hesitant to use it because modifying ram clears is scary. Although you don't have to install that part because it is the last app. What the ram clear code does is right before the calculator displays "RAM Cleared", it calls my routine which is at the end of the page. The routine checks to see if zStart is installed, and if it is, it gives it a CSCHook. Then the CSCHook gives zStart control. Now comes the hacky part. zStart calls a page 0 routine which calculates how much free ram is being used because hooks always report it as zero. Then it makes a program (which is obviously corrupt) which jumps back to zStart and runs the program. From here it does its thing and returns.

Although this is risky, I have never had trouble with it. I have gotten so used to it in fact, that I haven't seen mathprint in over a month  and the standard TI font actually looks funny to me.
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on May 30, 2010, 02:40:51 pm
Welcome here. I hope eventually you participate more in the TI community, noticing you are pretty good at making games. I think it's better to not be too perfectionist, else we tend to judge ourselves too hard, even thought most people find your stuff very good, and we tend to judge others too hard. I personally liked the stuff from you that I've tried, and I was disappointed you did not get more recognition on UTI. In fact, your stuff went more noticed here despite the fact the last time you posted on Omni was in December 2009 (in the TI-Boy SE topic).

As for 16 level grayscale, unfortunately on a regular 83+ I don't think it could be used in games, though, because the screen contrast is way too sparse: if your contrast is high enough to view the lightest shade of gray in 8 level grayscale, it's too high to view the two darkest shades. If you decrease the contrast by one, then you can't see the two lightest shades of gray. The quality of the LCD is just not enough. I enjoyed Calc84maniac chips challenge game, but on my 83+ it was not 8 level grayscale,  it was like 6, because of contrast issues. On the 83 Plus Silver Edition or higher, this is not a problem anymore.

Also btw I liked that Tetris game, it was fun to play for a while. The only suggestion I would have is to allow the player to start at the level he wants to, like the original NES Tetris, for people who seek for challenges and TAS'ers (http://xlib.mtv-music-generator.com/tetrisTASpt1.gif) :P
Title: Re: 16-Level Grayscale
Post by: ztrumpet on May 31, 2010, 02:58:49 pm
Welcome here!  I really like your games!  ;D
Title: Re: 16-Level Grayscale
Post by: Michael.3545 on July 05, 2010, 10:55:49 pm
uuh, thepenguin77, Zstart isn't working quite right.  It didn't work on my calc, or on wabbitemu (using an old ROM of my calc (2.43)).  When I tested it with wabbitemu, I only had omnicalc (the included version) installed, without any ROM patches.  I guess it just doesn't like me?    :'(    Anyways, here is a screenshot.
Title: Re: 16-Level Grayscale
Post by: ztrumpet on July 06, 2010, 11:37:06 am
That's funny.  It works on my calc (2.43), so it's probably just an emulator glitch. :)
Title: Re: 16-Level Grayscale
Post by: Michael.3545 on July 06, 2010, 11:59:56 am
Nope.  Same problem happened on my real calc.  I actually tried my calc first, then because I had patched ptt and thought perhaps that could be causing a problem, I tried it on the emulator using my (unpatched) ROM.
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 06, 2010, 03:54:30 pm
rrrrrrr. Found the problem. Ti changed the boot code without updating the number. This version only works on os 2.43. I'll have to update zStart with another flash unlocking routine.
Title: Re: 16-Level Grayscale
Post by: Michael.3545 on July 06, 2010, 04:14:17 pm
Aha.  All of my suspicions are confirmed TI IS the root of all evil!
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 06, 2010, 06:49:27 pm
rrrrrrr. Found the problem. Ti changed the boot code without updating the number. This version only works on os 2.43. I'll have to update zStart with another flash unlocking routine.
They did that too? I know the boot code changed from 1.00 to 1.02 at one point (initially, people thought this was the root of all TI-Boy SE issues), but I was not aware TI released a 3rd one with no boot code version number changes
Title: Re: 16-Level Grayscale
Post by: ztrumpet on July 06, 2010, 09:25:00 pm
For reference, what's the complete serial number on the back of your calc Michael?
Title: Re: 16-Level Grayscale
Post by: Michael.3545 on July 06, 2010, 11:25:53 pm
1192020399_K-0507F
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 07, 2010, 12:45:57 am
Would you look at that, he's got one of the mysterious K's.

Anyways, before we say the boot code was changed, i think we should compare it with another 84+BE because I'm not sure I've ever actually done it on a BE. 5 SE's but I'm not sure about a BE.
Title: Re: 16-Level Grayscale
Post by: ztrumpet on July 07, 2010, 11:06:57 am
Would you look at that, he's got one of the mysterious K's.

Anyways, before we say the boot code was changed, i think we should compare it with another 84+BE because I'm not sure I've ever actually done it on a BE. 5 SE's but I'm not sure about a BE.
Geekboy did it on a 84+BE without problems, so you may want to talk to him. :)
Source: http://netham45.org/irc/EfNet/view.php?log=omnimaga.20100609 (Ctrl + F zstart)

To compare some other calc serial numbers: http://www.unitedti.org/forum/index.php?showtopic=8913&view=findpost&p=137172 and http://www.unitedti.org/forum/index.php?showtopic=8913&st=140&p=137113&#entry137113
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 07, 2010, 11:19:32 am
I wonder why geekboy thought it doesn't work on se's? I don't see anything in my readme that would even hint at that. But it looks to me like the version K is what is to blame here. K's just don't follow the rules when it comes to making calculators.
Title: Re: 16-Level Grayscale
Post by: ztrumpet on July 07, 2010, 11:24:25 am
I wonder why geekboy thought it doesn't work on se's? I don't see anything in my readme that would even hint at that. But it looks to me like the version K is what is to blame here. K's just don't follow the rules when it comes to making calculators.
I have a friend with a K (BE) (he's in the tables I linked to).  I think I could test zstart on his calc today or tomorrow and let you know what happens. :)
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 07, 2010, 12:49:23 pm
I wonder why geekboy thought it doesn't work on se's? I don't see anything in my readme that would even hint at that. But it looks to me like the version K is what is to blame here. K's just don't follow the rules when it comes to making calculators.
Not too sure. Maybe he thought something could work on BE but not SE, otherwise maybe he did a typo and meant to say 83+BE?
Title: Re: 16-Level Grayscale
Post by: Michael.3545 on July 07, 2010, 04:03:08 pm
Would you look at that, he's got one of the mysterious K's.

...But it looks to me like the version K is what is to blame here. K's just don't follow the rules when it comes to making calculators.

Little did I know that some BE's are more basic than others.  It seems I have been cursed with the elusive 'K'.  Darn.  Here are some other funky things about my calc:

Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 07, 2010, 04:21:44 pm
Strange, this defies the logic of all other calcs serial posted last year. Normally, any calc that ends with a letter from A to G or no letter at the end should have the entire 128 KB of memory.
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 07, 2010, 05:08:52 pm
Personally, I don't think that the last letter of K's even means anything. Like I've seen version O, which isn't even out yet.

I need ALCDFIX to play some games.  Something to do with a slow driver
zStart does this too :).  Mine has a bad screen and the delay is 44. (44/4 = 11 clock cycles added). Whereas good screens, like wabbitemu have delays of 12.
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 07, 2010, 05:13:47 pm
Are you sure that O wasn't a zero, tho? Also if it's the last letter that is K, it is a failing calc. If it's the first one that is K it doesn't mean it will fail. It's just from a different factory.

Anyway I moved the extra RAM page discussion at http://ourl.ca/3726/101103;topicseen#new
Title: Re: 16-Level Grayscale
Post by: ztrumpet on July 07, 2010, 06:45:10 pm
Yeah, the Ks follow no pattern.  For example, my friend that has a K has the serial number 1142038377_K-0906B (Yes, that's an underscore) yet calcs bought at the same time are like 2365063662 S-0207G.  It's completely different!  As you can see, K's are weird. :P
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 07, 2010, 07:21:17 pm
I am pretty positive that the O was an O and not a 0. I remember a few underscores in K's. Along with a few BE's that had the engraving etched with white. I also saw a K with no letter, which would mean that the calc was about 8 years old, which I'm pretty sure it wasn't.
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 07, 2010, 08:33:40 pm
Weird, if you see those calcs again be sure to note the serial.
Title: Re: 16-Level Grayscale
Post by: ztrumpet on July 07, 2010, 11:24:55 pm
I am pretty positive that the O was an O and not a 0. I remember a few underscores in K's. Along with a few BE's that had the engraving etched with white. I also saw a K with no letter, which would mean that the calc was about 8 years old, which I'm pretty sure it wasn't.
I guess I've never mentioned it, but yes, the one I've seen had the engraved etching and white writing too. :)
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 09, 2010, 04:33:36 pm
Well since this topic was originally about 16 level grayscale, let me share some facts that I just figured out.

I thought, well maybe I can get 64 levels out of it by putting one pixels on in the first column, two in the second, three in the third, and so on until the 64th column is completely full. I then changed the z-address to scroll the screen 100,000 times per second. (For those who don't know, the z-address is where the lcd driver starts to display at, so if you set it to 1, the very top row of pixels appears at the bottom and all others scroll up one, a 2 does the same except by two pixels.) The z-addressing is nice because it only takes one command to update the entire lcd. But this didn't work at all and I got these weird scrolling patterns. So then I thought, I'll figure out the refresh rate.

I made a refresh rate program. Through careful tweaking I found that at 3,811 z-addresses per second made a perfectly still image. So every 1/3,811 of a second, the driver displays another line. Divide this by 64 and the screen refreshes at 59.5 hz.

What does this mean, this means that if your grayscale program updates the lcd faster than 59.5 hz, it won't make a difference. My 16 level just happens to update it 120 times per second. I suppose this means that within a few hours I will have an 8 level grayscale viewer instead.

I included an example to show you how perfect the grayscale looks when you update the lcd at the right speed. This is a weird version of tetrisM I am working on. If your driver updates at 59.5 hz, you will see 100% flickerless grayscale with a little slant the scrolls through the screen.
Title: Re: 16-Level Grayscale
Post by: calc84maniac on July 09, 2010, 04:42:10 pm
Are you sure this is the case for all screens? I thought that TI changes the LCD every once in a while.
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 09, 2010, 04:54:48 pm
I'm not sure it hold true for all screens, I would assume that it is different for the good and bad drivers. And maybe it's even different within the driver types.

If it's the first case, it's really easy to figure it out, just a quick lcd delay test will tell you, but if it's the second, to be used in games you would have to have it user adjusted.

All I know is that the way I have it adjusted, it looks perfect on my calculator.
Title: Re: 16-Level Grayscale
Post by: calc84maniac on July 09, 2010, 05:10:29 pm
I wonder, would grayscale look better if we updated the screen by rows instead of columns? I know that's not usually the method of choice, because it takes 896 lcd outputs instead of 781. But there is definitely enough time to write a whole row in 1/3,811 seconds.
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 09, 2010, 05:19:24 pm
I'm not sure, I'm currently writing an 8 level grayscaler. Doing it that way, there wouldn't be a diagonal line, I just wonder what the cross over point would look like then. Maybe there wouldn't be one if you're lucky.

Also, I think you would have to start at the bottom and work up, because I feel that's how the lcd is updated. But I'm not positive.
Title: Re: 16-Level Grayscale
Post by: Madskillz on July 09, 2010, 05:49:35 pm
It definitely looks like the lcd updates from the bottom up. I'll try out your sample and let you know what I think.
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 09, 2010, 06:28:40 pm
What's the best pattern for 8 level grayscale. I realize it is in 7ths.

Currently I'm using:
Code: [Select]
10101100
00010010
01000000
Where bit 1 bleeds into 0. So line 2 is actually 00010011.

I'm trying different orders, but I get a pretty nasty waterfall effect.
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 09, 2010, 07:40:48 pm
I wonder, would grayscale look better if we updated the screen by rows instead of columns?
Not on the regular 83+ for sure, due to this (http://www.unitedti.org/forum/index.php?showtopic=9422).
Title: Re: 16-Level Grayscale
Post by: calc84maniac on July 09, 2010, 07:55:09 pm
Well, I'm talking about the order that the bytes of pixel data are sent to the LCD ram. Usually (in most asm games) it is done like this:

| ↓ | ↓ | ↓ | ↓ |
| ↓ | ↓ | ↓ | ↓ |
| ↓ | ↓ | ↓ | ↓ |
| ↓ | ↓ | ↓ | ↓ |


I am suggesting that perhaps it should go like this, to better match how the screen updates itself:
| → | → | → | → |
| → | → | → | → |
| → | → | → | → |
| → | → | → | → |
Title: Re: 16-Level Grayscale
Post by: Madskillz on July 09, 2010, 07:59:27 pm
hmm...I would be curious to see how that works as well. You would think it would look better because the lcd starts from the bottom left to right and continues the pattern of moving left to right.
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 09, 2010, 08:56:03 pm
Results are in. Grayscale looks better when you update by rows instead of columns. When you update by column, there is a diagonal glitch that is always scrolling on the screen. But when you update by row, it goes off screen and stays off for about 3/4 of it's cycle.

The lcd definitely updates from top to bottom. When I updated from bottom to top, I noticed that there were two glitch lines instead of one, when I switched to updating top down. There was only one glitch line that went off screen for a few seconds.

But I must say my 8 level viewer looks really nice. Here is the program with some test pics so you can see how it looks. It's easiest to see what I am talking about in gradient.
Title: Re: 16-Level Grayscale
Post by: calcdude84se on July 09, 2010, 09:01:49 pm
Nice finds, I'll have to keep that in mind. Can't wait to try out the viewer! :)
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 09, 2010, 09:26:14 pm
Nice stuff, but lol at test zzzz :P
Title: Re: 16-Level Grayscale
Post by: calcdude84se on July 09, 2010, 09:31:03 pm
thepenguin: can we have a program to calibrate to our LCD? Because the grey displays flashing patterns on mine. Otherwise, awesome. ;D
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 09, 2010, 09:50:02 pm
Mmmm.. That's harder than it sounds. I assume you have never needed alcdfix before then?

Before I incorporate it into the program we need to find your refresh rate.

Run this program. Keep pressing - until the image slows down and stops, or at least comes close. If you found the right spot, it will be one image and it won't repeat itself. You will also know you found it because it will slowly work it's way down to where it stops, it won't just stop all at once.

Once you found it, press / and it will tell you a number. Mine is 153. So yours should be around there. If you happen to find one in the 70s, skip it because it is double the refresh rate.

Then run spedTest because I have to know your cpu speed. Refresh runs too fast for the crystal timers.

Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 09, 2010, 10:02:04 pm
Old grayscale games on ticalc.org had an intro screen asking you to choose an interrupt frequency speed. Some frequencies showed better quality but slower speed and others lower quality and higher speed. It depended of the calc, though. It was one of the very first 4 level gray routine, though, and not the most optimized stuff, since it was the first time.
Title: Re: 16-Level Grayscale
Post by: calcdude84se on July 10, 2010, 09:59:04 am
For REFRESH I got 139, and SPEDTEST gives me ~15877000 Hz for cpu speed, and 219 FPS for LCD speed.
Edit: 450th post!
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 10, 2010, 01:41:56 pm
No surprise there, you have a good lcd and it updates the screen faster. 65.8 fps actually. I don't know why I had you find those numbers that way, there is a much better way. (I had a long time to think while caddying today.)

I have to do a few things and I will have a nice program that tells you your screen type, and the fps you need. From that I can make a table of different lcd types so that my grayscale games will be boss. :)

One of those things I have to do is to calculate the frequency of the crystal timers on 40h because I don't think what's on wiki ti is correct.
Title: Re: 16-Level Grayscale
Post by: calcdude84se on July 10, 2010, 01:49:31 pm
Cool, if you (and we, if you share your methods ;D) can make 8-level greyscale games that are almost completely flickerless, that will be awesome :D
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 10, 2010, 03:47:19 pm
Alright, here is the program that will tell me all I need to know. The more people that run this one, the better people will be able to make grayscale games in the future. You will also experience flickerless grayscale! with an occasional glitch line.

Just run gray4, press plus and minus to adjust the delay, and when you finally get the scrolling line to stop, (or come close), you will have the info that I need. So press second and tell me what you got.

And to avoid any secrecy, the Driver number is what I sent to port $29 to fix the lcd, (alcdfix), and Refresh is the value I am sending to port $32 with port $30 set to $40 (10922.667 hz). I am hoping that the different values sent to $29 will be enough to tell the different drivers apart so that the specific delay for each one can be used.

Oh, and wiki ti was perfectly correct.

Edit:
    I use 178 for mine. Doing a little bit of proportions, you should need about 163. Also, my delay is 44, yours is probably in the teens.
Title: Re: 16-Level Grayscale
Post by: calcdude84se on July 10, 2010, 04:16:55 pm
12 and 162.
The problem is, if I move my eyes up the screen at just the right rate, I can see lots of moving lines... If I double the refresh rate, though, to ~70, that problem is alleviated.
Edit: No, to exactly 70. At both settings, however, the glitch lines move at an annoyingly low speed. Otherwise, cool! :)
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 10, 2010, 04:35:32 pm
I noticed that too. Sadly, my lcd is not fast enough to do double time like yours can though. Using the crystal timers, as they are more accurate, mine refreshes at 61.4 hz, and my max lcd speed from spedTest is 120. So you can see the problem there. Whereas, yours refreshes at 67.4 and your screen can handle 219. You could even go for the third pass, but that wouldn't actually be grayscale. :)

But technically that shouldn't make a difference. Doubling just makes the calculator load a completely useless frame in between the ones that are displayed. I don't see how that would take the lines away. It would also require 2/3 of your processor time and >100% of mine.

Edit:
   Post 100. Yay!!!!
Title: Re: 16-Level Grayscale
Post by: Madskillz on July 10, 2010, 09:07:55 pm
I get the same results as calcdude

32 and 67
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 10, 2010, 09:16:34 pm
ok, but give me the bigger number, the one in the 60s-70s is unusable for games. But if your delay is 32, that's different.
Title: Re: 16-Level Grayscale
Post by: Madskillz on July 10, 2010, 10:05:19 pm
For REFRESH I got 142, and SPEDTEST gives me ~13991765 Hz for cpu speed, and 97 FPS for LCD speed.

Sorry I was stating when the lines completely disappeared. 168 is pretty close.
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 10, 2010, 10:20:59 pm
Your calc is giving really mixed results. Having a driver delay of 32, refresh delay of 168, and REFRESH result of 142 all suggest a moderately slow screen. But have a FPS of 97 is the worst I have ever seen. Same with 14.0 MHz.

But, that's helpful. I'm just waiting until I get a repeat Driver delay so that I can see if these numbers hold true, if they don't, then the frequency will have to be user adjusted and saved in an appvar.

Here is the current data:
Code: [Select]
port 29h delay | port 32h delay
------------------------------
      12       |       162
      32       |       168
      44       |       178
Title: Re: 16-Level Grayscale
Post by: Madskillz on July 10, 2010, 10:26:46 pm
Ha ha I was like damn 97...that aint good ha. I bought my 84+SE when it first came out.

edit:I've never had problems with running grayscale programs though. Just those that you posted.
Title: Re: 16-Level Grayscale
Post by: Magic Banana on July 11, 2010, 02:55:57 am
Here are my results. All ran on a TI83+SE:
Refresh -  141
Speedtest - 14980583 hz and 119 fps
Gray4 - Driver 16 and Refresh 62.
Title: Re: 16-Level Grayscale
Post by: TIfanx1999 on July 11, 2010, 03:45:51 am
Ti-83+ SE
Results:
Refresh:114
Speedt tests: CPU-15019419 hz Lcd speed -100 fps
Gray4:Driver:20 Refresh:133
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 11, 2010, 12:39:28 pm
Should I test this program on my regular TI-83+?
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 11, 2010, 02:09:48 pm
Code: [Select]
84+:
port 29h delay | port 32h delay
------------------------------
      12       |       162
      32       |       168
      44       |       178

83+SE:
      16       |       124*
      20       |       133


* multiplied by 2

Well a pattern is definitely emerging. The slower the driver, the slower the refresh rate. Also, the 83+SE's refresh a lot faster. Wow, new hardware documentation 10 or so years later.

DJ, don't run it on your 83+, they all use crystal timers except REFRESH.
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 11, 2010, 02:22:03 pm
It definitively seems as years goes by, TI puts shittier and shittier LCD drivers in their calcs. I wonder what we'll have in 20 years if calcs still exists x.x

That said, at least they have better contrast ratio, now. On the regular 83+, I don't really recommend going above 5 shades of gray because you'll only be able to see 80% of them at once due to crappy contrast ratio. On the TI-Nspire, contrast is low, but at least you see the shades of grays more properly, kinda like the 83+SE and 84+:
(http://www.omnimaga.org/index.php?action=dlattach;topic=2104.0;attach=2229;image)

And ok thanks for the info.
Title: Re: 16-Level Grayscale
Post by: calcdude84se on July 11, 2010, 05:24:51 pm
Realize that cpu speed (and the hardware timers) depends on battery power, while the crystal timers don't (I'm unsure about the lcd)
Also, for those who want to use the LEVEL8 program posted earlier with the benefit of correctly set crystal timers, I hacked together an Axe utility to modify the program to work better.
Supposing you didn't change the original program name from LEVEL8 (change the source code if you did), the program will display the REFRESH value the program is currently using. Change it to the REFRESH number you got from GRAY4 using the arrow keys (up/down change it by 1, left/right by 10) and press enter. The program will say "FIXED" and return.
(The program w/the 'S' on the end is the source, btw)
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 11, 2010, 05:29:52 pm
The LCD grayscale quality is the same regardless of if I got brand new Duracells or nearly dead Dollar Store batteries on both my 83+ and 83+SE.

Nice program btw. Now if only I had a real calc ready to test this on...
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 11, 2010, 06:17:30 pm
Realize that cpu speed (and the hardware timers) depends on battery power, while the crystal timers don't (I'm unsure about the lcd)
Also, for those who want to use the LEVEL8 program posted earlier with the benefit of correctly set crystal timers, I hacked together an Axe utility to modify the program to work better.
Supposing you didn't change the original program name from LEVEL8 (change the source code if you did), the program will display the REFRESH value the program is currently using. Change it to the REFRESH number you got from GRAY4 using the arrow keys (up/down change it by 1, left/right by 10) and press enter. The program will say "FIXED" and return.
(The program w/the 'S' on the end is the source, btw)

^^That is dedication. Oops, I guess I never actually included the source, (the grayCopy uses call and ret in reverse, it calls with ret and returns with call). You could have just told me to update it, but I suppose it's more fun to figure out how to use Axe to hack stuff. :)

Here is the official update. It gives you a little screen where you fix the refresh rate yourself. Then press 2nd and it's saved until you delete the appVar.
Title: Re: 16-Level Grayscale
Post by: calcdude84se on July 11, 2010, 06:23:23 pm
It wasn't too complicated, I just assumed every "out (32h),a" was preceded by "ld a,REFRESH" and replaced the byte before every "D332" (or E32D3 in Axe) with what you wanted. Nothing too bad. :P
Nice to have an official update, though. When can we get the converter I'm assuming you used? ;D
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 11, 2010, 06:37:58 pm
Right now.

The only problem is that since I do not know how to deploy programs in c++ yet, you have to have Microsoft Visual C++ 2008 installed on your computer. (2010 might work too).

Here are the instructions from the Level16 readme, with all 16's replaced with 8's.

1. Download gimp. (Photoshop will work too, but you will have to figure it out yourself)
2. Open your picture
3. Get the picture down to 96 pixels wide by 64 tall
4. Desaturate the picture
5. Image > mode > indexed. Select 8 colors
6. Back to RGB mode
7. Save the picture as a .bmp and make sure it saves in 24 bit mode.
8. Put the picture in the same folder as level8.exe
9. Open command prompt and type in      cd c:\(folder where you put it)     for me it is    cd c:\asm\level8
10. Now use level8.exe to convert it.     level8 picture.bmp picture.8xp    replace picture with your file name

If it's not in the same folder, use double slashes (c++ bug that idk how to fix). c:\\asm\\level8\\daboss.bmp
Title: Re: 16-Level Grayscale
Post by: Magic Banana on July 12, 2010, 04:16:00 am
^^That is dedication. Oops, I guess I never actually included the source, (the grayCopy uses call and ret in reverse, it calls with ret and returns with call). You could have just told me to update it, but I suppose it's more fun to figure out how to use Axe to hack stuff. :)

Here is the official update. It gives you a little screen where you fix the refresh rate yourself. Then press 2nd and it's saved until you delete the appVar.
Does that mean that we will be able to read from the AppVar to 'calibrate' our screens for flickerless grayscale in future programs? If so then  ;D
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 12, 2010, 09:57:16 am
I suppose. Maybe there should be some standard appVar name that contains the grayscale info. The little test addition only added about 250 bytes to the program. So I'll probably include it with all my grayscalers because typically they're large anyways. I also usually have a screen to adjust contrast.
Title: Re: 16-Level Grayscale
Post by: matthias1992 on July 12, 2010, 10:21:30 am
Quote
The only problem is that since I do not know how to deploy programs in c++ yet, you have to have Microsoft Visual C++ 2008 installed on your computer. (2010 might work too)
build>build solution

the go to the projects directory>debug>[application name].exe

I have no experience with C++ whatsoever but I do have it installed and this gives a working executable. However tricks may be required. In VB you have to find the file called [aplliaction name].manifest.deploy.exe and remove the ".manifes.deploy" in the properties menu of the file.

Since both are a part of visual studio it might work the same but in the couple of minutes that I tried i could not find such a file.

EDIT:
TI-84+    xxxx4066I28 P-0708L (which is a faulty hardware revision according to TiBoy83 :( )
Refresh: 79 (but since that is in the 70's it is not valid?? or should it be 158 then...)
spedTest: 15692757 hz
lcd speed: 115 fps
Title: Re: 16-Level Grayscale
Post by: SolusIpse on July 12, 2010, 11:19:59 pm
After reading the posts, I'm kind of interested in how much the hardware has changed (for better or worse).

Can people run this on a real calc and tell me how much it flickers?  Disclaimer: NOT MINE! don't have source so don't ask for it.

2nd - take advantage of SE speed
Mode - turn off SE speed
clear - quit
F1-5 - adjust scrolling speed (not like it should really affect flicker anyways)

edit: sorry for any thread-jacking!
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 12, 2010, 11:35:00 pm
Btw I assume it gives something like this, right, altough I only ran it on Wabbitemu? (sorry I was a bit bored when I made the screenshot. Wabbitemu was running at 5% speed :P)
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 12, 2010, 11:38:41 pm
Ahh, matthias, you forgot the driver number lol. But from the looks of SPEDTEST, I'm going to assume you have a number around 40 and since your refresh number is 12 that will probably screw up any correlation.

@SolusIpse, It had a little flicker, kind of like twinkling stars. It was because the glitch line was passing through the image about 4 times per second. Also, the buttons didn't seem to do anything.

Edit:
    Whoa, I didn't realize it could scroll, this is awsome!
Title: Re: 16-Level Grayscale
Post by: meishe91 on July 16, 2010, 02:34:56 am
Random mid-topic question (sorta). Is that the Pallet Town map demo thing off of ticalc.org?
Title: Re: 16-Level Grayscale
Post by: tr1p1ea on July 18, 2010, 01:19:47 am
Its a test scroller made by Jim e of revsoft, it should be on their forums.

http://www.revsoft.org/phpBB2/viewtopic.php?t=423&start=0
Title: Re: 16-Level Grayscale
Post by: meishe91 on July 18, 2010, 02:56:50 am
Ah ok. Gotcha. Thanks.
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 18, 2010, 08:34:21 pm
Oh wow I remember that tilemapper at the bottom. It was some cool stuff. Too bad it was SE-only :( (back then, most people still only had regular 83+ calcs)
Title: Re: 16-Level Grayscale
Post by: squidgetx on July 20, 2010, 11:33:44 am
lol sort of off topic but not really;

When i run your level16.exe, it tells me that the "side by side configuration is incorrect"....O.o
Title: Re: 16-Level Grayscale
Post by: thepenguin77 on July 20, 2010, 01:28:28 pm
That's because I didn't realize you had to install programs for them to work. I thought, they work on mine, I don't see why they wouldn't work on someone else's.

Really the only fix I have is to install microsoft visual studio 2008 on your computer. Maybe it'll be the motivation to learn c++ :). Or not
Title: Re: 16-Level Grayscale
Post by: DJ Omnimaga on July 20, 2010, 03:08:00 pm
Isn't there a way to not have to install visual studio to run them, tho, like compiling them in a way that doesn't require it? I remember I could run my VB games fine (except Illusiat 5) on my old XP computer which had no Visual Studio installed on it (nor any plugin) back then.
Title: Re: 16-Level Grayscale
Post by: squidgetx on July 20, 2010, 03:32:05 pm
woops i must have missed the discussion earlier in this thread. sorry!