Re: A few questions about NEIL

new topic     » goto parent     » topic index » view thread      » older message » newer message

Tor writes:
> I just want everybody to know that I have just started a
> brand new world wide organization called "THE PEOPLE'S
> MOVEMENT FOR BETTER NEIL DOCUMENTATIONS"
> (TPMFBND).

Terrific!  (This means less work for me, right? blink

> Our long term goal is among other things to get some
> answers to questions like these:

> 1) What is a blit ?

blit is a BLock Image Transfer.  blt is also common for plain memory BLock
Transfers, but I often confuse it with a certain kind of sandwich.  blink

> 2) Exactly what does these different blit 'kinds':  "Blit, Clear_blit,
> Mixer_blit,  Screen_blit, and Wait_retrace".

Blit does an opaque image transfer, meaning the image is transfered
byte-for-byte.

Clear_blit does almost the same, except it doesn't copy bytes that are
zero.

Mixer_blit combines the source and destination bytes, using a lookup table
you provide.  This mixing table must be 65536 bytes long, because there
are 256*256 ways to combine two bytes.  The calculation is as follows:
  dest_byte = peek(table + source_byte + dest_byte * 256)
for every byte in the image.

Screen_blit is is the same as Blit, only it is designed for blitting to
video memory.  Other blits are not guaranteed to work when used directly
to the screen (in banked vesa modes or modex).

Wait_retrace can reduce flicker on the screen or it might just slow your
program down.  Use your own judgement based on your program.


3) What are "safe handles"?

Safe handles are actually command handles (and should probably be renamed
as such) which are actually atoms.  When with type_check is used, the
safe_handle type is used to ensure that a valid command_handle is being
passed to a function.  Since safe_handle has to find() the handle in the
sequence of valid command handles, it is highly recommended to turn off
type_checking for maximum performance.

> 4) What are "Run Length Encoded" sprites?

Run length encoded sprites are used like clear_blit, except that each row
of opaque pixels is stored and then drawn without having to check for zero
bytes.  This can mean faster sprites that have lots of see-though space in
them.  Complex sprites with lots of little holes will probably not
benefit.  Rle-sprites can also be pixel-perfectly tested against each
other for overlap, making collision-detection really easy.

> 5) What is a "sub screen"? How is a sub screen different from
> other virtual screens?

A sub screen is a virtual screen that shares the memory on another virtual
screen.  A sub screen can be used to set a clipping region on a virtual
screen, or it can make a single image easily accessable from a larger
bitmap with many images.  You create a sub_screen around that single image
and use it as if it were its own virtual screen.

> 6) What are mixing tables for?

Mixing tables are for use with mixer_blit.  Used correctly, you can shade
images using light maps, or make images semi-transparent, or use just
about any function on source and destination pixels.

> 7) (Not really Neil related, but still:) What is "vesa" really?

It's Video Electronics Standards Association.  See http://www.vesa.org.
The joke involving VESA/VBE usually goes: "the nice thing about standards
is that there are so many to choose from"

> How do I know whether I need to use "force vesa" or not? smile

Only when vesa_mode fails on a mode your are absolutely positive your
video hardware can handle.  Reasons for failing might be inadequate amount
of video ram, or the monitor connected cannot handle the neccessary
refresh rate.  In short, you should never have to use force vesa.

> Best Regards,

Good luck with the project and keep them questions coming!

> Tor Gausen,
> Supreme Secretary General and President,
> TPMFBND


 _______  ______  _______  ______
[    _  \[    _ ][ _   _ ][    _ ]
[/| [_] |[/| [_\][/ | | \][/| [_\]
  |  ___/  |  _]    | |     |  _]
[\| [/]  [\| [_/] [\| |/] [\| [_/]
[_____]  [______] [_____] [______]
Supreme Master of Everything in General
xseal at harborside.com  ICQ:13466657
http://www.harborside.com/home/x/xseal/euphoria/

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu