Package: higan Version: 094-2 When I try to import an NES ROM without an iNES header, higan segfaults. I don't see any mention in the user guide about preferred ROM formats (headered/unheadered, zipped, etc.), but anything unsupported should fail with a clear error message. Details follow.
- Michael E.g., with this ROM: "Super Mario Bros. (World).nes" size 40960 sha1 facee9c577a5262dbe33ac4930bb0b58c8c037f7 sha256 fcb6a0ef3a20c19b356005fbb21dc8009563b1cb5a9aaebc8e9386b4a8c5912e the import dialog crashes here (note the 'length' variable): Program received signal SIGSEGV, Segmentation fault. 0x0000000000526b0d in nall::file::write (this=0x7fffffffbd20, buffer=0x14b9001 <Address 0x14b9001 out of bounds>, length=4156826804) at ./nall/file.hpp:173 173 while(length--) write(*buffer++); Before crashing it created a directory in the game library: $ echo * manifest.bml program.rom $ cat manifest.bml unverified information title: Super Mario Bros. (World) $ wc -c program.rom 1753088 program.rom $ When I restart and try to load that, it crashes as follows: Program received signal SIGSEGV, Segmentation fault. 0x000000000068db0f in Famicom::Cartridge::power ( this=0x9f34e0 <Famicom::cartridge>) at fc/cartridge/cartridge.cpp:49 49 board->power(); (gdb) If I add a header to the file, higan can successfully import and run it: $ (printf 'NES\x1a\2\1\1\0\0\0\0\0\0\0\0\0' \ && cat "Super Mario Bros. (World).nes") \ > "Super Mario Bros. (World) [!].nes" [import game and cd to its directory] $ cat manifest.bml unverified cartridge board type=NES-NROM-256 mirror mode=vertical prg rom name=program.rom size=0x8000 chr rom name=character.rom size=0x2000 information title: Super Mario Bros. (World) [!] $ cat program.rom character.rom | sha256sum fcb6a0ef3a20c19b356005fbb21dc8009563b1cb5a9aaebc8e9386b4a8c5912e - $ -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 3.11-1-amd64 (SMP w/8 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages higan depends on: ii libao4 1.1.0-2 ii libasound2 1.0.27.2-3 ii libatk1.0-0 2.10.0-2 ii libc6 2.17-97 ii libcairo2 1.12.16-2 ii libfontconfig1 2.11.0-2 ii libfreetype6 2.5.2-1 ii libgcc1 1:4.8.2-14 ii libgdk-pixbuf2.0-0 2.28.2-1+b1 ii libgl1-mesa-glx [libgl1] 9.2.2-1 ii libglib2.0-0 2.36.4-1 ii libgtk2.0-0 2.24.22-1 ii libopenal1 1:1.14-4 ii libpango-1.0-0 1.36.0-1+b1 ii libpangocairo-1.0-0 1.36.0-1+b1 ii libpangoft2-1.0-0 1.36.0-1+b1 ii libpulse0 4.0-6+b1 ii libsdl1.2debian 1.2.15-8 ii libstdc++6 4.8.2-14 ii libudev1 204-6 ii libx11-6 2:1.6.2-1 ii libxext6 2:1.3.2-1 ii libxv1 2:1.0.10-1 higan recommends no packages. higan suggests no packages. -- no debconf information
signature.asc
Description: Digital signature