-============================================================================- -------------------------------------------------------------------------------- The vIRtECH-Toolkits FAQ 1.3 (ftp://kyuss.artis.uni-oldenburg.de/pub/files/toolkits_source/toolsFAQ.txt) -------------------------------------------------------------------------------- Comments, questions and donations to: Ansgar.Scherp@Informatik.Uni-Oldenburg.DE -------------------------------------------------------------------------------- -============================================================================- Q00: Please tell me what the toolkits are for. A short description and list of requirements would be nice. A00: All toolkits include full source code and example files. The video toolkits are especially created for game developers. - Video13h (video13h.zip) is a fast Mode 13h (320x200x256) toolkit for Turbo and Borland Pascal (Real & Protected Mode; includes a lot of example files). Only for 386 and higher. - Video100h (video100.zip) is a fast VESA Mode 100h (640x400x256) toolkit for Borland Pascal (Protected Mode only; includes a lot of example files). Only for 386 and higher. - Video101h (video101.zip) is a fast VESA Mode 101h (640x480x256) toolkit for Borland Pascal (Protected Mode only; includes a lot of example files). Only for 386 and higher. - Video10Eh (video10e.zip) is a fast VESA Mode 10Eh (320x200x65536) toolkit for Borland Pascal (Protected Mode only; supports light & shadows effects; comes with a lot of example files). Only for 386 and higher. - Video111h (video111.zip) is a fast VESA Mode 111h (640x480x65536) toolkit for Borland Pascal (Protected Mode only; supports light & shadows effects; comes with a lot of example files). Only for 386 and higher. - Video3d (video3d.zip) is a toolkit for 3d-object-handling and -drawing (for mode 320x200x256 and 640x480x65536). This 3d Engine offers you powerfull facilities in movement like in Mech Warrior, Doom etc. Other toolkits: - CMF-Player (cmfplsw.zip) is toolkit for Turbo and Borland Pascal. It is a fast Player for CreativeMusic-Files without using the SBFMDRV from Creative Labs (R). Supports Real and Protected Mode. Special thanks go to Carl Eric Coderec. - BigLoad (bigload.zip). Don't have a lot of little files in a lot of subdirectories! Just make one BigFile of them. Works fine with Turbo and Borland Pascal (Real and Protected Mode). - Keyboardhandler (kbdhand.zip) Toolkit for Turbo and Borland Pascal. You want to make multiplayer games or you want to ask the status of the left and right SHIFT-keys? Well than have a look at this toolkits. It works with Turbo and Borland Pascal (Real and Protected Mode). You can download the toolkits (including the full source code) here: http://kyuss.artis.uni-oldenburg.de/virtual_technologies/files/toolkits_source/ ftp://kyuss.artis.uni-oldenburg.de/pub/files/toolkits_source/ Q01: I have trouble with Photoshop and Paint Shop Pro using your TGA files. They keep saying "not a 16 bit TGA". A01: We only use and support 16bit uncompressed TGA. Please use PSP 4.0 or higher and 16bit uncompressed TGA files only. It seems that some people have problems with Paint Shop Pro (PSP), because people couldn't save 16 bit uncompressed TGA files with PSP (only 24-bit). PSP 4.0/5.0 CAN SAVE 16 bit uncompressed tga files, but only when you have a targafile which you alter, or when you draw a complete new TGA file. PSP cannot convert other imagefiles into TGA files. There is another program on the internet which works fine for converting 24-bit image files into 16 bit TGA files, it is called "sea". Q02: There is a memory management error message at the end of the program's run. But I have all Pages and Sprites correctly closed. A02: That is a known problem and it seems to be an error of Borlands RunTime Module (RTM.EXE). We searched for an error in our sources but didn't find anyone even after tracing the available heap after every memory-operation. The error occurs also in quite simple programs who don't even use some drawing-functions etc. The solution is quite easy. Just ignore the errormessage. If you don't want your program to display the error just erase the CloseVideoXXX; command. Q03: How can I write text to the screen? A04: You might use the normal Video-BIOS-Routines to display text on the screen, but this is very slow and not all video cards support this function in every mode. Think about how it looks like when you use standard BIOS- functions to display text on the screen in 640x480x64k mode! The only alternative is making sprites of numbers/letters you want to display on the screen. This is the easiest and fastes method. We are currently working on a FONT-Unit to automate text-display. Q05: Your CMF unit seems to make some strange things with my AWE32PnP. Sound plays incorectly and when quitting the program that while a note is played that isn't stopped I have to hardware-reset to stop it. A06: This is a known and currently not solved problem. You might have some timing problems. Please modify the unit _ADLIB.PAS, procedure procedure WriteAdlibPort(reg: Byte; Value: Byte); assembler; and uncomment the lines below { Wait For hardware to respond // even on my P100 with sb 16 not necessary }. Q07: I can't find any *.TPU-Files in the directory. But there are *.TPP-Files. Why? A07: Some toolkits (the 64k-video-toolkits for example) only run in Protected Mode. In Protected Mode there is no 640kByte limit of DOS and you can use memory-blocks which are bigger than 64kByte. For Procted Mode the file- extension of the Pascal-units is *.TPP and not *.TPU. TPU-files are only for Real Mode and can't be converted to Protected Mode. There are two very similar versions of Pascal currently available. The "normal" is Turbo Pascal 7.0 from Borland which only can compile Real Mode programs. The other is Borland Pascal 7.0 from Borland. There you can change the destination plattform between Real Mode, Protected Mode and Windows 3.11. To use toolkits containing onle *.TPP-files you'll need Borland Pascal. Q08: I use TP7 and when I try to compile _DPMI.PAS, it says I need WINAPI.TPU. I looked in my units directory and its not there. A08: The reason why you can't compile the _DPMI.PAS with Turbo Pascal (TP) is that you need Borland Pascal for it. DPMI is the DOS Protected Mode Interface. It gives you some powerfull functions to work in Protected Mode with. Only Borland Pascal (BP) supports Protected Mode and the file WINAPI.* is delivered with Borland Pascal. So there is no .TPU-version of _DPMI.PAS and no possibility to compile _DPMI.PAS with TP. (see also Q08) Q09: I can't compile the examples. Why? A09: Be sure that you have Borland Pascal 7.0 (not Turbo Pascal 7.0; won't work) and unzipped the files correctly (pkunzip -d ). Q10: The compiled version of the toolkits are incomplete. If I start one of the compiled tutorial files it askes for RTM.EXE and/or DPMI16BI.OVL which is not in the package. A10: These are examples running in Protected Mode. To run them you need the RTM.EXE (Run Time Module) and DPMI16BI.OVL (DOS Protected Mode Interface) from Borland Pascal in the current directory or path. Q11: I downloaded the toolkit and expanded it but the example don't work. They are missing some files. A11: Please extract the toolkits with pkunzip -d to create the correct directory structure. Q12: What's about the 64k colors? A12: VIDEO10Eh and VIDEO111h support 64k colors. They use the direct color model. No Palette is needed anymore. Q13: Which graphic boards are supported? A13: Generally ALL BOARDS which are compatible to the VESA 1.2 standard. Q14: How can I load 64k color graphics? A14: You can load 16 bit uncompressed TGA files. For example you can use PaintShopPro to create such files. Q15: What the hell are .CLB Files? A15: To create your own Sprites, Backgrounds, we decided to included routines to load clipboard files and palette files as used by the shareware paint program Improces by John Wagner. You can download Improces from our server. In short terms: - CLB Files contain graphic (8bit) - CLP Files contain a palette 256 colors - PAL Files also contain a palette 256 colors Q16: How to do transparent sprites? A16: Use the Put(XL)SpriteWindow10Eh(x,y,trans,sprite) procedure. The parameter trans describes the color which should be threated as transparent. Normaly trans would be 0. So every black pixel will not be set. Q17: Tell me more about the internal structure of 64k colors. A17: Ok, one pixel consists of 16bits. These bits are used as followed bit 0 - 4 ( totally 5 bits) blue, bit 5 - 10 ( totally 6 bits ) green, bit 11 - 15 ( totally 5 bits ) red. this makes 16 bits Please notice that green has a 6 bits while every other color has only 5. Q18: Where to send updates and bug-reports of the toolkits? A18: Send them to Ansgar.Scherp@Informatik.Uni-Oldenburg.DE Q19: I really don't understand the procedure BigLoadTitle101h(n : String; s : TPage101h; no : byte). Can you tell my how to use it? A19: We used the BigLoadTitleXXX()-Procedure for some of our own games to load Title-Pictures we seperated before into 64k huge parts due the 64k-limitation of Turbo Pascal. Since we have the XSprite-Unit (for eXtra large Sprites; more than 64k) this procedure is obsolete. Please don't use it any longer. Q20: I get the message 'No VESA Graphic card found' (or equal message) when running a program. A20: Your graphiccard doesn't support the VESA Video BIOS Extensions (VBE) in Version 1.0. Please try to install a VESA-Emulator for your card (e.g. UniVESA) and try again. Q21: What is the format for color-designation words with 16-bit color? A21: The color-designation is RRGGBB represented by a 16-bit value (WORD). +----------------+ !RRRRRGGGGGGBBBBB! +----------------+ !0000000000111111! !0123456789012345! +----------------+ You see that bit 00-04 give the value for red, 05-10 is green and 11-15 is blue. The value &0000000000000000 is obviously black and &1111111111111111 is white. The reason why green is represented by 6 bits and red and blue only by 5 bits is quite simple. The human eye is more sensitive for the color green, so we give it a bit more to double the number different green-values. Q22: When I use your toolkits, I get a "Runtime error 200". A22: This is not a bug in one of our tookits. It is a bug in the CRT unit delivered with Turbo/Borland Pascal (only on faster CPU). Use some patch and then all toolkits will work fine. -------------------------------------------------------------------------------- For more information, questions and register contact us: Ansgar Scherp Ansgar.Scherp@Informatik.Uni-Oldenburg.DE Joachim Gelhaus Joachim.Gelhaus@Privat.Post.DE http://www.informatik.uni-oldenburg.de/~virtech/ snail mail: Ansgar Scherp Duererstrasse 23 49377 Vechta Ot Langfoerden -------------------------------------------------------------------------------- (c) vIRTUAL tECHNOLOGIES 1996-1998