導航:首頁 > 源碼編譯 > gba游戲源碼

gba游戲源碼

發布時間:2022-12-22 20:02:08

⑴ 口袋妖怪漆黑的魅影金象徽章代碼

這個的金手指代碼是沒有的,只能自己慢慢去打。
該游戲是綠寶石的改版。
綠寶石為紅藍寶石的資料片。
新劇情

原作中由豪力幫助玩家搬家的情節修改為過動猿幫助玩家搬家。
然而由於游戲問題的存在,與過動猿對話時出現的音效仍是豪力的叫聲。
熔岩隊與海洋隊都變為了反派組織,海洋隊的主基地還在藍寶石的原址,而熔岩隊則搬到了凹凸山道。還增加了綠嶺宇宙中心的劇情。
游戲中局至終局劇情幾乎完全修改,部分地點也隨著劇情進行了修改,增加了許多劇情,如:固拉多與蓋歐卡對決,以及烈空坐制止災難的劇情,並且首次出現了過場動畫。
固拉多與蓋歐卡的捕獲地點變為陸之窟和海之窟,等級提升,並且在登入名人堂後出現。
原本在登入名人堂後才能遇到的烈空坐變為了劇情必須遇到。
在完成豐緣圖鑒後,可以從小田卷博士處獲得菊草葉、火球鼠、小鋸鱷其中的一隻。
前寶可夢聯盟冠軍大吾在主角成為新一屆冠軍後出現在流星瀑布深處,主角可以挑戰一次。
新系統
新系統
全國圖鑒不需要通信即可獲得。
由於源代碼使用火紅葉綠修改,因此游戲的繪圖和建築與紅寶石藍寶石有些許差異。
綠寶石包含火紅葉綠的所有道具數據,以防止出現紅寶石藍寶石因無火紅葉綠新增道具而引發錯誤的問題。
增加同火紅葉綠一樣的無線聯機功能,以及無線聯機游戲的游戲角。
所有的寶可夢都有了動畫。
可以與所有道館館主再戰,且可以進行雙打對戰。
與第四世代聯動
第四世代游戲可以在獲得全國圖鑒之後從第三世代的游戲中傳送寶可夢到第四世代游戲中。在游戲卡在DS插槽中時,將GBA游戲卡插入任天堂DS機器里的GBA插槽中,隨後第四世代游戲中的主角來到夥伴公園,即可從第三世代傳送寶可夢。
學會第三世代秘傳學習器招式的寶可夢不能從第三世代傳送過來。如果想要傳送,必須先尋求水靜市遺忘爺爺的幫助。

⑵ gba游戲設計的設計開發軟體是什麼

1.GBA簡介

Game Boy Advanced(GBA)是日本任天堂公司於2001年推出的一款32位掌上游戲機。它著重於游戲機的攜帶型,並且以2D游戲為主(3D游戲依然不錯)。GBA有十分高效硬體圖像處理加速,GBA基本上是現在全球公認的最佳的掌上游戲機。

GBA的硬體功能十分多。它的CPU是以RISC為基礎的32位ARM CPU,主頻是16.78MHz。屏幕最大支持240x160的16位真彩色顯示。在圖形處理方面GBA還另外提供了硬體加速,支持硬體上的圖形旋轉,縮放,alpha混合,face in/out淡入淡出等。

GBA的軟體開發主要是以C語言為主,程序設計簡單而且十分自由,也正是這一點吸引了許多愛好者在GBA上做東西(不一定是游戲)。你完全可以把它做成PDA,做成Mp3播放器(它的聲音處理方面能力也不錯哦),做成隨身電影播放齊,做成電子詞典等,只要你有能力設計它的軟體。

不說多了,我們還是主要來看看如何開發GBA的軟體。應該說,你只要會點C語言,就可以進入GBA的開發行列中了。在GBA上寫程序比在電腦上寫程序更簡單。GBA是單匯流排的設計,也就是說通過簡單的讀寫命令就能完成所有的內部硬體操作。訪問GBA內部的寄存器就猶如訪問一塊內存一樣簡單,而GBA所有的功能都是通過讀寫寄存器而完成的。

2.GBA程序開發准備

GBA開發所需要的東西除了一台可以用的電腦外,主要就是一個編譯器和一個GBA模擬器。

有了GBA模擬器,你就可以在你的電腦上運行GBA程序了。GBA模擬器應該是到處可以找得到的。我推薦的是VisualBoyAdvance。你可以在www.gbadev.org上下載最新的版本。如果你還想把你的程序弄到GBA機器上玩,那麼除了應該有個GBA外,還應該有個ROM燒錄器。比如EZ-Flash。通過它可以把電腦上的ROM燒錄到GBA卡帶上,然後放到GBA上運行。(總共一個GBA加一個128MB的EZ-Flash大概是1000元人民幣)

GBA程序開發可以用匯編語言和C/C++語言來寫程序,不過匯編語言比較復雜,而且不是我們平常使用8086匯編,而是Arm匯編。任天堂公司可能覺得C++程序運行消耗太大,不推薦C++語言來開發,所以我們都一直將C語言作為首選。

⑶ 文件後輟的格式gba是什麼意思

後輟名為.GBA的文件是GBA掌機的模擬器ROM文件,可以使用
VisualBoy Advance 等模擬器打開就能玩了……

下載地址:http://down.52pk.com/soft/846.htm

VisualBoy Advance 1.7.2 漢化修正版
功能強大的 GameBoyAdvance 模擬器支持幾乎 100% 的 GBA 游戲。強大的調試功能,圖像增強。作弊功能~。
新版本更新如下:
*修正了一些源代碼
*改進了記憶定時器
*增加了對基本語言 dll文件的檢測
*修正了GB模式中映射圖像閃爍的顯示問題,等等。
漢化版更新:更正了幾處被遮蓋的對話框信息。為方便向作者報告錯誤,錯誤報告對話框內字串未漢化

⑷ 幫我推薦一本書,有關FLASH游戲製作的或c++游戲製作的書.謝謝!我是菜鳥啊!

Game Developer Magazine 1994 - 2000年,共7年的游戲開發者雜志電子版(含源碼
Graphics Programming Black Book (by Michael Abrash).zip,圖形編程黑書,Id software的Michael Abrash編著
Game Programming Gems I.rar ,游戲編程精粹I、II(含源碼)
Game Programming Gems II.rar
Graphics Gems I.rar ,圖形學精粹I、II、III、IV、V
Graphics Gems II.rar
Graphics Gems III IBM.rar
Graphics Gems IV IBM.rar
Graphics Gems V.rar
Computer Graphics, C Version (2nd Ed.).rar ,計算機圖形學C版(第二版)
half_life2_engine.zip ,半條命2游戲引擎源代碼
D3DTutorial10_Half-Life2_Shading.pdf ,半條命2游戲引擎光照分析
Course.PTR.3D.Game.Engine.Programming.eBook-LinG.rar ,3D游戲引擎編程
3D Game Engine Design.rar ,3D游戲引擎設計
3D Game Engine Design source code.rar ,3D游戲引擎設計源代碼
3D.Game.Programming.All.In.One.zip ,3D游戲編程大全
Game Design - Theory and Practice.rar ,游戲設計 - 理論與實踐
game.programming.all.in.one.zip ,游戲編程大全
The Cg Tutorial - The Definitive Guide to Programmable Real-Time Graphics.rar ,CG指導 - 可編程實時圖形權威指南
Tricks Of The 3D Game Programming Gurus - Advanced 3D Graphics And Rasterization.rar ,3D游戲編程大師技巧 - 高級3D圖形和光柵化
Ultimate Game Design Building Game Worlds.rar ,終極游戲設計 - 創建游戲世界
Core.Techniques.And.Algorithms.In.Game.Programming.rar ,核心技術和演算法在游戲編程
Simulating Humans.rar ,模擬人類

3D Lighting - History, Concepts, and Techniques.rar ,3D光照 - 歷史,概念和技術
Lighting.Techniques.For.Real-Time.3D.Rendering.rar ,光照技術For實時3D渲染
Vector.Game.Math.Processors.zip ,向量游戲數學處理器
AI for Computer Games and Animation - A Cognitive Modeling Approach.rar ,AI(人工智慧)for計算機游戲和動畫 - 一個認知建模方案
AI.Game.Development.Synthetic.Creatures.With.Learning.And.Reactive.Behaviors.rar ,AI游戲開發 - 合成生物With學習和反應舉止
AI.Techniques.for.Game.Programming.rar ,AI技術for游戲編程(含源碼)
Ai.Game.Programming.Wisdom.rar ,AI游戲編程(代碼)
Real_Time_Rendering.rar ,實時渲染
special.effects.game.programming.rar ,特效(特殊效果)游戲編程(含源碼)
Shaders.for.Game.Programmers.and.Artists.zip ,著色器for游戲開發者和藝術家
Real-Time Shader Programming.rar ,實時著色器編程
Wordware.Publishing.Advanced.Lighting.and.Materials.With.Shaders.rar ,高級光照和材質with著色器
OReilly - Physics for Game Developers.rar ,物理for游戲開發者

GPU Programming Guide.rar ,GPU編程指南
Collision.Detection.pdf.rar ,碰撞檢測
Collision.Detection.-.Algorithms.and.Applications.rar ,碰撞檢測 - 演算法與應用
focus.on.3D.terrain.zip ,游戲3D地形編程
Focus.On.3D.Models.zip ,游戲3D模型編程
Focus.On.2D.in.Direct3D.-.fly.pdf ,集中於Direct3D中的2D
Beginning.Game.Audio.Programming.rar ,開始游戲音頻編程(含源碼)
Internetworked.3D.Computer.Graphics.rar ,互連網間的3D計算機圖形學

Beginning.Math.and.Physics.For.Game.Programmers.zip ,開始數學和物理for游戲編程者(PDF版)
Beginning Math and Physics for Game Programmers[CHM].rar ,開始數學和物理for游戲編程者(CHM版)
3D.Math.Primer.for.graphics.and.game.development.zip ,3D數學初步for圖形和游戲開發
The art of computer game design.rar ,計算機游戲設計藝術
Sams.Beginning.3D.Game.Programming.eBook-LiB.rar ,3D游戲編程入門
MIT.Press.Rules.of.Play.Game.Design.Fundamentals.rar ,游戲設計基礎
design a pc game engine.rar ,設計一個PC游戲引擎

Advanced Graphics Programming Techniques Using Opengl.rar ,高級圖形編程技術用OpenGL
Real-time.Rendering.Tricks.and.Techniques.in.DirectX.rar ,DirectX實時渲染技巧與技術
Real-Time Rendering Tricks and Techniques in DirectX(src).ZIP ,DirectX實時渲染技巧與技術(源代碼)
Real Time 3D Terrain Engines Using C++ And Dx9.rar ,實時3D地形引擎用C++和Dx9
MS.Press.-.Microsoft.DirectX.9.Programmable.Graphics.Pipeline.rar ,Microsoft DirectX9可編程圖形管線
Wordware.Publishing.OpenGL.Game.Development.eBook-YYePG.rar ,OpenGL游戲開發
Beginning.OpenGL.Game.Programming.ebook.zip ,OpenGL游戲編程入門
OpenGL.Programming.Guide.rar ,OpenGL編程指南
Addison.Wesley.-.OpenGL.Programming.Guide.2nd.Edition.rar ,OpenGL編程指南(第二版)
Addison-Wesley,.OpenGL.Shading.Language.(2004).DDU.ShareConnector.rar ,OpenGL著色語言(2004)
Learn Vertex and Pixel Shader Programming With Directx 9.rar ,學習頂點和像素著色器編程用DirectX9
Shaderx2 - Shader Programming Tips & Tricks With Directx 9.rar ,Shaderx2 - 著色器編程提示與技巧With DirectX9
ShaderX2 Introctions and Tutorials with DirectX9.rar ,ShaderX2介紹和指導With DirectX9
Direct3D.ShaderX.-.Vertex.and.Pixel.Shader.Tips.and.Tricks.rar ,Direct3D.ShaderX - 頂點和像素著色器提示和技巧
Advanced 3D Game Programming with DirectX 9.rar ,高級3D游戲編程用DirectX 9.0(含源碼,CHM版)
Advanced 3D Game Programming with DirectX 9[PDF].rar ,高級3D游戲編程用DirectX 9.0(PDF版)
DirectX 3D Graphics Programming Bible.rar ,DirectX 3D圖形編程寶典
Introction to 3D Game Programming with DirectX 9.0.rar ,介紹對3D游戲編程用DirectX9.0(含部分源代碼)
Beginning.Direct3D.Game.Programming.rar ,Direct3D游戲編程入門
Beginning.DirectX9.zip ,DirectX9入門
Cutting Edge Direct 3D Programming.rar ,Cutting Edge(刀刃)Direct 3D編程
Game.Scripting.Mastery.zip ,游戲描述語言掌握
Data.Structures.for.Game.Programmers.rar ,數據結構for游戲編程者(含源碼)
2_OpenGL.Extensions.-.Nvidia.rar ,OpenGL擴展(Nvidia)
Managed.DX.9.Kick.Start.Graphics.And.Game.Programming.rar ,DirectX9圖形和游戲編程
OpenGL.Reference.Manual.rar ,OpenGL參考手冊
OpenGL.Super.Bible.rar ,OpenGL超級寶典

Tricks of the Windows Game Programming Gurus.rar ,Windows游戲編程大師技巧
Tricks of Win Game Programming Gurus 2ed.rar ,Windows游戲編程大師技巧(第二版)
Game.Programming.Beginners.Guide.rar ,游戲編程初學者指南
Chris_Crawford_on_Game_Design.rar ,Chris Crawford寫的游戲設計書

Advanced.Animation.with.DirectX.rar ,高級動畫with DirectX(含源碼)
Inside Direct3D.rar ,深入Direct3D
Direct3D_9_Basics.rar ,Direct3D 9基礎
Sams Teach Yourself DirectX 7 in 24 Hours.rar ,教你自己DirectX7在24小時
Programming.Role.Playing.Games.with.DirectX.rar ,用DirectX編程RPG游戲(含源碼)
Programming Multiplayer Games.rar ,編程多玩家游戲
Net Game Programming With Directx 9.0.rar ,網路游戲編程with Directx 9.0
Programming Linux Games.rar ,編程Linux游戲
Developing Online Games - An Insiders Guide.rar ,開發在線游戲 - 一個權威人士的指導
Game Coding Complete.rar ,游戲編碼完全
Strategy Game Programming with DirectX 9.0.rar ,策略游戲編程用DirectX9.0
Strategy Game Programming with DirectX 9.0 Source Code.zip ,策略游戲編程用DirectX9.0(源代碼)
Addison-Wesley - Software Engineering and Computer Games.rar ,軟體工程和計算機游戲
Artificial Intelligence and Software Engineering.rar ,AI和軟體工程
Game-Programming-OpenGL-C++.rar ,有關OpenGl和C++的一些資料

GBA Programming Game Boy Advance The Unofficial Guide.rar ,GBA編程非官方指南
Palm.OS.Game.Programming.zip ,Palm掌上操作系統游戲編程
Mac.Game.Programming.pdf ,蘋果機游戲編程
Premier.Press.J2ME.Game.Programming.rar ,J2ME游戲編程
J2ME Game Development with MIDP2.rar ,J2ME游戲開發with MIDP2
PHP.Game.Programming.zip ,PHP語言游戲編程
Game.Programming.with.Python.Lua.And.Ruby.zip ,游戲編程用Python,Lua和Ruby語言
Apress.dot.NET.Game.Programming.with.DirectX.9.0.eBook-KB.rar ,點NET游戲編程用DirectX9
Wordware.Wireless.Game.Development.In.C.Cpp.With.BREW.chm ,無線游戲開發用C、C++ With BREW

DirectX9 User Interfaces Design and Implementation.rar ,DirectX9用戶介面設計和實現
Game.Interface.Design.rar ,游戲介面設計

SAMS Teach Yourself Game Programming in 24 Hours.rar ,教你自己游戲編程在24小時
C.Game.Programming.For.Dummies.2.rar ,C游戲編程傻瓜書2
Beginners Guide to DarkBASIC Game Programming.rar ,初學者指南對DarkBASIC游戲編程
Windows Graphics Programming Win32 GDI and DirectDraw.rar ,Windows圖形編程 - Win32 GDI 和 DirectDraw
Game Programming Genesis.rar ,游戲編程起步

2D.Artwork.and.3D.Modeling.for.Game.Artists.zip ,2D藝術品和3D建模for游戲藝術家
Game.Art.for.Teens.pdf ,游戲藝術for青年人

Game Development and Proction.rar ,游戲開發和產品
Game.Developers.Market.Guide.rar ,游戲開發者市場指南

MIT.Press.A.History.Of.Modern.Computing.eBook-LiB.rar ,現代計算歷史
The C++ Programming Language NO.3 Edition.rar ,C++編程語言(第三版)
Computer Systems A Programmers Perspective.rar ,計算機系統 - 一個編程者的透視
Intel Architecture Software Developer Manual.zip ,Intel架構軟體開發者手冊
Intel Itanium Assembly Language Reference.rar ,Intel Itanium架構匯編語言參考
Agile Software Development.rar ,靈活的軟體開發
Code Reading The Open Source Perspective.rar ,代碼閱讀與開放源透視

ps2DevEnvironment.exe ,PS2開發環境
doxygen-1.3.9.1-setup.exe ,一種文檔自動生成軟體
wolf_source.exe ,wolf游戲(id software)源代碼
doom_src.zip ,doom游戲(id software)源代碼
q2src320.exe ,Quake2游戲(id software)源代碼
Q3A_TA_GameSource_127.exe ,QuakeIII(id software)游戲源代碼
Q3A_ToolSource.exe ,QuakeIII(id software)工具源代碼

⑸ 模擬游戲中的街機,GBA,FC,MD,MAME,NEOGEO都是什麼什麼意思

GBA:

GBA是GBC及單色GB的後續產品,是任天堂公司所製作的手持游戲系統,游戲以插在主機後面的插槽的卡帶為載體,需要兩節5號AA電池來運行

FC: FC,又稱為紅白機,是任天堂公司在八十年代出的一款8位游戲機.

MD: 所謂MD,就是指MiniDisc(中文意思即迷你光碟),它是由SONY於1992年正式量產上市的一種音樂儲存媒體

MAME: MAME是Multiple Arcade Machine Emulator,也就是"多類型街機模擬器"的簡稱,是一個DOS環境下的應用程序,由MAME小組開發。這是一個仍在不斷更新、完善的模擬器.

NEOGEO: NEOGEO 一種CD的模擬器,該模擬器是基於PC版NeoCD/SDL 0.3.1源代碼開發的,與SFC模擬器一樣,其初版雖然具備的功能少,而且也不支持聲音,但是在畫質方面表現極佳,速度方面也不賴,經過幾次的更新,目前的0.5版已經相當完美。

⑹ 如何製作GBA游戲或HACK GBA

GBAS 是 GameBoy Advance development System (GameBoy Advance 開發系統)的縮寫,它主要的功能便是用來做 GameBoy Advance 游戲以及數據的傳輸,使用者可以自行將自己所撰寫的 GameBoy Advance 軟體透過 GBAS 燒錄機傳至 GBAS 64M 或 GBS 128M 的覆寫卡上面,然後插入 GameBoy Advance 的主機執行。就是說,如果你自己也會開發GBA的游戲的話(據說對於好的程序員不是很難),那麼你根本不需要任天堂的授權,就可以把自己開發的GBA游戲直接通過GBAS系統在GBA上遊玩。GBAS 燒錄機的功能除了負責將 GameBoy Advance 的軟體傳輸至覆寫卡外,他還具備可將原版 GameBoy Advance 卡帶備份至計算機儲存成 *.GBA 的計算機檔案,或者將原版 GameBoy A dvance 卡帶以及 GBAS 覆寫卡中的記憶存檔備份成 *.SAV 的計算機檔案。這些備份的檔案均可配合各種 GameBoy Advance 計算機模擬器執行。而這就意味著你可以利用這款系統自由把網路上的GBA游戲的ROM通過GBAS燒錄機直接拷貝到專用GBAS卡帶上,想想網路上已經可以執行的GBA游戲ROM的數量,是不是有些心動了?應該說GBAS是一個相當完善的系統,雖然這款系統剛剛開發完畢,但是它在功能上已經相當優秀了,那我們現在看看它有那些特點。一、EEPROM 特殊記憶支持: 這款GBAS是目前唯一支持 EEPROM 記憶格式的 GBA 開發工具,也是目前唯一可以對應 Super Mario Advance (日/美)的開發工具。哈哈,要知道超級MARIO大冒險的美版還沒有出啊,而在網 絡上,這個游戲的ROM早就有了,所以大家可以看到在圖片中執行的GBA游戲就是超級MARIO大冒險的美版。二、超大電池記憶: 超大 1M 電池記憶,支持所有游戲記憶(包括游戲王五代的超大電池記憶也能支持)。 這個特點是相當好的,也比較貼近玩家的特點,一般來說,用了這個東西,什麼游戲的記錄都不會出問題了,玩家完全沒有必要擔心、GBAS的記憶空間不足。三、合卡功能: GBAS 支持合卡,64M 版本可支持兩個 32M 的游戲合卡。這樣,玩家可以一次錄進兩個32M的游戲,使GBAS成為一個合卡,要是玩家擁有的是128M的覆寫卡,嘿嘿,那就可以讓你的GBAS成為4合1卡了,這樣就節約了游戲燒錄拷貝的時間,當然,128M的卡幾個自然要高得多了。四、 操作介面:全新窗口下燒錄介面(包含游戲上載,下載以及游戲記錄文件上載下載功能)全新修正了游戲傳輸問題,更快速更准確,支持窗口 9X 作業平台,安裝容易使用方便,使用者完全不用擔心會出什麼問題。GBA的軟體製作燒錄系統—GBAS簡單入門-一. GBA開發包--DevKitAdv 簡介DevKitAdv 主要包括兩部分,一是GCC++編譯器,二是 GBA庫.GCC++編譯器功能和我們常用的VC差不多,只不過少了個編輯源代碼的文本編輯器(至少我沒發現,我用的是EditPlus,UltraEdit也可以),還有就是--不支持類(class),真是讓人頭痛,只能用struct來替代.它的作用是把我們寫的代碼編譯成二進制的可執行文件,當然這個可執行文件是相對GBA和GBA模擬器而言的.就 Windows里的EXE文件無法在Mac機上使用是一樣的道理;GBA庫提供了圖像,控制及聲音一系列的函數,和GCC++配合使用.下載地址: http://occultforces.mine.nu/~darkfader/gba/files/devkitadv.zip二. DevKitAdv 的安裝沒啥好說的,解壓後就可以直接使用,編譯時設置DevKitAdv的路徑就可以了,建議做一個批處理文件,比如 go.batset PATH=d:\devkitadv\bin;%PATH%cmd (win98是command)三. 最簡單的 GBA 程序 (t1)// main.c// 一些基本數據類型typedef unsigned char u8;typedef unsigned short u16;typedef unsigned long u32;#define REG_DISPCNT *(u16*)0x04000000 // 顯示寄存器地址#define VRAM 0x06000000 // 圖像緩沖區地址#define M5_VRAM 0x0600A000 // M5緩沖區地址#define BACKBUFFER 0x010 // 雙緩沖/背緩沖地址#define PALETTE 0x5000000 // 調色板地址#define MODE_3 0x03 // 240*160 15bits/單緩沖區#define MODE_4 0x04 // 240*160 8bits/雙緩沖區#define MODE_5 0x05 // 160*128 15bits/雙緩沖區#define BG2_ENABLE 0x0400 // BG_2#define SetMode(Mode) REG_DISPCNT=(Mode) // 設置顯示模式的宏定義// ----------- 主程序 ------------int main(){//設置屏幕模式,這里使用MODE_4SetMode (MODE_4 | BG2_ENABLE);}1.MODE_5和MODE_3都是16bits,但MODE_3隻有單緩沖,製作動畫效 果肯定沒雙緩沖好,因此排除MODE_3;2.MODE_4是8bits,理論上256色對於掌機夠用了,雖然16bits真彩的誘惑沒有人想抗拒,可MODE_5隻有160*128咧,在實際應用中建議還是使用MODE_4.很簡單吧--的確是的,現在要用GCC編譯它:gcc -lm -o main.elf main.cobj -v -O binary main.elf main.bin你會看目錄下多了個"main.bin",這個就是能在GBA模擬器上執行的二進制文件!教程中t1-t10目錄為源程序目錄,裡面有個make.bat,修改代碼後直接執行它就可以編譯,但要注意我的devkitadv是裝在D:,你要是裝在別的盤就得改一下make.bat的path參數.四. 在MODE_4背景層畫圖的 GBA 程序 (t2)在GBA的MODE_4里畫一幅圖要經過3個步驟:1. 把原始256色圖像文件轉換成 *.h / *.c 的數據文件,我們用的是 < BMP2GBA > ,這里以"image.bmp"為例,轉換後我們就得到了一個"image.h"文件;2. 在程序開頭#include "image.h",這樣就能在程序中使用"image.h"定義的調色板和圖像數據;3. 在程序中把"image.h"定義的調色板和圖像數據寫入MODE_4背景層的調色板和圖像緩沖區.另外,GBA還有專為精靈設置的物體層,它的用法和背景層一樣,只是功能有點不一樣,地址是0x06000000.有關用這里就不詳細說了,大家可以把精靈數據直接輸出到物體緩沖區就可以了.下面是源程序:... ...// 包含圖像調色板和數據的頭文件#include "gfx/image.h"// ----------- 全局變數 --------// 系統調 色板u16* palette_mem=(u16*)PALETTE;// 圖像緩沖區u16* video_buffer=(u16*)VRAM;// ----------- 函數定義 ---------// MODE_4繪圖函數void Draw(u16* src_palette,u16* src_data,u16* dst_palette,u16* dst_data);// ----------- 主程序 ------------int main(){// 設置屏幕模式,這里使用MODE_4SetMode (MODE_4 | BG2_ENABLE);// 在背景層畫圖,Palette和Data是在"image.h"定義的調色板和圖像數據數組名Draw(Palette,Data,palette_mem,video_buffer);}// MODE_4繪圖函數void Draw(u16* src_palette,u16* src_data,u16* dst_palette,u16* dst_data){int loop,x,y;// 寫入目的調色板for(loop = 0; loop < 256; loop++)dst_palette[loop] = src_palette[loop];// 寫入圖像緩沖區for(x = 0; x < 120; x++){for(y = 0; y < 160; y++){dst_data[(y) *120 + (x)]=src_data[(y) *120 + (x)];}}}編譯後得到main.bin,然後在GBA模擬器里運行,就可以得到這樣的結果:五. 在MODE_5畫圖的 GBA 程序 (t3)在GBA的MODE_5里畫一幅圖也要經過相似3個步驟,只不過不需要調色板數據:1. 把原始真彩圖像文件轉換成 *.h / *.c 的數據文件,我們用的是 < Targa2GBA > ,這里以"image.bmp"(240*160)為例,DOS窗口下進Targa2GBA目錄, 輸入"t2g mode5 image.bmp image.h",轉換後我們就得到了一個"image.h"文件;2. 在程序開頭#include "image.h",這樣就能在程序中使用"image.h"定義的圖像數據;3. 在程序中把"image.h"定義的圖像數據寫入圖像緩沖區.下面就是源程序:// 包含圖像數據的頭文件#include "gfx/image.h"// ----------- 全局變數 --------// 圖像緩沖區u16* video_buffer=(u16*)VRAM;// ----------- 函數定義 ---------// MODE_5繪圖函數void Draw(int x,int y,int w,int h,u16 *src_data,u16 *dst_data);// ----------- 主程序 ------------int main(){// 設置屏幕模式,這里使用MODE_5SetMode (MODE_5 | BG2_ENABL);// 在背景層畫圖,image是在"image.h"定義的圖像數據數組名Draw(0,0,240,160,image,video_buffer);}// MODE_5繪圖函數void Draw(int x,int y,int w,int h,u16 *src_data,u16 *dst_data){int i,o,idst;// 把源圖像數據復制到圖像緩沖區的指定地方idst =(y*160)+x;for (i=0;i<h;i++){for (o=0;o<w;o++){if (*src_data != 0){dst_data[idst] = *src_data;}idst++;src_data++;}idst += (160-w);}}編譯後運行結果:六. 全屏顯示的 MODE_5 GBA 程序 (t4)由於GBA不支持線性的圖像變換,因此得到的結果會產生一些馬賽克的現象,現在還是附上這個變換函數和最終結果,其實質量還是可以接受的,大家可以試試使用這個新的MODE_5.// 切換到新MODE_5全屏模式,page為緩沖區,原理是把顯示寄存器數據X,Y交換,得到128*160的顯示,GBA就會全屏顯示.void SetFlipMode(int page){u16 *ioreg=(u16*)0x4000000;*ioreg=5+((page&1)>>4)+(1>>10);ioreg[0x10]=0;ioreg[0x11]=256;ioreg[0x12]=128;ioreg[0x13]=0;}int main(){// 設置屏幕模式,這里使用MODE_5SetMode (MODE_5 | BG2_ENABLE);// 切換模式SetFlipMode(0);// 在背景層畫圖,image是在"image.h"定義的圖像數據數組名Draw(0,0,240,160,image,video_buffer);r七. GBA的雙緩沖顯示(t5)大家在做上面MODEL_5的程序時一定會發現圖像在閃動(第六節的240*160的MM象被破了相...),而MODEL_4下卻比較穩定--這是因為MODEL_5下要處理16bits(實質上是15bits)的圖像,數據量比MODEL_4下的8bits大很多,在沒使用雙緩沖的情況下,圖像填充時就會造成閃爍,這就是為什麼我們拋棄了MODEL_3的原因...原理也很簡單,圖像在背緩沖區里填充好之後再直接輸出到前緩沖區顯示,程序里就是一個 "等待同步-> 交換緩沖" 的過程:... ...// ----------- 全局變數 --------// 圖像緩沖區u16* video_bu ffer=(u16*)M5_VRAM;// ----------- 函數定義 ---------... ...// 等待緩沖區數據同步void WaitSync ();// 交換緩沖區內容void SwapScreen ();// ----------- 主程序 ------------int main(){// 設置屏幕模式,這里使用MODE_5SetMode (MODE_5 | BG2_ENABLE);while(1){// 在背景層畫圖,image是在"image.h"定義的圖像數據數組名Draw(0,0,240,160,image,video_buffer);WaitSync();SwapScreen();}}// 等待緩沖區數據同步void WaitSync (){while (*(volatile u16*)0x4000006<160) {};}// 交換緩沖區void SwapScreen ():{if (REG_DISPCNT & BACKBUFFER){REG_DISPCNT &= ~BACKBUFFER;video_buffer = (u16*) M5_VRAM;}else{REG_DISPCNT |= BACKBUFFER;video_buffer = (u16*) VRAM;}}八. GBA 的按鍵輸入(t6)講了老半天的圖像,雖說是對著MM,但大家一定也有點煩了,我們現在就換個方向,來看看GBA的控制.... ...// 按鍵控制#define KEY_A 1#define KEY_B 2#define KEY_SELECT 4#define KEY_START 8#define KEY_RIGHT 16#define KEY_LEFT 32#define KEY_UP 64#define KEY_DOWN 128#define KEY_R 256#define KEY_L 512volatile u32* KEYS = (volatile u32*)0x04000130;// 包含圖像調色板和數據的頭文件#include "gfx/image.h"// ----------- 全局變數 --------// 圖像緩沖區u16* video_buffer=(u16*)M5_VRAM;// 圖像顯示坐標int img_x,img_y;// ----------- 函數定義 ---------// 按鍵控制void KeyAction();... ...// ----------- 主程序 ------------int main(){// 設置屏幕模式,這里使用MODE_5SetMode (MODE_5 | BG2_ENABLE);while(1){// 處理按鍵事件KeyAction();// 在背景層畫圖,image是在"image.h"定義的圖像數據數組名Draw(img_x,img_y,96,64,image,video_buffer); WaitSync();SwapScreen();}}// 處理按鍵事件void KeyAction(){// 上方向鍵if(! ( (*KEYS) & KEY_UP) ){img_y+=5;}// 下方向鍵if(! ( (*KEYS) & KEY_DOWN) ){img_y-=5;}}eturn(0);九. 簡單聲音輸出(t7)Simple is the Best(簡潔至上),這里我們使用一個現成的聲音模塊(Troff Player,by Vova & Serge).這里還要用到一個轉換工具< MOD2GBA >,用來把MOD音樂文件轉換成GBA的 *.c / *.h 聲音數據文件.MOD和MIDI差不多,但支持更多更強的效果.MOD可以由konvertor這個強大的軟體轉換而來.// MOD數據文件#include "song_data.h"// MOD: 播放函數文件#include "modplayer.h"// ----------- 主程序 ------------int main(){//設置屏幕模式,這里使用MODE_4SetMode (MODE_4 | BG2_ENABLE);// 初始化聲音(聲道數,音量)InitSound(2, 7);// 初始化音樂(節拍,循環)InitSong(20000, 0);while(1){// 更新音樂播放狀態UpdateSong();}}OK,就這么EZ.十. 用圖塊建立可滾動/縮放/旋轉的背景(t8)這一節主要是源程序中注釋為主,這里就不詳細說明了."gba.h"包含基本宏定義,"maths.h"是sin/cos乘256後的值數組,"main.h"包括了我們定義背景結構及操作背景的函數.程序中的地圖背景是由 同的圖塊所構成,而這些圖塊統一緊挨著放在一個圖像文件,這樣每個圖塊就會有一個索引號;地圖信息只要記錄這張地圖里共有多少個 單位(圖塊)以及每個單位對應的圖塊索引號就OK了,在例子中"gfx/tiles.h"就是圖塊大本營,而"gfx/level1.h"則是圖塊索引排列表.地圖工具為"map editor beta 4".背景的滾動/縮放/旋轉是通過一系列的簡單數學計算,修改GBA系統提供的一些背景屬性來完成,因為是由硬體來完成背景的操作(MODE_1),所以速度很快,我還有個MODE_5下直接修改像素點位置來完成旋轉的常式,待會兒大家可以比較一下.

⑺ GBA模擬器哪可以下載

我這有幾個模擬器都是電玩巴士里的你只要直接點下載就行了!
http://down.tgbus.com/soft/10496.htm
http://www.tgbus.com/gba/emu/gbaemu.htm
我用的是這個
http://down.tgbus.com/sort/208_1.htm
這里還有很多如果上面的不行的話你還可以是是這里的!!!
希望你能玩的開心!!!
這個是游戲的下載的網址
http://www.tgbus.com/gba/mic/chinese/gba/index.html
www.koudai8.com
www.pm222.com
這裡面的模擬器都更新到最新了
而且也都殺過毒
放心下載

閱讀全文

與gba游戲源碼相關的資料

熱點內容
php開發客戶端 瀏覽:998
theisle測試服怎麼搜伺服器 瀏覽:447
廣播PDF 瀏覽:218
單片機編程300例匯編百度 瀏覽:35
騰訊雲連接不上伺服器 瀏覽:223
不能用來表示演算法的是 瀏覽:861
6軸機器人演算法 瀏覽:890
手機主題照片在哪個文件夾 瀏覽:294
安卓手機後期用什麼軟體調色 瀏覽:628
cad修改快捷鍵的命令 瀏覽:242
好錢包app怎麼登錄不了 瀏覽:859
樹莓派都用python不用c 瀏覽:757
access文件夾樹的構造 瀏覽:662
安卓多指操作怎麼設置 瀏覽:658
linux樹形目錄 瀏覽:727
平方根的簡單演算法 瀏覽:898
千牛訂單頁面信息加密取消 瀏覽:558
單片機自製紅外遙控燈 瀏覽:719
伺服器最小配置怎麼弄 瀏覽:853
ibm伺服器硬體如何升級 瀏覽:923