• Screwtape's avatar
    Update to v104r07 release. · 9c25f128
    Screwtape authored
    byuu says:
    
    Changelog:
    
      - md/vdp: added VIP bit to status register; fixes Cliffhanger
      - processor/m68k/disassembler: added modes 7 and 8 to LEA address
        disassembly
      - processor/m68k/disassembler: enhanced ILLEGAL to display LINEA/LINEF
        $xxx variants
      - processor/m68k: ILLEGAL/LINEA/LINEF do not modify the stack
        register; fixes Caeser no Yabou II
      - icarus/sfc: request sgb1.boot.rom and sgb2.boot.rom separately; as
        they are different
      - icarus/sfc: removed support for external firmware when loading ROM
        images
    
    The hack to run Mega Drive Ballz 3D isn't in place, as I don't know if
    it's correct, and the graphics were corrupted anyway.
    
    The SGB boot ROM change is going to require updating the icarus database
    as well. I will add that in when I start dumping more cartridges here
    soon.
    
    Finally ... I explained this already, but I'll do so here as well: I
    removed icarus' support for loading SNES coprocessor firmware games with
    external firmware files (eg dsp1.program.rom + dsp1.data.rom in the same
    path as supermariokart.sfc, for example.)
    
    I realize most are going to see this as an antagonizing/stubborn move
    given the recent No-Intro discussion, and I won't deny that said thread
    is why this came to the forefront of my mind. But on my word, I honestly
    believe this was an ineffective solution for many reasons not related to
    our disagreements:
    
     1. No-Intro distributes SNES coprocessor firmware as a merged file, eg
        "DSP1 (World).zip/DSP1 (World).bin" -- icarus can't possibly know
        about every ROM distribution set's naming conventions for firmware.
        (Right now, it appears GoodSNES and NSRT are mostly dead; but there
        may be more DATs in the future -- including my own.)
     2. Even if the user obtains the firmware and tries to rename it, it
        won't work: icarus parses manifests generated by the heuristics
        module and sees two ROM files: dsp1.program.rom and dsp1.data.rom.
        icarus cannot identify a file named dsp1.rom as containing both
        of these sub-files. Users are going to have to know how to split
        files, which there is no way to do on stock Windows. Merging files,
        however, can be done via `copy /b supermariokart.sfc+dsp1.rom
        supermariokartdsp.sfc`; - and dsp1.rom can be named whatever now.
        I am not saying this will be easy for the average user, but it's
        easier than splitting files.
     3. Separate firmware breaks icarus' database lookup. If you have
        pilotwings.sfc but without firmware, icarus will not find a match
        for it in the database lookup phase. It will then fall back on
        heuristics. The heuristics will pick DSP1B for compatibility with
        Ballz 3D which requires it. And so it will try to pull in the
        wrong firmware, and the game's intro will not work correctly.
        Furthermore, the database information will be unavailable, resulting
        in inaccurate mirroring.
    
    So for these reasons, I have removed said support. You must now load
    SNES coprocessor games into higan in one of two ways: 1) game paks with
    split files; or 2) SFC images with merged firmware.
    
    If and when No-Intro deploys a method I can actually use, I give you all
    my word I will give it a fair shot and if it's reasonable, I'll support
    it in icarus.
    9c25f128
Name
Last commit
Last update
..
Database Loading commit data...
core Loading commit data...
heuristics Loading commit data...
obj Loading commit data...
out Loading commit data...
ui Loading commit data...
GNUmakefile Loading commit data...
icarus.cpp Loading commit data...
icarus.plist Loading commit data...
settings.cpp Loading commit data...