github tomvita/Breeze-Beta beta125.00
PC app: text view, disassembler, debugger

pre-release3 hours ago

beta125.00

Breeze PC App Guide: how to set the PC app up and use it, with new parts for everything below.

No new gen2 fork: this release uses the same one as beta124.07 (v0.20).

Fix: a watch from the gen2 menu could freeze the game

If you had used Code watch and then started an ordinary watch from the gen2 menu (Execute Watch), Breeze started another code watch instead of your watch. After changing to another game this could freeze the game. It is fixed. If a game froze on you this way, restart it once.

Code watch on any game

Code watch used to need a Unity, Unreal or GameMaker game. It now runs on games with no names at all, such as native C or C++ games.

Such a game has no classes, so the list is grouped by where the code sits: code_280000 is a block of the game's code, and the functions in it are shown as func_<address>. Use it the same way: start, play until the count settles, Mark, do one thing in the game, and look at what is new.

Tip: do the action once before you mark. The first time brings in its sound and effects; the second time shows only the code of the action itself.

PC app: Text view

Press Text view in the PC app. A second window shows Breeze's screen as text instead of a picture.

  • The list shows 400 rows at once, not 11. Click a row to move Breeze's cursor, double-click to press A.
  • Every action of the screen is a button, with its key shown. No more paging to find one.
  • You can select and copy text, search the whole list with Find, show only matching rows with Filter, and save a list to a file.
  • The screen you came from stays visible beside the new one. Pin keeps a copy of any panel so you can compare two screens.
  • Font size, column spacing and panel widths can all be changed, and the actions can go in a window of their own.

It is much quicker than the picture: a refresh takes about an eighth of the time.

PC app: Disassembler

Press Disassembler. It needs one more Python package:

python -m pip install capstone

It shows the game's code a whole function at a time.

  • Calls show the name of the function they go to. Addresses the code builds show what is there: a string, a pointer or a number.
  • Type an address or part of a name into Go. Double-click a line to follow its call or branch; Back returns.
  • Callers lists everything that calls the function you are looking at.
  • The left side lists the game's functions and filters as you type. Code watch on the left shows the result of your last code watch: click a function to read it.

PC app: Debugger

The Disassembler window is also a debugger. It uses Breeze's Break and Trace, so breaks you set on the PC and on the Switch are the same.

Key Button Action
F9 Break Set or remove a breakpoint on the line under the cursor
F4 Run to Run the game to that line once
F11 Step One instruction, into a call
F10 Over One instruction, running a call as one step
F5 Continue Run to the next break
Stop Remove every breakpoint and let the game run

When the game stops, the window jumps to the line it stopped on and shows:

  • the registers, with the ones that just changed in orange. Float shows the floating point registers, as a double and a float, as four floats or as two doubles;
  • the stack, with return addresses named;
  • memory anywhere: type an address, a register or a sum like x0+48, and pick a format (hex, signed, float, double, bytes with text).

Double-click a register to change its value.

Good to know

  • The game is stopped while it sits at a breakpoint. Press Continue or Stop before you go back to playing.
  • The Disassembler uses a connection of its own. PC connect takes three at once, so with the file manager or Game input also open nothing else can connect.
  • Code watch without names and the text view have been tried on one game, Kingdom Hearts; the disassembler and the debugger on The Walking Dead.

Don't miss a new Breeze-Beta release

NewReleases is sending notifications on new releases.