Seeing the Vesa mode on start-up/changeing same.

View: New views
15 Messages — Rating Filter:   Alert me  

Seeing the Vesa mode on start-up/changeing same.

by Ray St. Marie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi colorForth fans
Ray here...


I've been offline a couple of weeks... recent blog entry about that at
http://colorforth.net
I've been busy in my offline time working with a couple of colorForths
and a few of  the problems that I've seen pop up recently in this
mailinglist. One of the things that I've included lately is a way to
use LOGO as a debugging tool. Also, I've created a couple words to aid
in the display debugging process. Nick, I was thinking of you. :-)


What you do is....

Add the words

vesa @ h.

just after the word text and before the word cf in the word LOGO.

vesa :== yellow, the rest are green.


: logo show black screen ( or "blank" if defined like in 2.0a) 800 710
blue box 600 50 at 1024 620 red box 200 100 at 700 500 green box text
"vesa" @ h. cf keyboard.

To add it to the disk will be discussed here in a bit.  There is
another, similar way to go about this in other colorForths, as the
variable vesa may not be exposed or defined in other colorForths. In
that case, a listing of the program gives you the address of where the
vesa variable information is stored. In some cases the listing is the
only place that the variable can be found as the image writes itself
to 0 (7c00) after boot and writes over this value, not needing it any
more because the display is already engaged during the boot process. (
I could be wrong about that, btw. )

Nick found a variable in colorForth that he could manipulate by hand,
and I think he did this with a Hex Editor on the source. Nick? do you
recall that?

So, now when you boot, you should see the value in hex at the top of
the screen, just as in at least two cases that I was able to test
here.
I have a monitor, it is an ega/vga model from 1998 and I can boot
several colorforths on it.
In a "0 dump u" or in other words an address zero dump followed by
dump's up command, reveals the value at address 0x15h is 0x10cd4117h,
which is the vesa value for this particular copy of '05 that I happen
to have loaded in one of the twin Pentium 1's.

What I recall about what Nick had done was that if you do a "15 @"
(set phasers to stun and the keyboard to hex because 15 is a hex
value)  you may be able to read that value. I think that I might have
found "17 @" for another version of colorForth and I'm looking for
that now as I proceed in testing this idea.

Instead of adding "vesa @ h." to logo, you may have to enter (hex) 15
@ h. , or similar for 17 @ h. .

Just now looking at Howerd Oakford's cfDos4 and it's at 0x1bh so (hex)
1b @ h. in that case.

Looking at an Appelman Small Fonts and the value is split between the
2 least significan bits of address 0x17h and the 2 most significant of
the address 0x16h.  some sort of character fetch is in order here an
may need to be defined in the macros. Look thru your bootable version
of colorForth or at htmlized sources and you will find definitions 1@
and 1! or similar that do this operation.

Okay... the value of being able to SEE this vesa value when logo
displays is that in some cases the display is properly booted but some
of the words that define icons sizes and screen sizes are out of wack
and make the display look as if everything is twice as big. Nick has
mentioned this in a previous post.

I was able to display the vesa value on the top of the screen in a
2.0a version that had otherwise been distorted. In one case I had set
the vesa value to 10cd4118, in which I got a screen that was otherwise
unreadable, grey in color, looked vertically striped and DID display
the Hex value of vesa properly in the top right corner. Infact it
displayed it 3 times across the screen. It could be that the display
is shifted over to the right way too far, as I've expereanced this
problem in the past when I was displaying 'line' and 'box' created
objects on the screen. Moveing the object too far left or down crashes
colorForth. Moving the object too far right just displays the object (
i'm making an educated guess here) a pixel downward as if it had
wrapped from the left being way too far on the right.

I then reset this value to 10cd4117 and got another display all
together. In this case I think I recreated what Nick had done. I could
read the Hex value, but now I could see colorForth double size taking
up much of the top of the screen area and in the wrong colors. The
boxes had also displayed, but it was obvious that the display could
not create them properly, most likely due to sizeing issues and maybe
even colors encoding. This I must still explore.

I do recall that when I changed Terry Loveall's version of colorForth
back from 800x600 to 1024x768, there were many adjustments that
involved sizes of margins, right and left, and of character sizes in
the emit and 2emit words of the kernal, amonst other adjustments that
don't currently come to mind. This is discussed in the report I did a
few years back in the mailinglist under the topic "how I got
colorforth to boot".
 Trying the value 4123 in place ( the ati definition on block 52
Floppy Driver stuff ) and I got entirely no display at all. Reminding
you, this is all in the 2.0a version, trying to boot it in one of my
pentium ones. It works fine in windows on the pentium 4 I normally
run, native too.

There is a word I defined, 'p', because it is the top left of the
keyboard, representing the top-left of the display.

: p "10cd0000" + "vesa" !  ;

In Windows, this definition goes just under the "mark empty" and I did
switch off the qwerty keyboard by using the change 'c' key in the
editor keyboard which changed the word qwerty from green to a white
comment. This way, I could navigate the keyboard blindly, should I not
get a good "vesa" number entered on reboot using the original
colorForth keyboards, which I happen to be very familure with.

Don't forget to save if you change the vesa value.  In other
colorForths you just use the address like the hex address 0x15h, used
above.

TIP: n n n spacebar n n n spacebar n n n spacebar will guaranty that
you are at the outer interpreter accept keyboard from any keyboard you
may have navigated to previously. /TIP

Knowing that spacebar alt will enter the hex keyboard, you can type in
the new hex value's last four digits, such as 4117, and then hit the
spacebar, followed by 'p', the top left key, followed by spacebar
followed by 'save' spacebar, and when the light goes out, 'boot'
spacebar... and you have your testing method in blind-no-display mode.
One may have to rehearse this in a working colorforth or just write
down the keys for save ( ;a/e) and boot ( mssk) . A list of modes to
test would be nice to have and I will search for such soon to be
placed at the doc's-wiki at http://ForthWorks/c4th .


From what I can find out, I believe that in the case of some monitors
the value 4117 is the working value.
This is a problem for colorForth 2.0a at this time, as the rest of the
definitions for changing screen sizes and colors are not available,
not easily accessable to my knowladge, not well discribed anywhere at
this time. A conversion of the sourcecode from hex to a listing may be
necessary to find these values. The system does seem to be optimized
to operate under two modes, Nvidia 4118, and ati 4123, as you can see
if you look at block 52. You'll need to load block 52 to access these
values to change display settings. This is the reason for my 'p'
definition, as no loading is necessary between boots. you COULD add 52
load in yellow to the top of the block 18 just for these tests, and
also create a 4117 version of the code to block 52. This way you can
just type the words that change the code automatically. Save, re-boot.

It may be interesting to note that in the case of the 4117 test, I
also tested '0 dump'.
This worked, but of course, I was not able to see the bottom of the
screen. No keyboard, only the topmost dump doublewords. This is
actually a workable condition, as dump can be used to display any
address you want to the top of the screen. It's just a matter of
adding an offset of 8 or -8 in many cases. Instead of 0 dump, try -8
dump.
Be careful trying this in Windows as it has areas of memory you CAN
NOT access, due to windows restrictions. Jump around and see what you
can dump. You can dump anything from block 18 on, and in some cases
you can dump stuff before block 18 in colorForth for windows, by Roman
Pavlyuk.

This can help to see the vesa value. It can also be used for exploring
the dump output on an otherwise unreadable display. I suppose it could
be used to help identify the other display settings as well, in a
pinch, if you can't do anything else.

Stay tuned... I'm hoping others will jump in and tell us where and
what to do about these problems. I'm still searching.


In other news, Chuckbot now has a zoom feature under development. It's
starting to look good. I can go easily from a total world display to a
zoom-in of the top-left quadrent currently. This is accomplished by
having two copies of the necessary data that can empty and start each
other when the zoom key is hit on the Chuckbot keyboard, compiling so
fast that one never notices. Care is taken so that in-world data is
not affected by the re-compile.

I imagine the other three quadrents will be addressed similarly, but
the boon to this idea is that just about any world configuration, even
levels of Chuckbot World, can be easily created. This works much like
configuration files. Copy this block that has the proper info and just
change what needs to be changed, walla!

I'm going to try to get Chuckbot to execute a zoom when he gets to the
edge of one quadrent and right before he enters the next.

Okay, that's it for now. More to follow.
Ray

--
Raymond St. Marie ii,
http://colorforthray.info
http://colorForth.net
http://ForthWorks.com/c4th

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@...
For additional commands, e-mail: colorforth-help@...
Main web page - http://www.colorforth.com


Re: Seeing the Vesa mode on start-up/changeing same.

by Nick Maroudas-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Quoting "Ray St. Marie" <ray.stmarie@...>:

>... " Hi colorForth fans
>... " Ray here...
>... "
>... " I've been offline a couple of weeks... recent
>... " blog entry about that at
>... " http://colorforth.net
>... " I've been busy in my offline time working with a
>... " [snip]
>... " ... few of  the problems that I've seen pop up
>... " recently in this
>... " mailinglist. .... Also, I've created
>... " a couple words to aid
>... " in the display debugging process. Nick, I was
>... " thinking of you. :-)
>... "
>... "

Nick here,

Dear Ray,

Thanks for thinking of me, though I've been off line
even longer than you; and missed a lot of good stuff -
including the CF Community website above.

Reason for absence was to prepare a ms and submit it
for
publication, on the hex scale of music notation for
which I've been using CF lately.  I mailed you a floppy
with my CF program a few months ago, now the ms is
available for anyone who might be interested in a hex
alternative to the usual MIDI scale in logarithmic
cents.  

Your work on vesa and LOGO display is certainly of
interest to the "Play and Display" part of my program.

So is Jason's on how to set a pixel.  Should lead to
even smaller lag between displaying the score and
playing the notes.  

Will need some time to absorb all this new stuff:  at
my
age short term memory becomes as volatile as RAM - and
much, much slower to refresh.

Caritas,

Nick

Also Quoting:  Wed, 28 May 2008 14:01:23 +0100
Jason Kemp <jason.kemp@...>
Re: [colorforth] Setting a pixel on the screen

****************************

A better world is not only possible but on the way.  On
a quiet day you can hear her breathing.  - Arundhati
Roy

***
****

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@...
For additional commands, e-mail: colorforth-help@...
Main web page - http://www.colorforth.com


Re: Seeing the Vesa mode on start-up/changeing same.

by Ray St. Marie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Nick, All!
It's Ray... go to bottom :-)

On Thu, Jul 3, 2008 at 8:44 AM, Nick Maroudas
<alice@...> wrote:

> Quoting "Ray St. Marie" <ray.stmarie@...>:
>
>>... " Hi colorForth fans
>>... " Ray here...
>>... "
>>... " I've been offline a couple of weeks... recent
>>... " blog entry about that at
>>... " http://colorforth.net
>>... " I've been busy in my offline time working with a
>>... " [snip]
>>... " ... few of  the problems that I've seen pop up
>>... " recently in this
>>... " mailinglist. .... Also, I've created
>>... " a couple words to aid
>>... " in the display debugging process. Nick, I was
>>... " thinking of you. :-)
>>... "
>>... "
>
> Nick here,
>
> Dear Ray,
>
> Thanks for thinking of me, though I've been off line
> even longer than you; and missed a lot of good stuff -
> including the CF Community website above.
>
> Reason for absence was to prepare a ms and submit it
> for
> publication, on the hex scale of music notation for
> which I've been using CF lately.  I mailed you a floppy
> with my CF program a few months ago, now the ms is
> available for anyone who might be interested in a hex
> alternative to the usual MIDI scale in logarithmic
> cents.
>
> Your work on vesa and LOGO display is certainly of
> interest to the "Play and Display" part of my program.
>
> So is Jason's on how to set a pixel.  Should lead to
> even smaller lag between displaying the score and
> playing the notes.
>
> Will need some time to absorb all this new stuff:  at
> my
> age short term memory becomes as volatile as RAM - and
> much, much slower to refresh.
>
> Caritas,
>
> Nick
>
> Also Quoting:  Wed, 28 May 2008 14:01:23 +0100
> Jason Kemp <jason.kemp@...>
> Re: [colorforth] Setting a pixel on the screen
>
> ****************************
>
> A better world is not only possible but on the way.  On
> a quiet day you can hear her breathing.  - Arundhati
> Roy
>

I've been annotating a listing of the MASM generated colorForth 1 that
I did form the Pentium 4. I got to the part about int 10 -- the
display set-up interrupt and had a thought.

The monitor that I had seemed to recreate Nick's display problem is
EGA/XGA. Nick, please check yours as well. In the case that it is, we
will need to enter a new display mode setter other than 0x4F02H, which
is specifically VBE, the Vesa superVGA setting setter. VESA monitors
seem to be set to 0x117h, 0x118h, and 0x123h successfully.

I don't believe anyone has tested the EGA/XGA settings.
Wikipedia has this to say: http://en.wikipedia.org/wiki/XGA

My projects are many and I keep flipping from one to the next. I do
have an XGA monitor, and if we can get some concensus on how to
preceed here, I'll try out some of those ideas.

BUT, I suggest a VESA-VBE superVGA monitor. Used, they are cheap. Bet
you can find one in a friends garage if not your own. :-)

Getting the superVGA means not having to worry about hacking the
already well tested code.

Much luck!
Ray
--
Raymond St. Marie ii,
http://colorforthray.info
http://colorForth.net
http://ForthWorks.com/c4th

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@...
For additional commands, e-mail: colorforth-help@...
Main web page - http://www.colorforth.com


Re: Seeing the Vesa mode on start-up/changeing same.

by Ray St. Marie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sat, Jul 5, 2008 at 8:43 PM, Ray St. Marie <ray.stmarie@...> wrote:

> Hi Nick, All!
> It's Ray... go to bottom :-)
>
> On Thu, Jul 3, 2008 at 8:44 AM, Nick Maroudas
> <alice@...> wrote:
>> Quoting "Ray St. Marie" <ray.stmarie@...>:
>>
>>>... " Hi colorForth fans
>>>... " Ray here...
>>>... "
>>>... " I've been offline a couple of weeks... recent
>>>... " blog entry about that at
>>>... " http://colorforth.net
>>>... " I've been busy in my offline time working with a
>>>... " [snip]
>>>... " ... few of  the problems that I've seen pop up
>>>... " recently in this
>>>... " mailinglist. .... Also, I've created
>>>... " a couple words to aid
>>>... " in the display debugging process. Nick, I was
>>>... " thinking of you. :-)
>>>... "
>>>... "
>>
>> Nick here,
>>
>> Dear Ray,
>>
>> Thanks for thinking of me, though I've been off line
>> even longer than you; and missed a lot of good stuff -
>> including the CF Community website above.
>>
>> Reason for absence was to prepare a ms and submit it
>> for
>> publication, on the hex scale of music notation for
>> which I've been using CF lately.  I mailed you a floppy
>> with my CF program a few months ago, now the ms is
>> available for anyone who might be interested in a hex
>> alternative to the usual MIDI scale in logarithmic
>> cents.
>>
>> Your work on vesa and LOGO display is certainly of
>> interest to the "Play and Display" part of my program.
>>
>> So is Jason's on how to set a pixel.  Should lead to
>> even smaller lag between displaying the score and
>> playing the notes.
>>
>> Will need some time to absorb all this new stuff:  at
>> my
>> age short term memory becomes as volatile as RAM - and
>> much, much slower to refresh.
>>
>> Caritas,
>>
>> Nick
>>
>> Also Quoting:  Wed, 28 May 2008 14:01:23 +0100
>> Jason Kemp <jason.kemp@...>
>> Re: [colorforth] Setting a pixel on the screen
>>
>> ****************************
>>
>> A better world is not only possible but on the way.  On
>> a quiet day you can hear her breathing.  - Arundhati
>> Roy
>>
>
> I've been annotating a listing of the MASM generated colorForth 1 that
> I did form the Pentium 4. I got to the part about int 10 -- the
> display set-up interrupt and had a thought.
>
> The monitor that I had seemed to recreate Nick's display problem is
> EGA/XGA. Nick, please check yours as well. In the case that it is, we
> will need to enter a new display mode setter other than 0x4F02H, which
> is specifically VBE, the Vesa superVGA setting setter. VESA monitors
> seem to be set to 0x117h, 0x118h, and 0x123h successfully.
>
> I don't believe anyone has tested the EGA/XGA settings.
> Wikipedia has this to say: http://en.wikipedia.org/wiki/XGA
>
> My projects are many and I keep flipping from one to the next. I do
> have an XGA monitor, and if we can get some concensus on how to
> preceed here, I'll try out some of those ideas.
>
> BUT, I suggest a VESA-VBE superVGA monitor. Used, they are cheap. Bet
> you can find one in a friends garage if not your own. :-)
>
> Getting the superVGA means not having to worry about hacking the
> already well tested code.
>
> Much luck!
> Ray
> --
> Raymond St. Marie ii,
> http://colorforthray.info
> http://colorForth.net
> http://ForthWorks.com/c4th
>

The blog ( http://colorforth.net ) now has the beginings of the source
breakdown that I've been promising. I was able to find that xga
monitors have a 'set mode' of 4e03, but I'm still not finding the
selection number for 1024x768x256 colors. IF you know it or know where
I can find it... :-)


--
Raymond St. Marie ii,
public E-mail Ray.stmarie@...
a quickstart guide http://colorforthray.info
THE Community Blog http://colorForth.net
THE community wiki http://ForthWorks.com/c4th

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@...
For additional commands, e-mail: colorforth-help@...
Main web page - http://www.colorforth.com


Re: Seeing the Vesa mode on start-up/changeing same.

by Nick Maroudas-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Quoting "Ray St. Marie" <ray.stmarie@...>:

>... " On Sat, Jul 5, 2008 at 8:43 PM, Ray St. Marie
>... " <ray.stmarie@...> wrote:
>... " > Hi Nick, All!
>... " > It's Ray... go to bottom :-)
>... " >

>... " >
>... " > I've been annotating a listing of the MASM
>... " generated colorForth 1 that
>... " > I did form the Pentium 4. I got to the part
>... " about int 10 -- the
>... " > display set-up interrupt and had a thought.
>... " >
>... " > The monitor that I had seemed to recreate
>... " Nick's display problem is
>... " > EGA/XGA. Nick, please check yours as well. In
>... " the case that it is, we
>... " > will need to enter a new display mode setter
>... " other than 0x4F02H, which
>... " > is specifically VBE, the Vesa superVGA setting
>... " setter. VESA monitors
>... " > seem to be set to 0x117h, 0x118h, and 0x123h
>... " successfully.
>... " >
>... " > I don't believe anyone has tested the EGA/XGA
>... " settings.
>...
>... " The blog ( http://colorforth.net ) now has the
>... " beginings of the source
>... " breakdown that I've been promising. I was able
>... " to find that xga
>... " monitors have a 'set mode' of 4e03, but I'm
>... " still not finding the
>... " selection number for 1024x768x256 colors. IF you
>... " know it or know where
>... " I can find it... :-)

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.  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.  Intellasys
promise a Linux version of the new CF, plus a USB stick
with many c18, which will be the real big step in
learning:  parallel Forth (coloured or otherwise).

Caritas,

Nick

****************************

A better world is not only possible but on the way.  On
a quiet day you can hear her breathing.  - Arundhati
Roy

****

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@...
For additional commands, e-mail: colorforth-help@...
Main web page - http://www.colorforth.com


Re: Seeing the Vesa mode on start-up/changeing same.

by Ray St. Marie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Jul 13, 2008 at 1:01 PM, Nick Maroudas
<alice@...> wrote:
> ....plus a USB stick
> with many c18, which will be the real big step in
> learning:  parallel Forth (coloured or otherwise).
>
> Caritas,
>
> Nick
>
> ****************************
Man! I'd love to get one of those. :)


--
Raymond St. Marie ii,
public E-mail Ray.stmarie@...
a quickstart guide http://colorforthray.info
THE Community Blog http://colorForth.net
THE community wiki http://ForthWorks.com/c4th

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@...
For additional commands, e-mail: colorforth-help@...
Main web page - http://www.colorforth.com


Parent Message unknown Re: Seeing the Vesa mode on start-up/changeing same.

by Charles Shattuck :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I think you misunderstood. IntellaSys promised a Linux version of the VentureForth compiler for the FORTHdrive, containing the s24 SEAforth chip. It's based on SwiftForth and has nothing to do with colorForth. Sorry.

Charley.

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@...
For additional commands, e-mail: colorforth-help@...
Main web page - http://www.colorforth.com


Re: Seeing the Vesa mode on start-up/changeing same.

by Ray St. Marie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Jul 13, 2008 at 2:54 PM,  <cshattuck@...> wrote:
> I think you misunderstood. IntellaSys promised a Linux version of the VentureForth compiler for the FORTHdrive, containing the s24 SEAforth chip. It's based on SwiftForth and has nothing to do with colorForth. Sorry.
>
> Charley.
>

Hi Charley, How have you been?


Still, would kinda be nice to have one of those. :-)

You know, I've never tried SwiftForth. Prob'ly cause I don't tend to
have fluid cash very often. And when I do, you know, life! Maybe if I
explain my situation to Elizabeth, she might just let me have one. The
things I am most interested in is the fact that it's such a complete
system. It would be a real education for me to see how all the parts
work together, as well as not having to duplicate excellent work.

Thanks for putting us right, Charley. Good to know you have my back. :-)

Take Care
Ray


--
Raymond St. Marie ii,
public E-mail Ray.stmarie@...
a quickstart guide http://colorforthray.info
THE Community Blog http://colorForth.net
THE community wiki http://ForthWorks.com/c4th

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@...
For additional commands, e-mail: colorforth-help@...
Main web page - http://www.colorforth.com


Re: Seeing the Vesa mode on start-up/changeing same.

by Ray St. Marie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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 Ray.stmarie@...
a quickstart guide http://colorforthray.info
THE Community Blog http://colorForth.net
THE community wiki http://ForthWorks.com/c4th

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@...
For additional commands, e-mail: colorforth-help@...
Main web page - http://www.colorforth.com


Re: Seeing the Vesa mode on start-up/changeing same.

by Ray St. Marie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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 <ray.stmarie@...> 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 Ray.stmarie@...
> 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 Ray.stmarie@...
a quickstart guide http://colorforthray.info
THE Community Blog http://colorForth.net
THE community wiki http://ForthWorks.com/c4th

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@...
For additional commands, e-mail: colorforth-help@...
Main web page - http://www.colorforth.com


Re: Seeing the Vesa mode on start-up/changeing same.

by Ray St. Marie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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 <ray.stmarie@...> 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 <ray.stmarie@...> 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 Ray.stmarie@...
>> 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 Ray.stmarie@...
> a quickstart guide http://colorforthray.info
> THE Community Blog http://co