================================== < GameBoy97 模擬器 > 一個使用32位元組合語言撰寫的模擬器 ================================== ---------------------<版權宣告>------------------------- 這是翻譯自 GameBoy97模擬器中的 GB97.TXT 檔案,版權為原作 者所有,中文翻譯版則是譯者所有,請勿作商業使用,散佈此一 文件時請保留本文標題及此一版權宣告。 -------------------------------------------------------- 97/07/15 Chinese Document Written By Chicco Huang (chicco@psylab.nccu.edu.tw) You can also find EMU documents in: http://psylab.nccu.edu.tw/~uemu ========================================================================== -------- 使用說明 -------- 欲執行遊戲時,請輸入: GB97 [遊戲檔名],模擬器本身已內定搜尋 以 '.GB' 為名的遊戲檔案故不需加上 '.GB' 的副檔名。 範例: GB97 ZELDA 本模擬器不使用任何的命令列參數,最好將模擬器及遊戲檔案置於同 一個目錄之下,這樣比較方便使用。 -------- 按鍵定義 -------- 除了加速鍵及離開鍵外的其他按鍵均可重新定義。 鍵盤 功能 ------------------------------------------ 方向鍵 十字鈕搖桿 Ctrl A按鈕 Alt B按鈕 TAB 選擇鈕 RETURN 開始鈕 灰色加號 加速模擬 ESC 離開模擬器 F1/F2 切換 A/B 的連射功能 Backspace 重置鈕 / 顯示模態切換 P 暫停 C 著色 F5 隨時取檔 F7 隨時存檔 如果想要啟動搖桿,只要按下搖桿的A或B鍵。如果你的搖桿無法正 常動作,你可以使用 CONFIG.EXE 將 JOYSTICK ADDRESS 設為零取消 搖桿功能並改用 JoyEmu 等軟體將你的搖桿模擬為上述的鍵盤定義。 譯者:可以去買 PC-TWIN或是銀梭等串接於鍵盤上的搖桿,這些搖桿 其實就是以硬體的方式將鍵盤的某些按鍵連接到 GamePad上,這樣的 做法可以避免很多問題,模擬器愛好者必備工具,單價約在NT$800左 右,各大電腦賣場應該都找得到。 ---------- 存檔與取檔 ---------- 每個遊戲至多可有八個進度存檔,分別命名為 xxx.Ga0到 xxx.Ga7, 絕大多數的遊戲應該都適用,但仍有可能失敗請自行嘗試看看。每個 存檔要使用 64KB 以上的硬碟空間,請節約使用。 注意:如果你用的 GB97 版本早於 2.732的話,由於設計上的缺失, 部份使用電池記憶的遊戲所儲存的隨時進度檔將無法由 2.732之後的 版本正確叫出,請原諒此一失誤, 2.732後的版本已無此一問題。 作者會盡量使 F5/F7 的隨時存取檔功能有更高的相容性。 感謝 Patrik Alexanderson & Martin Sjostrand 對這些錯誤所做的 幫助。 ---------- 為遊戲上色 ---------- 按下 'C' 鍵可以讓你進行為遊戲上色的工作,你可以幫 GameBoy 所 顯示的十六個要素分別上色(共包含背景、視窗,角色A、角色B, 每個單位各分為四個顏色)。你所選取的顏色會以閃動的方式呈現, 使用左鍵與右鍵來更改顏色,上/下鍵則可讓你在各個要素單位間切 換,按下 RETURN 則繼續進行遊戲,這個方法的好處就是讓你能邊玩 遊戲邊調出最佳的色彩! -------- 背景圖片 -------- GB97能使用 320X200的 256色圖形做為模擬器執行時的背景圖片,內 定使用 DEFAULT.BMP這個檔案,如果有與遊戲檔案同名的 BMP檔則自 動替換, VGB使用的 .GIF 圖檔可利用 PaintShop等繪圖軟體轉換為 ..BMP的格式供GB97使用。 當你在繪製圖片時,圖片必需存檔成 256色的點陣圖,並且你至多只 能使用 256色中的 192色。不支援16色的點陣圖形檔。 -------- 如何設定 -------- 請使用 CONFIG.EXE這個設定程式,它會產生出 .G97的檔案,該檔案 包含了模擬器該如何執行遊戲的一些資訊。有以下三種情況: (i) 和遊戲檔案同一檔名的的 .G97 會優先使用,例如 ZELDA.GB 與 ZELDA.G97,後者會做為 ZELDA.GB 的執行參數檔。 (ii) 如果沒有同檔名的 .G97 ,則內定使用 DEFAULT.G97。 (iii) 沒有任何 .G97 則一切使用內定值。 一般來說,內定值應可正常應付多數狀況,然而在某些情況如重新定 義按鍵及更換色彩時就需要更改內定值。   ---------- 設定的選項 ---------- 請以 CONFIG.EXE [遊戲檔名] 來啟動設定程式,如 CONFIG ZELDA。 你可以使用空白鍵或數字鍵來更改數值,離開請按 ESC鍵。 DisplaySkipRate 跳格數目 設定顯示時的跳格數目,如此值為一則表示所有的 畫格都會顯示。為了加快模擬的速度,此值可視情 況增加,例如設為 3就表示每模擬三格畫面時只顯 示一格,可大幅加速。 Sync On 啟動同步 讓模擬器固定以每秒59.5個畫格運作,如果把它關 閉時,你的 CPU越快則遊戲會變得越快。 Frame Rate 畫格速度 每次 PC 時鐘跳動一下的畫格數,此值增加則模擬 速度增加。 No Int 60 關閉 Int60 將此選項打開後可以關閉鍵盤中斷,作者不知道此 功能對遊戲會有何作用。 Adlib FM Port 魔奇卡FM音源位址 內定值為 $388(904),如果你的狀況不符請自行調 整。(譯者:從沒看過有人的魔奇卡或聲霸卡的FM 不是 $388的,此值幾無調整必要) ModexxCycles 模式調整 這些設定會調整 CPU cycles ,如果你的電腦太慢 可以將這些數值降低,但此項調整往往有不可知的         後果,因此建議儘量少用。某些不能執行的遊戲可         以試試此一選項。 NoRecursiveInts 某些不能執行的遊戲可以試試此一選項。 FastSprites 高速角色         這個模式使用舊式的顯示模態,會增加一點速度。 Hack 修改 可以對一些不能玩的遊戲進行調整並加以儲存。這 個功能將來會移除。 作者保證所有的 .C97檔案都會向後相容。 -------- 執行速度 -------- 本程式是在 586/133、Pentium 120及 DX2/66上發展的,幾乎在三部 機器上的速度均能與真正的 GAMEBOY相同。如果你覺得有些遊戲太慢 ,請試著把 Frame Skip 的值調為 3。如果將 DX2/66 的 TURBO關掉 時(約略等於DX-25?),將 Modexx cycle 的值調低後應該還是能順 利執行。如果你只有SX25,拜託請買部DX2/66吧。當然啦, 386還是 可以執行 GB97 的--只是有點慢而已。 Colours ======= 在 VGB-DOS 上有些色彩設定檔(color schemes),作者頗為喜歡, 因此讓 GB97 一樣可以使用這些檔案。 VGB 的色彩設定檔是 .CFG(例如 Mario.CFG ),需要轉換為 .C97 後才能給 GB97 使用,以後的版本將會容許在遊戲中修改 .C97。 請使用 TRANS.EXE 來進行 .CFG-->.C97的轉換,只要在TRANS後加上 想轉換的 .CFG 檔名就可以了。 GB97在啟動遊戲時會自動讀取相同檔名的 .C97。 -------- 除錯功能 -------- GB97內建除錯器,按 即可啟動。除錯器包含三個視窗,一個顯 示 CPU及第 $FF PAGE 的暫存器,一個顯示數碼,另一個則為資料。 使用方向鍵或換頁鍵可以讓你在視窗中移動。 ------------ 其他除錯按鍵 ------------ F1..F4 設定中斷點。 F5 執行遊戲到中斷點。 F7 單步執行。 F8 單步執行,但會自動執行 CALL or RST。 F10 Run the program, no breakpoints are tested.(Faster than F5 , it doesn't do the tests !) HOME Move the code cursor to the program counter END Move the data cursor to $FF00 ------------ 目前不足之處 ------------ 新的大螢幕顯示模式尚未完成。 圖形化的使用者操作界面尚未加入。 -------------- 不能執行的遊戲 -------------- 有些在 VGB上不能執行的遊戲一樣不能由 GB97 來執行,但有些遊戲 可以在 GB97 上執行而 VGB則否。作者會為那些不能執行的遊戲來修 改模擬器,但這方面的工作速度不會太快。 GB97已經內建一些遊戲的修正,GB97會自動偵測這些遊戲並修正,此 一功能可由 'Fix ROMs' 設定為 False加以關閉。 如果仍然有問題:畫面會有垃圾則調整 'Fudge Window' ;遊戲進行 時會鎖死則調整 'No Recursive Interrupts'。或者你也可以試著增 加 Mode00 cycle 的值,這些對 Daedlian Opus 這個遊戲有用。 在下列網址有份列表列出目前可以執行的遊戲: http://users.aol.com/autismuk/gameboy.htm -------- 注意事項 -------- 這份程式必需完整地被散佈,包含三個主要執行檔及說明文件,本程 式為免費軟體,不得利用其做為任何營利用途。 -------- 版本說明 -------- 1.989 on 1st June 1997 : First release build. Four carts don't work. 2.160 on 3rd June 1997 : Interim release. Fix bug running under DOS rather than Win95, causing PMode exception when a key pressed. Added sweeps to sound & on/off fixed. Added Autofire. Added a hack to make Bubble Bobble 1 work properly. Fixed (partially !) VBLANK Interrupt timing. Supports 32k RAM Battery Backup Cartridges 2.192 on 4th June 1997 : Added Autofire On/Off & Messages. Created home page. 2.320 on 5th June 1997: Added Joystick support Added Game Genie Cheat codes Added Gameboy-like background for small screen Stopped long-play hiss on Zelda 3 2.368 on 6th June 1997: Added Sprites prioritised by depth (not by position) 2.426 on 9th June 1997: Fixed sprite bug. (disappeared of Left hand side of screen) Support for 4 button joysticks. 2.447 on 9th June 1997: Support for VGB Colour Configuration files (via a Translator) Fixed Patrik Alexandersson's bug (Bart Simpson) 2.524 on 9th June 1997: First version with debugger released. 2.604 on 11th June 1997: Donkey Kong 95 & Hudson Hawk running 2.732 on 12th June 1997: In game Save & Load (8 per cartridge) Use 256-colour bitmaps as background Game Painting Reset Button Added Display Mode Toggle Key Added Pause Button Added Reversed default sprite order so Zelda IV map looks better. 2.830 on 17th June 1997: Fix for 'Frank Thornton Baseball' (VBI enabled when screen off) Fix F7 Save bug in Super Mario Land 2 & 3 and others. [READ NOTE] Config uses Default.G97 for its defaults (if it exists) Added new sound code Added support for 'Or Interrupt Byte' (fixed Waverace) Added Icon (courtesy of Lee@lp1.demon.co.uk) Fixed Window Fudge Bug (now removed from Config) Changed Default Colours Fixed extra ticks bug - now runs at about 59.5 fps 2.860 on 18th June 1997: Fix for 'Gauntlet' (starts in one player mode) Minor fiddles for the sound code. (Pacman was quiet !) Step Over now works properly. Joystick uses BIOS rather than port I/O, seems to work better ! Added Autofix for : Altered Space, Asteroids, Bubble Bobble 1, Daedlian Opus,Doraemon 2,Frank Thomas Baseball,Hudson Hawk, Ren & Stimpy Vidiots, StreetFighter 2 and WaveRace 2.887 on 20th June 1997: Hudson Hawk now invokes internal fix correctly. Early VBI Fix for Addams Family 1 Fixed Alleyway. Fattened out the display font slightly Note: There's some GUI code in this. If you click the mouse you can move it around but it's still in development. 2.890 on 20th June 1997: Fixed R-Type 2 Speeded up the Joystick code. 2.909 on 23rd June 1997: Fixes for Alfred Chicken, Jeopardy, Hook, Robocop 2, Super Hunchback, Obelix, Yogi Bear Long filename for startup truncated. Mouse code can be removed. New background. Snapshot Loads and Saves can be cancelled. (press RETURN) 2.937 on 1st July 1997: Added 360 x 144 display mode. Fixed WWFKing/Ring Added Jeff Frohwein's new opcode cycle timings ---- 後記 ---- 請**絕對不要**來信向我索取遊戲檔案,任何這樣的訊息都將被視為 垃圾。歡迎任何的程式臭蟲回報、建議、改進及贊助等等。作者很希 望能為 486/586/Pentium等進行程式碼的最佳化,如果你有任何這方 面的資料亦歡迎來信。 Paul Robson autismuk@aol.com 下面是感謝名單(按字母排列): Dr Pan of Anthrax for the Gameboy programming Documentation. Gameboy programming mailing list. Jeff Frohwein for the Gameboy Technical Website & his disassembler, the Game Genie information & lots of other stuff. Jens C. Restemeier for various tools & the GBDemo program & source. Harry Mulder for the Zoomar program & source. HeroZero for various programs & sources. Lee@jlp1.Demon.Co.Uk for the Gameboy 97 Icon. Marat Fayzullin for the Gameboy FAQ. Marat Fayzullin & Marcel DeKogel & others for VGB-DOS,especially FmFreqs.H ! Matt Currie for the VGB Interrupt Demo source & code. Michael Kunstelj for the article on 386/Pentium optimisation. Michael Tippich for WDOSX, the free DOS Extender. Mike Mika for some useful documentation & "first gameboy program" code. Pascal Felber for the MBC Cartridge mapping information. Peter Quiring for documentation on setting up a keyboard handler. RTOONist for the new default background. and lots of others who provided bits & bobs who I've forgotten about.