From: William F B L. <zh...@nt...> - 2003-07-27 10:21:26
|
Hi All Allegro People! GOOD NEWS! I managed to write a small allegro program this morning which actually works. Okay, small news but i'm over the moon because i've gone through so much pain trying to get back on the road to writing a game. Anyway, i was re-reading some old allegro mail this morning and i came across something which at the time i didn't wonder about much because i was probably occupied with learning other stuff, and so i have a question; It's about VESA2... Does anyone know much about it? I'm mostly wondering what it has that VESA doesn't and also about things like the ratio between people out there who play games who have cards that support it and people out there who don't. I don't want to write a game and find out that only a handful of people can use it. Plz say as much as you can. will _________________________________ 3^9*7^3*11^3*17^3*41^3*47^3*443^3* 499^3*3583^3 The smallest cube whose sum of divisors is also a perfect cube. :) |
From: J.P. M. <jp...@it...> - 2003-07-27 12:09:09
|
On Sun, 27 Jul 2003 11:26:37 +0100 "William F B Labbett" <zh...@nt...> wrote: > Hi All Allegro People! > > GOOD NEWS! Out of interest, why was this formatted like a poem, with 40 column lines? Was it written on a BBC Micro? > It's about VESA2... > > Does anyone know much about it? > > I'm mostly wondering what it > has that VESA doesn't and > also about things like > the ratio between people out > there who play games who > have cards that support it > and people out there who > don't. Before VESA, all videocards had to be programmed differently to make them do anything above VGA spec (640x480x16). Obviously, this sucked because you could only develop for the cards that you happened to posess. The VESA standard defines a set of commands that are implemented on all video cards (except a few really modern ones that are Windows-only), so if you use those commands to do everything, the program should work on any decent video card. There is a little contention, however, about which modes are available (for instance, 320x200x15, 320x200x16, 320x200x24 etc). If you stick with 640x480 or 800x600, there shouldn't be any problem. The trouble is, that when VESA was defined, everything was done in real mode, so there was a 64k limit on the amount of data that could be sent to the video card. This is enough to get you 320x200, which is covered quite adequately without needing VESA. The solution is bank-switching. You set bank 0, send the first 64k, then select back 1, send the next 64k until the screen is completely done. That's VESA 1. Time passed, and people started working in flat protected mode instead, with a limit of around 4194304k instead. Using VESA 1 is pretty nasty, since you usually have to switch back to real mode or V86 mode to run the VESA command, which is (A) slow, and (B) dangerous. VESA 2 was designed, and it introduced the linear framebuffer, which is now a staple requirement of all video systems. With VESA 2, you only need to call the VESA commands at the start, to choose the video mode. When you do this, it redirects some of the higher memory addresses (often around the 2GB area, where there isn't likely to be any physical memory in a DOS system) so they point to the video display instead. That gives you the ability to write directly into the display area without having to copy the screen there in 64k chunks. This is a lot faster and incredibly more convenient to do. Of course, Allegro (and any other graphics library) hides all this stuff from you anyway, so it doesn't really matter unless you're writing the graphics library yourself (as I did before switching to Allegro for better cross-platform support). > > I don't want to write a > game and find out that only > a handful of people can use it. Why should this happen? GFX_AUTODETECT should choose a driver that works. If you do have detection problems, add a switch on the command line to let the user select a driver themselves. Or some kind of INI file. > > Plz say as much as you can. > Was that enough? :) > > will > _________________________________ > 3^9*7^3*11^3*17^3*41^3*47^3*443^3* > 499^3*3583^3 > The smallest cube whose sum of divisors > is also a perfect cube. > :) > -- JP Morris - aka DOUG the Eagle (Dragon) -=UDIC=- jp...@it... Fun things to do with the Ultima games http://www.it-he.org Reign of the Just - An Ultima clone http://rotj.it-he.org d+++ e+ N+ T++ Om U1234!56!7'!S'!8!9!KAW u++ uC+++ uF+++ uG---- uLB---- uA--- nC+ nR---- nH+++ nP++ nI nPT nS nT wM- wC- y a(YEAR - 1976) |
From: William F B L. <zh...@nt...> - 2003-07-27 13:32:41
|
----- Original Message ----- From: "J.P. Morris" <jp...@it...> To: <all...@li...> Sent: Sunday, July 27, 2003 2:11 PM Subject: Re: [AL] VESA2 > On Sun, 27 Jul 2003 11:26:37 +0100 > "William F B Labbett" <zh...@nt...> wrote: > > > Hi All Allegro People! > > > > GOOD NEWS! > > Out of interest, why was this formatted like a poem, with 40 column lines? > Was it written on a BBC Micro? aha! the cheek! i think reasons can be complicated, plz forgive the seriousness :) I *think* the reason is psychological. I could be mistaken but i think it's do with what i, in my more reflective moments would have say is an irrational fear; i think i'm not in control of things if i leave it up to the computer or the program to move the cursor to the next line, so i hit return, usually unnecessarily early. I said reasons can be complicated because it must also be because i rarely full screen the window before writing mail so i write them in the little window you get which makes things worse of course. I often find myself quite unrelaxed at the computer so i'm often unaware that i'm doing things in a silly fashion. I'm not sure it gets any deeper than that :) > > It's about VESA2... > > > > Does anyone know much about it? > > > > I'm mostly wondering what it > > has that VESA doesn't and > > also about things like > > the ratio between people out > > there who play games who > > have cards that support it > > and people out there who > > don't. > > Before VESA, all videocards had to be programmed differently to make them do > anything above VGA spec (640x480x16). Obviously, this sucked because you could > only develop for the cards that you happened to posess. > > The VESA standard defines a set of commands that are implemented on all video > cards (except a few really modern ones that are Windows-only), so if you use > those commands to do everything, the program should work on any decent video > card. There is a little contention, however, about which modes are available > (for instance, 320x200x15, 320x200x16, 320x200x24 etc). If you stick with > 640x480 or 800x600, there shouldn't be any problem. someone told me 1024 by 768 was a standard 8-bit VESA res is that right? > The trouble is, that when VESA was defined, everything was done in real mode, what is real mode plz? > so there was a 64k limit on the amount of data that could be sent to the video > card. This is enough to get you 320x200, which is covered quite adequately > without needing VESA. > > The solution is bank-switching. You set bank 0, send the first 64k, then > select back 1, send the next 64k until the screen is completely done. > That's VESA 1. > > > Time passed, and people started working in flat protected mode instead, > with a limit of around 4194304k instead. That's a massive difference! Using VESA 1 is pretty nasty, > since you usually have to switch back to real mode or V86 mode to run the > VESA command, which is (A) slow, and (B) dangerous. > > VESA 2 was designed, and it introduced the linear framebuffer, which is now > a staple requirement of all video systems. With VESA 2, you only need to > call the VESA commands at the start, to choose the video mode. When you do this, > it redirects some of the higher memory addresses (often around the 2GB area, > where there isn't likely to be any physical memory in a DOS system) so they > point to the video display instead. > > That gives you the ability to write directly into the display area without > having to copy the screen there in 64k chunks. This is a lot faster and > incredibly more convenient to do. > > > Of course, Allegro (and any other graphics library) hides all this stuff from > you anyway, so it doesn't really matter unless you're writing the graphics > library yourself (as I did before switching to Allegro for better cross-platform > support). > > > > > I don't want to write a > > game and find out that only > > a handful of people can use it. > > Why should this happen? GFX_AUTODETECT should choose a driver that works. > If you do have detection problems, add a switch on the command line to let the > user select a driver themselves. Or some kind of INI file. > > > > > Plz say as much as you can. > > > > Was that enough? :) That was lots but as usual when people explain things to me it often arouses lots more questions in me :) thx > > > > will > > _________________________________ > > 3^9*7^3*11^3*17^3*41^3*47^3*443^3* > > 499^3*3583^3 > > The smallest cube whose sum of divisors > > is also a perfect cube. > > :) > > > > -- > JP Morris - aka DOUG the Eagle (Dragon) -=UDIC=- jp...@it... > Fun things to do with the Ultima games http://www.it-he.org > Reign of the Just - An Ultima clone http://rotj.it-he.org > d+++ e+ N+ T++ Om U1234!56!7'!S'!8!9!KAW u++ uC+++ uF+++ uG---- uLB---- > uA--- nC+ nR---- nH+++ nP++ nI nPT nS nT wM- wC- y a(YEAR - 1976) > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > -- > https://lists.sourceforge.net/lists/listinfo/alleg-main |
From: J.P. M. <jp...@it...> - 2003-07-27 17:57:18
|
On Sun, 27 Jul 2003 14:36:32 +0100 "William F B Labbett" <zh...@nt...> wrote: > > There is a little contention, however, about which modes are available > > (for instance, 320x200x15, 320x200x16, 320x200x24 etc). If you stick with > > 640x480 or 800x600, there shouldn't be any problem. > > someone told me 1024 by 768 was a standard 8-bit VESA res > is that right? Yes, that should be supported by all VESA cards with 1MB of memory or more. > > The trouble is, that when VESA was defined, everything was done in real > > mode, > > what is real mode plz? A CPU mode. It mimicks the 8086 processor. You get up to 1MB of memory, but in 64k chunks. DOS runs in real mode. As of about 1993, most programs were written in Protected Mode, which was added with the 386 processor. In theory you get something like 32 Terabytes of memory, in 4GB chunks. With Windows, Linux and most other systems, they prefer work in a single chunk and you get a maximum of 4GB to play with (which is what the AMD Opteron will fix) It was like the sun had risen for the first time, unless, like me you couldn't afford a 386 at the time. The sun rose a little later for me :) There were all kinds of weird tricks to allow 32-bit programs to be run in DOS.. you had to use a 'DOS extender' or DPMI system. The most popular was called 'DOS4G' and it shipped with the Watcom compiler. Many games used it, such as Doom, System Shock, Duke3d, Descent, Heretic, Simon The Sorcerer 2, etc. If you've ever seen a file called 'DOS4GW', that's what it is. Other people wrote their own proprietary extenders (Beneath A Steel Sky) or used even more bizarre methods (Ultima 7, Pagan, Wing Commander 3) which make it extremely difficult to run these excellent games today. And everyone of college or university age was trying to write their own OS to replace DOS. Only Linus really succeeded, but whatever. It was a really fun time to be a computer geek :-) Then Win95 came along and spoiled it all.. > > Time passed, and people started working in flat protected mode instead, > > with a limit of around 4194304k instead. > > That's a massive difference! > > > > I don't want to write a > > > game and find out that only > > > a handful of people can use it. > > > > Why should this happen? GFX_AUTODETECT should choose a driver that works. > > If you do have detection problems, add a switch on the command line to let > the > > user select a driver themselves. Or some kind of INI file. > > > > > > > > Plz say as much as you can. > > > > > > > Was that enough? :) > > > That was lots but as usual when people explain things to me it often > arouses lots more questions in me :) I only noticed two questions. If there's anything else, ask away. -- JP Morris - aka DOUG the Eagle (Dragon) -=UDIC=- jp...@it... Fun things to do with the Ultima games http://www.it-he.org Reign of the Just - An Ultima clone http://rotj.it-he.org d+++ e+ N+ T++ Om U1234!56!7'!S'!8!9!KAW u++ uC+++ uF+++ uG---- uLB---- uA--- nC+ nR---- nH+++ nP++ nI nPT nS nT wM- wC- y a(YEAR - 1976) |
From: William F B L. <zh...@nt...> - 2003-07-27 19:49:13
|
> I only noticed two questions. If there's anything else, ask away. Great! (please scroll down) ----- Original Message ----- From: "J.P. Morris" <jp...@it...> To: <all...@li...> Sent: Sunday, July 27, 2003 7:59 PM Subject: Re: [AL] VESA2 > On Sun, 27 Jul 2003 14:36:32 +0100 > "William F B Labbett" <zh...@nt...> wrote: > > > > There is a little contention, however, about which modes are available > > > (for instance, 320x200x15, 320x200x16, 320x200x24 etc). If you stick with > > > 640x480 or 800x600, there shouldn't be any problem. > > > > someone told me 1024 by 768 was a standard 8-bit VESA res > > is that right? > > Yes, that should be supported by all VESA cards with 1MB of memory or more. > > > > The trouble is, that when VESA was defined, everything was done in real > > > mode, > > > > what is real mode plz? > > A CPU mode. It mimicks the 8086 processor. You get up to 1MB of memory, but > in 64k chunks. DOS runs in real mode. Does that mean my computer's running in real mode? (i'm running Win98 SE) A few weeks back i restarted it in MS-DOS Mode for the first time. I'd never done it before as there's been no need seeing as i've got a DOS console. > As of about 1993, most programs were written in Protected Mode, which was > added with the 386 processor. In theory you get something like 32 Terabytes > of memory, in 4GB chunks. With Windows, Linux and most other systems, they > prefer work in a single chunk and you get a maximum of 4GB to play with > (which is what the AMD Opteron will fix) > > It was like the sun had risen for the first time, unless, like me you couldn't > afford a 386 at the time. The sun rose a little later for me :) all *i* had at the time was a SNES :-) > There were all kinds of weird tricks to allow 32-bit programs to be run in > DOS.. you had to use a 'DOS extender' or DPMI system. The most popular was > called 'DOS4G' and it shipped with the Watcom compiler. Many games used it, > such as Doom, System Shock, Duke3d, Descent, Heretic, Simon The Sorcerer 2, > etc. If you've ever seen a file called 'DOS4GW', that's what it is. > > Other people wrote their own proprietary extenders (Beneath A Steel Sky) or > used even more bizarre methods (Ultima 7, Pagan, Wing Commander 3) which > make it extremely difficult to run these excellent games today. > > And everyone of college or university age was trying to write their own OS to > replace DOS. Only Linus really succeeded, but whatever. It was a really > fun time to be a computer geek :-) Then Win95 came along and spoiled it all.. > > > > Time passed, and people started working in flat protected mode instead, > > > with a limit of around 4194304k instead. > > > > That's a massive difference! > > > > > > I don't want to write a > > > > game and find out that only > > > > a handful of people can use it. > > > > > > Why should this happen? GFX_AUTODETECT should choose a driver that works. > > > If you do have detection problems, add a switch on the command line to let > > the > > > user select a driver themselves. Or some kind of INI file. > > > > > > > > > > > Plz say as much as you can. > > > > > > > > > > Was that enough? :) > > > > > > That was lots but as usual when people explain things to me it often > > arouses lots more questions in me :) > Just two more questions; 1. What is DRAM? I know what the RAM stands for but not the D.. 2. If you can answer these, you'll be really filling a major hole in my knowledge: When did True colour first arrive ie 32bit? and just for good measure: do you know of any plans for the future for any colour depth greater than this? (would there be any point?) Thanks BTW for your help.... i do find it very interesting and i'm learning :-) will > > -- > JP Morris - aka DOUG the Eagle (Dragon) -=UDIC=- jp...@it... > Fun things to do with the Ultima games http://www.it-he.org > Reign of the Just - An Ultima clone http://rotj.it-he.org > d+++ e+ N+ T++ Om U1234!56!7'!S'!8!9!KAW u++ uC+++ uF+++ uG---- uLB---- > uA--- nC+ nR---- nH+++ nP++ nI nPT nS nT wM- wC- y a(YEAR - 1976) > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > -- > https://lists.sourceforge.net/lists/listinfo/alleg-main > |
From: AE <ae...@wa...> - 2003-07-29 18:59:16
|
>and just for good measure: do you know of any plans for the future for >any colour depth greater than this? (would there be any point?) Read about the OpenEXR format. Basically, it uses 16-bits per colour-channel instead of 8-bits per channel like 32-bit colour does. The 16-bit value is stored as a 16-bit float, meaning that there's a greater dynamic range. Also, OpenEXR stores intensity data as well as colour data. For more information, look at the following web-page. http://www.openexr.com/ There was also a discussion on Slashdot about it here http://slashdot.org/article.pl?sid=03/01/22/1514201&mode=thread&tid=97 Read the comments that come with this article. Some of them are very informative. Also, some GFX cards support colour-depths of more than 8-bits per channel. AE. |
From: Neil R. <ne...@co...> - 2003-07-27 21:47:46
|
J.P.Morris wrote: > And everyone of college or university age was trying to write their own OS to > replace DOS. Only Linus really succeeded, but whatever. It was a really > fun time to be a computer geek :-) Then Win95 came along and spoiled it all.. ROTFL.. I just had to laugh when I read that last part. My sentiments exactly. Computers were more fun years ago, at least for me they were. There was something about NOT having everything done for you and having to do it all yourself that was "fun". I miss being programming VGA mode 13 by "hand" for example, without a library to help you, that that trusty pointer to address A000 and a handful of your own pixel plotting routines etc... I just like doing it all myself. I guess that's the attraction of Linux, I installed Slackware and I have a Linux Encyclopedia that was given to me by a bookstore owner (Linux Encyclopedia by WGS), it is HUGE and it starts out by mentioning Slackware so it is perfect. -- Neil Roy - http://home.cogeco.ca/~nroy15 "My religion consists of a humble admiration of the illimitable superior spirit who reveals himself in the slight details we are able to perceive with our frail and feeble mind." - Albert Einstein |