It is possible to change the disp buffer, right?
And it's possible to make a TSR, right?
And it's possible to make a TSR and hook it to the hardware int, right?
So, why not make a TSR that sycles the dispbuffer within a given set of layers, and hooking it to the hardware int (wich runs at a fixed speed, right?), so we can have as many layers of grayscale as we want...
It is possible, right :-)
I know the hardware int doesn't run at the same speed on different ROM versions, but neither does the grayscale (isn't this the way the calculator already do this?)
anyway, for anyone wondering who I am, It's Clip, just changed my name

Grayscale
Started by
BiTwhise
, Sep 20 2002 12:31 PM
8 replies to this topic
#1
Posted 20 September 2002 - 12:31 PM
#2
Posted 23 September 2002 - 01:50 PM
Don't anyone understand what I'm talking about, or is it simpy to easy or stupid?
sorry for answering my own post..
sorry for answering my own post..
#3
Posted 23 September 2002 - 03:34 PM
Speaking for those many people that simply do not have "a lot" of an idea what you are talking about: We do not know what you are talking about. And if so - I for myself don't know of an possibility and have not enough knowledge to test it. Roeoender and BradN (and related) should have an idea - can't tell you why they haven't answered, but I wouldn't say it is bad will of them.
#4
Guest_Snowbird_*
Posted 23 September 2002 - 04:15 PM
ever wondered that you havent seen any grayscaled lc-displays?
it because it is impossible!
one of the reasons are the long reaction times of crystals...
well, thats why you will have no luck with any memory resistant program (thats what he posssible meant by tsr)
it because it is impossible!
one of the reasons are the long reaction times of crystals...
well, thats why you will have no luck with any memory resistant program (thats what he posssible meant by tsr)
#5
Posted 23 September 2002 - 04:46 PM
Yea, he meant terminate and stay resident. Anyway, we do have a grayscale mode on the calculator already, as seen in "bomberman" and "platinum". Of course LCDs can do grayscale.
#6
Posted 23 September 2002 - 11:25 PM
Here's the deal with the interrupts:
ROM version 1.01 runs the display interupt at about 150 times a second. This is fast enough to do a smooth 4 level greyscale (via 2 buffers).
All other ROM versions run the display interrupt at about 50 times a second, even though the actual LCD runs at 150. I don't know how they changed this behavior - if it was through hardware or a permanent configuration on the main CPU chip, there is little that we can do about it. At any rate, 50 times a second makes for a very flickery greyscale, even when it's just with the (buffer 1, buffer 1, buffer 2) frame output
If it's a software selectable mode, we can probably get around it, BUT... I haven't found where the selection could be made, and I dug through the BIOS considerably. There is a huge difference in how interrupts work in 1.01 (everything is run off the display interrupt, with an exception of the link port possibly) compared to other versions (stuff uses separate interrupts for different things, auto power-down comes to mind, as I haven't even found which interrupt it uses to disable it in satelite yet)
Now, there is another method that can be used to get a 3 level greyscale with 2 buffers alternating such that it is (buffer 1, buffer 2, white) - this is done with a trick that configures the LCD output to be double or more the size of the actual LCD, causing it to scan over the display twice each frame, from separate buffers. It does change the memory layout geometry for the display buffers, so I hesitate using it.
ROM version 1.01 runs the display interupt at about 150 times a second. This is fast enough to do a smooth 4 level greyscale (via 2 buffers).
All other ROM versions run the display interrupt at about 50 times a second, even though the actual LCD runs at 150. I don't know how they changed this behavior - if it was through hardware or a permanent configuration on the main CPU chip, there is little that we can do about it. At any rate, 50 times a second makes for a very flickery greyscale, even when it's just with the (buffer 1, buffer 1, buffer 2) frame output
If it's a software selectable mode, we can probably get around it, BUT... I haven't found where the selection could be made, and I dug through the BIOS considerably. There is a huge difference in how interrupts work in 1.01 (everything is run off the display interrupt, with an exception of the link port possibly) compared to other versions (stuff uses separate interrupts for different things, auto power-down comes to mind, as I haven't even found which interrupt it uses to disable it in satelite yet)
Now, there is another method that can be used to get a 3 level greyscale with 2 buffers alternating such that it is (buffer 1, buffer 2, white) - this is done with a trick that configures the LCD output to be double or more the size of the actual LCD, causing it to scan over the display twice each frame, from separate buffers. It does change the memory layout geometry for the display buffers, so I hesitate using it.
#7
Posted 24 September 2002 - 09:34 PM
There is another advantage with the "hardware greyscal" that seems to exist in the calc (putting 0xDB in the port 0x2), has you said the memory layout changes but it changes in a more natural one that is easier to handle (linear layout) and so faster than the default video mode.
If you slow down the refresh rate writting some value on a port (I don't remember...) you will see that the calc (when in mode DB) switches between the 3 1024 bytes buffer pages (just as we would do to simulate grayscals).
So I think that the hardware screen support grayscals.
note: a linear mode exists too for black and white (0xD3 into port 0x2).
btw: Killer83Z did you gave up your translation of "La casio Graph100 2nd ?dition" ? All of this is very well explained in it...
If you slow down the refresh rate writting some value on a port (I don't remember...) you will see that the calc (when in mode DB) switches between the 3 1024 bytes buffer pages (just as we would do to simulate grayscals).
So I think that the hardware screen support grayscals.
note: a linear mode exists too for black and white (0xD3 into port 0x2).
btw: Killer83Z did you gave up your translation of "La casio Graph100 2nd ?dition" ? All of this is very well explained in it...
#8
Posted 25 September 2002 - 08:04 AM
to BiTwhise:
If you are interested in it then go on and try it by yourself. There are so many not tested ideas that we just handle it alone.
As for myself I have made a graph library that runs only B&W and just have no time to switch to grayscale and I am concentrated on other time-consuming aspects of Casio AFX (games programming).
to Snowbird:
it is good to check your info before making so confident reply.
1 - look at ticalc.org / hpcalc.org to see even 16 shades of gray.
2 - 2 shades grayscale is implemented in about 4 games on AFX, by hardware
3 - I played with my friend's GPS which has ultra smooth 4 level grayscale 128x64 LCD (I think it is hardware-handled)
4 - you said: "one of the reasons are the long reaction times of crystals..."
the long reaction of crystals only helps to make grayscale - it hides flickering
to Killer83:
Maybe you could do your Civil Service and translate this tutorial - just for fame and glory
Roeoender.
If you are interested in it then go on and try it by yourself. There are so many not tested ideas that we just handle it alone.
As for myself I have made a graph library that runs only B&W and just have no time to switch to grayscale and I am concentrated on other time-consuming aspects of Casio AFX (games programming).
to Snowbird:
it is good to check your info before making so confident reply.
1 - look at ticalc.org / hpcalc.org to see even 16 shades of gray.
2 - 2 shades grayscale is implemented in about 4 games on AFX, by hardware
3 - I played with my friend's GPS which has ultra smooth 4 level grayscale 128x64 LCD (I think it is hardware-handled)
4 - you said: "one of the reasons are the long reaction times of crystals..."
the long reaction of crystals only helps to make grayscale - it hides flickering

to Killer83:
Maybe you could do your Civil Service and translate this tutorial - just for fame and glory

Roeoender.
#9
Posted 25 September 2002 - 08:57 AM
Ok :-)
thanks for all your replys. Reason I just popped the question rather than trying it myself first, is I'm currently without a computer, and will be so for e few weeks
Life is hard
thanks for all your replys. Reason I just popped the question rather than trying it myself first, is I'm currently without a computer, and will be so for e few weeks


1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users