Pokemon Center | 口袋中心 以口袋妖怪为主题并带有其他动漫游戏的讨论

 找回密码
 加入口袋中心
搜索
查看: 10256|回复: 92

No$gba 2.8e【gaming/debug】

  [复制链接]

3667

帖子

91

现金

366

勋章券

超级版主

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
17777
QQ

时光印记Lv.3挥金如土勋章水中王者勋章Lv3Omega红宝石发售确认纪念章Alpha蓝宝石发售确认纪念章金银好CP-Ho-oh/LUGIA【里】金银好CP-Ho-oh/LUGIA【真·正常向】异化型LUGIA【M超梦版】

发表于 2014-10-28 23:29:50 | 显示全部楼层 |阅读模式
本帖最后由 jiangzhengwenjz 于 2017-4-20 11:20 编辑

Original Page:http://problemkaputt.de/gba.htm
no$gba是功能强大的nds/gba的模拟器,同时其debug版本是改版者学习ASM的必备。顺便把Gaming版的也传了百度,分windows和dos版。
以下介绍↓↓↓↓↓(很不想看?下载在帖子末尾↓↓)
The Main Debug Screen consists of Code, Data, Stack, and Registers windows.
The Code window displays disassembled code and/or source code, the built-in assembler allows to modify, or NOP-out, single opcodes. The status bargives additional information on the currently selected opcode, for example: "[3001248h]=0114h" for a "ldrh r0,[r1]" opcode. Arrow up/down symbolsindicate the jump direction (backwards/forwards, ie. loop/skip) for any branch opcodes, the arrow right symbol indicates jumps to sub-routines. Automatic 'true/false' comments are generated when the current instruction is a conditional opcode, making it much easier to determine if a jump opcode is about to be executed.
The memory addresses of code/data/stack windows can be changed by cursor keys, mouse scroll bars, by search function, or by goto address (or goto label) functions.
Another very comfortable feature is the 'follow' function: Pushing right cursor key moves the code window to the target address of the currently selected branch opcode. On load or store opcodes it moves the data window to the target address. Left cursor key moves the window back to the old location(s). That feature also works with return values in stack window.
The Stack window gives a list of pushed and allocated words, including detailed stack information for each word, for example: "pushed r7", "allocated [1Ch]", or "return from game_initialization".
The Data window allows to view (and modify) a memory dump in hexadecimal and ascii text format.
The Registers window displays the CPU registers and flags.
The debug user interface is based on nine years of programming, experience, fine tuning, and feedback from users.

Source Level Debugging and Profiling
The no$gba disassembler displays any labels that are used in source code (and of course, that labels are also recognized in user input). MixedThumb and Arm opcodes are automatically disassembled as such. Additionally, your source code can be displayed in stacked view mode, that is, the associated disassembled opcodes are displayed below of each line of source code. For better legibitly, the source lines are drawn by light blue background color, moving the cursor onto a source line displays the corresponding line number and source filename in status bar.
No$gba supports debug info in .ELF, DWARF2, and .SYM formats.
No$gba displays the execution time in clock cycles each time when starting and stopping the emulation, eg. after executing a sub-routine. The power gauge displays the current CPU load (assuming that unused CPU time is spent in low power state). The nocash clock cycle comments display the execution time for each disassembled opcode, different view modes are available - it can display formulas (eg. "1N+3S+1I") (optionally split into separate code and data cycles), and it can resolve that formula into actual number of clock cycles (by automatically recursing the current address and waitstate configuration, etc. - the results are kinda interesting: some opcodes take only 1 cycle, others may eat up about 100 cycles). And, it can calculate the sum of cycles for a sequence of instructions.
Profiling and clock cycle counting allows to make faster and smoother software, and to free up more CPU time - either for battery power saving, or for additional effects.


Conditional Breakpoints & Automatic Warnings
The debugger covers a wide range of breakpoints, which are able to 'freeze' the emulation - even when debugging interrupt handlers. Aside from normal 'stop' breaks, it also supports conditional breaks (for example when writing a specific value to specific address, or when writing or changing a value inside of a specified memory area). Also, there's possibilty to define breakpoints (and text messages) in source code. Of course, basic operations like tracing (either single opcodes, or complete sub-routines) and stopping when reaching the currently selected line are supported as well. Aside from user configured breaks, the debugger also includes built-inwarning messages which are (optionally) notifying the user of suspicious operations, such like writes into ROM, accesses of invalid or mis-aligned memory addresses, etc. These features are helpful to locate both 'obvious crashes' as well as 'hidden bugs' which may show up only in certain situations, or only in later builts - or not until the game is released (in fact, no$gba finds bugs in most distributed commercial titles).
NB. Such features are likely to be found only in software debuggers - which are more flexible than hardware debuggers.


General Emulation Features
In multi-player mode, up to four GBAs can be linked together by emulating normal, multiplay, or automatic cable connection, this feature also supports single gamepaksoftware. The video engine supports real blurred colors and dark intensities, giving the same picture as on real GBA/NDS displays, the screenshot function allows to capture the current picture to clipboard or file. The stereo sound emulation provides exact reproduction of all six sound channels. The snapshot function allows to save and restore the state of the complete hardware to or from file. No$gba emulates most GBA/NDS BIOS functions, and can be upgraded by installation of the BIOS rom-image (details here), which provides complete emulation of all functions and highest timing accuracy. Of course, no$gba can skip the BIOS intro sequence - you can to start your cartridge directly, without having to see the nintendo logo each time when testing a new built.
Forget everything that you have experienced with normal emulators. No$gba is not like that.


I/O Map and VRAM Viewer
The I/O Map Window lists the name, address, and content of all hardware registers, including undocumented ports. Additionally, the separate control bits are resolved for each register (eg. Bit6 Irq=On, Bit7 Start=Off). All values are, optionally, updated also when the emulation is running. The information can be viewed either in a tabbed window (with tabs for Video, BG0-3, Sound, DMA, Timers, and Other registers), or in all at once in one huge single window, (requires at least 1024x768 pixels screen resolution). The built-in VRAM Viewer allows to view the various BG layers, the BG and OBJ tile memory, OAM content, and color palettes. Moving the mouse arrow onto a specific OBJ or BG tile displays a zoomed copy of that tile, as well as associated attributes (screen position, memory address, color depth and palette, OBJ mode and size, flip or scaling parameters, etc.) BG layers can be viewed with/without grid. A 'laser arrow' indicates the screen position of the currently selected OAM entry.
That is punk rock software debugging - it's a bit more than a gameboy connected to a PC user interface by some cables.


Accuracy
Emulation has been programmed with love in detail. Most operations are having a timing accuracy of +/-0 clock cycles. Opcodes and hardware ports are giving 1:1 same results, bits, and flags as real hardware. The emulation covers undocumented ports, and exactly emulated 'garbage' readback from unused memory areas (which is actually required for many - apparently badly debugged - games). Of course, it is nearly impossible to make a perfect emulator of total accuracy. At least, I am trying to. If you should come accross any details which are not working exactly as one real hardware, please let me know about it! Even if it is only a small glitch and looks unimportant. I'd even love to reproduce the undefined MUL carry flag, even though it is probably not - intentionally - used by any games.
I'd recommend to run your game frequently on real hardware (eg. by using flash-cards) for 100% proof bug-testing.


Performance
Most of the user interface was designed, and works smoothly on a 66MHz computer. That guarantees no nasty surprises in case that you don't own one of the latest 16GHz models. And, because the debugger does not need to communicate with external hardware it is likely to be ways faster than hardware debuggers. Emulation of the GBAs RISC processor takes up more CPU load, most GBA games are working smoothly and at full speed on 500Mhz computers. If you do have a faster PC you may use the additional CPU time to emulate up to four GBAs at once - in multiplayer mode, or to let the emulation run at quad speed on keystroke (eg. to skip intro sequences).
All no$gba program code, both emulation and user interface, is all hand-crafted and pure assembler code.


Additional Features
The built-in manual contains help about debugging functions (see help html version), as well as complete specifications for the GBA/NDS hardware (see specs html version). The built-in source code assembler provides two-way interfacing with the built-in text editor. The upload function allows to run small programs (max 256K) in Work RAM of attached GBAs by simple xboo cable connection, that feature is significantly faster and more comfortable than 'flash-cards' even though the limited size restricts it to small games (or to fragments of larger games, it might be suitable to test a sound engine or intro sequence, for example). Also, a disassemble to file function is included.

图片:(debug的图片中间有一张)

No$gba Screenshots
NDS 3D Viewer shows a list of the current frame's geometry commands, and position/color/texture/lighting information for the selected command.

Red Laser Lines are shown for the polygons of the currently selected begin_vtxs.

Laser Pointer shows a line from the center of the screen to the selected vtx_coordinates.


New Nindendo DS I/O Map windows with information about all documented and undocumented ARM9 and ARM7 ports.



Profiler Window displays number of calls to each procedure, and the number of clock cycles being spent in each procedure (optionally including cycles being spent in sub-routines). Allows to locate inefficient time-consuming procedures and to improve the program.

Tree shows which procs have called which sub-routines. Sound/blanking DMAs and IRQs appear as root entries.
Path shows current branch of the tree, from entrypoint (top) to current proc (bottom), including any currently executed (nested) interrupt handler(s).
List shows profiling information. By clicking on the column headers the table can be sorted by name, address, cycles, and number of calls.



Main Debugscreen at medium font size, source code with light blue background, small game screen in upper/right, this example uses native disassembler syntax.
Patched "Courier New" Font uses large arrow symbols, and different shapes for "l" (lowercase letter) and "1" (numeric digit).

Arrow Symbols indicate jump direction. Forward, Backward, or Call to sub-routine.

During Tracing the debugger displays the current opcodes condition (true or false), indicating if the opcode is about to be executed or not.


Game Screen can be freely resized, optionally preserves aspect ratio and 'full' pixels. Up to four gameboys can be debugged with multiplayer cable emulation.

Library Data Banks last updated 24 Nov 2150.

About Box displays version number, homepage, and registration information.
Email address allows registered developers to send constructive feedback, questions, comments, suggestions, and bug reports.


Using small fonts optionally provides more space for other windows, and works fine at 640x480 pixels screen resolution. This example uses nocash disassembler syntax, which does among others support "0NNNh" numeric format.
Built-in Hardware Specifications allow to review important details about registers, memory, and opcodes at any time during debugging (right picture).


GBA I/O Map windows with information about all existing GBA ports. Optionally, the six windows can be displayed as a single large window.


The VRAM Viewer allows to view the various BG layers, Tiles, Objects, and other video memory.
Moving the mouse arrow on a specific tile or object gives more information.


The Setup Screens allow to customize the program.
Additionally, further options are found in VRAM Viewer screens, Debug and Emulation windows can be freely resized.


Debug Messages are text strings that can be defined in source code. The debugger resolves parameters contained in the message strings.


Warning Messages notify the user about invalid or suspicious operations. The debuggers code window is automatically moved to the fault location.



Xboo Utility Function uses simple parallel port cable connection to upload multiboot files into GBA work RAM, and to write rom-images onto any flashcard in GBA cartridge slot.
Highspeed Checksum Mechanism used to detect/skip unchanged flashcard sectors to reduce write/erase times.

Lifetime Window for EEPROM and FLASH backup memory - logs number of writes per sector.



实测:


百度盘下载地址:(无后缀的是DEBUG版本)
游客,如果您要查看本帖隐藏内容请回复




评分

参与人数 1积分 +27 现金 +27 收起 理由
海のLUGIA + 27 + 27 甚好~

查看全部评分

回复

使用道具 举报

287

帖子

7715

现金

7

勋章券

黑暗山洞中的修炼

Rank: 13Rank: 13Rank: 13

积分
2724

时光印记Lv.1水中王者勋章Lv1

发表于 2014-10-29 11:14:19 | 显示全部楼层
似乎是有用的东西,有必要试一下.
回复 支持 反对

使用道具 举报

861

帖子

104

现金

1

勋章券

黑暗山洞中的修炼

Rank: 13Rank: 13Rank: 13

积分
2661
QQ

No.281 奇鲁莉安论坛十周年纪念物黑白系列男主角【白日版】黑白系列女主角【白日版】黑白系列NPC【白日版】水中王者勋章Lv1时光印记Lv.1ORAS活动限定勋章Ver.1


沙奈朵 Lv:64
发表于 2014-10-29 11:32:34 | 显示全部楼层
是啊,宣布免费已经有一段时间了,具体更新方面和以前的目录还是不一样了,看这里也是可以的,目前最新版本的确是2.7c,之前是最新版本需要付钱支持下载老版本免费下载,期待no$gba能继续在更新下不断进步吧。
口袋的魅力在于培养,在于冒险,所有RPG吸引人的地方我觉得都在冒险方面,拿起自己的精灵球扬帆远航吧
回复 支持 反对

使用道具 举报

2552

帖子

121

现金

118

勋章券

面对4天王的心跳声

Rank: 16Rank: 16Rank: 16Rank: 16

积分
7043

时光印记Lv.2水中王者勋章Lv3黑白系列NNo.254 蜥蜴王No.264 直冲熊论坛十周年纪念物

发表于 2014-10-29 13:43:53 | 显示全部楼层
都忘了这个模拟器的存在
回复 支持 反对

使用道具 举报

630

帖子

40

现金

1

勋章券

力挫他人的自豪

海豚

Rank: 11Rank: 11Rank: 11

积分
1793
QQ

水中王者勋章Lv1黑白女主角特制版时光印记Lv.1异化型LUGIA【M超梦版】个别的十一人勋章ORAS活动限定勋章Ver.5论坛十周年纪念物


多多 Lv:21
发表于 2014-10-29 16:55:04 | 显示全部楼层
我都不知道这个模拟器。。。
回复 支持 反对

使用道具 举报

1377

帖子

224

现金

48

勋章券

踏入阳光的成就

Rank: 14Rank: 14Rank: 14Rank: 14

积分
3731

黑白女主角特制版御姐型LUGIA黑白系列女主角【夜间版】


可多拉 Lv:34
发表于 2014-10-29 18:33:13 | 显示全部楼层
自从有了DeSmuME_0.9.7后就再也没用过这个模拟器,不过这个模拟器也用了很长一段时间,在当时来说很不错啊
至于搞汇编什么的嘛。。。反正打开了也看不懂就试过一次然后也没用过了。。。
回复 支持 反对

使用道具 举报

3667

帖子

91

现金

366

勋章券

超级版主

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
17777
QQ

时光印记Lv.3挥金如土勋章水中王者勋章Lv3Omega红宝石发售确认纪念章Alpha蓝宝石发售确认纪念章金银好CP-Ho-oh/LUGIA【里】金银好CP-Ho-oh/LUGIA【真·正常向】异化型LUGIA【M超梦版】

 楼主| 发表于 2014-10-29 18:34:06 | 显示全部楼层
钢之波导 发表于 2014-10-29 18:33
自从有了DeSmuME_0.9.7后就再也没用过这个模拟器,不过这个模拟器也用了很长一段时间,在当时来说很不错啊[ ...

网站上一大堆功能根本没用过
回复 支持 反对

使用道具 举报

861

帖子

104

现金

1

勋章券

黑暗山洞中的修炼

Rank: 13Rank: 13Rank: 13

积分
2661
QQ

No.281 奇鲁莉安论坛十周年纪念物黑白系列男主角【白日版】黑白系列女主角【白日版】黑白系列NPC【白日版】水中王者勋章Lv1时光印记Lv.1ORAS活动限定勋章Ver.1


沙奈朵 Lv:64
发表于 2014-10-30 11:50:16 | 显示全部楼层
其实来说当时No$gba还是在模拟器界有一段时间独霸一时的,虽说色彩等不如desmume,但是很富特色的是,速度很流畅,这点很难能可贵啊,外加上NoZoomer这个放大器配合基本上当时的很多游戏都可以流畅运行,记得以前还有个nds模拟器iDeaS的,现在都听不到消息了。只是后来就进步得很缓慢了。其实这个模拟器改为免费,并且更换了更新地址这个消息是在nds模拟器吧里看到的。,目前来说最近desmumeJIT版本也更新得很慢,官方版的话更新速度一直比较慢,有兴趣的可以去SF(source forge)上汇报bug,咱太业余就算了(至于官方版毕竟得整合很多版本,可以理解╮( ̄▽ ̄")╭ )自九月份以来没啥更新消息了,也就目前来说X432R版还有部分更新,目前来说记得是10月中旬更新过,后来也没啥大消息了。。。
口袋的魅力在于培养,在于冒险,所有RPG吸引人的地方我觉得都在冒险方面,拿起自己的精灵球扬帆远航吧
回复 支持 反对

使用道具 举报

97

帖子

1354

现金

1

勋章券

繁华都市的喧闹

Rank: 5Rank: 5Rank: 5

积分
287

时光印记Lv.1

发表于 2014-10-30 22:09:42 | 显示全部楼层
支持一下支持😊
回复 支持 反对

使用道具 举报

169

帖子

1710

现金

0

勋章券

离开家乡的彷徨

Rank: 4Rank: 4

积分
176
发表于 2014-11-1 00:25:22 | 显示全部楼层
看看好用不
回复 支持 反对

使用道具 举报

195

帖子

3187

现金

1

勋章券

摆脱困境的长叹

Rank: 8Rank: 8Rank: 8Rank: 8

积分
573

时光印记Lv.1水中王者勋章Lv1

发表于 2014-11-1 14:20:47 | 显示全部楼层
好高端的样子
回复 支持 反对

使用道具 举报

3667

帖子

91

现金

366

勋章券

超级版主

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
17777
QQ

时光印记Lv.3挥金如土勋章水中王者勋章Lv3Omega红宝石发售确认纪念章Alpha蓝宝石发售确认纪念章金银好CP-Ho-oh/LUGIA【里】金银好CP-Ho-oh/LUGIA【真·正常向】异化型LUGIA【M超梦版】

 楼主| 发表于 2014-11-1 15:09:46 | 显示全部楼层

表示我很多功能都不知道是啥的说。。。
回复 支持 反对

使用道具 举报

88

帖子

205

现金

2

勋章券

繁华都市的喧闹

Rank: 5Rank: 5Rank: 5

积分
234

论坛十周年纪念物时光印记Lv.1


妙蛙花 Lv:34
发表于 2014-11-2 15:32:11 | 显示全部楼层
好像不错的漾纸
回复 支持 反对

使用道具 举报

50

帖子

3241

现金

0

勋章券

离开家乡的彷徨

Rank: 4Rank: 4

积分
122
发表于 2014-11-2 22:17:00 | 显示全部楼层
謝謝分享囉 :D
回复 支持 反对

使用道具 举报

75

帖子

251

现金

0

勋章券

离开家乡的彷徨

Rank: 4Rank: 4

积分
157

No.257 火焰鸡

发表于 2014-11-12 18:52:45 | 显示全部楼层
好東西 我就拿下了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入口袋中心

本版积分规则

手机版|Archiver|Pokemon Center

GMT+8, 2017-8-22 15:20 , Processed in 0.075663 second(s), 83 queries , Eaccelerator On.

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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