如何编译rom_手机ROM是什么意思

如何编译rom,手机ROM是什么意思?

手机ROM的意思是一种只读内存镜像,常用于手机定制系统玩家的圈子中。

1、一般手机刷机的过程,就是将手机ROM写入只读内存的过程。 常见的手机ROM有img、zip等格式:

①前者通常用fastboot程序通过数据线刷入(线刷),故img镜像被称为线刷包;

②后者通常用recovery模式从sd刷入(卡刷),zip镜像被称为卡刷包。

2、因为Android系统的开放性,所以大多情况下手机ROM都是指代Android系统的各种发行版。

一般分为两大类:

①一种是出自手机制造商官方的原版ROM,特点是稳定,功能上随厂商定制而各有不同;

②另一种是开发爱好者利用官方发布的源代码自主编译的原生ROM,特点是根据用户具体需求进行调整,使ROM更符合不同地区用户的使用习惯。

什么叫单片机?

单片机(MCU)是由运算器(ALU)、控制器、存储器(ROM、RAM、EEPROM)、输入输出端口(I/O)等组成的一种集成芯片。

目前常见的两种单片机架构-冯.诺依曼架构(51单片机)和哈佛架构(stm单片机、pic单片机等)。

单片机本身是不带程序的,要实现相应的系统功能则需要对单片机进行编程。目前大部分单片机都支持汇编语言、C语言编程。工程师利用汇编语言或者C语言编写的程序就相当于赋予单片机的灵魂。通过编程可以实现相应的系统功能。

下面通过对比人体结构来讲一下单片机内部结构的功能。

1、单片机的时钟相当于人类的心脏,为单片机提供了时基脉搏。

2、单片机的I/O口则相当于人体的神经,单片机通过I/O口向外部发送和获取信号。而通过在外部添加各种传感器等外设,如光传感、湿度传感以及蜂鸣器等,就相当于给单片机系统添加了眼、鼻、嘴等五官;通过添加电机控制等设备就相当于添加了四肢。

3、单片机的ROM等存储器,也相当于大脑的记忆区。

4、单片机除了以上必须有的功能外,通常还会有一些外设:

定时器,相当于闹钟,定时计数作用。

ADC,采集模拟电压。

IIC/SPI,通讯接口,芯片间近距离通信,相当于人与人当面聊天。

USART,异步串行口通讯,485/232远程通讯使用,相当于人远距离通话。

综上,通过对单片机编程可以实现对整个系统的控制,单片机则相当于系统的大脑。

rom中怎么写数据?

在ROM中写入数据可以通过以下几种方法:1. 在程序的编译阶段直接将数据写入到ROM中。这种方法适用于静态不变的数据,比如常量、配置信息等。在编写程序时,常常会使用类似于`const`关键字的语法将数据定义在代码中,编译器会根据定义的位置和类型,将其直接存放在ROM中。2. 使用专门的ROM编程设备或工具。这种方法需要借助硬件设备将数据写入ROM中。一般情况下,需要将数据存储到某种特定格式的文件中,然后通过ROM编程设备将文件中的数据写入到ROM中。这样的设备通常需要专业知识和技能,且使用成本较高,适用于量产或专业需求。3. 使用专门的编程软件或开发工具。这种方法需要使用特定的编程软件或开发工具,通过连接ROM芯片和计算机,将数据写入到ROM中。这些工具通常提供了图形化界面或命令行接口,方便用户进行数据写入的操作。无论使用哪种方法,在写入数据前需要先了解ROM芯片的类型、规格和写入方式。此外,需要注意ROM的写入操作可能会对数据完整性和一致性产生影响,因此在进行ROM写入操作时要特别谨慎。

fastboot是什么文件?

1. fastboot是一个用于在计算机和Android设备之间进行通信的工具。2. fastboot是一个命令行工具,可以通过USB连接将计算机与Android设备进行通信。它可以用于刷写固件、解锁引导程序、刷入恢复模式等操作。因为它直接与设备进行通信,所以在一些需要对设备进行低级别操作的情况下,fastboot是非常有用的。3. 此外,fastboot还可以用于在开发过程中进行调试和测试,例如在开发自定义ROM时,可以使用fastboot将编译好的ROM刷入设备进行测试。它也可以用于解决一些设备出现的问题,例如刷入官方固件来修复系统错误。总的来说,fastboot是一个非常实用的工具,可以帮助开发者和用户在Android设备上进行各种操作。

如何把手机游戏汉化?

简单的说,汉化的工作就是把游戏中所有的文本都替换成中文的。在一个手机游戏里,修改文本大概存在以下3种形式:

图片字。 就是指所有以图片形式存在的文本,比如游戏的splash,文字背景或特效等等。替换的方法很简单,找个美工做图,然后直接把原图换掉。有很多过去的游戏都是把这些图片不经过任何处理或者只去掉扩展名放到jar里,替换这些很简单;但是为了减容,现在的很多游戏则是把n张图片打包放在一个文件里,要准确的替换这些文件就有些麻烦了。

首先要弄清文件的储存格式。按程序的画法,可以大体分为drawImage和drawRGB两种形式。

drawImage就是直接把图片打包,不破坏任何图片的格式,drawRGB则是以RGB格式保存图片的象素信息。前者比较容易,除了PNG以外,有的手机还支持GIF,JPG等格式,只要保证图片格式正确就可以了。后者稍微麻烦一些,因为形成的RGB象素信息的数组很大,有的还经过压缩,因此准确的替换会比较困难。

写在程序里的字符串。 处理方法也很简单,反编译源文件之后替换相应的字符串就ok了。别问我什么是反编译,这贴里不讲编译原理。再详细的说一下,有2条路,第一就是直接修改class文件。直接把汉字写在源程序里的话,生成的class文件里的汉字字符串应该是标准的utf8编码,一个简单的做法就是自己编译一个写好中文字符串的java文件,再把生成的class文件里面对应的字节copy到原class文件里。第二就是反编译之后生成的java文件,由于扰码的原因,会有地方编译不过,一般是因为反编译后生成的文件有问题。由于扰码工具的不同,存在的问题也不一样。有的地方没有反编译成功,还有的地方使用了伪汇编指令(如goto等),有的构造函数的名称被隐藏。。等等,还有的扰码工具还会故意增加不合理代码来给反编译设置陷阱-__-|| 因此就得进行很麻烦的修改。。。当然改来改去也就是那么几种错误,就是很麻烦。扰码和反编译技术是一魔一道,没有万全之策。总之在没有彻底排除扰码的干扰的时候,不推荐用这种方法。

写在外部数据里的字符串。 如果这个游戏的程序结构好的话,所有的字符串都应该是放在外部的某个文件里的。不知道是哪个文件的话,直接把所有文件都用文本编辑器打开查看就能发现储存字符串的文件。很多游戏都是用readUTF()这个通用函数来读取文件中的数据的。因此确保所用的新字符串都是utf-8编码,由于没有原xml文件来重新生成这个数据文件,可能需要通过替换字符串的16进制编码才能正确的替换原来的字符串。一般的说,uft-8每个字符比unicode大一个字节,因此替换完成的字符串文件可能会比原来要大一点。如果不是utf8格式,也有可能是unicode或其他格式,但如果程序本身都没有考虑到多字节文本的读入,那么除非修改源代码否则是无法解决的。

到此基本上大功告成,替换这些字符串所带来的jar大小和游戏运行时内存的变化可以忽略不计。最后一步,请确认要运行此程序的手机支持中文:)

总之,没有自带字库真是一件让人高兴的事。拿到一个GBA rom,第一件事就是破解,但拿到一个手机游戏呢?直接解开查看各文件就是了。呵呵,做一个GBA汉化,至少需要破解,翻译,美术,而做一个手机汉化呢,文本量不大,图片不多,一个人足够。还有最重要的一点,国内没有一家GBA游戏制作公司,想玩到中文游戏只能靠fans自己动手,但是手机游戏的游戏正相反,国内的制作公司很多。但尽管如此,大部分的中文游戏仍然是纯粹的垃圾,和国外的大牌公司制作的游戏相比真是不堪一击。有兴趣的同学大可以自己试一试,因此我觉得,本文的意义也不是一点都没有吧

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者M管理员
    暂无讨论,说说你的看法吧