Re: Seeing the Vesa mode on start-up/changeing same.
"Ray St. Marie" <[email protected]> Sun, 13 Jul 2008 20:23:14 -0600
| Newsgroups | gmane.comp.lang.forth.colorforth |
|---|---|
| Message-ID | <[email protected]> |
Hi all :-) The deed is done, Please see http://colorforthray.info/rapter.html. There is an odd spacing between the pix because I saved them incorrectly. I have to go pick up my wife from work now and don't have time to fix, It shall be done. Enjoy Ray :- ) On Sun, Jul 13, 2008 at 7:21 PM, Ray St. Marie <[email protected]> wrote: > oops! > > I alluded to the fact that ChuckBot and the rapter move on the screen > below. that's accomplished by adding 2 more variables and entering > them into the word like this : > > xr 0 yr 24 ( these are the raptors 'mover' variables ) > > : ln3 3 xr @ 235 + yr @ 180 + 30 60 2 7 silver lines ; > > Now the original x of 235 and y of 180 are offset by the xr 0 and yr > 24 variables. Using those variables in all of your lines of an object > makes the old X and Y into offsets from xr/yr. > You can draw your entire object and then you can add these variables > later. Be sure not to go off of the left or bottom of the screen as > you will crash. Right wraps from the left. If you've wrapped a few > times, you can go left and re-wrap from the right. > > A bit of a smarter program that changes the background so that you > have a new one everytime you leave the screen to the left should, you > make the object wrap right very quickly so that it can't be seen, > change the background, and then rap from the left. > > Circles, see Howerd's cfdos4 . better triangles, I'm looking into > graphics engines that run native. > > Ray outie :) > > On Sun, Jul 13, 2008 at 7:04 PM, Ray St. Marie <[email protected]> wrote: >> Nick said to Ray >> >>> Nick here: Thanks, but sorry, I'm still not able to >>> focus on details of VESA cheatcodes. However, they >>> ought to be backward compatible, so 117 & 118 ought >>> still to be the codes for 1024x768 resolution. >> >> Yes I believe you are correct, sir. The difference between 117 and 118 >> is number of colors, 64k for the former and 16k for the latter. Like >> that matters to a 16 color system. :-) >> But It would matter to someone that was Using the system to draw to >> the screen in as fine of a detail they could muster. >> >> I also noticed that the 123 ati setting is not on the list that I >> included. Hmmm. I know i've seen a more complete list somewhere. >> >> As to drawing to the screen: >> >> LINE Horizontal >> >> Line wants you to set 'at' first and then put an offset from x ( this >> is where the line will start ) and a length. This would draw a line: >> >> : myline 300 400 at 20 ( pixels left of x ) 50 ( pixels long ) line ; >> >> Negating the x-offset ( 20 in this case ) does as you would hope, >> moves the line right offset of x were as positive it starts left >> offset of x. >> >> A generic line word might look like >> >> : line. at line ; >> >> >> where you would feed it on the stack the offset length X and Y in that order. >> >> : line. color at line ; >> If you would rather call the color in the word then you would stack >> those above but you >> would also add the color hex setting first. Otherwise call the color >> sometime before calling the line. >> >> If you want to display one pixel on the screen of course you could >> give line a 1 pixel length, but I suggest... >> >> BOX >> >> Box is similar to line but it takes a bottom-right rather than offset/length. >> >> : mybox 300 400 at 20 50 box ; >> >> I suggest box because you could show a 4 pixel "pixel" which is much >> easier to see on the screen like >> >> : 4pixel 300 400 over over at 1 dup u+ u+ box ; >> >> A generic box word would look like... >> >> : box. over over at u+ u+ box ; >> >> where you would stack like x's+ y's+ x y >> Again the word color could go at the begining of the word and you >> could do like we described for line. >> >> LINE verticle >> >> Adding a for/next loop for vertical lines where the for count has to >> increment AT's Y variable, and length now becomes the width looks like >> ... >> >> : myvert 300 400 50 for over over i + at 0 2 line ; >> >> makes a line 50 pixels long starting at 300 400 and is not offset from >> x and it 2 pixels wide. >> >> A generic verticle line looks like >> >> : vert. for over over i + at line next ; >> you may or may not want to drop your x and y at the end as they are >> still on the stack >> >> ...where you would stack offset-x width x y length. >> Now you can draw nearly anything rectangular shape >> >> >> >> What about triangular. That's a bit tougher. but not to to bad. >> >> My block that contains the new line definition starts with these variables: >> >> ln 8 x 0 y 383 ht 5 wt1024 os 0 ef 0 >> ln is the line number, more about that here shortly >> x - we know >> y - we know >> ht - yup height >> wt- width >> os- offset from x >> ef - for want of a better word -- effect. >> >> Createing these variables makes it easy to debug lines, as I will show shortly >> >> Now I can create a generic word that will draw any kind of line and >> including some but not all. filled triangles, An 'unfilled' triangle >> would have to have a slightly smaller similar triangle the background >> color inside the original triangle to make the line width. They would >> not have transparent centers. >> >> my word looks like: >> >> : lines ef ! os ! wt ! ht ! y ! x ! ln ! ( drops to next word just >> for convenience) >> : 1lins x @ y @ ht @ for over over i + at ( and again ) >> : 2lins 0 os @ i * + wt @ ef @ i * + line next ; >> >> >> To call the lines word you would create a word like : >> >> : ln3 3 235 180 30 60 2 7 silver lines ; >> ln x y ht wt os ef >> ... draws the entire canapy of the airplane mentioned in the next >> paragraph. Follow the list of variables in order above and you see >> what each number does. What's new here is os and ef. in 2lins. 2lins >> portion of the word starts with a zero for the plus that follows as an >> accumulator for the os @ i * . os @ i * if not zero will turn on that >> half section of 2lins and it will provide the offset from x we've been >> talking about. the i makes offset-x i pixels more with each loop. >> Smallish values for os are recommened. also, be aware that if you are >> matching this line with some other line you have drawn, you may have >> to set AT's X over in the case offset-x is great. The second half of >> the word extends the width of the line with each loop. >> You can also use negative values for os and ef. >> >> I created a drawing of ChuckBot and the beginings of a plane >> much like the raptor in profile using only this word lines. It >> includes lines that are the landing area where ChuckBot gets out of >> the plane, two lines to split the screen into quadrants, a different >> color then the backgound in the lower right quadrant and a display of >> two of the lines debbuging information in that quadrant. To make the >> lines debugging information work I created another word called vars... >> >> : e@. emit @ . ; >> >> : vars ( x y color ) color over over at ln 12 e@. x 21 e@. y 11 e@. >> 30 + at ht 20 e@. wt 15 e@. os @ . ef @ . ; >> >> >> e@. handles the labels of each of the variabls that I have labeled >> with a letter representing the variable. >> >> vars takes a x y and a color and as long as you put all 4 behind any >> line it will display that lines information on the screen where you >> say and in the color you say. >> >> >> See it at http://colorforthRay.info/rapter.html >> >> >> >>> Mark >>> Slicker's website lists a CF01 with VESA query >>> facility, but I do not have privilege access to this - >>> so I'll try to do it myself with help of VESA >>> documentation and your website. >>> >>> But slow as I am, CF does what I want sooner or later. >>> I am not held up by monitor because I have ripped the >>> new source blocks out of the Windows CF (about 130 >>> blocks) and can add the ones I need to Josh's CF05 - >>> once I've managed to understand them. >> >> Yes! 'slow as I am' as well. hehe. >> You don't have to save this e-mail for the info above, I will put it >> up at the link I provided above right after sending this missle. >> >> >>> Caritas, >>> >>> Nick >>> >>> **************************** >>> >>> A better world is not only possible but on the way. On >>> a quiet day you can hear her breathing. - Arundhati >>> Roy >>> >> Great quote that one! >> >> A person that quotes a person accurately is worth both. >> Ray >> >> -- >> Raymond St. Marie ii, >> public E-mail [email protected] >> a quickstart guide http://colorforthray.info >> THE Community Blog http://colorForth.net >> THE community wiki http://ForthWorks.com/c4th >> > > > > -- > Raymond St. Marie ii, > public E-mail [email protected] > a quickstart guide http://colorforthray.info > THE Community Blog http://colorForth.net > THE community wiki http://ForthWorks.com/c4th > -- Raymond St. Marie ii, public E-mail [email protected] a quickstart guide http://colorforthray.info THE Community Blog http://colorForth.net THE community wiki http://ForthWorks.com/c4th