请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

新模拟器共享论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1
查看: 127|回复: 3

[GBC/GB/GBA] [原创GBA教程]制作一个图片ROM(GBA篇)

  [复制链接]

签到天数: 1223 天

[LV.10]以坛为家III

评论头像

发表于 2020-2-3 22:22:18 | 显示全部楼层 |阅读模式

当你HACK了一个游戏,想给HACK ROM加个介绍或版权声明之类,那么你就需要这篇文档

这篇文档会说如何创建一个图片GBA ROM,之后请各位动脑子如何加入ROM吧

(一)准备工具:
1.一个汇编工具armips或goldroad,goldroad已经好久没更新了,armips是新出的汇编工具,支持arm和mips汇编,本篇资料以armips为例

ARMIPS作者是Kingcom
ARMIPS源代码github页面:https://github.com/Kingcom/armips
ARMIPS Automated builds页面: http://buildbot.orphis.net/armips

2.一个将图片转换为二进制bin文件的工具bimbo 1.3

bimbo 1.3作者是Aleksi Eeben

bimbo 1.3下载页面:https://www.gbadev.org/tools.php?showinfo=167

3.一个windows自带的画图或其他图形编辑工具

4.一个windows自带的记事本或其他文本编辑工具(例如Notepad3)

(2)使用画图制作一个单位为像素的240x160大小的图片,另存为16色或256色的BMP



(3)使用bimbo 1.3把BMP导出为mode 3的文件,文件名随意,我导出的名字是16pic.bin



(4)新建一个文本,我起名为16pic.asm,文本内容如下:
  1. ;创建新文件16pic_demo.gba,文件起始地址是0x08000000
  2. .create "16pic_demo.gba",0x08000000
  3. ;设置为GBA架构
  4. .gba
  5. ;设置为ARM模式
  6. .arm
  7. ;设置起始地址是0x08000000
  8. .org 0x08000000
  9. ;创建长度为0xC0文件头数据区域
  10. .area 0xC0
  11. ;填充文件头数据
  12. .fill 0xC0,0x00
  13. ;区域结束
  14. .endarea
  15. ;主程序
  16. main:
  17. ;设置屏幕模式3,BG2开启
  18.         mov r0,0x04000000
  19.         mov r1,0x0400
  20.         add r1,r1,0x3
  21.         strh r1,[r0]
  22. ;设置VRAM起始地址
  23.         mov r0,0x06000000
  24. ;设置图片地址
  25.         ldr r1,=pic
  26. ;设置数据长度为0x9600
  27.         mov r2,0x9600
  28. ;传送图片数据到VRAM
  29. loopl:
  30.         ldrh r3,[r1],0x2
  31.         strh r3,[r0],0x2
  32.         subs r2,r2,0x1
  33.         bne loopl
  34. ;进入死循环
  35. infin:
  36.         b infin
  37. .pool
  38. ;导入图片二进制数据
  39. pic:
  40. .incbin "16pic.bin"
  41. ;在0x08000000地址设置跳转到主程序入口
  42. .org 0x08000000
  43.         b main
  44. ;关闭文件
  45. .close
复制代码

保存!

(5)把16pic.asm和16pic.bin复制到armips目录下

(6)打开windows的命令提示符,进入armips所在目录,输入armips 16pic.asm,按下Enter键后可看到armips目录下生成的"16pic_demo.gba"文件

(7)用GBA模拟器打开16pic_demo.gba观看效果



关于GBA各模式资料请看GBA系统参考.CHM(张晓波翻译)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

2

查看全部评分

[发帖际遇]: 一个袋子砸在了 speedwolf 头上,speedwolf 赚了 2 个 魅力. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 84 天

[LV.6]常住居民II

评论头像

发表于 2020-2-4 00:13:06 | 显示全部楼层
张晓波这个听着有点熟耳
回复 支持 反对

使用道具 举报

签到天数: 240 天

[LV.8]以坛为家I

评论头像

发表于 2020-2-4 11:29:33 | 显示全部楼层
看不太明白,但支持一下大佬!
回复 支持 反对

使用道具 举报

签到天数: 1114 天

[LV.10]以坛为家III

评论头像

发表于 2020-2-4 12:02:54 | 显示全部楼层
这个教程相当有用啊,感谢大佬分享
[发帖际遇]: 一个袋子砸在了 卡维纳吉 头上,卡维纳吉 赚了 5 个 魅力. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

新模拟器共享论坛X

翻译WIKI大量成长力和金钱奖励!

访问http://wiki.nesbbs.com,翻译词条到论坛指定区,每一个完成翻译并有采纳的,有成长力等奖励哟...

点击查看详情 

QQ|申请友链|小黑屋|手机版|Archiver|新模拟器共享网 ( 辽ICP备09001055号|繁體中文   

GMT+8, 2020-2-29 05:45 , Processed in 0.109200 second(s), 31 queries , XCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表