2021年12月7日 星期二

hhugboy v1.3.1

 GB / GBC模擬器 hhugboy 發布新版,更新如下 :

  • New mapper support: New GB Color HKxxxx PCB (used for Pokémon hacks), Vast Fame secondary releases on GGB-81 PCB (and others)
  • Allow undersized save files to be read (to avoid saves being wiped when an "unlicensed compatibility mode" change results in a RAM size change)

2021年12月4日 星期六

m64p - 2ae80db (2021-12-03)

 N64模擬器 m64p 發布新版,更新如下 :

https://github.com/loganmc10/m64p/releases

Raine 0.92.1

 多機種模擬器 Raine 發布新版,更新如下 :

It's mainly something to fix the little problems of 0.92... The dlls change again to address the incompatibility with xp of the previous set in 32 bits (there seems to be other problems with xp related to the 3d, but at least it's not a stupid message from microsoft to tell you are not allowed to run this in xp anymore !), and it's changed too for the 64 bits version because it allows me to make both versions the same way, + it's almost half the size of the previous archive. The only dlls packages listed in the download page are the ones required for the latest version, so just update and it should be ok.

Except that, mostly fixes for 0.92 as I said. The key codes change again, we switch to all scancodes to be able to have default keys which don't change with each international mapping, but you have nothing to do here, it will overwrite all the keyboard configuration if it reads an config file from the previous versions. The joysticks use some saner defaults too but for them I didn't overwrite the config sections in case you have something fixed on your side which is different from the default. The famous bug found by mer-curious which prevented special moves from the right side in msh is fixed, and there was again a problem with merged inputs which should be fixed for good this time. Also you have the option of integer scaling in opengl. I tested it, and I am not convinced, there's no real improvement in the scaled image for me, but I left the option, you can test it and report in the forum. (The option is in "renderer options" for opengl).
Also sdl is updated to 2.0.18, actually they mostly add new functions, it's very different from sdl-1.2 which was frozen in time, for now I don't use them, but updated anyway...

2021年12月2日 星期四

Dodonpachi Saidaioujou - (Hack)

 昨天有朋友寄這個來,剛試了一下,模擬得還算完整,有興趣的朋友可以自己找找 (已公開釋出).....



Supermodel 0.3a svn 868

SEGA Model 3 模擬器 Supermodel 發布新版,更新如下 :

Increase MIDI FIFO buffer size for SCSP; should prevent FIFO overflows

Also use similar macro for DSB FIFO buffer

DOSBox-X 0.83.20 (2021-11-30)

 DOS模擬器 DOSBox-X 發布新版,更新如下 :

  • Implemented support for Pentium II cputype (with
    the setting "cputype=pentium_ii" in [cpu] section),
    and added Pentium II SYSENTER/SYSEXIT instructions
    to normal core and debugger disassembler. The two
    instructions are supported for Pentium II cputype.
    CPUID for Pentium II will now report stepping 3 and
    model 3 which is a minimum requirement for OSes to
    attempt to use SYSENTER/SYSEXIT. Silencing for
    RDMSR/WRMSR and SYSENTER/SYSEXIT debug messages is
    removed while CPU "debug spew" is silenced by
    default. MSRs related to Intel microcode are added
    because both Linux and Windows ME probe those MSRs
    if Pentium II emulation reports stepping 3 model 3.
    The microcode MSRs are silently ignored. Moreover,
    the MSR register 0x0000001B has been added to
    Pentium II emulation. DOSBox-X does not emulate a
    local APIC but Windows ME assumes that MSR is
    present and reads/writes it on startup if DOSBox-X
    reports itself as a Pentium II. (joncampbell123)
  • Added support for DCGA and Toshiba J-3100 emulation
    modes by importing code from DOSVAXJ3 by nanshiki.
    The J-3100 emulation mode can be enabled with the
    option "dosv=jp" along with a non-off setting of
    "j3100" option in [dosv] section. For example, with
    "j3100=on" or "j3100=auto" (and "dosv=jp") J-3100
    system will be enabled and activated at start. With
    "j3100=manual" (and "dosv=jp") J-3100 system will
    be enabled and not activated at start, but there is
    now a DCGA command to enter DCGA (either English or
    J-3100 DCGA, depending on if J-3100 is enabled)
    mode from other video modes. (nanshiki & Wengier)
  • Added support for unit tests based on Google Test
    framework (gTest/gMock) to ensure code stability.
    Unit tests can be started with command-line option
    "-tests" in the debug builds. Some unit tests are
    ported from DOSBox Staging. (Wengier)
  • Added SERIAL and PARALLEL commands to view/change
    the current configuration of serial/parallel ports.
    Type "SERIAL /?" and "PARALLEL /?" for further info
    about the two commands. Commands like "config -set
    serial?=..." and "config -set parallel?=..." will
    also auto-call these commands. (sduensin & Wengier)
  • Added IMGSWAP command to swap disks for drives.
    e.g. "IMGSWAP D" to swap D: drive to the next swap
    position, and "IMGSWAP A 3" to swap A: drive to
    the 3nd swap position. (Wengier)
  • Added DOS commands including COMP, DISKCOPY, EDLIN,
    FC, FILES, PRINT, and SHUTDOWN (most from FreeDOS)
    to the built-in Z: drive. Updated or recompiled
    EDIT and EDLIN commands to support LFNs. (Wengier)
  • The CAPMOUSE command without a parameter now shows
    whether the mouse is captured/released. (Wengier)
  • The command "config -set" is now case-insensitive
    for property names. Also, if an option cannot be
    changed at run-time, DOSBox-X will ask whether to
    restart itself to apply the new setting. (Wengier)
  • Do not read real-mode data areas from mouse event
    handling if running a protected mode guest OS like
    Windows NT, and disable INT 33h functions when DOS
    kernel is shut down to boot into a guest OS. Moving
    mouse while Windows NT is running should no longer
    cause page faults and crashes. (joncampbell123)
  • The setting "mountwarning = false" will now silence
    more warning messages during mounting. (Wengier)
  • The code page setting of "country" option will now
    be ignored for PC-98, JEGA and DOS/V modes. These
    modes will enforce the desired code page. (Wengier)
  • Added support for loading the ASC16/ASCFONT.15/
    ASC24/ASCFONT.24? font files from the UCDOS/ETen
    Chinese DOS systems for the options "fontxsbcs",
    "fontxsbcs16" and "fontxdbcs24" in [dosv] section
    of the config file for DOS/V systems. (Wengier)
  • Improved auto-detection of box-drawing characters
    when using DBCS code pages. (Wengier)
  • Applied UTF-8 conversions to file browse dialog
    boxes for selecting files containing Unicode
    characters (e.g. CJK characters). (Wengier)
  • For screenshot and MIDI/OPL recording, DOSBox-X
    will now display a message box showing the saved
    file name when the recording has been completed.
    The full paths will also be logged. (Wengier)
  • Added confirmation message while trying to load a
    Direct3D pixel shader which may not be needed or
    may have undesired effect. (Wengier)
  • Added warning message if DOS/V or Japanese PC-98/AX
    machine type is selected and a language file with
    an incompatible code page is specified. (Wengier)
  • Added "AMD K6 166 MHz", "AMD K6 200 MHz" and "AMD
    K6-2 300 MHz" menu options within the menu group
    "Emulate CPU speed" (under "CPU"). (Wengier)
  • Added a TrueType font selection page into Windows
    installer, which will show when TrueType font (TTF)
    output is selected for new installations. (Wengier)
  • Added MMX instruction PSHUFW and added typecasts
    to some MMX instructions in case compilers cannot
    properly shift uint64_t by uint8_t otherwise. Most
    Pentium-level MMX instructions (such as MOVD, MOVQ,
    and EMMS) are added to the debugger disassembler
    and support for the disassembler to represent MMX
    registers. (joncampbell123)
  • Added code to normal core to flush paging TLB
    whenever handing a non-recursive guest page fault.
    The guest OS will likely update the page tables
    to resolve the fault. The Linux kernel will
    constantly get "stuck" whenever you run a command
    without this change. (joncampbell123)
  • Added code to make sure DOS kernel drives and drive
    letters have been unmounted and deallocated before
    booting a guest OS or shutting down DOSBox-X
    (joncampbell123).
  • Added ability to change floppy images with drive
    number (0 or 1) only. (Wengier)
  • Added INT 13h AH=16h, detect disk change. This can
    be controlled by config option "int 13 disk change
    detect" (in [dos] section) in case any older OS can
    not handle it. INT 13h AH=15h will report a floppy
    drive with change line support if enabled. MS-DOS
    seems to work just fine with it. (joncampbell123)
  • Added menu item "Enable extended Chinese character
    set" in "Video" => "TTF options" to toggle setting
    for the Simplified Chinese (GBK extension) and
    Traditional Chinese (ChinaSea extension). (Wengier)
  • Added config option "chinasea" (in [ttf] section)
    which when set to "true" allows ChinaSea (中國海字集)
    and Big5-2003 extension of the original Big5-1984
    charset for Traditional Chinese TTF output. This
    requires the use of a TTF/OTF font containing such
    extended characters to correctly render them; the
    included SarasaGothicFixed TTF font is updated to
    support such characters.Certain Traditional Chinese
    DOS software like the Hyper Editor 5.03 (漢書5) makes
    use of ChinaSea characters. Also moved "gbk" config
    option from [dosv] to [ttf] section. (Wengier)
  • Added config option "forcesquarecorner" (in [sdl]
    section) which when set to "true" will force to
    disable rounded corners on Windows 11. (Wengier)
  • Added code to INT 18h emulation (IBM PC mode) to
    jump to ROM BASIC if the user provided an IBM
    ROM BASIC image to load. (joncampbell123)
  • Added config option "ibm rom basic" in [dosbox]
    section which allows users to load a ROM image
    containing IBM PC ROM BASIC, for disk images
    and MS-DOS setups that need it. (joncampbell123)
  • Added stub IBM ROM BASIC points in the BIOS area
    so that when BASIC(A).COM from MS-DOS 1.x and 2.x
    are run, a polite message is displayed instead of
    invalid code and crashes. (joncampbell123)
  • 8086 and 80186 CPU types no longer check segment
    limits. (joncampbell123 & Allofich)
  • Put in undocumented behavior in opcode 0x8e for
    8086 and 80186. (Allofich)
  • Made 8086 treat opcodes C0,C1,C8,C9,F1 as aliases
    of C2,C3,CA,CB,F0, and opcodes 0x60-0x6F as aliases
    of opcodes 0x70-0x7F. (Allofich)
  • Adjusted multiple-prefix bug for 8086/286 to only
    apply when REP or REPZ is used. (Allofich)
  • Fixed 0x0F opcode being valid on 80186 core when
    it should be invalid. (Allofich)
  • Fixed CGA modes to always use a character height
    of 8, rather than reading it from address 485h.
    Fixes corrupt graphics in the PC Booter version
    of Apple Panic. (Allofich)
  • Fixed underflow when INT 13 AH=2 called for
    sector 0. (Allofich)
  • Fixed infinite loop when trying to run a 32-bit
    program with the 8086 CPU type. (Allofich)
  • Fixed INT 13h emulation to no longer call the DOS
    kernel "DriveManager" if the DOS kernel has been
    shutdown. This fixes memory corruption issues in
    the guest OS system run by the BOOT command that
    can occur when the "swap disks" command is used in
    the emulator. (joncampbell123)
  • Fixed DTA memory leak from FAT driver if FAT drive
    was mounted when booting into a guest OS. (joncampbell123)
  • Fixed a crash on unmount that occurs if IMGMOUNT
    is used to mount multiple floppy disk images to
    a drive letter. (joncampbell123)
  • Fixed possible crash with printing. (jamesbond3142)
  • Fixed possible freeze when shutting down Windows 9x
    after changing a CD image from the menu. (Wengier)
  • Fixed the default U.S. keyboard layout for the
    HX-DOS build. (Wengier)
  • Fixed copying full-screen or multi-line text from a
    DBCS codepage in TTF output or PC98 mode. (Wengier)
  • Fixed possible crash at start with getsysfont=true
    when a font may not be obtained on some Chinese
    Windows systems. (Wengier)
  • Fixed TTF color issue with some DOS GUI programs by
    initializing the color scheme when with default
    COLORS= setting in EGA or VGA mode. (Wengier)
  • Fixed some Direct3D pixel shaders not working (such
    as GS2x and CRT-geom-blend). (Wengier & depaljas)
  • Fixed config option windowposition=x,y not working
    in Linux/macOS SDL1 builds. (Wengier)
  • Fixed copying files from the virtual drive Z: not
    working when using the 4DOS shell. (Wengier)
  • Fixed some issues in MORE command. (Wengier)
  • Fixed "DIR>NUL" freeze/crash when only disk or CD
    images are mounted. (nanshiki)
  • Fixed BIOS screen when resetting the machine with a
    non-TTF output and DOS/V mode enabled. (Wengier)
  • Fixed the key `/~ not working when IME is enabled
    on a non-Japanese keyboard. (Wengier)
  • Fixed display glitches in the game "Continuing
    adventures of Cyberbox". (Wengier)
  • Fixed unusable joystick with config options like
    joy1response1 set to certain values. (Baderian)
  • Make memory B0000-B7FFF unmapped for the CGA
    emulation. Fixes "Backgammon 5.0" detecting that
    an MDA is also present when using CGA. (Allofich)
  • Make floppy I/O delay separately configurable from
    hard drive delay, and make it slower than before
    by default. It is adjustable via the "floppy drive
    data rate limit" config option. (Allofich)
  • Always return bit 6 of port 61h as set for PC and as
    clear for PCjr and Tandy. Allows Zaxxon to load in
    PC mode. (Allofich)
  • Video emulation for PC-98 mode (for 400-line modes)
    is now 16:10 instead of 4:3. 480-line PC-98 modes
    are still 4:3. (joncampbell123)
  • PC-98 EGC emulation: Add generic ope_xx handler for
    the remaining block of undefined/undocumented EGC
    ROPs. This fixes "Atomic Punker" which uses EGC ROP
    0xBE for sprite rendering. (joncampbell123)
  • Don't run mouse setup code if there is no emulated
    mouse. (Allofich)
  • Integrated commits from mainline (Allofich)
    • Add proper opl3 handling of the waveform select
      to dbopl.
    • Correct disassembly of some FPU instructions.

http://dosbox-x.com/

2021年12月1日 星期三

Raine 0.92

 多機種模擬器 Raine 發布新版,更新如下 :

It was epic, with 2 months where I simply gave up about this before returning to it finally, anyway... !
What to say about it ? It's huge, it's probably the version with the most changes inside even if there are almost no changes on the emulation side, except for the bug fixes I made while testing things.

The 1st goal was to get rid of the opengl blits in windows while having a usable gui even in fullscreen, it's done. By the way it's a "desktop fullscreen" meaning it's just an invisible window using the whole desktop place, so it behaves exactly like a normal fullscreen and normally you don't see any difference. Also the games using rasters and the emudx games work correctly (didn't test all the emudx games, just 2, but the rest should be ok).
The keys configuration has changed, because keys constants have changed in sdl2, so even if it still reads its configuration from the same file, it reads the keys from a new section, with -sdl2 at the end of the name of the section. Sorry for those who had a lot of custom inputs, but there were too many incompatible changes, it's better to restart from scratch here.
New "game controllers" interface, so that you can plug or unplug a joystick during game play without problem, don't abuse this though, I tested it a little, but not sure I tested all the possible cases. And joystick 1 in raine won't become joystick 2 just because you plugged a new joystick. There is also a new command in the inputs menu "joysticks indexes" to change these joysticks positions if you have at least 2 joysticks plugged. There's a lot less changes in the configuration saved for the joysticks, maybe a few buttons will be different in configs which use more than 4 buttons though, just check and adapt... Also if you use a gamepad recognized by sdl2, the digital cross on the left should be automatically mapped to the left stick, so it can be used for movement without doing anything.
The sound has a new 48 Khz option which is almost useless, just added that for testing.
Opengl has the adaptive vsync now, check in "video info" after playing something to see if it works for you. Better vsync in windowed mode, but I double checked you can disable vsync if you want in "renderer options", yeah it works, but it didn't last night !
There is no video driver selection for windows anymore, useless normally. A new video renderer "sdl2 native", mainly for testing, not spectacular, and no specific options for now. Notice the opengl rendering is not super optimized yet, all the games are rendered in 32 bits, the simplest solution, but not the fastest one. It's enough for current hardware... Same thing for emudx, it could be remade using new functions for better performance...
The gui has the most obvious changes, a simple animation now runs behind the transparent menus, if you load a game it starts in the background behind the menus, but if you start to play it's paused when you return to the gui, like before.

While testing things the most obvious bugs fixed were :
 - all the cps1 games using 6 buttons had lost their 3 1st buttons ! It's due to the code to include inputs from another game, went too fast on this one, this time it should be fixed for good.
 - and bubble bobble has been broken in the 64 bits version since version 0.91.14, which was released about 9 months ago ! At least it's not a generic bug, it's something very specific to this driver, it's an old thing with non portable ideas inside which created a black screen on boot here, it's fixed anyway.
 - commands displayed from the command.dat file (like the buttons of 1941 in the "controls" section) were bad for quite some time, it's fixed too.

There is a new index_roms file with this binary, it's to get the sizes of the roms from the internet archive so that the dialog is not inert while it's downloading since their server doesn't send the size of the file before the download starts. The 2 vera fonts have been replaced by DejaVu versions, which look about the same but contain more utf8 characters inside to be able to display more things without problems. they don't contain Japanese characters though.

There might be a few other things I forgot. Well it's so huge that I can't be sure there won't be any problem anyway, we'll see... !
Don't forget to grab the dlls32-0.92 or dlls-0.92 file depending on the version you are using, it's bigger with plenty of useless stuff inside, but it's the price of using precompiled packages in mingw32 and mingw64, it simplifies things and allows fast updates, but it's bigger on disk.