Code

所属分类:软件设计/软件工程
开发工具:C/C++
文件大小:5228KB
下载次数:114
上传日期:2008-08-20 14:59:54
上 传 者jig999
说明:  如何编写自己的图形开发包 利用tc2.0在DOS下编写一个功能完整的图形开发包。并有详细浅显的文章耐心逐步讲解。
(How to write your own graphics development kit to use in DOS under tc2.0 to prepare a full-featured graphics development kit. And have detailed simple step by step article explaining patiently.)

文件列表:
Code\Chap01\GrTry.c (284, 2008-01-21)
Code\Chap01\GrTry.h (655, 2008-01-21)
Code\Chap01\Main1.c (112, 2008-01-21)
Code\Chap01\MAIN1.EXE (6368, 2008-01-21)
Code\Chap01\MAIN1.OBJ (970, 2008-01-21)
Code\Chap01\Main2.c (214, 2008-01-21)
Code\Chap01\MAIN2.EXE (6400, 2008-01-21)
Code\Chap01\MAIN2.OBJ (994, 2008-01-21)
Code\Chap01\MyType.h (408, 2008-01-21)
Code\Chap02\GrTry.c (423, 2008-01-21)
Code\Chap02\GrTry.h (851, 2008-01-21)
Code\Chap02\Main1.c (310, 2008-01-21)
Code\Chap02\MAIN1.EXE (6420, 2008-01-21)
Code\Chap02\MAIN1.OBJ (1060, 2008-01-21)
Code\Chap02\Main2.c (302, 2008-01-21)
Code\Chap02\MAIN2.EXE (6452, 2008-01-21)
Code\Chap02\MAIN2.OBJ (1108, 2008-01-21)
Code\Chap02\MyType.h (408, 2008-01-21)
Code\Chap02-2\GrTry.c (1157, 2008-01-21)
Code\Chap02-2\GrTry.h (1235, 2008-01-21)
Code\Chap02-2\Main1.c (337, 2008-01-22)
Code\Chap02-2\MAIN1.EXE (6596, 2008-01-22)
Code\Chap02-2\MAIN1.OBJ (1417, 2008-01-22)
Code\Chap02-2\Main2.c (337, 2008-01-21)
Code\Chap02-2\MAIN2.EXE (6596, 2008-01-21)
Code\Chap02-2\MAIN2.OBJ (1417, 2008-01-21)
Code\Chap02-2\main3\GrTry.c (1506, 2008-01-21)
Code\Chap02-2\main3\GrTry.h (1308, 2008-01-21)
Code\Chap02-2\main3\Main1.c (337, 2008-01-21)
Code\Chap02-2\main3\MAIN1.EXE (6692, 2008-01-21)
Code\Chap02-2\main3\MAIN1.OBJ (1523, 2008-01-21)
Code\Chap02-2\main3\MyType.h (408, 2008-01-21)
Code\Chap02-2\MyType.h (408, 2008-01-21)
Code\Chap03\GrTry.c (7772, 2008-01-23)
Code\Chap03\GrTry.h (1767, 2008-01-23)
Code\Chap03\Main1.c (372, 2008-01-22)
Code\Chap03\MAIN1.EXE (7514, 2008-01-22)
Code\Chap03\MAIN1.OBJ (2304, 2008-01-22)
Code\Chap03\Main2.c (372, 2008-01-22)
Code\Chap03\MAIN2.EXE (7674, 2008-01-22)
... ...

DOSBox v0.72 ===== NOTE: ===== While we are hoping that one day DOSBox will run all programs ever made for the PC, we are not there yet. At present, DOSBox running on a high-end machine will roughly be the equivalent of a 486 PC. DOSBox can be configured to run a wide range of DOS games, from CGA/Tandy/PCjr classics up to games from the Quake era. ====== INDEX: ====== 1. Quickstart 2. FAQ 3. Usage 4. Internal Programs 5. Special Keys 6. Mapper 7. Keyboard Layout 8. Serial Multiplayer feature 9. How to run resource-demanding games 10. Troubleshooting 11. The config file 12. The language file 13. Building your own version of DOSBox 14. Special thanks 15. Contact ============== 1. Quickstart: ============== Type INTRO in DOSBox for a quick tour. It is essential that you get familiar with the idea of mounting, DOSBox does not automatically make any drive (or parts of it) accessible to the emulation. See the FAQ entry "I've got a Z instead of a C at the prompt" as well as the description of the MOUNT command (section 4). ======= 2. FAQ: ======= Some Frequently Asked Questions: Q: I've got a Z instead of a C at the prompt. Q: Do I always have to type these commands? Automation? Q: How do I change to fullscreen? Q: My CD-ROM doesn't work. Q: The mouse doesn't work. Q: There is no sound. Q: The sound stutters or sounds stretched/weird. Q: I can't type \ or : in DOSBox. Q: The keyboard lags. Q: The cursor always moves into one direction! Q: The game/application can't find its CD-ROM. Q: The game/application runs much too slow! Q: Can DOSBox harm my computer? Q: I would like to change the memory size/cpu speed/ems/soundblaster IRQ. Q: What sound hardware does DOSBox presently emulate? Q: DOSBox crashes on startup and I'm running arts. Q: Great README, but I still don't get it. Q: I've got a Z instead of a C at the prompt. A: You have to make your directories available as drives in DOSBox by using the "mount" command. For example, in Windows "mount C D:\GAMES" will give you a C drive in DOSBox which points to your Windows D:\GAMES directory. In Linux, "mount c /home/username" will give you a C drive in DOSBox which points to /home/username in Linux. To change to the drive mounted like above, type "C:". If everything went fine, DOSBox will display the prompt "C:\>". Q: Do I always have to type these commands? Automation? A: In the DOSBox configuration file is an [autoexec] section. The commands present there are run when DOSBox starts, so you can use this section for the mounting. Q: How do I change to fullscreen? A: Press alt-enter. Alternatively: Edit the configuration file of DOSBox and change the option fullscreen=false to fullscreen=true. If fullscreen looks wrong in your opinion: Play with the option fullresolution in the configuration file of DOSBox. To get back from fullscreen mode: Press alt-enter again. Q: My CD-ROM doesn't work. A: To mount your CD-ROM in DOSBox you have to specify some additional options when mounting the CD-ROM. To enable CD-ROM support (includes MSCDEX): - mount d f:\ -t cdrom To enable low-level CD-ROM-support (uses ioctl if possible): - mount d f:\ -t cdrom -usecd 0 To enable low-level SDL-support: - mount d f:\ -t cdrom -usecd 0 -noioctl To enable low-level aspi-support (win*** with aspi-layer installed): - mount d f:\ -t cdrom -usecd 0 -aspi In the commands: - d driveletter you will get in DOSBox - f:\ location of CD-ROM on your PC. - 0 The number of the CD-ROM drive, reported by mount -cd See also the question: The game/application can't find its CD-ROM. Q: The mouse doesn't work. A: Usually, DOSBox detects when a game uses mouse control. When you click on the screen it should get locked (confined to the DOSBox window) and work. With certain games, the DOSBox mouse detection doesn't work. In that case you will have to lock the mouse manually by pressing CTRL-F10. Q: There is no sound. A: Be sure that the sound is correctly configured in the game. This might be done during the installation or with a setup/setsound utility that accompanies the game. First see if an autodetection option is provided. If there is none try selecting soundblaster or soundblaster16 with the default settings being "address=220 irq=7 dma=1". You might also want to select midi at address 330 as music device. The parameters of the emulated soundcards can be changed in the DOSBox configuration file. If you still don't get any sound set the core to normal and use some lower fixed cycles value (like cycles=2000). Also assure that your host operating sound does provide sound. Q: The sound stutters or sounds stretched/weird. A: You're using too much CPU power to keep DOSBox running at the current speed. You can lower the cycles, skip frames, reduce the sampling rate of the respective sound device (see the DOSBox configuration file) or the mixer device. You can also increase the prebuffer in the configfile. If you are using cycles=max or =auto, then make sure that there no background processes interfering! (especially if they access the harddisk) Q: I can't type \ or : in DOSBox. A: This is a known problem. It only occurs if your keyboard layout isn't US. Some possible fixes: 1. Switch the keyboard layout of your operating system. 2. Use / instead. 3. Open dosbox.conf and change usescancodes=false to usescancodes=true. 4. Add the commands you want to execute to the "configfile". 5. Change the DOS keyboard layout (see Section 7 Keyboard Layout). 6. Use ALT-58 for : and ALT-92 for \. 7. for \ try the keys around "enter". For ":" try shift and the keys between "enter" and "l" (US keyboard layout). 8. Try keyb.com from FreeDOS (http://projects.freedos.net/keyb/). Look for keyb2.0 pre4 as older and newer versions are known to have a bug in the loader routines. Q: The keyboard lags. A: Lower the priority setting in the DOSBox configuration file like set "priority=normal,normal". You might also want to try lowering the cycles. Q: The cursor always moves into one direction! A: See if it still happens if you disable the joystick emulation, set joysticktype=none in the [joystick] section of your DOSBox configuration file. Maybe also try unplugging any joystick. If you want to use the joystick in the game, try setting timed=false and be sure to calibrate the joystick (both in your OS as well as in the game or the game's setup). Q: The game/application can't find its CD-ROM. A: Be sure to mount the CD-ROM with -t cdrom switch, this will enable the MSCDEX interface required by DOS games to interface with CD-ROMs. Also try adding the correct label (-label LABEL). To enable lower-level CD-ROM support, add the following switch to mount: -usecd #, where # is the number of your CD-ROM drive reported by mount -cd. Under Windows you can specify -ioctl, -aspi or -noioctl. Look at the description elsewhere in this document for their meaning. Try creating a CD-ROM image (preferably CUE/BIN pair) and use the DOSBox-internal IMGMOUNT tool to mount the image. This enables very good low-level CD-ROM support on any operating system. Q: The game/application runs much too slow! A: Look at the section "How to run resource-demanding games" for more information. Q: Can DOSBox harm my computer? A: DOSBox can not harm your computer more than any other resource demanding program. Increasing the cycles does not overclock your real CPU. Setting the cycles too high has a negative performance effect on the software running inside DOSBox. Q: I would like to change the memory size/cpu speed/ems/soundblaster IRQ. A: This is possible! Just create a config file: config -writeconf configfile. Start your favourite editor and look through the settings. To start DOSBox with your new settings: dosbox -conf configfile Q: What sound hardware does DOSBox presently emulate? A: DOSBox emulates several legacy sound devices: - Internal PC speaker This emulation includes both the tone generator and several forms of digital sound output through the internal speaker. - Creative CMS/Gameblaster The is the first card released by Creative Labs(R). The default configuration places it on port 0x220. It should be noted that enabling this with the Adlib emulation may result in conflicts. - Tandy 3 voice The emulation of this sound hardware is complete with the exception of the noise channel. The noise channel is not very well documented and as such is only a best guess as to the sound's accuracy. - Tandy DAC Emulation of the Tandy DAC utilizes the soundblaster emulation, thus be sure the soundblaster is not disabled in the DOSBox configuration file. The Tandy DAC is only emulated at the BIOS level. - Adlib Borrowed from MAME, this emulation is almost perfect and includes the Adlib's ability to almost play digitized sound. - SoundBlaster 16/ SoundBlaster Pro I & II /SoundBlaster I & II By default DOSBox provides Soundblaster 16 level 16-bit stereo sound. You can select a different SoundBlaster version in the configfile of DOSBox (See Internal Commands: CONFIG). - Disney Soundsource Using the printer port, this sound device outputs digital sound only. - Gravis Ultrasound The emulation of this hardware is nearly complete, though the MIDI capabilities have been left out, since an MPU-401 has been emulated in other code. - MPU-401 A MIDI passthrough interface is also emulated. This method of sound output will only work when used with a General Midi or MT-32 device. Q: DOSBox crashes on startup and I'm running arts. A: This isn't really a DOSBox problem, but the solution is to set the environment variable SDL_AUDIODRIVER to alsa or oss. Q: Great README, but I still don't get it. A: A look at "The Newbie's pictorial guide to DOSBox" located at http://vogons.zetafleet.com/viewforum.php?f=39 might help you. Also try the wiki of DOSBox: http://dosbox.sourceforge.net/wiki/ For more questions read the remainder of this README and/or check the site/forum: http://dosbox.sourceforge.net ========= 3. Usage: ========= An overview of the command line options you can give to DOSBox. Windows Users must open cmd.exe or command.com or edit the shortcut to DOSBox.exe for this. The options are valid for all operating systems unless noted in the option description: dosbox [name] [-exit] [-c command] [-fullscreen] [-conf congfigfile] [-lang languagefile] [-machine machinetype] [-noconsole] [-startmapper] [-noautoexec] [-scaler scaler | -forcescaler scaler] dosbox -version name If "name" is a directory it will mount that as the C: drive. If "name" is an executable it will mount the directory of "name" as the C: drive and execute "name". -exit DOSBox will close itself when the DOS application "name" ends. -c command Runs the specified command before running "name". Multiple commands can be specified. Each command should start with "-c", though. A command can be: an Internal Program, a DOS command or an executable on a mounted drive. -fullscreen Starts DOSBox in fullscreen mode. -conf configfile Start DOSBox with the options specified in "configfile". Multiple -conf options may be present. See Chapter 10 for more details. -lang languagefile Start DOSBox using the language specified in "languagefile". -machine machinetype Setup DOSBox to emulate a specific type of machine. Valid choices are: hercules, cga, pcjr, tandy, vga (default). The machinetype affects both the videocard and the available soundcards. -noconsole (Windows Only) Start DOSBox without showing the console window. Output will be redirected to stdout.txt and stderr.txt -startmapper Enter the keymapper directly on startup. Useful for people with keyboard problems. -noautoexec Skips the [autoexec] section of the loaded configuration file. -scaler scaler Uses the scaler specified by "scaler". See the DOSBox configuration file for the available scalers. -forcescaler scaler Similar to the -scaler parameter, but tries to force usage of the specified scaler even if it might not fit. -version output version information and exit. Useful for frontends. Note: If a name/command/configfile/languagefile contains a space, put the whole name/command/configfile/languagefile between quotes ("command or file name"). If you need to use quotes within quotes (most likely with -c and mount). Windows and OS/2 users can use single quotes inside the double quotes. Other people should be able to use escaped double quotes inside the double quotes. win -c "mount c 'c:\program files\'" linux -c "mount c \"/tmp/name with space\"" For example: dosbox c:\atlantis\atlantis.exe -c "MOUNT D C:\SAVES" This mounts c:\atlantis as c:\ and runs atlantis.exe. Before it does that it would first mount C:\SAVES as the D drive. In Windows, you can also drag directories/files onto the DOSBox executable. ===================== 4. Internal Programs: ===================== DOSBox supports most of the DOS commands found in command.com. To get a list of the internal commands type "HELP" at the prompt. In addition, the following commands are available: MOUNT "Emulated Drive letter" "Real Drive or Directory" [-t type] [-aspi] [-ioctl] [-noioctl] [-usecd number] [-size drivesize] [-label drivelabel] [-freesize size_in_mb] [-freesize size_in_kb (floppies)] MOUNT -cd MOUNT -u "Emulated Drive letter" Program to mount local directories as drives inside DOSBox. "Emulated Drive letter" The driveletter inside DOSBox (eg. C). "Real Drive letter (usually for CD-ROMs in Windows) or Directory" The local directory you want accessible inside DOSBox. -t type Type of the mounted directory. Supported are: dir (default), floppy, cdrom. -size drivesize Sets the size of the drive, where drivesize is of the form "bps,spc,tcl,fcl": bps: bytes per sector, by default 512 for regular drives and 2048 for CD-ROM drives spc: sectors per cluster, usually between 1 and 127 tcl: total clusters, between 1 and 65534 fcl: total free clusters, between 1 and tcl -freesize size_in_mb | size_in_kb Sets the amount of free space available on a drive in megabytes (regular drives) or kilobytes (floppy drives). This is a simpler version of -size. -label drivelabel Sets the name of the drive to "drivelabel". Needed on some systems if the cd label isn't read correctly. Useful when a program can't find its CD-ROM. If you don't specify a label and no lowlevel support is selected (that is omitting the -usecd # and/or -aspi parameters or specifying -noioctl): For win32: label is extracted from "Real Drive". For Linux: label is set to NO_LABEL. If you do specify a label, this label will be kept as long as the drive is mounted. It will not be updated !! -aspi Forces use of the aspi layer. Only valid if mounting a CD-ROM under Windows systems with an ASPI-Layer. -ioctl Forces use of ioctl commands. Only valid if mounting a CD-ROM under a Windows OS which support them (Win2000/XP/NT). -noioctl Forces use of the SDL CD-ROM layer. Valid on all systems. -usecd number Forces use of SDL CD-ROM support for drive number. Number can be found by -cd. Valid on all systems. -cd Displays all detected CD-ROM drives and their numbers. Use with -usecd. -u Removes the mount. Doesn't work for Z:\. Note: It's possible to mount a local directory as CD-ROM drive. Hardware support is then missing. Basically MOUNT allows you to connect real hardware to DOSBox's emulated PC. So MOUNT C C:\GAMES tells DOSBox to use your C:\GAMES directory as drive C: in DOSBox. It also allows you to change the drive's letter identification for programs that demand specific drive letters. For example: Touche: Adventures of The Fifth Musketeer must be run on your C: drive. Using DOSBox and its mount command, you can trick the game into believing it is on the C drive, while you can still place it where you like. For example, if the game is in D:\OLDGAMES\TOUCHE, the command MOUNT C D:\OLDGAMES will allow you to run Touche from the D drive. Mounting your entire C drive with MOUNT C C:\ is NOT recommended! The same is true for mounting the root of any other drive, except for CD-ROMs (due to their read-only nature). Otherwise if you or DOSBox make a mistake you may loose all your files. It is recommended to put all your applications/games into a subdirectory and mount that. General MOUNT Examples: 1. To mount c:\DirX as a floppy : mount a c:\DirX -t floppy 2. To mount system CD-ROM drive E as CD-ROM drive D in DOSBox: mount d e:\ -t cdrom 3. To mount system CD-ROM drive at mountpoint /media/cdrom as CD-ROM drive D in DOSBox: mount d /media/cdrom -t cdrom -usecd 0 4. To mount a drive with ~870 mb free diskspace (simple version): mount c d:\ -freesize 870 5. To mount a drive with ~870 mb free diskspace (experts only, full control): mount c d:\ -size 512,127,16513,13500 6. To mount /home/user/dirY as drive C in DOSBox: mount c /home/user/dirY 7. To mount the directory where DOSBox was started as D in DOSBox: mount d . MEM Program to display the amount of free memory. CONFIG -writeconf localfile CONFIG -writelang localfile CONFIG -set "section property=value" CONFIG -get "section property" CONFIG can be used to change or query various settings of DOSBox during runtime. It can save the current settings and language strings to disk. Information about all possible sections and properties can be found in section 11 (The Config File). -writeconf localfile Write the current configuration settings to file. "localfile" is located on the local drive, not a mounted drive in DOSBox. The configuration file controls various settings of DOSBox: the amount of emulated memory, the emulated soundcards and many more things. It allows access to AUTOEXEC.BAT as well. See section 11 (The Config File) for more information. -writelang localfile Write the ... ...

近期下载者

相关文件


收藏者