亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? development.dbk

?? Bochs is a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most po
?? DBK
?? 第 1 頁 / 共 4 頁
字號:
<!--================================================================doc/docbook/development/development.dbk$Id: development.dbk,v 1.16 2005/03/31 17:11:01 vruppert Exp $This is the top level file for the Bochs Developers Manual.================================================================--><!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [<!-- include definitions that are common to all bochs documentation --><!ENTITY % bochsdefs SYSTEM "../include/defs.sgm">%bochsdefs;]><book><bookinfo>   <title>Bochs Developers Guide</title>   <authorgroup>   <author><firstname>Kevin</firstname><surname>Lawton</surname></author>   <author><firstname>Bryce</firstname><surname>Denney</surname></author>   <author><firstname>Christophe</firstname><surname>Bothamy</surname></author>   <editor><firstname>Michael</firstname><surname>Calabrese</surname></editor>   </authorgroup></bookinfo><!-- *************************************************************** --><chapter id="resources"><title>Resources for developers</title><para>The development guide describes resources that are intended for developersin particular.  Many Bochs resources are also covered in the User Guide,including compile instructions, bochsrc options, how to find the mailinglists, etc.</para><section><title>Setting up CVS write access</title><para>If you are an official SourceForge developer, then you can use CVS with writeaccess.  The CVS contains the most recent copy of the source code, and withwrite access you can upload any changes you make to the CVS server for othersto use.  A few extra steps are required the first time you use CVS writeaccess.</para><section><title>Install ssh and cvs</title><para>First you need to install both cvs (Concurrent Version System) and ssh (SecureShell).  These are already installed on many UNIX systems and also Cygwin(win32 platform).  If not, you can install binaries or compile cvs and sshyourself.  The links below should help you get going.</para><itemizedlist><listitem> <para> CVS software and instructions are available at <ulink url="http://www.cvshome.org">www.cvshome.org</ulink>. </para> </listitem><listitem> <para> A free version of secure shell called OpenSSH is at <ulink url="http://www.openssh.org">www.openssh.org</ulink>. </para> </listitem><listitem> <para> OpenSSH requires a library called OpenSSL from <ulink url="http://www.openssl.org">www.openssl.org</ulink>.  Be sure to install OpenSSL before trying to compile OpenSSH. </para> </listitem></itemizedlist></section> <section><title>ssh to cvs.sf.net</title><para>Next, you need to use secure shell to connect to cvs.sf.net.  This step is alittle strange, because you can't actually log in and get a shell prompt.  Allthat will happen, when you get the username and password right, is that itwill create a home directory on that machine for you.  That's it!  If you tryit again, it will say "This is a restricted Shell Account.  You cannot executeanything here."   At this point, you've succeeded and you never have to dothis step again, ever.<screen>  ssh <replaceable>sfusername</replaceable>@cvs.sf.net</screen></para><para>Replace <replaceable>sfusername</replaceable> with your Source Forge username,of course.  The first time, you will probably get a message like <screen>The authenticity of host 'cvs.sf.net' can't be established.Are you sure you want to continue?</screen>Just type yes.  When it asks for a password, be sure to type your source forge password.  If you have trouble logging in, be sure to use your SOURCEFORGE username and password in the ssh line, which isn't necessarily the sameas your local username and password.  Add the "-v" option to ssh to see moreinformation about what is failing.  If you have ssh version 2, it is possiblethat you might need to add "-1" to the ssh command to force it to use theversion 1 protocol.  </para> </section> <section><title>Set CVS_RSH environment variable to ssh</title><para>Every time you connect to the Source Forge CVS server (including cvs update,stat, commit, etc.), you must set the CVS_RSH environment variable to ssh.  Sojust take the time now to add one of these lines to your .bashrc/.cshrc, sothat the CVS_RSH setting will be there every time you log in.</para><screen>  export CVS_RSH=ssh           (bash syntax)  setenv CVS_RSH ssh           (csh syntax)</screen></section> <!--end of "Set environment variable"--><section><title>cvs checkout</title><para>Finally, you should be able to do the checkout!  If you already have a bochssubdirectory directory, move it out of the way because the checkout willoverwrite it.</para><screen>  export CVSROOT=":ext:<replaceable>sfusername</replaceable>@cvs.sourceforge.net:/cvsroot/bochs"  cvs -z3 checkout bochs  <replaceable>sfusername</replaceable>@cvs.sourceforge.net's password:        <replaceable><--type your password</replaceable></screen><para>In the CVSROOT variable, replace <replaceable>sfusername</replaceable> with your SF username.  There'sno need to add CVSROOT to your rc files because CVS will remember itafter the checkout.  The -z3 (optional) just adds some compression to make the checkout go faster.  Once all the files have been downloaded, you willhave a bochs directory which is checked out with write access!</para></section> <!-- end cvs checkout --></section> <!-- end setting up cvs write access --><section id="using-cvs-write-access"><title>Using CVS write access</title><section><title>Checking in files</title><para>Once you have a bochs directory with cvs write access, you can compile thefiles, edit them, test them, etc.  See the documentation section, "Trackingthe source code with CVS" for more info on CVS, in the User Manual.(FIXME: add cross reference) But what's new and different is that you can nowdo cvs commits.  When a file is all fixed and ready to share with the rest ofthe world, you run a commit command to upload your version to the server.First, it's good to do a cvs update to make sure nobody else has changed itsince you downloaded it last.</para><screen>  $ cvs update file.cc  <replaceable>sfusername</replaceable>@cvs.sf.net's password:        <replaceable><--type your password</replaceable>  $ cvs commit file.cc  <replaceable>sfusername</replaceable>@cvs.sf.net's password:        <replaceable><--type your password</replaceable>  [editor opens. type log message, save, and exit.]</screen><para>When CVS starts an editor, The default is usually vi.  If you want a differenteditor, set the EDITOR environment variable to the name of your preferrededitor.  When you're done, just save the file and quit the editor.  Unlessthere's some problem, you will see a message that says what the new revisionnumber for the file is, and then "done".  If while you're editing the logmessage, you decide that you don't want to commit after all, don't save thefile.  Quit the editor, and when it asks where the log message went, tell itto abort.</para><para>Here is an example of a successful checkin:<screen>  $ cvs commit misc.txt  <replaceable>sfusername</replaceable>@cvs.sf.net's password:        <replaceable><--type your password</replaceable>  [edit log msg]  Checking in misc.txt;  /cvsroot/bochs/bochs/doc/docbook/misc.txt,v  <--  misc.txt  new revision: 1.6; previous revision: 1.5  done</screen>And here is an aborted one:<screen>  $ cvs commit misc.txt  <replaceable>sfusername</replaceable>@cvs.sf.net's password:        <replaceable><--type your password</replaceable>  [quit editor without saving]  Log message unchanged or not specified  a)bort, c)ontinue, e)dit, !)reuse this message unchanged for remaining dirs  Action: a  cvs [commit aborted]: aborted by user</screen></para></section> <!--end of "Checking in Files" --></section> <!--end of "Using CVS write access" -->      <section id="trackers"><title>SourceForge bug, feature, and patch trackers</title>         <para>	 &FIXME;         </para>      </section><section id="other"><title>Ideas for other sections</title><para><screen>Ideas:- how to browse code with cvsweb- how to find an identifier, variable, or specific text in the code- write access CVS (must be an official developer on SF)- how to make patches with CVS</screen></para></section></chapter> <chapter id="about-the-code"><title>About the code</title><section><title>How to add keymapping in a GUI client</title><para>Christophe Bothamy, wrote the keymapping code for Bochs, provided theseinstructions to help developers to add keymapping to a GUI.</para><screen>Bochs creates a bx_keymap_c object named bx_keymap.This object allows you to :  - load the configuration specified keymap file  - get the translated BX_KEY_* from your GUI keyYou have to provide a translation function from string to your Bit32u keyconstant. Casting will be necessary if your key constants are not Bit32u typed.The function must be "static Bit32u (*)(const char *)" typed, and must returnBX_KEYMAP_UNKNOWN if it can not translate the parameter string.What you have to do is :  - call once "void loadKeymap(Bit32u (*)(const char*))",     providing your translation function, to load the keymap  - call "Bit32u getBXKey(Bit32u)" that returns the BX_KEY_*    constant, for each key you want to map.The file gui/x.cc implements this architecture, so you can refer to itas an example.</screen></section>    <section id="directory-structure"><title>Directory Structure</title>      <para>      &FIXME;      cpu directory does this, iodev does that, gui does that      </para>    </section>     <section id="configure-scripting"><title>Configure Scripting</title>      <para>      &FIXME;      configure script, makefiles, header files      </para>     </section>      <section id="logfunctions"><title>Log Functions</title>      <para>      &FIXME;      log functions: what is a panic, what is an error, etc.      </para>      </section>      <section id="emulator-objects"><title>Emulator Objects</title>       <para>      &FIXME;      objects that do all the work (cpu, mem)      </para>      </section>      <section id="timers"><title>timers</title>      <para>      &FIXME;      </para>      </section><section id="sb16-emulation-basics"> <!-- start of SB16 section--><title>Sound Blaster 16 Emulation</title><note><para>  A little more up-to-date version of the user related part of this section is  available in the <ulink url="../user/sb16-emulation.html">user guide</ulink>.</para></note><para>Sound Blaster 16 (SB16) emulation for Bochs was written and donated byJosef Drexler, who has a<ulink url="http://publish.uwo.ca/~jdrexler/bochs/">web page</ulink> on the topic.  The entire set of his SB16 patches have been integrated intoBochs, however, so you can find everything you need here.</para><para>SB16 Emulation has been tested with several soundcards and versions of Linux.  Please giveJosef <ulink url="mailto:jdrexler@julian.uwo.ca">feedback</ulink> on whether is does or doesn't work on your combination of software and hardware.</para><section><title>How well does it work?</title><para>Right now, MPU401 emulation is next to perfect. It supports UARTand SBMIDI mode, because the SB16's MPU401 ports can't do anything else as well.</para><para>The digital audio basically works, but the emulation is too slow for fluentoutput unless the application doesn't do much in the background (or theforeground, really). The sound tends to looping or crackle on slowercomputer, but the emulation appears to be correct. Even a MODplayer works, although only for lower sampling speeds.</para><para>Also, the MIDI data running through the MPU401 ports can be writteninto a SMF, that is the standard midi file. The wave outputcan be written into a VOC file, which has a format defined byCreative Labs. This file format can be converted to WAV bysox for example.</para></section><section><title>Output to a sound card</title><para>Output is supported on Linux and Windows 95 at the moment.On Linux, the output goes to any file or device. If you have awavetable synthesizer, midi can go to /dev/midi00, otherwise you may needa midi interpreter. For example, the midid program from theDosEmu project would work. Wave output should go to /dev/dsp.These devices are assumed to be OSS devices, if they're notsome of the ioctl's might fail.On Windows, midi and output goes to the midi mapper and the wave mapper,respectively. A future version might have selectable output devices.</para></section><section><title>Installation on Linux</title><para><emphasis>Prerequisites:</emphasis></para><para>A wavetable synthesizer on /dev/midi00 and a working /dev/dsp if you want real time music and sound, otherwise output to midi and wave files is also possible. Optionally, you can use a software midi interpreter, such as the midid program from the DosEmu project instead of /dev/midi00. </para></section><section><title>Configuring bochs</title><para>There are a few values in config.h that are relevant to the sound functions.Edit config.h after running configure, but before compiling.</para><para>BX_USE_SB16_SMF should be 1 unless you intend to have several sound cardsrunning at the same time.</para><para>BX_USE_SOUND_VIRTUAL can be 0 or 1, and determines whether the output classuses virtual functions or not. The former is more versatile and allows toselect the class at runtime (not supported at the moment), while the latteris slightly faster.</para><para>BX_SOUND_OUTPUT_C is the name of the class used for output.  The default isto have no output functions, so you need to change this if you want any sound.The following are supported at the moment:</para><programlisting>        bx_sound_linux_c    for output to /dev/dsp and /dev/midi00 on Linux                            (and maybe other OSes that use the OSS driver)        bx_sound_windows_c  for output to the midi and wave mapper of                            Windows 3.1 and higher.        bx_sound_output_c   for no output at all.</programlisting><para>Setup the SB16 emulation in your .bochsrc, according to instructionsin that file.</para></section><section><title>Runtime configuration</title><para>The source for the SB16CTRL program that is used to modifythe runtime behaviour of the SB16 emulator is included inmisc/sb16. You can compile it or download the<ulink url="http://publish.uwo.ca/~jdrexler/bochs/">executable</ulink>.</para><para>See the section "Sound Blaster 16 Emulation" in the user documentation forinformation about the commands of SB16CTRL.</para></section><section><title>Features planned for the future</title><itemizedlist><listitem><para>Ports to more OS's, but I can't do this myself</para></listitem><listitem><para>Finishing the OPL3 FM emulation by translating the music to midi data</para></listitem></itemizedlist></section><section><title>Description of the sound output classes</title><para>This file is intended for programmers who would like to port the soundoutput routines to their platform. It gives a short outline what serviceshave to be provided.</para><para>You should also have a look at the exisiting files, <emphasis>SOUNDLNX.CC</emphasis>for Linux and <emphasis>SOUNDWIN.CC</emphasis> for Windows and their respectiveheader files to get an idea about how these things really work.</para></section><section><title>Files</title><para>The main include file is <emphasis>bochs.h</emphasis>. It has all definitions for the system-independent functions that the SB16 emulation uses, whichare defined in <emphasis>sb16.h</emphasis>.</para><para>Additionally, every output driver will have an include file, whichshould be included at the end of sb16.h to allow the emulatorto use that driver.</para><para>To actually make the emulator use any specific driver, <emphasis>BX_SOUND_OUTPUT_C</emphasis> has to be set to the name of the respectiveoutput class.</para><para>Note that if your class contains any system-specific statements,include-files and so on, you should enclose both the include-file andthe CC-file in an <emphasis>#if defined</emphasis> (OS-define) construct.Also don't forget to add your file to the object list iniodev/Makefile and iodev/Makefile.in.</para></section><section><title>Classes</title><para>The following classes are involved with the SB16 emulation:</para><itemizedlist>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合图片区| 一区二区三区日韩欧美精品| 中文字幕在线观看不卡| 亚洲成人在线免费| 丁香激情综合国产| 7777精品伊人久久久大香线蕉超级流畅| 91精品国模一区二区三区| 亚洲特黄一级片| 国产毛片一区二区| 日韩你懂的在线播放| 成人欧美一区二区三区在线播放| 蜜臀久久久久久久| 欧美午夜精品一区二区蜜桃| 国产精品激情偷乱一区二区∴| 奇米综合一区二区三区精品视频| 一本久久精品一区二区| 国产精品美女久久久久久久久久久| 麻豆91免费看| 欧美精品 日韩| 亚洲麻豆国产自偷在线| 99综合电影在线视频| 久久综合久色欧美综合狠狠| 日本午夜一区二区| 欧美精品免费视频| 亚洲国产综合人成综合网站| 色先锋资源久久综合| 国产精品久久久久久久久免费桃花| 狠狠网亚洲精品| 日韩一级免费观看| 奇米四色…亚洲| 欧美日韩国产中文| 五月婷婷综合网| 欧美日韩午夜在线| 午夜免费久久看| 欧美日韩国产首页| 无码av免费一区二区三区试看 | 国产精品高清亚洲| 成人av中文字幕| 欧美国产一区二区| 成人黄动漫网站免费app| 日本一区二区成人| 不卡的av中国片| 亚洲日韩欧美一区二区在线| 99国产精品久久久久久久久久久| 1024成人网| 欧美日韩在线三区| 看电影不卡的网站| 日本一区二区三区久久久久久久久不| 丁香亚洲综合激情啪啪综合| 国产女主播视频一区二区| 欧美亚洲高清一区| 亚洲国产精品久久不卡毛片| 欧美一区二视频| 国内精品久久久久影院薰衣草 | 欧美综合在线视频| 天天综合网天天综合色| 欧美v国产在线一区二区三区| 国产乱码精品一区二区三区五月婷| 国产欧美日韩麻豆91| 99re热这里只有精品视频| 亚洲一区av在线| 欧美成人精精品一区二区频| 国产成人啪午夜精品网站男同| 中文字幕一区二区日韩精品绯色| 欧美中文字幕不卡| 精品亚洲成a人在线观看| 中文av一区特黄| 欧美影视一区二区三区| 另类小说欧美激情| 综合久久久久久久| 日韩精品一区二区三区视频在线观看| 粉嫩高潮美女一区二区三区| 亚洲bt欧美bt精品777| 久久久精品欧美丰满| 欧美色精品在线视频| 国产aⅴ精品一区二区三区色成熟| 一区二区三区日韩欧美| 国产性色一区二区| 欧美日韩日本视频| av在线不卡网| 极品美女销魂一区二区三区| 亚洲欧美一区二区三区国产精品 | 精品国产乱码久久久久久老虎| 国产99一区视频免费| 一区二区视频在线看| 久久久久久久久久久黄色| 91在线丨porny丨国产| 日韩不卡一二三区| 国产无遮挡一区二区三区毛片日本| 91香蕉视频在线| 午夜不卡av在线| 中文字幕在线一区| 日韩欧美在线网站| 91老师国产黑色丝袜在线| 日韩高清一区二区| 成人免费视频在线观看| 日韩欧美国产一区在线观看| 欧美日韩一卡二卡三卡| 成人av在线影院| 久久99国产精品尤物| 一区二区久久久久久| 国产三区在线成人av| 6080yy午夜一二三区久久| 91丨九色porny丨蝌蚪| 国产精品一区二区三区99| 婷婷夜色潮精品综合在线| 最新不卡av在线| 国产日本欧洲亚洲| 日韩欧美在线网站| 欧美日韩国产经典色站一区二区三区| 一本到高清视频免费精品| 国产91高潮流白浆在线麻豆 | 日韩欧美国产综合一区| 日本黄色一区二区| 99国产精品久久久| 国内精品国产三级国产a久久| 极品少妇xxxx精品少妇偷拍| 日韩高清在线电影| 亚洲午夜电影在线| 一区二区三区在线免费播放| 国产精品免费久久| 色88888久久久久久影院按摩| 欧美精品99久久久**| 一本色道久久加勒比精品| 国产成+人+日韩+欧美+亚洲| 久久精品国产第一区二区三区| 日本成人超碰在线观看| 午夜欧美一区二区三区在线播放| 亚洲美女一区二区三区| 亚洲四区在线观看| 亚洲色图20p| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲制服欧美中文字幕中文字幕| 亚洲图片激情小说| 亚洲精品视频一区二区| 一区二区国产视频| 国产传媒日韩欧美成人| 韩国精品在线观看| 国产一区不卡在线| 成人高清在线视频| 99精品久久99久久久久| 一本色道久久综合亚洲精品按摩| 色噜噜狠狠色综合欧洲selulu| 91色九色蝌蚪| 欧美性xxxxx极品少妇| 欧美精品一级二级| 欧美一区二区福利视频| 国产亚洲欧美色| 亚洲色大成网站www久久九九| 一区二区日韩av| 日日夜夜精品视频天天综合网| 五月婷婷激情综合| 久久99精品久久久久久久久久久久 | 99v久久综合狠狠综合久久| 99久久亚洲一区二区三区青草| 91一区二区三区在线观看| 在线看国产一区二区| 91麻豆精品国产91久久久资源速度| 91精品国产91久久久久久最新毛片 | 日日夜夜精品视频免费| 风流少妇一区二区| 在线观看亚洲专区| 日韩午夜在线播放| 国产精品久久久久桃色tv| 亚洲国产裸拍裸体视频在线观看乱了| 日韩精品1区2区3区| 国内精品久久久久影院色| 成人免费毛片app| 日韩亚洲欧美成人一区| 国产精品理论在线观看| 天堂va蜜桃一区二区三区漫画版| 激情五月婷婷综合网| 色综合久久久久久久久久久| 久久久99久久| 性做久久久久久久久| 国产一区二三区好的| 欧美大片拔萝卜| 中文字幕日韩av资源站| 一区二区欧美视频| 国产麻豆精品theporn| 欧美在线播放高清精品| 日韩视频免费直播| 亚洲免费观看视频| 国产麻豆日韩欧美久久| 欧美午夜精品久久久久久超碰| 欧美一区二区精品在线| 亚洲男人天堂av网| 国产99久久久精品| 欧美成人一区二区三区在线观看| 亚洲欧洲av一区二区三区久久| 无码av免费一区二区三区试看 | 欧洲色大大久久| 国产精品网站导航| 国产91精品精华液一区二区三区| 欧美一区二区播放| 亚洲综合久久av| 成人av网站在线观看免费| 久久色.com| 成人免费精品视频| 久久久一区二区三区捆绑**|