Code Monkey home page Code Monkey logo

bsnes-plus's Introduction

bsnes-plus

bsnes-plus (or bsnes+) is a fork of bsnes (based on bsnes-classic) intended to introduce some new features and improvements, mostly aimed at debugging.

What's new

  • Improved debugger UI with register editing
  • Redesigned memory editor and breakpoint editor
  • Improved handling of address mirroring for breakpoints (extends to the entire address space, not just RAM)
  • Real-time code and data highlighting in memory editor, with fast searching for known code/data locations and unexplored regions
  • Cartridge ROM and RAM views in memory editor for mapper-agnostic analysis
  • Enhanced VRAM, sprite, and tilemap viewing
  • SA-1 disassembly and debugging
  • SA-1 bus and BW-RAM viewing and (partial) usage logging
  • Super FX disassembly and debugging
  • Super FX bus viewing and usage logging

Non-debugging features:

  • Satellaview / BS-X support
  • SPC file dumping
  • SPC output visualizer (keyboards & peak meters)
  • IPS and BPS soft patching
  • Multiple emulation improvements backported from bsnes/higan (mostly via bsnes-classic)

Development builds

Build status

Up-to-date development builds are available here (64-bit Windows, compatibility and accuracy profiles).

Building on Windows

  • Get mingw-w64 (make sure toolchain supports 64-bit builds)
  • Initialize the bsnes-plus-ext-qt submodule in git
  • Run mingw32-make

Building on OS X

Currently, OS X is not officially 100% supported. See this fork for now.

Building on Linux / other *nix

As there is no configure step, make sure necessary Qt5/X11 packages are installed. On a Debian/Ubuntu system, it would require a command like:

sudo apt install qtbase5-dev qtbase5-dev-tools libxv-dev libsdl1.2-dev libao-dev libopenal-dev g++ libdbus-1-dev

(qtbase5-dev might be qt5-default on older distros)

Afterwards, run make and if everything works out correctly you will find the output binary in the out/ directory.

The snesfilter, snesreader, and supergameboy plugins can all be built by running make (or mingw32-make) after you've configured your environment to build bsnes itself. After building, just copy the .dll, .so, or .dylib files into the same directory as bsnes itself.

bsnes v073 and its derivatives are licensed under the GPL v2; see Help > License ... for more information.

Contributors

See Help > Documentation ... for a list of authors.

bsnes-plus's People

Contributors

akiomik avatar arm9 avatar awjackson avatar bazz1tv avatar benjaminschulte avatar black-sliver avatar charasyn avatar cyphersignal avatar devinacker avatar grieverheart avatar hellow554 avatar jamesdunne avatar jeffythedragonslayer avatar koitsu avatar luigiblood avatar mrehkopf avatar mziab avatar neagix avatar nobodynada avatar nyanpasu64 avatar optiroc avatar qwertymodo avatar raphnet avatar spooonsss avatar superjamie avatar thekodetoad avatar tolmar avatar undisbeliever avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bsnes-plus's Issues

unfiltered screenshot option

add a config option to allow taking "native" screenshots with no filter and regardless of output size (i.e. always either 256x224 or x239). probably should also be the default

Unable to regain keyboard focus after sleep/lock

If my computer goes to sleep or I lock it while bsnes-plus is running, when I return, it refuses to accept any input unless I completely close the program and reopen. It doesn't crash, emulation resumes normally when you click on the window, but you can't press any keys.

VRAM viewer improvements

I find myself switching to NO$SNS a lot when trying to debug VRAM contents, due to the fact that its VRAM viewer has a lot of nice features missing from bsnes-plus. Unfortunately, NO$SNS doesn't seem to support the MSU-1, so debugging MSU-1 video got to be quite frustrating at times. I don't know if you've used it or not, but here's the different views available.

Starting with just the current screen, kind of redundant, but I'll show it here so you can see what image is being referenced in the other screens.

nocash_vram

Next, it displays each BG layer separately, so you can see what parts of the image are located on which BG layer
nocash_bg1
nocash_bg2

Mousing over any pixel in the image will populate the dialogs on the right, telling you about the tile, and displaying that tile in the top-right.

nocash_4bpp

The 2bpp/4bpp/8bpp tabs break up the display into individual tiles, so you can see where the tile boundaries are. Again, mousing over displays data on the right-hand side. In 8bpp mode, it even displays the tiles in color based on the current CGRAM contents. It should be possible to display colors in 2bpp and 4bpp modes as well, using the tilemap for palette selection, but obviously it's possible for a single tile to be reused with multiple palettes, but even if you just picked one, it would still be nice to see the tiles displayed with some kind of color. That aside, and perhaps most importantly, the tiles are scaled up considerably to the point that you can actually view them, unlike bsnes-plus' current VRAM viewer where you'd need a microscope to see individual pixels. And the blown-up mouseover view in the top-right helps in that regard as well.

Finally, the OAM viewer:
nocash_oam
Mousing over a sprite not only updates the data on the right-hand side, it also highlights that sprite on the screen.

[Feat. Req.] Call Stack

[debugger] Seeing as how there is a Step Out function, does that mean there is an internal call stack based on JSR/JSL calls, or is it more complex? I think it would be really cool to have the ability to view the call stack from the debugger.

I imagine there are certain circumstances that are harder to detect in call stack, such as a manual push to stack of an address which is later RTS/RTL'd.

Issues on OSX

  1. Bad image shown in the main window
    screenshot 2015-06-01_13-08-19
  2. Unusable native file dialog
    1. Make sure Use Native OS File Dialogs is checked
    2. Click Menu => System => Load Cartridge...
      The native OS file dialog is opened, then gets closed immediately.
  3. Game lags even on 60 fps
    I got notable lags when playing games with default settings. The audio sounds good though, only video lags ( the status bar says that I'm playing on 60 fps ). I tried to use Qt-Raster video driver, but it lags more ( the status bar says I'm playing on 30 fps ). After reverted my change of video driver, I tried to uncheck Sync Audio, the game played very fast as expected. Then I tried to check Sync Video, the video seems good, but I got some shock-wave noise.

Sorry for my bad English:)

Running in x86 ?

Hello!

Pls, I would like to know if it is compatibility with Windows x86 (?) I find only x64.

THANKS IN ADVANCE & B.REGARDS

Improving the debugger step-over/step-out features

I thought of a way you could handle step-over and step-out in the debugger that should handle 6502-style idioms like push/push/rts without getting lost, and doesn't require reading every opcode from the bus twice. For "step over", have the debugger latch the current value of the CPU stack pointer, and halt at the next instruction boundary when regs.s >= latched_s. For "step out" do the same thing, except latch regs.s + 1 instead.

The only disadvantage to this approach that I can see is that if you're in the middle of a routine that's already pushed some temporary data on the stack, "step out" will stop when that data is pulled instead of when the routine returns... but at least it's easy to see that that's what's happened and you can recover from it (you "step out" but when execution stops the previous instruction is a pla and not a jsr... so you just "step out" again)

Keep last frame visible when pausing emulation

Currently, when emulation is paused, such as when the main windows looses focus, the screen gets blanked. It would be nice if the last frame rendered was displayed instead. Otherwise, it makes it difficult to debug issues where you want to step through to a specific frame, because you can't see which frame you're on when stepping.

Named data views

It would be really neat if the memory editor included some way of labeling a memory location, so you could name known variables. Assign it a location, data type, and name, and then be able to view a list of known labels, like the "Watches" window in Visual Studio. Extending the idea a bit, you could also label known subroutines, which could be useful in breakpoints or trace logging.

Basically, I'm thinking something along the lines of an external symbol table.

Disassembler view does not heed instruction boundary

It seems the disassembler view disassembles from every byte offset instead of skipping the bytes that belong to the same instruction. The debugger main view does it correctly.
e.g. expected result:

c31527 and #$8f
c31529 ora $68
c3152b sta $75
c3152d lda $69
c3152f asl a
c31530 asl a

actual result:

c31527 and #$8f
c31528 sta $856805
c31529 ora $68
c3152a pla
c3152b sta $75
c3152c adc $a5,x
c3152d lda $69
c3152e adc #$0a
c3152f asl a
c31530 asl a

Address mirroring not working properly for Breakpoint ranges

Breaking on 7E0100 as a single address breaks normally on a read like LDA $0100.

But when adding a range 7E0100 - 7E0100 only breaks when game reads address directly. Only way to get it to break is to specify what bank it will read from.

Wrong cycle counts for 16-bit operations with implied addressing (and more)

I'm using the BSNES Plus 0.73+1 from the releases tab.

I believe a 16-bit INX instruction should execute in only 14 master clocks (the H clock in the debugger) in SlowROM and 12 on FastROM, but instead it takes 22 in SlowROM and 18 in FastROM. Presumably it's doubling the number of fetch clocks since it's a 16-bit operation, but it shouldn't, because it's not fetching any extra bytes from memory. This issue appears to apply also to INY, INC A, DEX, DEY, DEC A, ASL A, LSR A, TAX, TXA, TAY, TYA, TXY, TYX, TDC, TCD, TXS, TSX -- basically any 16-bit operation that uses implied or accumulator addressing.

This does not happen in BSNES 0.65.

EDIT: It's not just 16-bit operations. CLI is taking 22 (8+8+6) master clocks in SlowROM when it should be taking 14 (8+6). I'd edit the title of the bug, but I can't.

MSU-1 Resume

Looking at the MSU-1 code, it doesn't look like you currently support the resume flag ($2007=$04). Resume support should also increase the MSU-1 version flag to revision 2.

Run/Step buttons should transfer focus to main window

In order to play nice with the "Pause emulation when main window does not have focus" option, which is useful when switching between all of the various debugger windows, the Run and Step buttons should trigger a focus change when clicked to switch to the main window. Otherwise, single stepping requires you to click step, then click into the main window, click step, click main window, back and forth.

Requesting Additions To Memory Viewer Debugger

Is there anyway of making it so you can refresh the Memory Viewer of the Cartridge ROM, so you can see what "was" logged before, instead of seeing everything that has been logged? Example from FCEUX debugger.

(Before Reset Log)
before reset log

(After Reset Log. Notice where I highlight the areas in red, indicating what "WAS" logged but currently is not being logged at time of reset/refresh)
after reset log

And if I may request just one more thing. When overwriting code/data within the Memory Viewer Cartridge Rom, can the color used when overwriting be a different color? The color matches that of already logged code, and I cant differentiate. Another example from FCEUX debugger.

(Before Overwrite)
before overwrite

(Overwrite)
overwrite

Thank you for reading, and hope these are considered for implementation in bsnes. :-)

-infidelity

Save states do not save/restore MSU-1 status

Loading a save state in a MSU-1 enabled game doesn't properly reload the MSU-1 state. Symptoms vary by game, but mostly it means you load your game with no background music playing.

How can I build bsnes-plus with brewed Qt4 on OSX

litongzhou@MacBook-Pro ~/bsnes-plus/bsnes (git)-[master] % make
rcc ui-qt/resource/resource.qrc -o obj/resource.rcc
moc -i ui-qt/application/application.moc.hpp -o obj/application.moc
moc -i ui-qt/base/about.moc.hpp -o obj/about.moc
moc -i ui-qt/base/filebrowser.moc.hpp -o obj/filebrowser.moc
moc -i ui-qt/base/htmlviewer.moc.hpp -o obj/htmlviewer.moc
moc -i ui-qt/base/loader.moc.hpp -o obj/loader.moc
moc -i ui-qt/base/main.moc.hpp -o obj/main.moc
moc -i ui-qt/base/stateselect.moc.hpp -o obj/stateselect.moc
moc -i ui-qt/debugger/debugger.moc.hpp -o obj/debugger.moc
moc -i ui-qt/debugger/misc/debugger-options.moc.hpp -o obj/debugger-options.moc
moc -i ui-qt/debugger/ppu/cgram-viewer.moc.hpp -o obj/cgram-viewer.moc
moc -i ui-qt/debugger/ppu/oam-viewer.moc.hpp -o obj/oam-viewer.moc
moc -i ui-qt/debugger/ppu/vram-viewer.moc.hpp -o obj/vram-viewer.moc
moc -i ui-qt/debugger/registeredit.moc.hpp -o obj/registeredit.moc
moc -i ui-qt/debugger/tools/breakpoint.moc.hpp -o obj/breakpoint.moc
moc -i ui-qt/debugger/tools/disassembler.moc.hpp -o obj/disassembler.moc
moc -i ui-qt/debugger/tools/memory.moc.hpp -o obj/memory.moc
moc -i ui-qt/debugger/tools/properties.moc.hpp -o obj/properties.moc
moc -i ui-qt/debugger/tracer.moc.hpp -o obj/tracer.moc
moc -i ui-qt/settings/advanced.moc.hpp -o obj/advanced.moc
moc -i ui-qt/settings/audio.moc.hpp -o obj/audio.moc
moc -i ui-qt/settings/input.moc.hpp -o obj/input.moc
moc -i ui-qt/settings/paths.moc.hpp -o obj/paths.moc
moc -i ui-qt/settings/profile.moc.hpp -o obj/profile.moc
moc -i ui-qt/settings/settings.moc.hpp -o obj/settings.moc
moc -i ui-qt/settings/video.moc.hpp -o obj/video.moc
moc -i ui-qt/template/check-action.moc.hpp -o obj/check-action.moc
moc -i ui-qt/template/file-dialog.moc.hpp -o obj/file-dialog.moc
moc -i ui-qt/template/hex-editor.moc.hpp -o obj/hex-editor.moc
moc -i ui-qt/template/radio-action.moc.hpp -o obj/radio-action.moc
moc -i ui-qt/template/window.moc.hpp -o obj/window.moc
moc -i ui-qt/tools/cheateditor.moc.hpp -o obj/cheateditor.moc
moc -i ui-qt/tools/cheatfinder.moc.hpp -o obj/cheatfinder.moc
moc -i ui-qt/tools/effecttoggle.moc.hpp -o obj/effecttoggle.moc
moc -i ui-qt/tools/soundviewer.moc.hpp -o obj/soundviewer.moc
moc -i ui-qt/tools/statemanager.moc.hpp -o obj/statemanager.moc
moc -i ui-qt/tools/tools.moc.hpp -o obj/tools.moc
clang++ -std=gnu++0x -O3 -fomit-frame-pointer -I. -Isnes -DNDEBUG -DPROFILE_COMPATIBILITY -DDEBUGGER -Iobj -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/Library/Frameworks/QtGui.framework/Versions/4/Headers -I/Library/Frameworks/QtOpenGL.framework/Versions/4/Headers -c ui-qt/main.cpp -o obj/ui-main.o
In file included from ui-qt/main.cpp:1:
ui-qt/ui-base.hpp:5:10: fatal error: 'QApplication' file not found
#include <QApplication>
         ^
1 error generated.
make: *** [obj/ui-main.o] Error 1

The Makefile tries to find Qt4 headers on /Library/Frameworks, but brewed Qt4 is installed on /usr/local/lib, which causes the compiling error

Two related upstream SA-1 bugs

There are two related bugs with the SA-1 ROM mapping that apparently don't affect any original game, but are likely to cause problems with ROM-expanding ROM hacks sooner or later.

One bug is that vsprom.read() tests whether the remapped address is equal to the IRQ or NMI vector address, rather than the original bus address. If a game maps any ROM bank other than the first one to 00-1F, then the vector overriding for the S-CPU won't work.

Another bug is that the dynamic memory mapping (both ROM and BWRAM) isn't restored when you load a save state. I guess most (all?) commercial games.set the banks once at startup and never change them, so nobody ever noticed this bug, but it is very likely to bite ROM hacks.

The reason you have upstream reporting this issue downstream, instead of just fixing it, is that the only sane fix I can think of is to use a static address map with the remapping done in the memory handlers (like bsnes 075 and later) and that is definitely going to break your "cart usage map" feature. Anyway I'd like to abstract the usage mapping to more memory types (mirroring-aware usage maps for WRAM, cart RAM, and the BS-X PSRAM would be very useful) and I'd like to discuss with you the best way to do it.

Compiling 64-bit Windows binaries

Greetings!

I've been trying to compile a 64-bit binary of the accuracy profile on Windows 10 Anniversary Update 64-bit without any success. I'm using MingGW-w64 (from the Sourceforge site - specifically I'm using x86_64-4.8.2-release-posix-seh-rt_v3-rev3 as this matches the version supported by Qt 4.8.6). For Qt I'm using qt-opensource-windows-x86-mingw482-4.8.6-1 - both MingGW-w64 and Qt are added to my PATH correctly (which are C:\mingw64\bin and C:\Qt\4.8.6\bin in this case). Of course, I'm assuming this is the correct version of Qt as the readme instructions are pretty vague on which Qt file(s) to use.

These are the errors I'm encountering during compiling (compiling goes nearly all the way, until the end where it ultimately fails):

_ACCURACY -DDEBUGGER -c snes/chip/serial/serial.cpp -o obj/snes-serial.o
g++ -std=gnu++0x -o out/bsnes obj/ui-main.o obj/ui-base.o obj/ui-cartridge.o obj/ui-debugger.o obj/ui-input.o obj/ui-movie.o obj/ui-settings.o obj/ui-state.o obj/ui-tools.o obj/ruby.o obj/resource.o obj/libco.o obj/snes-system.o obj/snes-cartridge.o obj/snes-cheat.o obj/snes-memory.o obj/snes-cpucore.o obj/snes-smpcore.o obj/snes-cpu.o obj/snes-smp.o obj/snes-dsp.o obj/snes-ppu.o obj/snes-supergameboy.o obj/snes-superfx.o obj/snes-sa1.o obj/snes-necdsp.o obj/snes-bsx.o obj/snes-srtc.o obj/snes-sdd1.o obj/snes-spc7110.o obj/snes-cx4.o obj/snes-obc1.o obj/snes-st0018.o obj/snes-msu1.o obj/snes-serial.o -s -mwindows -mthreads -luuid -lkernel32 -luser32 -lgdi32 -lcomctl32 -lcomdlg32 -lshell32 -lole32 -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -LC:/Qt/4.8.6/lib -LC:/Qt/4.8.6/plugins/imageformats -lQtCore4 -lQtGui4 -lmingw32 -lqtmain -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lole32 -ladvapi32 -lws2_32 -luuid -lgdi32 -lQtCore4 -lQtGui4 -ld3d9 -lddraw -lopengl32 -ldsound -ldinput8 -ldxguid -ldinput8 -ldxguid
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib/libQtCore4.a when searching for -lQtCore4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib\libQtCore4.a when searching for -lQtCore4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib/libQtCore4.a when searching for -lQtCore4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lQtCore4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib/libQtGui4.a when searching for -lQtGui4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib\libQtGui4.a when searching for -lQtGui4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib/libQtGui4.a when searching for -lQtGui4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lQtGui4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib/libqtmain.a when searching for -lqtmain
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib\libqtmain.a when searching for -lqtmain
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib/libqtmain.a when searching for -lqtmain
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lqtmain
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib/libQtCore4.a when searching for -lQtCore4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib\libQtCore4.a when searching for -lQtCore4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib/libQtCore4.a when searching for -lQtCore4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lQtCore4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib/libQtGui4.a when searching for -lQtGui4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib\libQtGui4.a when searching for -lQtGui4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Qt/4.8.6/lib/libQtGui4.a when searching for -lQtGui4
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lQtGui4
collect2.exe: error: ld returned 1 exit status
Makefile:86: recipe for target 'build' failed
mingw32-make: *** [build] Error 1
Press any key to continue . . .

Just for the fun of it, I setup a 32-bit build (using i686-4.8.2-release-posix-dwarf-rt_v3-rev3 of MinGW-w64) and replacing C:\mingw64\bin with C:\mingw32\bin in my PATH and compiling again... it worked fine.

I believe the problem is with Qt... and I believe it's x86 only. I looked all over Qt's site for a x64 Qt 4.8.6 and I couldn't find one.

So here's my question and comments:

  1. What do I need to compile a 64-bit binary on Windows?

  2. In my opinion the readme instructions for building on Windows needs updated for both 32-bit and 64-bit architecture building. They're too vague and can lead to issues like this.

  3. Specifically the readme needs to specify specific files recommended to compile 32-bit and 64-bit binaries on Windows (e.g. i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z for MinGW-w64 32-bit and x86_64-4.8.2-release-posix-seh-rt_v3-rev3.7z for MinGW-w64 64-bit and qt-opensource-windows-x86-mingw482-4.8.6-1.exe for Qt 4.8.6 32-bit, etc.).

Thank you. :)

Add widescreen option?

I hate seeing the emulator in a wide screen monitor as something square in the middle of the screen
is kinda looks weird and annoying. at least if i can stretch it make a wide screen option.

Missing a Tilemap Viewer

bsnes-plus debugger does not have a tilemap viewer.

(starting a new issue instead of continuing the previous one)

Minor typo in accuracy profile build

bsnes/snes/ppu/mmio/mmio.cpp:722:33: error: expected ')' before '{' token
if(!Memory::debugger_access() {

Simple case of a missing close paren, breaks accuracy profile build.

S-PPU CGRAM write breakpoints don't trigger

I can't get any CGRAM write breakpoints to trigger, on any address. Not sure if it makes any difference, but they may all be DMA transfers, I haven't tried manually writing to $2122.

Builds fixed but crashed on startup unfortunately

litongzhou@MacBook-Pro ~/mybsnes/bsnes+.app/Contents/MacOS (git)-[master] % ./bsnes
QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout
[1]    40052 segmentation fault (core dumped)  ./bsnes
139 litongzhou@MacBook-Pro ~/mybsnes/bsnes+.app/Contents/MacOS (git)-[master] % lldb bsnes                           :(
(lldb) target create "bsnes"
Current executable set to 'bsnes' (x86_64).
(lldb) run
Process 40068 launched: '/Users/litongzhou/mybsnes/bsnes+.app/Contents/MacOS/bsnes' (x86_64)
QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout
Process 40068 stopped
* thread #1: tid = 0x73ddb, 0x0000000100043857 bsnes`PropertiesWidget::PropertiesWidget(SNES::ChipDebugger&) + 631, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x0000000100043857 bsnes`PropertiesWidget::PropertiesWidget(SNES::ChipDebugger&) + 631
bsnes`PropertiesWidget::PropertiesWidget:
->  0x100043857 <+631>: movq   (%rax), %rax
    0x10004385a <+634>: movq   %r14, %rdi
    0x10004385d <+637>: movl   %ebp, %esi
    0x10004385f <+639>: leaq   0x38(%rsp), %rdx
(lldb) bt
* thread #1: tid = 0x73ddb, 0x0000000100043857 bsnes`PropertiesWidget::PropertiesWidget(SNES::ChipDebugger&) + 631, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x0000000100043857 bsnes`PropertiesWidget::PropertiesWidget(SNES::ChipDebugger&) + 631
    frame #1: 0x000000010004402b bsnes`PropertiesViewer::PropertiesViewer() + 1147
    frame #2: 0x000000010004a613 bsnes`Debugger::Debugger() + 5427
    frame #3: 0x0000000100005184 bsnes`Application::init() + 2292
    frame #4: 0x000000010000931c bsnes`Application::main(int&, char**) + 716
    frame #5: 0x000000010000ce5c bsnes`main + 28
    frame #6: 0x00007fff937de5c9 libdyld.dylib`start + 1
    frame #7: 0x00007fff937de5c9 libdyld.dylib`start + 1
Process:               bsnes [40102]
Path:                  /Users/USER/*/bsnes+.app/Contents/MacOS/bsnes
Identifier:            org.bsnes.bsnes-plus
Version:               v073+1 (v073+1)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           bsnes [40102]
User ID:               501

Date/Time:             2015-07-06 23:03:41.675 +0800
OS Version:            Mac OS X 10.10.4 (14E46)
Report Version:        11
Anonymous UUID:        28BEE45F-3F9F-2DA8-F404-420746E7F7B2


Time Awake Since Boot: 16000 seconds

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000

VM Regions Near 0:
--> 
    __TEXT                 00000001089a8000-0000000108b3b000 [ 1612K] r-x/rwx SM=COW  /Users/USER/*/bsnes+.app/Contents/MacOS/bsnes

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   org.bsnes.bsnes-plus            0x00000001089eb857 PropertiesWidget::PropertiesWidget(SNES::ChipDebugger&) + 631

Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0   libsystem_kernel.dylib          0x00007fff8c946232 kevent64 + 10
1   libdispatch.dylib               0x00007fff878f2a6a _dispatch_mgr_thread + 52

Thread 2:
0   libsystem_kernel.dylib          0x00007fff8c94594a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff89a7540d start_wqthread + 13

Thread 3:
0   libsystem_kernel.dylib          0x00007fff8c94594a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff89a7540d start_wqthread + 13

Thread 4:
0   libsystem_kernel.dylib          0x00007fff8c94594a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff89a7540d start_wqthread + 13

Thread 5:
0   libsystem_kernel.dylib          0x00007fff8c94594a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff89a7540d start_wqthread + 13

Thread 6:
0   libsystem_kernel.dylib          0x00007fff8c94594a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff89a7540d start_wqthread + 13

Thread 7:: QFileInfoGatherer
0   libsystem_kernel.dylib          0x00007fff8c945136 __psynch_cvwait + 10
1   QtCore                          0x00000001093c83b4 QWaitConditionPrivate::wait(unsigned long) + 196
2   QtCore                          0x00000001093c8227 QWaitCondition::wait(QMutex*, unsigned long) + 111
3   QtGui                           0x0000000109b5d0e4 QFileInfoGatherer::run() + 160
4   QtCore                          0x00000001093c6f6c QThreadPrivate::start(void*) + 386
5   libsystem_pthread.dylib         0x00007fff89a77268 _pthread_body + 131
6   libsystem_pthread.dylib         0x00007fff89a771e5 _pthread_start + 176
7   libsystem_pthread.dylib         0x00007fff89a7541d thread_start + 13

Thread 8:
0   libsystem_kernel.dylib          0x00007fff8c9404de mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fff8c93f64f mach_msg + 55
2   com.apple.CoreFoundation        0x00007fff8c5d2eb4 __CFRunLoopServiceMachPort + 212
3   com.apple.CoreFoundation        0x00007fff8c5d237b __CFRunLoopRun + 1371
4   com.apple.CoreFoundation        0x00007fff8c5d1bd8 CFRunLoopRunSpecific + 296
5   com.apple.AppKit                0x00007fff93cdc56b _NSEventThread + 137
6   libsystem_pthread.dylib         0x00007fff89a77268 _pthread_body + 131
7   libsystem_pthread.dylib         0x00007fff89a771e5 _pthread_start + 176
8   libsystem_pthread.dylib         0x00007fff89a7541d thread_start + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000600000653090  rcx: 0x0000000000000200  rdx: 0x0000000000000000
  rdi: 0x000000010a3d4200  rsi: 0x0000000000000008  rbp: 0x0000000000000000  rsp: 0x00007fff57257630
   r8: 0x0000000000000000   r9: 0x0000020000000801  r10: 0x0000000000000011  r11: 0x0000000000000000
  r12: 0x00007fff572576a0  r13: 0x00007fff57257648  r14: 0x0000000109107240  r15: 0x0000600000653080
  rip: 0x00000001089eb857  rfl: 0x0000000000010206  cr2: 0x0000000000000000

Logical CPU:     0
Error Code:      0x00000004
Trap Number:     14


Binary Images:
       0x1089a8000 -        0x108b3afef +org.bsnes.bsnes-plus (v073+1 - v073+1) <8B9E5254-FFA6-3FD8-9D91-6C49A6A14D40> /Users/USER/*/bsnes+.app/Contents/MacOS/bsnes
       0x1093a7000 -        0x109619fff +QtCore (4.8.7) <A5E1764B-5926-32A5-BBFB-80EAC843438A> /usr/local/lib/QtCore.framework/Versions/4/QtCore
       0x1096c7000 -        0x109f7cff7 +QtGui (4.8.7) <D2A5EFBB-D8EC-3803-8F32-132B2A44FE43> /usr/local/lib/QtGui.framework/Versions/4/QtGui
       0x10a24c000 -        0x10a30ffff +QtOpenGL (4.8.7) <3EAC7FA7-80C5-3783-840E-C844675FD6A0> /usr/local/lib/QtOpenGL.framework/Versions/4/QtOpenGL
       0x10a35e000 -        0x10a384ff7  com.apple.audio.OpenAL (1.8 - 1.8) <B05578A8-FE08-310C-BF91-C1BDE10858CD> /System/Library/Frameworks/OpenAL.framework/Versions/A/OpenAL
       0x10a39a000 -        0x10a39efff  com.apple.agl (3.3.0 - AGL-3.3.0) <4E8F579B-A2E2-3A27-96D7-02A9465A78D8> /System/Library/Frameworks/AGL.framework/Versions/A/AGL
       0x10a3e5000 -        0x10a3f4fff  libSimplifiedChineseConverter.dylib (64) <468DE6E1-42B9-3751-ACA5-7D16C550FF84> /System/Library/CoreServices/Encodings/libSimplifiedChineseConverter.dylib
       0x10a4be000 -        0x10a4fafff +libsnesfilter.dylib (0) <FCEB8B44-3087-3CC3-9A09-333CC70DFBD7> /Users/USER/*/bsnes+.app/Contents/Frameworks/libsnesfilter.dylib
       0x10f5d5000 -        0x10f5ffff7 +libsnesreader.dylib (0) <871223C2-71B5-3106-850B-3B65444DA09D> /Users/USER/*/bsnes+.app/Contents/Frameworks/libsnesreader.dylib
       0x115177000 -        0x115192ff3  com.apple.security.csparser (3.0 - 57031.30.12) <A6705FEA-C750-35B0-8164-190FDF97678F> /System/Library/Frameworks/Security.framework/PlugIns/csparser.bundle/Contents/MacOS/csparser
       0x1151a5000 -        0x115251fff  ColorSyncDeprecated.dylib (442) <3518239D-60D5-39AF-A68C-E7B12564103C> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/Resources/ColorSyncDeprecated.dylib
       0x1175c2000 -        0x1175c7ff7 +libqgif.dylib (0) <575B6AC5-55D4-3B80-B1B1-15599A4027D2> /usr/local/Cellar/qt/4.8.7/plugins/imageformats/libqgif.dylib
       0x1175e3000 -        0x1175e3ff5 +cl_kernels (???) <6A5904A5-C7DC-44F9-AAEF-BE259F4E54C5> cl_kernels
       0x1175f9000 -        0x1175f9fef +cl_kernels (???) <F0A816A4-DAD4-4D51-9712-DD3C00CDC1C8> cl_kernels
       0x11763f000 -        0x117644fff +libqico.dylib (0) <46011D38-5CAF-3318-95A6-344FCED5107C> /usr/local/Cellar/qt/4.8.7/plugins/imageformats/libqico.dylib
       0x11764a000 -        0x11764efff +libqsvg.dylib (0) <58110242-900B-3DCF-A6EB-A0B30B6FA6A7> /usr/local/Cellar/qt/4.8.7/plugins/imageformats/libqsvg.dylib
       0x117653000 -        0x117657fff +libqtga.dylib (0) <F40A6F76-235F-37F5-9B4B-EFB8AD357387> /usr/local/Cellar/qt/4.8.7/plugins/imageformats/libqtga.dylib
       0x1176d7000 -        0x11770bfff +libqjpeg.dylib (0) <2383C63F-190E-3F02-B701-776CE742970A> /usr/local/Cellar/qt/4.8.7/plugins/imageformats/libqjpeg.dylib
       0x117af4000 -        0x117b3cff7 +libqmng.dylib (0) <A7AF6626-A6EC-3755-A380-2E6CB5A3F729> /usr/local/Cellar/qt/4.8.7/plugins/imageformats/libqmng.dylib
       0x118085000 -        0x1180caff7 +QtSvg (4.8.7) <6FDC9388-9CE7-3D38-9D7F-4D3F510B6C0E> /usr/local/Cellar/qt/4.8.7/lib/QtSvg.framework/Versions/4/QtSvg
       0x1180ec000 -        0x118124ff7 +QtXml (4.8.7) <17FC1878-4DB1-346B-8BA3-828B49B0593C> /usr/local/Cellar/qt/4.8.7/lib/QtXml.framework/Versions/4/QtXml
       0x11813f000 -        0x118199ff7 +libqtiff.dylib (0) <54734B00-C919-3711-B1B2-4620A4CDA675> /usr/local/Cellar/qt/4.8.7/plugins/imageformats/libqtiff.dylib
       0x118281000 -        0x118293fff  libTraditionalChineseConverter.dylib (64) <DCA11C00-8F36-39E5-BD2A-B15183931E8B> /System/Library/CoreServices/Encodings/libTraditionalChineseConverter.dylib
       0x1189db000 -        0x118ac1fef  unorm8_bgra.dylib (2.4.5) <5F488C7E-2FB2-3C66-9764-28CF16B03E7A> /System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/ImageFormats/unorm8_bgra.dylib
       0x11af6e000 -        0x11af8bfff  libJapaneseConverter.dylib (64) <12325659-06A4-37C9-8A9C-DA7A3F8DB8A2> /System/Library/CoreServices/Encodings/libJapaneseConverter.dylib
       0x11c3c3000 -        0x11c3e5fff  libKoreanConverter.dylib (64) <E51FCBAE-3886-32B7-B4F8-51B3CBF683ED> /System/Library/CoreServices/Encodings/libKoreanConverter.dylib
    0x7fff6d986000 -     0x7fff6d9bc837  dyld (353.2.1) <72A99D0F-0B56-3938-ABC5-67A0F33757C4> /usr/lib/dyld
    0x7fff87473000 -     0x7fff8748efff  com.apple.AppleVPAFramework (1.4.5 - 1.4.5) <A6421B0B-6D4D-3E64-AC61-DDB04ED7CFF0> /System/Library/PrivateFrameworks/AppleVPA.framework/Versions/A/AppleVPA
    0x7fff874c9000 -     0x7fff87518ff7  com.apple.opencl (2.4.2 - 2.4.2) <EB365E68-9965-3596-A40A-D1E372F3A9B3> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
    0x7fff87521000 -     0x7fff87523fff  libquarantine.dylib (76.20.1) <7AF90041-2768-378A-925A-D83161863642> /usr/lib/system/libquarantine.dylib
    0x7fff87524000 -     0x7fff87526fff  libCVMSPluginSupport.dylib (11.1.2) <1C5C1757-67F1-3C23-90EF-643619A0E7DC> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
    0x7fff87527000 -     0x7fff87528ff7  libsystem_blocks.dylib (65) <9615D10A-FCA7-3BE4-AA1A-1B195DACE1A1> /usr/lib/system/libsystem_blocks.dylib
    0x7fff87529000 -     0x7fff87529fff  com.apple.ApplicationServices (48 - 48) <5BF7910B-C328-3BF8-BA4F-CE52B574CE01> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
    0x7fff87583000 -     0x7fff8786affb  com.apple.CoreServices.CarbonCore (1108.6 - 1108.6) <8953580E-7857-33B2-AA64-98296830D3A8> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
    0x7fff878db000 -     0x7fff878dcfff  liblangid.dylib (117) <B54A4AA0-2E53-3671-90F5-AFF711C0EB9E> /usr/lib/liblangid.dylib
    0x7fff878dd000 -     0x7fff878edff7  libbsm.0.dylib (34) <A3A2E56C-2B65-37C7-B43A-A1F926E1A0BB> /usr/lib/libbsm.0.dylib
    0x7fff878ee000 -     0x7fff87918ff7  libdispatch.dylib (442.1.4) <502CF32B-669B-3709-8862-08188225E4F0> /usr/lib/system/libdispatch.dylib
    0x7fff87919000 -     0x7fff8792aff3  libsystem_coretls.dylib (35.30.2) <0F7BAD0C-FC28-3E4B-8D21-06B426599043> /usr/lib/system/libsystem_coretls.dylib
    0x7fff8792b000 -     0x7fff87941ff7  libsystem_asl.dylib (267) <F153AC5B-0542-356E-88C8-20A62CA704E2> /usr/lib/system/libsystem_asl.dylib
    0x7fff87942000 -     0x7fff87947fff  libsystem_stats.dylib (163.30.2) <48A9387D-5C63-3E79-979C-F675552F6FC9> /usr/lib/system/libsystem_stats.dylib
    0x7fff8794e000 -     0x7fff8795bfff  libxar.1.dylib (255) <7CD69BB5-97BA-3858-8A8B-2F33F129E6E7> /usr/lib/libxar.1.dylib
    0x7fff8795c000 -     0x7fff8795cfff  com.apple.Accelerate (1.10 - Accelerate 1.10) <2C8AF258-4F11-3BEC-A826-22D7199B3975> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x7fff8795d000 -     0x7fff8795efff  libDiagnosticMessagesClient.dylib (100) <2EE8E436-5CDC-34C5-9959-5BA218D507FB> /usr/lib/libDiagnosticMessagesClient.dylib
    0x7fff8795f000 -     0x7fff879f5ff7  com.apple.cloudkit.CloudKit (283.67.3 - 283.67.3) <45D9ADA5-E7D2-3AA0-B0BC-A836BCFBDDCA> /System/Library/Frameworks/CloudKit.framework/Versions/A/CloudKit
    0x7fff87e38000 -     0x7fff87e3cff7  libGIF.dylib (1238) <85700496-D341-3497-96A6-96948A710370> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
    0x7fff87e3d000 -     0x7fff87e61ff7  com.apple.Sharing (328.17 - 328.17) <AD5E243A-B79F-3D7B-800B-A2C99A1CFEF1> /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
    0x7fff87e62000 -     0x7fff87e64fff  libsystem_configuration.dylib (699.30.1) <B124CC64-59B9-354F-A693-B3431ADB87AC> /usr/lib/system/libsystem_configuration.dylib
    0x7fff87e65000 -     0x7fff87eabff7  libauto.dylib (186) <A260789B-D4D8-316A-9490-254767B8A5F1> /usr/lib/libauto.dylib
    0x7fff88073000 -     0x7fff88074ff7  com.apple.print.framework.Print (10.0 - 265) <3BC4FE7F-78A0-3E57-8F4C-520E7EFD36FA> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
    0x7fff88081000 -     0x7fff88083fff  libRadiance.dylib (1238) <7F6B6C0C-C5C9-3D83-B0A4-23BAB0E5D759> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
    0x7fff88084000 -     0x7fff880a4ff7  com.apple.MultitouchSupport.framework (264.6 - 264.6) <B4BDB2C0-5D4E-30F4-8EB0-CC16C91DF418> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
    0x7fff880a5000 -     0x7fff881cdff7  com.apple.coreui (2.1 - 308.6) <9E0E9C6A-68F5-34C1-A17C-96226D401D4D> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
    0x7fff881ce000 -     0x7fff883dbffb  com.apple.CFNetwork (720.4.4 - 720.4.4) <71A596B3-A837-3ADF-9560-1DCDA9292F96> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    0x7fff883dc000 -     0x7fff88465ff7  com.apple.CoreSymbolication (3.1 - 57020.2) <FA7C613D-B4DF-333A-B3D6-884CE87E2C6D> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
    0x7fff884e5000 -     0x7fff884edffb  libcopyfile.dylib (118.1.2) <0C68D3A6-ACDD-3EF3-991A-CC82C32AB836> /usr/lib/system/libcopyfile.dylib
    0x7fff884ee000 -     0x7fff88500ff7  com.apple.CoreDuetDaemonProtocol (1.0 - 1) <CE9FABB4-1C5D-3F9B-9BB8-5CC50C3E5E31> /System/Library/PrivateFrameworks/CoreDuetDaemonProtocol.framework/Versions/A/CoreDuetDaemonProtocol
    0x7fff88501000 -     0x7fff88513ff7  libsasl2.2.dylib (194.1) <35371406-75EF-304A-A073-956C40373555> /usr/lib/libsasl2.2.dylib
    0x7fff88784000 -     0x7fff88a53ff3  com.apple.CoreImage (10.3.4) <C1AE8252-A95D-3BF4-83B8-BE85E979F2CB> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage
    0x7fff88a54000 -     0x7fff88a55ffb  libremovefile.dylib (35) <3485B5F4-6CE8-3C62-8DFD-8736ED6E8531> /usr/lib/system/libremovefile.dylib
    0x7fff88a65000 -     0x7fff88a6cff7  libCGCMS.A.dylib (788.2) <453CF6DA-E195-38EA-9EC1-0CC1F1698391> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGCMS.A.dylib
    0x7fff88a6f000 -     0x7fff88a79ff7  com.apple.NetAuth (5.2 - 5.2) <2BBD749A-8E18-35B8-8E48-A90347C1CCA7> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
    0x7fff88baf000 -     0x7fff88bdaff3  libarchive.2.dylib (30) <8CBB4416-EBE9-3574-8ADC-44655D245F39> /usr/lib/libarchive.2.dylib
    0x7fff88bdb000 -     0x7fff88be1ff7  libsystem_networkextension.dylib (167.30.1) <3E99FF35-DCBB-3A4C-8853-F1F39A792D29> /usr/lib/system/libsystem_networkextension.dylib
    0x7fff88be2000 -     0x7fff88c1dfff  com.apple.QD (301 - 301) <C4D2AD03-B839-350A-AAF0-B4A08F8BED77> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
    0x7fff88c1e000 -     0x7fff88c23fff  com.apple.DiskArbitration (2.6 - 2.6) <0DFF4D9B-2AC3-3B82-B5C5-30F4EFBD2DB9> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x7fff88c54000 -     0x7fff88c85ff7  com.apple.ProtectedCloudStorage (1.0 - 1) <9D76F2E0-C28A-3DBC-A91F-E87888D46BF0> /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Versions/A/ProtectedCloudStorage
    0x7fff88c86000 -     0x7fff88d6afff  libcrypto.0.9.8.dylib (52.30.1) <093A3CCE-953A-365F-9412-775DE0AF2870> /usr/lib/libcrypto.0.9.8.dylib
    0x7fff88d6b000 -     0x7fff88eb1fef  libsqlite3.dylib (168.2) <53F6A294-15D7-3804-9ABF-47D35E15CDFB> /usr/lib/libsqlite3.dylib
    0x7fff88f1d000 -     0x7fff88fa9ff7  libsystem_c.dylib (1044.10.1) <86FBED7A-F2C8-3591-AD6F-486DD57E6B6A> /usr/lib/system/libsystem_c.dylib
    0x7fff895cf000 -     0x7fff895e9ff3  com.apple.Ubiquity (1.3 - 313) <DF56A657-CC6E-3BE2-86A0-71F07127724C> /System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity
    0x7fff89836000 -     0x7fff8988afff  libc++.1.dylib (120) <1B9530FD-989B-3174-BB1C-BDC159501710> /usr/lib/libc++.1.dylib
    0x7fff89930000 -     0x7fff89970ff7  libGLImage.dylib (11.1.2) <9B05F3BF-D111-3B01-B7F8-C5EF7E02000B> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
    0x7fff899b3000 -     0x7fff899e6fff  com.apple.MediaKit (16 - 757.2) <2912E5C2-085F-3FE2-8531-23B6E894B0F0> /System/Library/PrivateFrameworks/MediaKit.framework/Versions/A/MediaKit
    0x7fff899e7000 -     0x7fff89a0ffff  libsystem_info.dylib (459.20.1) <AEB3FE62-4763-3050-8352-D6F9AF961AE6> /usr/lib/system/libsystem_info.dylib
    0x7fff89a51000 -     0x7fff89a54fff  com.apple.xpc.ServiceManagement (1.0 - 1) <D94F7F86-4015-3453-92FD-ADC04F215C04> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
    0x7fff89a5a000 -     0x7fff89a61ff7  libcompiler_rt.dylib (35) <BF8FC133-EE10-3DA6-9B90-92039E28678F> /usr/lib/system/libcompiler_rt.dylib
    0x7fff89a71000 -     0x7fff89a73ff7  libsystem_coreservices.dylib (9) <41B7C578-5A53-31C8-A96F-C73E030B0938> /usr/lib/system/libsystem_coreservices.dylib
    0x7fff89a74000 -     0x7fff89a7dfff  libsystem_pthread.dylib (105.10.1) <3103AA7F-3BAE-3673-9649-47FFD7E15C97> /usr/lib/system/libsystem_pthread.dylib
    0x7fff89aec000 -     0x7fff89bfbff3  com.apple.desktopservices (1.9.3 - 1.9.3) <FEE11342-5BC4-37A7-8169-DA48BE17B9C9> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
    0x7fff89bfc000 -     0x7fff89c68ff3  com.apple.MMCS (1.3 - 327.5) <FC998246-ED60-334D-9E94-453F35EF9C78> /System/Library/PrivateFrameworks/MMCS.framework/Versions/A/MMCS
    0x7fff89c69000 -     0x7fff89c8efff  libPng.dylib (1238) <0FBC90C7-D229-3D27-BB1B-37540D31A0D6> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
    0x7fff89c8f000 -     0x7fff89cb7fff  libxpc.dylib (559.30.1) <80D68997-17B9-32B6-A5FA-A218216415E5> /usr/lib/system/libxpc.dylib
    0x7fff89cc2000 -     0x7fff89d29ff7  com.apple.framework.CoreWiFi (3.0 - 300.4) <19269C1D-EB29-384A-83F3-7DDDEB7D9DAD> /System/Library/PrivateFrameworks/CoreWiFi.framework/Versions/A/CoreWiFi
    0x7fff89fc2000 -     0x7fff8a057ff7  com.apple.ColorSync (4.9.0 - 4.9.0) <9150C2B7-2E6E-3509-96EA-7B3F959F049E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
    0x7fff8a3df000 -     0x7fff8a3f0ff7  libz.1.dylib (55) <88C7C7DE-04B8-316F-8B74-ACD9F3DE1AA1> /usr/lib/libz.1.dylib
    0x7fff8a41d000 -     0x7fff8a439fff  com.apple.GenerationalStorage (2.0 - 209.11) <9FF8DD11-25FB-3047-A5BF-9415339B3EEC> /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
    0x7fff8a43a000 -     0x7fff8a43afff  com.apple.CoreServices (62 - 62) <C69DA8A7-B536-34BF-A93F-1C170E2C6D58> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    0x7fff8a43b000 -     0x7fff8a43bff7  libunc.dylib (29) <5676F7EA-C1DF-329F-B006-D2C3022B7D70> /usr/lib/system/libunc.dylib
    0x7fff8a4d0000 -     0x7fff8a4d8fff  libsystem_dnssd.dylib (576.30.4) <4EA2DEC3-77EE-3941-A703-DE6DC2056B15> /usr/lib/system/libsystem_dnssd.dylib
    0x7fff8a4d9000 -     0x7fff8a5ebff7  libvDSP.dylib (516) <151B3CCB-77D3-3715-A3D0-7C74CD5C7FFC> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x7fff8a652000 -     0x7fff8a67bffb  libxslt.1.dylib (13) <AED1143F-B848-3E73-81ED-71356F25F084> /usr/lib/libxslt.1.dylib
    0x7fff8a67c000 -     0x7fff8a6fafff  com.apple.CoreServices.OSServices (640.4 - 640.4) <5FDEFDEF-1BFC-3E67-9043-FA0CAA0D802E> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
    0x7fff8a761000 -     0x7fff8a791fff  com.apple.GSS (4.0 - 2.0) <7DE487D3-50C8-3A45-8C17-B8806B5E6AA5> /System/Library/Frameworks/GSS.framework/Versions/A/GSS
    0x7fff8a7ac000 -     0x7fff8a7acfff  com.apple.audio.units.AudioUnit (1.12 - 1.12) <E5335492-7EFE-31EA-BE72-4A9CEE68D58E> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
    0x7fff8a7b8000 -     0x7fff8aaebff7  libmecabra.dylib (666.7) <0ED8AE5E-7A5B-34A6-A2EE-2B852E60E1E2> /usr/lib/libmecabra.dylib
    0x7fff8aaec000 -     0x7fff8abe0fff  libFontParser.dylib (134.4) <12F2E476-F05A-3F01-92FF-6E0C6D7F8DD5> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
    0x7fff8abe1000 -     0x7fff8abecff7  com.apple.speech.synthesis.framework (5.3.3 - 5.3.3) <A5640275-E2A6-3856-95EF-5F0DC440B10C> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
    0x7fff8abed000 -     0x7fff8abedfff  com.apple.Accelerate.vecLib (3.10 - vecLib 3.10) <9D749502-A228-3BF1-B52F-A182DEEB2C4D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff8abee000 -     0x7fff8ac0efff  com.apple.IconServices (47.1 - 47.1) <E83DFE3B-6541-3736-96BB-26DC5D0100F1> /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
    0x7fff8ac0f000 -     0x7fff8ac3eff7  com.apple.CoreServicesInternal (221.7.2 - 221.7.2) <B93D4775-149C-3698-B38C-9C50673D455C> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal
    0x7fff8ad72000 -     0x7fff8ad73fff  libsystem_secinit.dylib (18) <581DAD0F-6B63-3A48-B63B-917AF799ABAA> /usr/lib/system/libsystem_secinit.dylib
    0x7fff8ad74000 -     0x7fff8b08ffcf  com.apple.vImage (8.0 - 8.0) <1183FE6A-FDB6-3B3B-928D-50C7909F2308> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x7fff8b090000 -     0x7fff8b0aaff7  com.apple.Kerberos (3.0 - 1) <7760E0C2-A222-3709-B2A6-B692D900CEB1> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x7fff8b0e0000 -     0x7fff8b0e3fff  com.apple.IOSurface (97.4 - 97.4) <AE11CFBC-4D46-30F3-BEEC-4C8131079391> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
    0x7fff8b1f1000 -     0x7fff8b20bff7  libextension.dylib (55.2) <3BB019CA-199A-36AC-AA22-14B562138545> /usr/lib/libextension.dylib
    0x7fff8b20c000 -     0x7fff8b23eff3  com.apple.frameworks.CoreDaemon (1.3 - 1.3) <C6DB0A07-F8E4-3837-BCA9-225F460EDA81> /System/Library/PrivateFrameworks/CoreDaemon.framework/Versions/B/CoreDaemon
    0x7fff8b23f000 -     0x7fff8b247ff3  com.apple.CoreServices.FSEvents (1210.20.1 - 1210.20.1) <84F79D3E-7B5E-3C93-8479-35794A3F125E> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
    0x7fff8b29c000 -     0x7fff8b2b9ffb  libresolv.9.dylib (57) <26B38E61-298A-3C3A-82C1-3B5E98AD5E29> /usr/lib/libresolv.9.dylib
    0x7fff8b2ba000 -     0x7fff8b319fff  com.apple.AE (681.2 - 681.2) <450F45DB-0F60-383D-BD22-03E296C82675> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
    0x7fff8b31a000 -     0x7fff8b4a8fff  libBLAS.dylib (1128) <497912C1-A98E-3281-BED7-E9C751552F61> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x7fff8b4a9000 -     0x7fff8b4cdfef  libJPEG.dylib (1238) <8CB4D185-069F-38FE-ABB9-25E514DE227D> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
    0x7fff8b508000 -     0x7fff8b6edff7  libicucore.A.dylib (531.48) <3CD34752-B1F9-31D2-865D-B5B0F0BE3111> /usr/lib/libicucore.A.dylib
    0x7fff8b6ee000 -     0x7fff8b729fff  com.apple.Symbolication (1.4 - 56045) <D64571B1-4483-3FE2-BD67-A91360F79727> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
    0x7fff8b7cc000 -     0x7fff8b7d7ff7  libcsfde.dylib (471.30.1) <A62AE3D8-E2A6-314A-BF45-804003BE0AC9> /usr/lib/libcsfde.dylib
    0x7fff8b7d8000 -     0x7fff8b7e3ff7  libkxld.dylib (2782.30.5) <14CB6513-E373-3829-AD7D-F1C15397F64F> /usr/lib/system/libkxld.dylib
    0x7fff8b7fa000 -     0x7fff8b866fff  com.apple.framework.CoreWLAN (5.0 - 500.35.2) <03697149-1CDD-32FF-B564-1C1EF5E9E5C3> /System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN
    0x7fff8b8a4000 -     0x7fff8bcd4fff  com.apple.vision.FaceCore (3.1.6 - 3.1.6) <C3B823AA-C261-37D3-B4AC-C59CE91C8241> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
    0x7fff8bcd5000 -     0x7fff8c511fef  com.apple.CoreGraphics (1.600.0 - 788.2) <31A7F05E-9C68-3642-A8F0-3863777955AE> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
    0x7fff8c51f000 -     0x7fff8c53aff7  libCRFSuite.dylib (34) <D64842BE-7BD4-3D0C-9842-1D202F7C2A51> /usr/lib/libCRFSuite.dylib
    0x7fff8c53b000 -     0x7fff8c548ff7  libbz2.1.0.dylib (36) <2DF83FBC-5C08-39E1-94F5-C28653791B5F> /usr/lib/libbz2.1.0.dylib
    0x7fff8c549000 -     0x7fff8c54bfff  com.apple.loginsupport (1.0 - 1) <DAAD7013-A19D-3858-BFF7-DE1DAF664401> /System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport
    0x7fff8c54c000 -     0x7fff8c55fff7  com.apple.CoreBluetooth (1.0 - 1) <8D7BA9BA-EB36-307A-9119-0B3D9732C953> /System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth
    0x7fff8c560000 -     0x7fff8c8f8ff7  com.apple.CoreFoundation (6.9 - 1153.18) <5C0892B8-9691-341F-9279-CA3A74D59AA0> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff8c92f000 -     0x7fff8c94cfff  libsystem_kernel.dylib (2782.30.5) <101D28C0-AF07-3B81-87BE-CA27ADED33AB> /usr/lib/system/libsystem_kernel.dylib
    0x7fff8c973000 -     0x7fff8cb6d46f  libobjc.A.dylib (647) <759E155D-BC42-3D4E-869B-6F57D477177C> /usr/lib/libobjc.A.dylib
    0x7fff8cb6e000 -     0x7fff8cb70ff7  com.apple.securityhi (9.0 - 55006) <41996F52-0848-3384-BF45-2821FB38A369> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
    0x7fff8cba1000 -     0x7fff8cbdbffb  com.apple.DebugSymbols (115 - 115) <6F03761D-7C3A-3C80-8031-AA1C1AD7C706> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
    0x7fff8cbdc000 -     0x7fff8cc4dffb  com.apple.ApplicationServices.ATS (360 - 375.4) <A1BEBCF8-8FC8-345D-B91D-1DA5773AF5A3> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
    0x7fff8cfc0000 -     0x7fff8cfc8ff7  com.apple.AppleSRP (5.0 - 1) <68F0C577-ED96-34F2-B701-CE3023367D4D> /System/Library/PrivateFrameworks/AppleSRP.framework/Versions/A/AppleSRP
    0x7fff8cfc9000 -     0x7fff8cfcdfff  libpam.2.dylib (20) <E805398D-9A92-31F8-8005-8DC188BD8B6E> /usr/lib/libpam.2.dylib
    0x7fff8d2ac000 -     0x7fff8d2f7fff  com.apple.CloudDocs (1.0 - 321.9) <9CFB3AAF-9BD4-3543-BAEA-06AFC177A288> /System/Library/PrivateFrameworks/CloudDocs.framework/Versions/A/CloudDocs
    0x7fff8d2f8000 -     0x7fff8d352ff7  com.apple.LanguageModeling (1.0 - 1) <ACA93FE0-A0E3-333E-AE3C-8EB7DE5F362F> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
    0x7fff8d3ee000 -     0x7fff8d51efff  com.apple.UIFoundation (1.0 - 1) <466BDFA8-0B9F-3AB0-989D-F9779422926A> /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation
    0x7fff8d594000 -     0x7fff8d59afff  libsystem_trace.dylib (72.20.1) <840F5301-B55A-3078-90B9-FEFFD6CD741A> /usr/lib/system/libsystem_trace.dylib
    0x7fff8d5c3000 -     0x7fff8d63cfe7  libcorecrypto.dylib (233.30.1) <5779FFA0-4D9A-3AD4-B7F2-618227621DC8> /usr/lib/system/libcorecrypto.dylib
    0x7fff8d63d000 -     0x7fff8d641fff  com.apple.CommonPanels (1.2.6 - 96) <F9ECC8AF-D9CA-3350-AFB4-5113A9B789A5> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
    0x7fff8d642000 -     0x7fff8d65eff7  libsystem_malloc.dylib (53.30.1) <DDA8928B-CC0D-3255-BD8A-3FEA0982B890> /usr/lib/system/libsystem_malloc.dylib
    0x7fff8e414000 -     0x7fff8e41dff3  com.apple.CommonAuth (4.0 - 2.0) <07FD1753-5498-310F-8C58-49E2F27C614B> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
    0x7fff8e41e000 -     0x7fff8e4afff7  libCoreStorage.dylib (471.30.1) <9D95399F-1AC5-325F-8337-6E13AD99E44B> /usr/lib/libCoreStorage.dylib
    0x7fff8e4b3000 -     0x7fff8e7e4fff  com.apple.Foundation (6.9 - 1153.20) <F0FF3A5D-C5B7-34A1-9319-DE1EF928E58E> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff8e906000 -     0x7fff8eb7cff7  com.apple.security (7.0 - 57031.30.12) <E9CF3D8E-0165-3EB2-BED9-FDB99CDA924B> /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff8ebae000 -     0x7fff8ec22ffb  com.apple.securityfoundation (6.0 - 55126) <D3C26373-83B1-3FDF-AD9C-39875D84312A> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
    0x7fff8ec28000 -     0x7fff8ec76fff  libcurl.4.dylib (83.1.2) <462767FC-C7F2-39F1-8C10-DA4114945F55> /usr/lib/libcurl.4.dylib
    0x7fff8ecd2000 -     0x7fff8ed92ff7  com.apple.backup.framework (1.6.5 - 1.6.5) <86396038-33EA-3046-9F70-093A3D6407D4> /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
    0x7fff8ed98000 -     0x7fff8eeb1ffb  com.apple.CoreText (352.0 - 454.9) <BBAB8852-40E5-3B76-A7AA-8098B69EF348> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
    0x7fff8eeb2000 -     0x7fff8eeb2ff7  liblaunch.dylib (559.30.1) <B1301610-D60C-3301-B254-11F066BD48A7> /usr/lib/system/liblaunch.dylib
    0x7fff8f0b0000 -     0x7fff8f0caff7  liblzma.5.dylib (7) <1D03E875-A7C0-3028-814C-3C27F7B7C079> /usr/lib/liblzma.5.dylib
    0x7fff8f18c000 -     0x7fff8f197fff  libcommonCrypto.dylib (60061.30.1) <E789748D-F9A7-3CFF-B317-90DF348B1E95> /usr/lib/system/libcommonCrypto.dylib
    0x7fff8f35f000 -     0x7fff8f360fff  com.apple.TrustEvaluationAgent (2.0 - 25) <2D61A2C3-C83E-3A3F-8EC1-736DBEC250AB> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
    0x7fff8f38a000 -     0x7fff8f402ff7  com.apple.SystemConfiguration (1.14.4 - 1.14) <E3495342-E80D-358D-9290-6C02F5F46BCA> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fff8f8f4000 -     0x7fff8f902ff7  com.apple.opengl (11.1.2 - 11.1.2) <5F355713-4637-33CD-9CBA-4B4CA43FB0FE> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
    0x7fff8f903000 -     0x7fff8fc05ffb  com.apple.GeoServices (1.0 - 1077.0.18) <2BBF8B44-DD46-3432-8C84-6D6AA004C233> /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/GeoServices
    0x7fff8fc3e000 -     0x7fff8fc6bfff  com.apple.CoreVideo (1.8 - 145.1) <18DB07E0-B927-3260-A234-636F298D1917> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
    0x7fff8fc6c000 -     0x7fff8fd1bfe7  libvMisc.dylib (516) <6739E390-46E7-3BFA-9B69-B278562326E6> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x7fff8fd36000 -     0x7fff8fd3bff7  libmacho.dylib (862) <126CA2ED-DE91-308F-8881-B9DAEC3C63B6> /usr/lib/system/libmacho.dylib
    0x7fff8fd3c000 -     0x7fff8fd55ff7  com.apple.CFOpenDirectory (10.10 - 187) <2BF2705E-2CC6-37E7-BD49-D4B4E01591E3> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x7fff8fd56000 -     0x7fff8fd5afff  libcache.dylib (69) <45E9A2E7-99C4-36B2-BEE3-0C4E11614AD1> /usr/lib/system/libcache.dylib
    0x7fff8fd5b000 -     0x7fff8fe4dfff  libxml2.2.dylib (26) <B834E7C8-EC3E-3382-BC5A-DA38DC4D720C> /usr/lib/libxml2.2.dylib
    0x7fff8ff0f000 -     0x7fff8ffa3fff  com.apple.ink.framework (10.9 - 213) <8E029630-1530-3734-A446-13353F0E7AC5> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
    0x7fff900cb000 -     0x7fff900cbfff  com.apple.Cocoa (6.8 - 21) <EAC0EA1E-3C62-3B28-A941-5D8B1E085FF8> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
    0x7fff900e1000 -     0x7fff90291ff3  com.apple.QuartzCore (1.10 - 361.19) <F815B60E-75E3-3263-BE93-27A49882CF58> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
    0x7fff90292000 -     0x7fff902a3fff  libcmph.dylib (1) <46EC3997-DB5E-38AE-BBBB-A035A54AD3C0> /usr/lib/libcmph.dylib
    0x7fff902a4000 -     0x7fff902f5fff  com.apple.audio.CoreAudio (4.3.0 - 4.3.0) <450293F7-DAE7-3DD0-8F7C-71FC2FD72627> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
    0x7fff902f6000 -     0x7fff9030fff3  com.apple.openscripting (1.6.4 - 162.2) <BF79207B-C762-346D-8FF0-3DDCECC9E9E2> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
    0x7fff90310000 -     0x7fff90400fef  libJP2.dylib (1238) <170811AC-E632-3257-86AB-786F402C82DB> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
    0x7fff90401000 -     0x7fff90706ff3  com.apple.HIToolbox (2.1.1 - 758.7) <083019EB-7F58-36F1-BF7F-9E746F692E5C> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
    0x7fff9080f000 -     0x7fff90976ffb  com.apple.audio.toolbox.AudioToolbox (1.12 - 1.12) <5678FC94-456A-3F5F-BA9A-10EB6E462997> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
    0x7fff90977000 -     0x7fff90a9bff7  com.apple.LaunchServices (644.56 - 644.56) <20AABB1C-9319-3E4D-A024-51B0DD5FCD3B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
    0x7fff90c50000 -     0x7fff9105dff7  libLAPACK.dylib (1128) <F9201AE7-B031-36DB-BCF8-971E994EF7C1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x7fff9105e000 -     0x7fff91060fff  libsystem_sandbox.dylib (358.20.5) <3F5E973F-C702-31AC-97BC-05F5C195683C> /usr/lib/system/libsystem_sandbox.dylib
    0x7fff91129000 -     0x7fff91130fff  com.apple.NetFS (6.0 - 4.0) <C263C8F8-F284-3101-AC82-A97A81716063> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
    0x7fff91131000 -     0x7fff9126bfff  com.apple.ImageIO.framework (3.3.0 - 1238) <A4B8E6F8-9601-3E2D-ABCC-97491779E8B4> /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
    0x7fff9126c000 -     0x7fff91274fff  libsystem_platform.dylib (63) <64E34079-D712-3D66-9CE2-418624A5C040> /usr/lib/system/libsystem_platform.dylib
    0x7fff91307000 -     0x7fff91348fff  libGLU.dylib (11.1.2) <2BA52A8D-ED35-3D86-B2D6-41479969C96D> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
    0x7fff9137c000 -     0x7fff913c9ff7  com.apple.print.framework.PrintCore (10.3 - 451.1) <DE992474-0841-38A1-B4F6-46D653E454D5> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
    0x7fff913ca000 -     0x7fff9144efff  com.apple.PerformanceAnalysis (1.0 - 1) <BAE4C265-C0B9-3302-AC88-EB5F312FD33C> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
    0x7fff918df000 -     0x7fff918e1fff  com.apple.EFILogin (2.0 - 2) <3BA837D8-94F5-3240-9CF7-E40DC2808446> /System/Library/PrivateFrameworks/EFILogin.framework/Versions/A/EFILogin
    0x7fff91932000 -     0x7fff91a24ff7  libiconv.2.dylib (42) <2A06D02F-8B76-3864-8D96-64EF5B40BC6C> /usr/lib/libiconv.2.dylib
    0x7fff91a25000 -     0x7fff91a29fff  com.apple.TCC (1.0 - 1) <CCA42EE2-3400-3444-9486-BC454E60D944> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
    0x7fff91a5f000 -     0x7fff91a68fff  libGFXShared.dylib (11.1.2) <7F9F6175-E993-3014-8C9B-1F08CE7C75A2> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
    0x7fff91b3d000 -     0x7fff91b68fff  libc++abi.dylib (125) <88A22A0F-87C6-3002-BFBA-AC0F2808B8B9> /usr/lib/libc++abi.dylib
    0x7fff91b69000 -     0x7fff91b80ff7  libLinearAlgebra.dylib (1128) <E78CCBAA-A999-3B65-8EC9-06DB15E67C37> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
    0x7fff91b81000 -     0x7fff91c23fff  com.apple.Bluetooth (4.3.5 - 4.3.5f8) <DB1CF332-A131-3DF1-BE85-A05594F6DA5F> /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
    0x7fff91c24000 -     0x7fff91c4afff  com.apple.ChunkingLibrary (2.1 - 163.6) <29D4CB95-42EF-34C6-8182-BDB6F7BB1E79> /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary
    0x7fff91c88000 -     0x7fff91c88fff  com.apple.Carbon (154 - 157) <9BF51672-1684-3FDE-A561-FC59A2864EF8> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
    0x7fff91c89000 -     0x7fff91cc1fff  libsystem_network.dylib (412.20.3) <6105C134-6722-3C0A-A4CE-5E1261E2E1CC> /usr/lib/system/libsystem_network.dylib
    0x7fff91cc2000 -     0x7fff91cedfff  com.apple.DictionaryServices (1.2 - 229) <F03DFAC6-6285-3176-9C6D-7CC50F8CD52A> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
    0x7fff91db6000 -     0x7fff91dc1ff7  com.apple.CrashReporterSupport (10.10 - 631) <C44259AC-0A1C-3EC5-99AC-48CB520A709D> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
    0x7fff91def000 -     0x7fff91e26ffb  com.apple.LDAPFramework (2.4.28 - 194.5) <CAFB9695-000F-34EA-8DF5-09996929C26A> /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
    0x7fff91e27000 -     0x7fff91e33ff7  com.apple.OpenDirectory (10.10 - 187) <2A6F3C10-71EE-3ABE-AD71-0B68F13B9C79> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
    0x7fff9278b000 -     0x7fff9278dff7  libutil.dylib (38) <471AD65E-B86E-3C4A-8ABD-B8665A2BCE3F> /usr/lib/libutil.dylib
    0x7fff9278e000 -     0x7fff927affff  com.apple.framework.Apple80211 (10.3 - 1030.71.6) <C0A17391-5C8B-34B1-BD46-8D644AB57DE0> /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211
    0x7fff927b0000 -     0x7fff92817ffb  com.apple.datadetectorscore (6.0 - 396.1.1) <2127914D-0F8B-3032-9E25-E4209531D948> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
    0x7fff937db000 -     0x7fff937deff7  libdyld.dylib (353.2.1) <78E8F33D-0C86-3DB6-A93D-B67A25BA3522> /usr/lib/system/libdyld.dylib
    0x7fff937e7000 -     0x7fff937eafff  com.apple.help (1.3.3 - 46) <CA4541F4-CEF5-355C-8F1F-EA65DC1B400F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
    0x7fff9382d000 -     0x7fff93879ff7  libcups.2.dylib (408.2) <E8AD18F9-61E4-3791-B840-504468C25556> /usr/lib/libcups.2.dylib
    0x7fff9387a000 -     0x7fff938aafff  libsystem_m.dylib (3086.1) <1E12AB45-6D96-36D0-A226-F24D9FB0D9D6> /usr/lib/system/libsystem_m.dylib
    0x7fff938ab000 -     0x7fff938abfff  libOpenScriptingUtil.dylib (162.2) <D6A2216D-ADB2-3F24-AD30-F6D00829F545> /usr/lib/libOpenScriptingUtil.dylib
    0x7fff938ac000 -     0x7fff93967ff7  com.apple.DiscRecording (9.0 - 9000.4.2) <4655B4B8-523D-3AE6-92A0-8486A2258B3B> /System/Library/Frameworks/DiscRecording.framework/Versions/A/DiscRecording
    0x7fff93968000 -     0x7fff9396cfff  libCoreVMClient.dylib (79.1) <201EF6DF-5074-3CB7-A361-398CF957A264> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
    0x7fff93a16000 -     0x7fff93a60fff  com.apple.HIServices (1.22 - 523) <C7F6A39C-EBC0-3AA7-B355-2DBF988B5A6D> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
    0x7fff93b4c000 -     0x7fff93b55ff7  libsystem_notify.dylib (133.1.1) <61147800-F320-3DAA-850C-BADF33855F29> /usr/lib/system/libsystem_notify.dylib
    0x7fff93b83000 -     0x7fff94704ff7  com.apple.AppKit (6.9 - 1348.17) <E485D56D-3E72-34B7-99BB-BFDEE2D07BF5> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x7fff94705000 -     0x7fff9472dfff  libRIP.A.dylib (788.2) <4DAA8224-AD10-3865-BF9F-DF56168914F9> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib
    0x7fff9472e000 -     0x7fff94739fff  libGL.dylib (11.1.2) <FD8B7B67-1532-32A1-B369-9D7A6C1EB3ED> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
    0x7fff94750000 -     0x7fff947eefff  com.apple.Metadata (10.7.0 - 917.36) <FCDD8B56-F57A-3A49-9124-CE9CEE20C502> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
    0x7fff94a5d000 -     0x7fff94ab8fe7  libTIFF.dylib (1238) <3DFEB4AE-3BE9-3C07-B804-921AD23FB48F> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
    0x7fff94ab9000 -     0x7fff94d38ff7  com.apple.CoreData (111 - 526.3) <5A27E0D8-5E5A-335B-B3F6-2601C7B976FA> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
    0x7fff94d58000 -     0x7fff94d67fff  com.apple.LangAnalysis (1.7.0 - 1.7.0) <D1E527E4-C561-352F-9457-E8C50232793C> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
    0x7fff94d68000 -     0x7fff94d87fff  com.apple.CoreDuet (1.0 - 1) <36AA9FD5-2685-314D-B364-3FA4688D86BD> /System/Library/PrivateFrameworks/CoreDuet.framework/Versions/A/CoreDuet
    0x7fff94d88000 -     0x7fff94dc0fff  com.apple.RemoteViewServices (2.0 - 99) <C9A62691-B0D9-34B7-B71C-A48B5F4DC553> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
    0x7fff94dc1000 -     0x7fff94e0dfff  com.apple.corelocation (1486.17 - 1615.24) <8825B3E2-E053-3E01-AE31-793443962D06> /System/Library/Frameworks/CoreLocation.framework/Versions/A/CoreLocation
    0x7fff94e3c000 -     0x7fff94e42fff  com.apple.speech.recognition.framework (5.0.9 - 5.0.9) <BB2D573F-0A01-379F-A2BA-3C454EDCB111> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
    0x7fff94e43000 -     0x7fff94e4bff7  com.apple.icloud.FindMyDevice (1.0 - 1) <9CE67F85-2BA8-3093-97BA-07BF5C04A5D6> /System/Library/PrivateFrameworks/FindMyDevice.framework/Versions/A/FindMyDevice
    0x7fff9551c000 -     0x7fff95529ff3  com.apple.ProtocolBuffer (1 - 228.0.1) <3429EB06-9F0E-355F-B9AB-F72879177398> /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer
    0x7fff957e2000 -     0x7fff957eafe7  libcldcpuengine.dylib (2.4.5) <6CC680F9-0D13-333B-B151-F0D9C631A1E5> /System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/libcldcpuengine.dylib
    0x7fff95d25000 -     0x7fff95d37ff7  com.apple.ImageCapture (9.0 - 9.0) <7FB65DD4-56B5-35C4-862C-7A2DED991D1F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
    0x7fff96697000 -     0x7fff9669cffb  libheimdal-asn1.dylib (398.10.1) <D362D79B-CC4F-3E62-9BC7-9B645BEBBF4E> /usr/lib/libheimdal-asn1.dylib
    0x7fff9669d000 -     0x7fff9669eff3  libSystem.B.dylib (1213) <AD223AEB-237D-35A3-825E-EECF95916838> /usr/lib/libSystem.B.dylib
    0x7fff966ee000 -     0x7fff966f0fff  com.apple.CoreDuetDebugLogging (1.0 - 1) <9A6E5710-EA99-366E-BF40-9A65EC1B46A1> /System/Library/PrivateFrameworks/CoreDuetDebugLogging.framework/Versions/A/CoreDuetDebugLogging
    0x7fff966f1000 -     0x7fff96763fff  com.apple.framework.IOKit (2.0.2 - 1050.20.2) <09C0518C-90DF-3FC3-96D6-34D35F72C8EF> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff968fa000 -     0x7fff96940ff7  libFontRegistry.dylib (134.1) <CE41D8C2-BEED-345C-BC4F-3775CC06C672> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
    0x7fff96941000 -     0x7fff9694eff7  com.apple.SpeechRecognitionCore (2.1.2 - 2.1.2) <551322E2-C1E4-3378-A218-F362985E3E3C> /System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore
    0x7fff9695e000 -     0x7fff969fde27  com.apple.AppleJPEG (1.0 - 1) <6627DDD9-A8FE-3968-B23A-B6A29AA3919A> /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
    0x7fff969fe000 -     0x7fff96ad4ff3  com.apple.DiskImagesFramework (10.10.4 - 397) <8B513846-28A2-3275-B8A0-DF08C5EC077A> /System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/DiskImages
    0x7fff96c73000 -     0x7fff96ce2fff  com.apple.SearchKit (1.4.0 - 1.4.0) <80883BD1-C9BA-3794-A20E-476F94DD89A9> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
    0x7fff96ddb000 -     0x7fff96e49ffb  com.apple.Heimdal (4.0 - 2.0) <E376CB36-6A8E-36A8-88E7-D06948417D58> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
    0x7fff96ea5000 -     0x7fff96ea5ff7  libkeymgr.dylib (28) <77845842-DE70-3CC5-BD01-C3D14227CED5> /usr/lib/system/libkeymgr.dylib
    0x7fff96ea6000 -     0x7fff96eabff7  libunwind.dylib (35.3) <BE7E51A0-B6EA-3A54-9CCA-9D88F683A6D6> /usr/lib/system/libunwind.dylib
    0x7fff96efb000 -     0x7fff96efeffb  libCGXType.A.dylib (788.2) <2F4BD0F4-9A86-3611-9004-F14E4FDCBAE9> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXType.A.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 1
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 17010
    thread_create: 0
    thread_set_state: 78

VM Region Summary:
ReadOnly portion of Libraries: Total=22.7M resident=22.7M(100%) swapped_out_or_unallocated=0K(0%)
Writable regions: Total=296.9M written=160.7M(54%) resident=234.8M(79%) swapped_out=0K(0%) unallocated=62.2M(21%)

REGION TYPE                      VIRTUAL
===========                      =======
CG backing stores                  10.5M
CG image                            672K
CG shared images                    240K
CoreAnimation                        96K
CoreImage                            16K
CoreServices                          4K
CoreUI image data                   140K
Foundation                            4K
Kernel Alloc Once                     8K
MALLOC                            208.2M
MALLOC (admin)                       32K
MALLOC_LARGE (reserved)            1840K        reserved VM address space (unallocated)
Memory Tag 242                       12K
OpenCL                               16K
STACK GUARD                        56.0M
Stack                              11.6M
VM_ALLOCATE                        17.4M
__DATA                             24.1M
__IMAGE                             528K
__LINKEDIT                         75.6M
__TEXT                            128.3M
__UNICODE                           552K
mapped file                       109.7M
shared memory                         8K
===========                      =======
TOTAL                             645.5M
TOTAL, minus reserved VM space    643.7M


Model: MacBookPro11,1, BootROM MBP111.0138.B15, 2 processors, Intel Core i5, 2.6 GHz, 8 GB, SMC 2.16f68
Graphics: Intel Iris, Intel Iris, Built-In
Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1600 MHz, 0x02FE, -
Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1600 MHz, 0x02FE, -
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x112), Broadcom BCM43xx 1.0 (7.15.166.24.3)
Bluetooth: Version 4.3.5f8 15969, 3 services, 27 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
Serial ATA Device: APPLE SSD SM0256F, 251 GB
USB Device: WiFiDisk
USB Device: Internal Memory Card Reader
USB Device: BRCM20702 Hub
USB Device: Bluetooth USB Host Controller
USB Device: Apple Internal Keyboard / Trackpad
Thunderbolt Bus: MacBook Pro, Apple Inc., 17.2

MSU-1 Seek issue

I managed to run into a case where the MSU-1 seeks to an incorrect address. I set the seek registers to address $0000002C, but it loaded from $0000002F instead. Running the same ROM in higan v101 and the SD2SNES both work correctly. I've attached a test ROM, breakpoint at $E00083 to demonstrate. It should load $56 $09 from offset $2C in the .msu file, but it loads $00 $00 from $2F instead
video_test.zip

window menu makes main window unresponsive

[00:50:25] <Xkeeper> if you open the window menu (click topleft icon in windows)
[00:50:35] <Xkeeper> the window becomes completely unresponsive until you put it out of focus
[00:50:53] <Xkeeper> for bsnes+ itself, not any other windows

Nothing visible in Sprite Viewer

Is the box in the upper-right corner of the sprite viewer supposed to actually display the sprite? Because all I get is solid black, no matter which sprite I click on.
bsnes-plus_sprite_viewer

Problems when building bsnes-plus with msys2

  1. Makefile fails to detect Windows OS.
    I have poor knowledge of writing a Makefile, but seems following code doesn't work on msys2
# bsnes/nall/Makefile
ifeq ($(platform),)
  uname := $(shell uname -a)
  ifdef SystemRoot
    platform := win
    delete = del $(subst /,\,$1)
  else ifneq ($(findstring Darwin,$(uname)),)
    platform := osx
    delete = rm -f $1
  else
    platform := x
    delete = rm -f $1
  endif
endif
  1. Instead of using pkg-config, If windows platform is detected, Makefile tries to find QT include & lib path itself.
Carter Li@CarterLi-PC MINGW64 /d/work/bsnes-plus/snesreader
$ make platform=win
g++ -std=gnu++0x -I. -Iobj -O3 -fomit-frame-pointer -DNDEBUG -march=native -Wno-switch -Wno-absolute-value -Wno-parentheses -IC:/msys64/mingw64 C:/msys64/mingw64/include -IC:/msys64/mingw64 C:/msys64/mingw64/include/QtCore -IC:/msys64/mingw64 C:/msys64/mingw64/include/QtGui -c snesreader.cpp -o obj/snesreader.o
g++: error: C:/msys64/mingw64/include/QtCore: No such file or directory
g++: error: C:/msys64/mingw64/include/QtGui: No such file or directory
Makefile:77: recipe for target 'obj/snesreader.o' failed
make: *** [obj/snesreader.o] Error 
  1. We define dllexport __declspec(dllexport), which results in lots of following errors:
C:/msys64/mingw64/include/qt4/QtCore/qglobal.h:1399:38: note: in expansion of macro 'dllexport'
 #    define Q_DECL_EXPORT __declspec(dllexport)
                                      ^
C:/msys64/mingw64/include/qt4/QtCore/qglobal.h:1545:26: note: in expansion of macro 'Q_DECL_EXPORT'
 #    define Q_GUI_EXPORT Q_DECL_EXPORT
                          ^
C:/msys64/mingw64/include/qt4/QtGui/qpictureformatplugin.h:73:7: note: in expansion of macro 'Q_GUI_EXPORT'
 class Q_GUI_EXPORT QPictureFormatPlugin : public QObject, public QPictureFormatInterface
       ^
C:/msys64/mingw64/include/qt4/QtGui/qpictureformatplugin.h:73:20: warning: '__attribute__' attribute directive ignored [-Wattributes]
 class Q_GUI_EXPORT QPictureFormatPlugin : public QObject, public QPictureFormatInterface
                    ^
snesreader.cpp:4:32: error: 'dllexport' was not declared in this scope
   #define dllexport __declspec(dllexport)
                                ^

I'm superised that other people like emucr can build it without problems, but it's not good to #define a keyword directly, though it's platform specified.

It's ok not to fix the first and second issue if you guys don't care about msys2. But I suggest that the 3rd one should be fixed in order to improve the portability of bsnes-plus

SMP Breakpoint Bug

Sometimes, SMP breakpoints are not working as expected. For instance:

Addr[08D]-[090] Data[] R[x] W[] X[] Source[S-SMP bus]

triggered on

..08de mov $08f,a A:00 X:00 Y:00 SP:01fd YA:0000 nvpbhiZc
and
..08e3 mov $090,a A:ff X:00 Y:00 SP:01fd YA:00ff Nvpbhizc

both of which are writes to the specified addresses, not reads.

Can not compile supergameboy on linux

I'm also believe that it will not compile on some versions of OSX either.

I don't feel like making a push request for such a simple fix so here is the diff to get it to compile on linux/bsd.

diff --git a/supergameboy/Makefile b/supergameboy/Makefile
index 570d2e6..d9170a7 100644
--- a/supergameboy/Makefile
+++ b/supergameboy/Makefile
@@ -5,9 +5,9 @@ cpp   := $(compiler) -std=gnu++0x
 flags := -O3 -fomit-frame-pointer -I. -Icommon -Ilibgambatte/include -Ilibgambatte/src
 link  :=

-ifeq ($(platform),osx)
+ifeq ($(platform),x)
   flags := -fPIC $(flags)
-else ifeq ($(platform),x)
+else ifeq ($(platform),osx)
   flags += -fPIC -march=native -mmacosx-version-min=10.10
   link += -F/usr/local/lib -mmacosx-version-min=10.10
 endif

Build error on OSX

litongzhou@MacBook-Pro ~/mybsnes/bsnes (git)-[master] % make
clang++ -std=gnu++0x -I. -Isnes -O3 -fomit-frame-pointer -DNDEBUG -march=native -DNDEBUG -Wno-switch -Wno-absolute-value -Wno-parentheses -march=native -DPROFILE_COMPATIBILITY -DDEBUGGER -Iobj -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/Library/Frameworks/QtGui.framework/Versions/4/Headers -I/Library/Frameworks/QtOpenGL.framework/Versions/4/Headers -I/usr/local/lib/QtCore.framework/Versions/4/Headers -I/usr/local/lib/QtGui.framework/Versions/4/Headers -I/usr/local/lib/QtOpenGL.framework/Versions/4/Headers -c ui-qt/main.cpp -o obj/ui-main.o
clang++ -std=gnu++0x -I. -Isnes -O3 -fomit-frame-pointer -DNDEBUG -march=native -DNDEBUG -Wno-switch -Wno-absolute-value -Wno-parentheses -march=native -DPROFILE_COMPATIBILITY -DDEBUGGER -c snes/chip/superfx/superfx.cpp -o obj/snes-superfx.o
In file included from snes/chip/superfx/superfx.cpp:15:
snes/chip/superfx/debugger/debugger.cpp:111:33: error: value of type 'SNES::SuperFX::clsr_t' is not contextually
      convertible to 'bool'
  item("Clock Register (CLSR)", regs.clsr ? "21.4 MHz" : "10.7 MHz")
                                ^~~~~~~~~
snes/chip/superfx/debugger/debugger.cpp:85:13: note: expanded from macro 'item'
    value = value_; \
            ^
1 error generated.
make: *** [obj/snes-superfx.o] Error 1

Trace Logs should be saved to the "Exported Data" folder

Trace logs are currently saved to the emulator's directory as trace.log. Instead, they should respect the same output directory configuration as the usage cache file, which in my case is the default "Same as loaded game". Also, the name of the trace log should include the ROM name, the same way the usage log or screenshots, or any other exported data does.

Or, another option would be to add another config option in the Paths dialog for "Debug data" that would include trace logs, usage logs, etc.

SA1 disassembler reads from S-CPU bus

When disassembling the SA1's instruction stream, the disassembler reads from the S-CPU bus rather than the SA1's. This usually doesn't matter because opcodes are generally in ROM and ROM is mapped the same way on both buses, but if an instruction fetches, say, an indirect pointer from an address that is WRAM on the S-CPU side but IRAM on the SA1 side, the disassembler will end up displaying the wrong effective address.

Recommended fix is to pull awjackson/bsnes-classic@e927086 and in SA1Debugger override disassembler_read(uint32) with a method that reads the correct bus.

Also, using vbrbus for debugger access the way you've been doing is problematic. vbrbus isn't just sa1bus without the MMIO; it also doesn't implement ROM bank switching (and based on Nintendo docs I suspect this is intentional and correct, not an oversight by byuu. It's hard to tell, though, because I haven't been able to find a single game that uses the VBR registers...)

Make Piano Keys Clickable

Is there a way to turn the Keyboard array into a playable keyboard that plays the most recent loaded voice or instrument?

Feature request: Cleaner interface for register editor

I know this is probably an annoying type of request, but do you think you could come up with an internal interface for the register editor that doesn't involve letting code in the /ui-qt/ tree directly poke at data members of CPUcore et al? And hopefully enforce some sanity like not allowing you to set the high bytes of X/Y when the X flag is 1, or the high byte of the stack pointer when in 6502 emulation mode, or whatever comparable consistency requirements there are for the SuperFX.

A real problem with bsnes' architecture is how just about everything is public (in fact many of the core classes are actually "structs"!) and remote parts of the code have promiscuous knowledge of each other's internals. For example, it's absurd that the emulator actually knows and cares about which UI menu item you loaded a game from (SNES::Cartridge::Mode) and the BS-X cartridge and the SGB won't work if you load them as regular cartridges, even though all the information needed to map and run them is present in the memory-mapping XML. One of my design goals with bsnes-classic was to clean this mess up (without taking the drastic step byuu did of tearing up the entire UI and starting over, and then doing it again) and I don't want us to work at cross purposes. I understand your priority is adding as many debugging features as possible, but I'd like you to have access to the emulation and performance improvements I intend to make without those features breaking (this is why I warned you about the SA-1 mapping issue)

In particular, if you decide to add a PPU register editor that works like the current CPU register editor, I'm going to be in a very uncomfortable position.

Save state loading (F4) sometimes make the emulator crash

@devinacker

First off, let me just say thanks for this fork of bsnes v073 because it has working mbc2 which makes it possible to save/load properly in Kid Icarus - Of Myths and Monsters something that the vanilla build and the King of Chaos build of v073 didn't have.

Now to business, every now and then when you try to load a save state the emulator crashes and I'm forced to close and reload it.
This does not happen on said builds mentioned above just in bsnes-plus and it's very random, sometimes I can spam F4 and it loads the state just fine and other times it's just crashing.

I only use this fork for Super Game Boy purposes mainly because it's a hell of a lot easier to use then newer higan versions and that it's still use Gambatte for GB making it the best solution for Super Game Boy really.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.