jjsl◎ jjslshn
关注数: 44 粉丝数: 278 发帖数: 1,931 关注贴吧数: 15
哪位大佬能给看下源码, 字模位置找的不对,这个怎么纠正 一个nds的程序,c语言,移植的gba中日词典的中文显示部分。 目前问题是 字母数字没问题了,但是汉字出现乱码,就是字模位置计算错误,请哪位大佬能抽点时间帮忙看一下,怎么修正。非常感谢。 这里github点com/jjslshn/draw-for-NDS #define ASCII_BEGIN0x21 #define ASCII_END0x80 #define HZ_PAGE_BEGIN0x81 #define HZ_PAGE_END0xfe #define HZ_STARTED_CODE0x40 #define HZ_ENDED_CODE0xfe #define HEAD_SIZE0xa //**********元常量************/ #define ASCII_FONT_WIDTH 6 //单字节码字模宽 #define ASCII_FONT_HEIGHT 12 //单字节码字模高 #define ASCII_FONT_BYTES 9 //一个单字节码字模占用的空间 #define HZ_FONT_WIDTH 11 //双字节码字模宽 #define HZ_FONT_HEIGHT 11 //双字节码字模高 #define HZ_FONT_BYTES 16 //一个双字节码字模占用的空间 //**********ascii单字节码相关************/ #define ASCII_COUNTS (ASCII_END - ASCII_BEGIN + 1) //字库中单字节码个数 #define ASCII_SIZE (ASCII_COUNTS * ASCII_FONT_BYTES) //字库中单字节码占用总空间 #define ASCII_BASE HEAD_SIZE //计算单字节码字模在字库中位置时用到的偏移常量 //**********GBK双字节码相关**************/ #define HZ_BASE (ASCII_BASE + ASCII_SIZE) //计算双字节码字模在字库中的位置时用到的偏移常量 #define HZ_PAGE_COUNTS (HZ_PAGE_END - HZ_PAGE_BEGIN + 1) //字库一共支持多少个GBK页面的汉字字体 #define HZ_COUNTS_PERPAGE (HZ_ENDED_CODE - HZ_STARTED_CODE +1) //字库中的一页有多少个汉字被支持 #define HZ_COUNTS (HZ_PAGE_COUNTS * HZ_COUNTS_PERPAGE) //字库总共支持多少汉字 #define HZ_PAGE_SIZE (HZ_FONT_BYTES * HZ_COUNTS_PERPAGE) //一页汉字占用的总空间 #define HZ_SIZE (HZ_FONT_BYTES * HZ_COUNTS) //所有汉字占用的总空间 u16 HZ_FONT_LOCATE(const char *byte_ptr){//找到汉字在字库中的首位置 return (HZ_BASE + HZ_FONT_BYTES * ( *( (byte_ptr)+1 ) - HZ_STARTED_CODE + ( *(byte_ptr) - HZ_PAGE_BEGIN ) * HZ_COUNTS_PERPAGE )); }
nds烧录gba卡带软件-gbabf修正版V8.2 最近一段时间结合一些资料,datasheet终于能看懂很多了,然后再反过头来看gbabf源码,也有很多跟datasheet不符的地方,但是gbabf能够刷录下去,证明datasheet也可能有一些老版本的芯片,或者升级之类的。 因为手里有很多卡带,各种芯片的也不少,但是很多都没有在改卡天书或者是贴吧的改卡帖子里,D卡太多了不可能都收齐。 三菱的卡完全解决了0x2000错误,之前是暴力方式慢刷2000-FFFF,最终查对datasheet得知,这些卡是双扇区,一般是8个0x2000扇区,然后剩下的是0x10000扇区,所以擦除代码部分,识别三菱的之后,写了两部分的代码。速度快了比较多。 还有一些其他datasheet中的代码,核对了一下gbabf源码,做了修正,主要是自己手里有这些卡可以验证是否正确,正确的就按datasheet修改了。也有datasheet错误的,就没动。 --增加了卡带识别ID,只对支持烧录的FLash有效。(包含了burn2slot的支持所有芯片) --增加了卡带大小识别,通过datasheet查对,有些flash没有大小标志的仍旧显示0. --增加代MX大芯片识别(前提11针脚连金3) --增加三菱芯片擦除和刷写代码 --增加sharp芯片,仍旧是手上没这个芯片验证,只是datasheet做了比对修正。用到的可以反馈下情况。 --增加dump SRaM,bank1部分dump,一部分卡带可用 --增加sram写入代码,未测试 /s/1QhmwzUYHOIxrTpcnnoDGwg emlr 目前仍是学习代码阶段,查阅资料和反复看代码,对比一些,目前了解的多一些了,后面会再有思路再做改进。
burn2slot烧录gba卡带并验证游戏烧录完整性的工具gbabf burn2slot挑卡,应该是卡种类太多的缘故,软件不能涵盖全面。 其实最麻烦的是burn2slot识别为0MB的卡带,虽然能够识别出型号,且能够刷写,但是写入后会出现区块错误,典型的表现就是运行白屏。如果你的卡只能写入并运行一些简单游戏,可能是这个原因,但也可能是下面这个的原因:也有一些卡带是自身就存在坏块的,写入之后就会出现错误,如果坏块太多就不能玩了。 识别为0MB的卡带咋办,我还真没办法,因为如果识别为0了,就只能废了,因为burn2slot会直接擦除了写入。原来的东西没了,卡又写不准,就基本废了。比如我手里的2张蓝透外壳的烧录尖兵2代256的,就是如此,废掉了。 但是,如果你的卡识别没问题,还会白屏,那就是坏块的概率更高,这个我这两天基本上能够确定和解决。并且,烧录的游戏到底对不对,会不会让你玩一半就卡死,接下来,就要用到工具gbabf。均是nds/ndsl下的操作。 首先,卡带都是开始0x8000000,实际就是gbabf下的00000000. 烧录完毕之后的卡带,进入gbabf中,使用compare file检查与tf卡上烧入rom文件,如果出现不同,那就是出现了坏块或者是burn2slot识别错误,如果坏块,位置在ff00000之后,那就还好,证明卡前面没问题,使用16进制计算一下,知道卡以后烧录控制多大以内的。如果靠前了,就判断下是坏块还是burn2slot造成的吧,不管怎么说,只能换别的方法了(比如火线之类的去看看吧) 最主要的,gbabf可以dump卡带,但是最大只能32MB,就是256Mb。涵盖绝大多数游戏,除了一小部分汉化扩容卡不行,基本满足所有单游戏卡带dump需要。 我主要最近是用于烧录的比对,dump烧录后的游戏查看烧入部分的坏块多少,因为gbabf里面的compare只能发现错误的起始位置,不能显示错误的多少。 github.com/nflsilva/nds-gbabf
分享下我xz2c变砖的经过,也给玩耍的朋友们一些思路吧,日版doco 玩了几天的xz2c砖了,很是伤心啊。日版强刷只到9.0,这个基础上root和刷机用了几天后,就想升级到10.0. 官版系统非常的能待机,作为备用机,我一直使用原版系统root精简。 doco有个ota升级通道,强刷newflasher官版后,不要插卡,直接连wifi手机ota可以升级到10.0初版52.1.B.0.188,然后再次升级到0.266. 并且在bl解锁下是可以实现的。我提取了ota包,在data/ota_package_de中,初版900多M,升级包200多M,当然我也尝试了去解包playload.bin,但是正如xda的信息那样,没有办法解开,即ota包没有任何利用价值。因为如果twrp直接把包放回ota文件夹,系统升级app会检测到twrp存在过的痕迹,会报错且手机无法再完成ota升级,需要从新强刷一遍固件。 所以10.0只有一种root的可能,就是全新升级到266后,twrp备份boot分区,面具再去破解。当然我还没来得及尝试就砖了。下面说清如何 xz2c的a/b分区是比较特殊的,我之前搜来搜去的资料,以为只有boot、system、vendor三个分区是分了ab,大意的从10.0下把激活分区做了变更,砖了。 我再次查了之前的存档发现,xz2c的bootloader分区竟然也分了ab: (bootloader) partition-type:xbl_b:raw (bootloader) partition-size:xbl_b: 0x3D5000 (bootloader) partition-type:xbl_a:raw (bootloader) partition-size:xbl_a: 0x3D5000 并且ota升级竟会删掉非激活分区的bl,而不是百度搜到的是bl读取参数选择boot分区ab值。我的xz2c毁在这里了,原版想10已经升级之下,回到9去操作oem分区的修改(oem分区竟也分了ab),然后激活非活动分区后,由于没有bl的存在,造成长红、pc不认,按键无任何反应。彻底砖了。 以上是大致的耍机过程,xz2c还是值得一玩的,希望给在折腾的朋友们一点启示吧。
n3dsll新大三原充电口位置改type-c充电口分享 因为n3dsll的充电口就是2个线,一正一负,然后每次出门还要单带充电线,就一直想着改了它。也有看到引出到其他地方开孔的,我想的是直接在原来位置上改动下。 开工,拆机,弄出主板来。(温馨提示:里面的排线有3种,一种是有压头的,需要掰开,一种是直插的那种2线的,直接拔下来。还有卡口的。 建议没拆过得到,好好问问再动手,我就把home的那个以为是卡口的掰了下结果不能用了,自己焊回去才修好的)吸锡器直接吸,然后就弄下来了原来的充电口。 这个我拆了它的支撑做type-c板的固定腿用了。原来的插口只要掰动尾部的两个卡口,就能分离金属和塑料座。这里两个就是卡住的,掰开我取了它的两个后腿,然后用钳子捏直一边,成7字形状。两个都弄下来了然后焊接到type-c这个两侧的焊点上,焊上去之前,上下两面都上些焊锡,会很牢固然后两个弄好就这样。我是扣着弄上去的,所以没用软线,直接又用了原装充电口里面的一个充电针头。算好位置,跟type-c的第2根针头对齐,2线是正极,碰一起也没事,不要碰到其他的针上。位置高度跟两个固定脚对齐,因为主板上这三个是对齐的然后正好扣上去原来的位置。原来的正极是右侧的针脚。最好是自己量一下。然后反过来焊接,留齐,上面露出的位置刚好把金属部分对齐到了原来充电座的底部。拆了个万能充的金属电极片,拿来固定一下这里只要稍微扩一下就可以,不需要破坏很多。离两个原来的快接孔还远,没有弄穿它们。扣上,完事。有一个地方会被破会,就是音量孔这里的横槽塑料,因为是先扣上的充电口那边,这边会强行按进去,如果一次成功(没有忘记插该插的排线,而且排线插的都到位),就不再需要拆机了,这里也不会破坏。如果还要再拆机,这里建议盒盖之前就破断一边。欧了
日版XZ1C分享资源(四)- 未root的9.0的精简和volte。 我觉得整合下分享的9.0未root的资源,然后再把其他大神的教程融合一下,最后日版的机子如下操作后,用起来就基本上完美了(暂时)。需要的工具放资源。 操作步骤 1.nesflasher刷原版47.1.F.1.105固件,刷前作如下操作:删除自带的如下五个文件(amss_fs_1.sin、amss_fs_2.sin、amss_fsg_X.sin、oem_X.sin、persist_X.sin); 将47.2.B.5.38中的以下四个文件移入47.1.F.1.105固件文件夹中(amss_fs_1.sin、amss_fs_2.sin、amss_fsg_X.sin、oem_X.sin)。刷机,拔线重启。 ---------以上固件到我分享的前面资源中找到。 2.获取临时root权限:手机设置开启开发者选项,并启用usb调试,下载附件“临时root文件”,解压;先运行1.bat,不要关闭窗口,直接将1.txt中内容复制粘贴入cmd窗口中,2次回车后关闭窗口;运行2.bat获得root权限(手机进入mask中,两个软件都是绿色安装状态就对了,如果不是两个绿的,重启手机重复整个步骤)。 3.手机连pc拷入rootexplorer、MLC-SemcCalendar-release、SonyBrowser;安装rootexplorer,获得读写权限后,进入oem分区,删除以下6个文件夹:app(保留空文件夹)、app-deleteable、priv-app、etc、media、docomo。并拷贝手机中的MLC-SemcCalendar-release、SonyBrowser进入oem分区的app中。 4.按照资源中的volte教程,处理carrier_policy.xml。 5..nesflasher刷原版47.2.B.5.38固件,刷前作如下操作:删除自带的如下四个文件(amss_fs_1.sin、amss_fs_2.sin、amss_fsg_X.sin、oem_X.sin、persist_X.sin),完成后启动。 -----------------以上完成后重启手机。 6.连接pc开启usb调试,下载运行资源中的iO_Box_Xperia_byCZ_V1.4.0卸载google全家桶,完成后关闭,再运行里面的“精简.bat”完成精简。 然后就ok了。 手机如果重置,只要再运行6步骤即可。 资源 p删an.baid删u.com/s/1e-B5t删0MHCOckAGLnyLIqBA 提取:1pgv
日版XZ1C-DOCOMO原版9.0系统不root的精简 基本搞定,弄完的效果跟root之后精简的接近,当然,如果恢复的话,还需要再从新adb pm uninstall。但是清单如下当让方便很多了。 彻底操作,需要先在8.0系统下获取临时root权限,处理掉oem分区的内容,有另一个帖子说过了。之后就是开启usb调试,进行精简了。清单指令如下,保存为bat执行。 adb shell pm uninstall --user 0 com.android.chrome adb shell pm uninstall --user 0 com.android.contacts adb shell pm uninstall --user 0 com.android.facelock adb shell pm uninstall --user 0 com.android.vending adb shell pm uninstall --user 0 com.android.hotwordenrollment.okgoogle adb shell pm uninstall --user 0 com.facebook.appmanager adb shell pm uninstall --user 0 com.facebook.system adb shell pm uninstall --user 0 com.felicanetworks.mfc adb shell pm uninstall --user 0 com.felicanetworks.mfm adb shell pm uninstall --user 0 com.felicanetworks.mfm.main adb shell pm uninstall --user 0 com.felicanetworks.mfs adb shell pm uninstall --user 0 com.felicanetworks.mfw.a.boot adb shell pm uninstall --user 0 com.felicanetworks.mfw.a.main adb shell pm uninstall --user 0 com.google.android.apps.docs adb shell pm uninstall --user 0 com.google.android.apps.docs.editors.docs adb shell pm uninstall --user 0 com.google.android.apps.docs.editors.sheets adb shell pm uninstall --user 0 com.google.android.apps.docs.editors.slides adb shell pm uninstall --user 0 com.google.android.apps.maps adb shell pm uninstall --user 0 com.google.android.apps.photos adb shell pm uninstall --user 0 com.google.android.apps.restore adb shell pm uninstall --user 0 com.google.android.apps.tachyon adb shell pm uninstall --user 0 com.google.android.apps.turbo adb shell pm uninstall --user 0 com.google.android.apps.work.oobconfig adb shell pm uninstall --user 0 com.google.android.backuptransport adb shell pm uninstall --user 0 com.google.android.calendar adb shell pm uninstall --user 0 com.google.android.configupdater adb shell pm uninstall --user 0 com.google.android.ext.shared adb shell pm uninstall --user 0 com.google.android.feedback adb shell pm uninstall --user 0 com.google.android.gm adb shell pm uninstall --user 0 com.google.android.gms adb shell pm uninstall --user 0 com.google.android.gms.policy_sidecar_aps adb shell pm uninstall --user 0 com.google.android.googlequicksearchbox adb shell pm uninstall --user 0 com.google.android.gsf adb shell pm uninstall --user 0 com.google.android.music adb shell pm uninstall --user 0 com.google.android.onetimeinitializer adb shell pm uninstall --user 0 com.google.android.partnersetup adb shell pm uninstall --user 0 com.google.android.printservice.recommendation adb shell pm uninstall --user 0 com.google.android.setupwizard adb shell pm uninstall --user 0 com.google.android.syncadapters.contacts adb shell pm uninstall --user 0 com.google.android.tts adb shell pm uninstall --user 0 com.google.android.videos adb shell pm uninstall --user 0 com.google.android.webview adb shell pm uninstall --user 0 com.google.android.youtube adb shell pm uninstall --user 0 com.google.ar.core adb shell pm uninstall --user 0 com.nextbit.app adb shell pm uninstall --user 0 com.sony.tvsideview.videoph adb shell pm uninstall --user 0 com.sonyericsson.setupwizard adb shell pm uninstall --user 0 com.sonyericsson.startupflagservice adb shell pm uninstall --user 0 com.sonyericsson.updatecenter adb shell pm uninstall --user 0 com.sonymobile.android.addoncamera.soundphoto adb shell pm uninstall --user 0 com.sonymobile.androidapp.machichara adb shell pm uninstall --user 0 com.sonymobile.android.externalkeyboardjp adb shell pm uninstall --user 0 com.sonymobile.assist adb shell pm uninstall --user 0 com.sonymobile.dualshockmanager adb shell pm uninstall --user 0 com.sonymobile.email adb shell pm uninstall --user 0 com.sonymobile.entrance adb shell pm uninstall --user 0 com.sonymobile.enterprise.service adb shell pm uninstall --user 0 com.sonymobile.getset adb shell pm uninstall --user 0 com.sonymobile.getset.priv adb shell pm uninstall --user 0 com.sonymobile.moviecreator adb shell pm uninstall --user 0 com.sonymobile.moviecreator.rmm adb shell pm uninstall --user 0 com.sonymobile.pobox adb shell pm uninstall --user 0 com.sonymobile.pobox.skin.easy adb shell pm uninstall --user 0 com.sonymobile.pobox.skin.gummi adb shell pm uninstall --user 0 com.sonymobile.pobox.skin.standard adb shell pm uninstall --user 0 com.sonymobile.pobox.skin.wood adb shell pm uninstall --user 0 com.sonymobile.scan3d adb shell pm uninstall --user 0 com.sonymobile.simlockunlockapp adb shell pm uninstall --user 0 com.sonymobile.simplehome adb shell pm uninstall --user 0 com.sonymobile.susrescheck adb shell pm uninstall --user 0 com.sonymobile.themes.sou.cid19.silver adb shell pm uninstall --user 0 com.sonymobile.themes.sou.cid20.blue adb shell pm uninstall --user 0 com.sonymobile.themes.sou.cid21.pink adb shell pm uninstall --user 0 com.touchtype.swiftkey adb shell pm uninstall --user 0 com.swiftkey.swiftkeyconfigurator adb shell pm uninstall --user 0 jp.co.fsi.fs1seg adb shell pm uninstall --user 0 com.nttdocomo.android.osv
1 下一页