BlastEm, autorstwa Michaela Pavon, to emulator Genesis, w zamierzeniu ma być najdokÅ‚adniejszym odwzorowaniem prawdziwej maszyny (cel, który jest Å›wiÄ™tym Graalem wszystkich wspóÅ‚czesnych udawaczy), przy jednoczeÅ›nie maÅ‚ym zapotrzebowaniem na moc sprzÄ™tu, do celu jeszcze trochÄ™ brakuje. Jednak i w obecnej postaci emulator powinien zadowolić przeciÄ™tnego Å‚owcÄ™ pikseli.
Jakoż, że prezentowana wersja jest pre (i to pre wygląda po prostu na nocną kompilację), ale ponoć jest pobłogosławiona przez autora, warto zerknąć. Niestety wersja pre jest tak pre, że nie ma żadnego whats new... ot taka ciekawostka.
BlastEm pre 0.6.3 28/06/2025
Wszystkie zmiany w kodzie od czasu ostatniej edycji. Kiedyś na pewno doczekamy się aktualizacji z najważniejszymi zmianami:P
- Fix regression in gamepad UI navigation default tip
- Fix regression to SDL renderer API fallback support in UI
- Fix regression in oscilloscope and composition debug views
- WIP plane debugger UI
- Allow keybinds to still fire for debug windows with no Nuklear UI
- Ensure debug UI is not scaled based on main window size
- WIP Nuklear UI in VDP debug windows
- Update README to mention zlib license info is also included as a separate file now
- Add zlib LICENSE file to zlib subdir
- Update vendored zlib to 1.3.1
- Add Tripple Play 96 to ROM DB
- Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
- Fix some uninitiazed date in realtec_configure_rom
- WIP attempt to move VDP rendering to a separate thread
- Add a compile-time flag to use RGB565 instead of ABGR/ARGB
- Fix crash bug in Android fallback font loading path
- Avoid unaligned access in nk_murmur_hash
- Fix generating shader list on Android
- Updated Android port using gradle toolchain and with basic Storage Access Framework support for Android 11+ support
- Fix small bug in goto dispatch output of CPU dsl
- Ignore devices with 3-axes and no buttons since these are generally not gamepads/joysticks but accelerometers or gyros
- Make the controller remap UI less twitchy on high refresh rate screens and filter out events from other controllers
- Reset selected widget when changing directories in file browser
- Implement breakpoints in new 68K core
- Implement Z80/PSG clock speed test register bit
- Fix an issue in which CD timer interrupts could get missed, at least with the new interpreter
- Get Pico games running with new 68K core
- Fix mulu nflag when compiling with optimization enabled
- Fix some cycle timing issues in the new 68K core
- Fix cycle timing for move with indexed destination
- Less broken Sega CD emulation with new 68K core
- Fix some bugs in memory access functions used in interpreter mode
- Fix warning
- Memory access optimizaiton in new 68K core that gives a modest speed bump on average and will allow low-cost watchpoints
- Allow calling functions directly as if they were commands
- Awful hack to work around what seems like a bug in the Emscripten version of SDL2
- Allow changing at least some settings in web build without breaking
- Add ROM db entries for Golden Axe II and American Gladiators since they are incompatible with 6-button controllers
- Properly emulate extra TH transitions due to direction changes for 6-button controllers. Breaks Golden Axe II input the same as hardware with a 6-button controller
- Make xBRZ shader be WebGL compatible
- Remove usage of features not supported in WebGL GLSL in NTSC shader
- Persist save states and config in emscripten build via IDBFS module
- Get GST savestates working with new CPU cores
- Remove some debug cruft
- Fix db entry for college slam
- Implement serialization for new 68K core
- Uncomment illegal instruction implementation in new 68K core and tag an invalid size on tst
- Implement 2-byte ED-prefix NOP in new Z80 core
- Implement TAS in new 68K core
- Fix binding buttons getting cutoff
- Add testcases for memory shift instructions
- Fix lsl/lsr/asl/asr with memory operand
- Fix addq.w and subq.w with address register destination in new 68K core
- Implement illegal instruction trap in new 68K core
- Fix warnings in m68k_util.c
- Implement integer scaling
- Space out some of the settings pages to avoid stuff getting cut off with the smaller font
- Add ROM DB entry for Rockman X3 bootleg
- Fix ROM DB entry for Lion King II
- Get sync to audio working in emscripten
- Fix movep with negative displacement
- Fixup some ifdefs to allow building for some more targets
- Fix flags for mulu/muls in new 68K core
- Implement line A and line F exceptions in new 68K core
- Fix romdb entry for HBPT version of PGA Tour Golf II to not conflict with normal PGA Tour Golf
- Make Hori Fighting Commander controllers work out of the box
- Fix Z flag for negx
- Improve comparetests script
- Fix roxr and roxl in new 68K core
- Fix web nightly script
- Add font_web.c that was missed on a previous commit
- Add some hint test for web since controllers are hidden for anti-fingerprinting reasons
- Prevent gamepad binds from firing while remapping a gamepad
- Less confusing labels for Xbox-style analog stick click buttons
- Add nightly build script for web builds
- Update gamecontrollerdb.txt and tweak the entries and controller type heuristics so they work out of the box (at least on Win/Linux)
- Add option to force use of the default region
- Implement chk and trapv in new 68K core
- Fix V flag for asl in new CPU core
- Fix nbcd in old 68K core for non-register addressing modes
- Up heap memory for web build so large ROMs don't OOM
- Implement stop in new 68K core
- Fix border style for web file chooser
- Add an HTML/JS file picker to web build
- Fix some issues with constant folding in CPU DSL
- Extended debug output in debug mode of new 68K core
- Fix handling of wave files with additional RIFF chunks before the data chunk
- Get tilemap debug view working for TMS graphics and text modes. Multicolor still TBD
- Fix asr and lsr in new 68K core
- Fix lsl in new CPU core and make asl less broken
- Fix issues in CPU DSL that caused regressions in Z80 core
- Update zcompare for Python 3, to use another blastem as comparison source and to more clearly report differences
- Fix Windows build
- GNU make before 4.3 does not support :& syntax, but apparently pattern rules support grouped targets without it
- Use grouped targets to specify that CPU dsl rules produce both .c and .h files
- Give sega 8-bit consoles separate system_type enum values and allow selecting them from the command line
- Delete some old test source files from early in development
- Fix some older targets that are maybe still useful
- Handle dependencies properly in makefile
- Basic emscripten support
- Fix masking issue in CPU DSL adc fixing issues in 68K core addx and abcd
- Fix masking issues in CPU DSL sext instruction
- Fix bug in sbc in CPU DSL impacting 68K subx and sbcd
- populate registers at full size in test generator to expose masking bugs
- Default to new interpreter when non-x86 CPU detected
- Fix some rotate instruction issues in new 68K core
- Fix andi to ccr in new 68K core
- Fix regression in better unimplemented instruction error in CPU dsl
- Cut down on code bloat in 68K core a little
- Fix abcd and implement sbcd and nbcd in new 68K core
- Low confidence fix for edge case in CPU DSL not currently hit
- Implement abcd in new 68K core
- Implement divs and divu in new CPU core
- Implement subx in new CPU core
- Fix jsr in new CPU core
- Implement scc in new 68K core
- Implement andi/ori/eori to sr, fix eori to ccr in new 68K core
- Add support for ccr/sr update instructions to 68K test generator
- Better unimplemented instruction error message in CPU DSL
- Get 68K interrupts working in new CPU core
- Implement background plane debug view for Mode 4
- Fix rol and ror in new CPU core
- WIP changes to new CPU core for rotate instructions and to get interrupts more functional
- Fix linux nightly builds
- Fix "sticky" sprite overflow regression from previous sprite overflow flag fix
- Sprite overflow flag should only be set when there are too many sprites in a line and not when there are just too many sprite pixels. Fixes regression in Madou Monogatari I
- Do a little work towards eventual support for building against SDL3
- Fix sprite zoom in TMS modes for real this time
- DMA fill and copy should not block VDP data or control port writes
- merge
- Add sprite "plane" to VDP plane debugger
- Fix libretro build
- Fix minor regression in Overdrive 2
- Fix regression in right border of OD2 Titancade border dissolve
- More work on OPL3 emulation
- More robust sprite overflow regression fix
- Fix sprite overflow regression in Super Hang-On and other games
- Implement exg, muls and mulu in new 68K core
- Workaround for weird controller mapping bug on Windows
- Fix crash when switching between loading ZIP and non-ZIP ROMs
- Disable KMOD debug registers when not emulating an MD VDP
- Initial work on YMF262 (aka OPL3) emulation
- Apparently window v/h size is latched once per line. Fixes glitch in Landstalker
- Add auto option for fm_dac config variable that bases zero offset on the select MD model
- Implement additional YM2612 pan leakage observed by MarkeyJester
- Fix YM2612 channel accumulator precision
- Fix a couple of bugs with AV recording
- Fix Windows nightly versions
- Fix out of bounds buffer access when loading a cue sheet > 2048 bytes via file browser or drag and drop
- Setup Colecovision BIOS path in libretro core
- Fix Windows build version extraction for version.inc change
- Fix regression in Super Hang-On
- Add controller heuristic for M30 so the BT version works out of the box
- Merge
- Get CD titles sort of working in libretro target
- Better cassette tape UX
- Add Japanese version of Level III BASIC to ROM DB
- Implement SC-3000 kanji paste
- Impelement SC-3000 katakana pasting
- Paste support for remaining SC-3000 export characters
- Adjust paste delay to be compatible with Home BASIC
- Implement paste for the rest of the SC-3000 graphic characters
- Fix untoggling of toggle modifier in SC-3000 paste
- Implement paste support for block elements and a couple of missing Latin-1 chars
- Implement paste support for box drawing chars and Latin-1 character Æ
- Speed up pasting and do some prep for pasting characters that need keys pressed in sequence
- Fix bug in utf8_codepoint
- Implement clipboard paste for SC-3000
- Fix some warnings that show up in newer versions of gcc
- Add some missing binding entries in Nuklear UI
- Merge
- Implement read-only SC-3000 cassette support
- Log Game Gear PSG Pan to VGM
- Fix SDL version guard for paddle buttons
- Support VGM logging for Sega 8-bit systems
- Fix some IO port serial mode bugs
- Fix debug window crash on Mac OS
- Add ROM DB entry for Home BASIC
- Initial SC-3000 support
- Update PCM cur_ptr to ST when channel is not playing. Fixes sound effects in Final Fight CD
- Fix sub cpu watchpoints
- Add PCM registers to disassembler
- Include block and f-num values in ymchannel debug output
- Fix some TOC/CUE parser bugs and simplify how "fake" pregap is handled
- Clear EDT on DTTRG. Fixes Cliffhanger and OrionNavattan's Mode 1 demo
- Fix crash in render_fill_rect in GL mode with no static images
- Fix TMS9918A sprite zooming and early clock flag
- Fix dynarec 68K instruction size metadata edge case bug
- Fix rendering of sprites that are partially off the top of the screen in Mode 4
- Fix display of window plane in VDP composition viewer
- Remove old TODO
- Fix behavior of rendering when all planes are disabled via VDP test register (Thanks vladikcomper!)
- Fix debug windows not filling window in GL mode. Thanks Sik!
- Some more improvements to Z80 step, next and over commands
- Z80 debugger improvements
- Fix issue that was causing double frame output in Double Dragon 2
- Fix silly bug in Mode 4 sprite rendering (Thanks Sik!)
- Partially functional asr/asl implementations in new 68K core
- Implement some more instructions in new 68K core. First light with some old demos
- Get blastem compiling with new 68K core
- Make some progress on compiling full emulator with new 68K core
- Implement movem and moveq in new 68K core
- Fix constant propagation for sext instruction
- Fix bug in MED mapper protection bit implementation
- Add xBRZ and bandlimit pixel footprint shaders ported by hunterk
- Fix kmod buffer storage bug
- Kinda hacky fix to make sure Nuklear has the right GL context
- Get rect fills for Pico pad working in GL mode
- Some VGM player changes I forgot to commit
- Get static images working in GL mode
- Add files forgotten in a previous commit
- Fix crash when enabling VGM recording while running Pico or Copera software
- Remove dis.exe and zdis.exe from Windows builds due to silly antivirus false positives
- Implement turbo/slow for Pico and Copera
- Delete old TODO (values were already correct)
- Add support for rendering debug windows with OpenGL in perparation for allowing Nuklear UI in them
- Fix Linux font selection regression
- Impelement partial support for DAC stream commands in VGM player
- Implement some flow control instructions in new 68K core. WIP implementation of movem in new 68K core.
- Try multiple results from fc-match on Linux rather than assuming the first choice font will be suitable
- Implement unlk, tst and nop in new 68K core
- Implement lea and pea in new 68K core
- Make sticky_path respect save config with EXE option
- Fix bug in Gen/MD serialize routine that could cause a use-after free in some cases
- Fix some issues with libretro serialization
- Add game gear to the libretro extension list
- Fix Ax Battler: A Legend of Golden Axe
- Implement swap instruction in new 68K core
- Switch to YMZ280B ADPCM algorithm. Still sounds a little rough, but definitely much better than with the YM2610 ADPCM-A setup
- Implement link instruction in new 68K core
- Update test generator to not generate link instructions with an odd displacement
- Implement ext instruction in new 68K core
- Fix some YMZ263B timer issues
- Initial stab at PCM/ADPCM support in YMZ263B emulation
- Add missing mask to vscroll calculation in Mode 4
- Implement neg and not instructions in new 68K core
- Fix carry flag calculation for neg instruction in CPU DSL
- Save SR before saving result in test generator. Move instructions update flags on 68K
- Fix handling of zero timer value
- Initial work on emulating the YMZ263B in the Copera
- Initial work on Copera emulation
- Avoid spawning secondary windows right on top of the main one
- Fix libretro build
- Implement movep in new 68K core
- Fix bit instruction penalty cycle check for cases when bit number is out of range
- Implement bit instructions in new CPU core
- Implement cmp instructions in new 68K core
- Allow more if statements to be constant folded in CPU DSL
- Fix implementation of cmp for 32-bit operands or when operation size is smaller than the size of the operands
- Fix cycle counts for a number of instructions in new 68K core
- Avoid address errors in generated tests
- Fix some issues in new 68K core and add implementations of negx and clr instructions
- Update signature of init_m68k_opts in new core to match changes in old one
- Update comparetests to python3 and change it to use a "clean" build of a core from blatem for comparison
- Get 68K test harness compiling again
- Update some 68K test harness scripts to Python 3
- Sugar for unary operators in CPU DSL
- Sugar for some basic conditionals in CPU DSL
- Sugar for binary operators in CPU DSL
- Added a little syntax sugar to CPU DSL and started updating new Z80 core to use it
- Fix blastcpm target
- More flexible loading of Pico storyware assets
- Add region override for German version of The Lion King for Pico
- Fix polarity of pico ADPCM busy flag
- Fix playback of ADPCM blocks with an odd number of samples
- Fix some Pico ADPCM behaviors
- Fix byte reads of ADPCM ports. Fixes hangs in Sanchoume no Tama and Sailor Moon Sailor Stars - Tokimeki Party
- Fix Pico ADPCM decoding and get relative volume approximately correct
- Somewhat busted support for Pico ADPCM
- Fix crash when loading new ROM via drag/drop when existing ROM has lock-on
- Initial implementation of storbook artwork display
- WIP Pico emulation
- Remove extra clear of DSR
- Clear DSR in certain gate array writes. Fixes issue in Penn & Teller's Smoke and Mirrors
- Make termhelper work when current working directory is not the one that contains blastem
- Avoid conflicts between watchpoints and normal debugger entry
- Fix off-by-one in watchpoint eval
- Expose gamepad state in debugger
- Fix regression in Prince of Persia
- Properly handle stack alignment in m68k breakpoint implementation
- Fix some CD-ROM emulation issues and make timing better match my MCD2. Seems to fix or at least improve video playback in Iron Helix and Power Rangers
- Fix uninitialized base cycle count in Z80 interp path and do a little other interp path cleanup. Fixes issue with 3x3 Eyes
- Updated Sik's NTSC shader
- Fix mask for CD graphics destination horizontal offset
- Forgot to commit the colecovision files
- Fix out of bound read from mode4_address_map in TMS modes
- Initial support for Colecovision emulation
- Fix nmi_start not getting adjusted during a cycle adjustment
- Fix silly TMS9918A bug, make CRAM viewer sorta useful in TMS9918A modes, make mode4 address map externally viewable for debugger
- Update Sik's NTSC shader
- Fix some further fallout of ZIP reload fix
- Fix crash caused by ZIP reload fix
- Remove debug print statement
- Better implementation of alloc_code for ASLR/libretro cases that also hopefully works on modern Mac OS
- Fix libblastem target
- Fix reload of zipped and gzipped ROMS
- Fix incorrect manipulation of lock-on cart memory map
- Fix asan violation that occurs when locking on a cart with its own mapper hardware
- Fix crash when loading a subsequent ROM after lock-on
- Implement watchpoints in Z80 debugger
- Oops, wrong type in sizeof for m68k_add_watchpoint
- Implement gdb remote kill command
- Implement watchpoints in gdb remote protocol
- Implement 68K watchpoints in internal debugger
- Basic string support in debugger language
- Add debugger load command
- Add debugger save command
- Hide cursor in fullscreen when UI is not active
- Restore reset of refresh counter after DMA since its removal caused some regressions
- Add some uniforms to allow more sophisticated interlace and scanline handling in shaders
- Fix regression in savestate loading
- Fix issue that would break debug windows when config update causes window to be recreated
- Fix issue that broke debug views when toggling fullscreen
- Prefix most hex-formatted values output by debugger with $ for consistency with number literal parsing
- Ensure VDP double_res flag is updated when loading a save state
- Handle changes to sample rate while content is running
- Fix read of audio sample rate in Nuklear UI
- Fix Sega CD regression in 32-bit builds
- Fix VRAM viewer and plane viewer in double-resolution interlace mode
- Fix regression in debugger for Mega CD
- Fix accidental search and replace in UI code
- Add media player file extensions to file browser config
- Properly free sound chips in VGM player
- Very basic UI for media player
- Fix mediaplayer play/pause handling
- Re-enable VGM looping. Enable oscilloscope in VGM player. Fix VGM player PSG output
- Fix psg panning implementation
- Merge
- Initial stab at user-defined functions in debugger language
- Fix netplay crash
- Better spacing in firmware settings
- Fix handling of overscan in internal screenshots
- Add some more builtin functions to debugger language
- Add missing math.h include
- Basic function call support in debug language
- Add support for function call expressions in debug parser
- Basic float support in debug language
- Refactor debugger a bit. Allow types other than integers to be passed in expressions and stored in arrays. Better namespace support
- Initial implementation of VDP register write breakpoints
- Expose some more emu state via debugger array mechanism
- Support for arrays in debugger language
- Give debugger expression engine access to VDP and Sub CPU values. Add basic variable support
- Fix annoying bug in debugger tokenizer
- Don't use absolute paths for GTK so things work across distros without extra work
- Add an option to use the system file picker on Linux and Windows
- Remove old refresh hack that is causing VDPFifoTesting to have a failed test
- More accurate CDD pause behavior
- Fix bug in CD-ROM scrambling algorithm
- Bump up 68K stack storage as old value was insufficient in some cases
- Allow 68K to return mid-instruction. Adjust how 68K interrupt ack works so int2 busy flag timing is more correct. Fix some other SCD timing issues
- Fix regression from asan/ubsan fix
- Fix backwards seek calculation
- Minor fix to seek time calculation
- Fix some issues identified by asan/ubsan
- Fix stupid off by one in PCM RAM writes
- Fix timing of sub CPU level 5 interrupt when main CPU is reading CDC data
- Updated NTSC shader from Sik
- Implement CD-ROM data sector scrambling/descrambling
- Add some missing unlicensed games to the ROM DB
- Slightly more correct implementation of MED extended Sega mapper so s2built debug build doesn't hang
- Fix crash when function pointer path is taken in MMAP_FUNC_NULL region that also has MMAP_CODE
- Fix silly regression in SMS mode
- Fix first column bug behavior
- Make bogus word RAM read more appropriately bogus
- Automatically format Sega CD backup RAM
- Fix regression in mega-color image demos
- Fix linux nightly build hopefully
- Add a couple of SG-1000 games with on-cart RAM to ROM DB
- Fix missing init in fake TMSS
- Fix M68K STOP instruction for sub CPU
- Add NTSC composite shader by Sik
- Add bootleg Super Mario 2 1998 to ROM db
- Fix Z80 access to VDP debug register
- Merge
- Initial Codemasters mapper support
- Add ROM DB entry for Forgotten Worlds
- Add recently dumped Heartbeat Personal Trainer games to ROM DB
- Small fix to utf16 to utf8 util funciton
- More fully baked ROM db support for SMS
- Initial work on ROM DB support for SMS/GG games
- Slightly more reasonable threshold value for axes during mapping. Still pretty broken though
- Make UI respect stick deadzone
- Make deadzones configurable and bump up the default value
- Allow dpad to increment/decrement property fields
- Workaround for SDL2 being unreliable in updating mapping for already "open" game controller
- Apply binding changes after a config change in UI
- Fix goof in right analog stick mapping UI
- Fix use after free when re-entering controller binding UI after saving bindings
- Fix analog stick UI for real. Allow clearing a controller binding
- Fix analog stick directions being messed up in controller binding UI
- Fix DPI scaling when OpenGL is enabled
- Initial stab at DPI scaling support
- Fix silly bug I introduced when trying to fix the problem from the SDL2 upgrade
- Migrate ui.exit to ui.menu and create a new ui.exit for quitting
- Merge
- Save audio to a wave file when saving video to APNG
- Fix leak in render_save_video
- Fix libretro build for real
- Fix libbretro build
- Add ROM DB entry for European version of Alisia Dragoon
- Fix a place I missed a problem from the SDL2 upgrade
- Added basic FLAC seek implementation and added support for FLAC tracks in CUE sheets
- Add Windows application manifest to opt-in to UTF-8
- Add basic FLAC decoder and add FLAC playback support to the media player
- WIP "video" recording in APNG format
- Make UI font less comically large
- Actually use SMS specific controller config
- Fix saved controller type loading for Xbox Elite controllers
- Filter out "down" binds when content binds are disabled
- Support WAVE files in media player
- Integrate VGM player into main blastem binary
- Support WAVE files in CUE sheets
- Fix LFO regression
- Fix ui.reload for locked-on ROMs
- Back out YM2612 struct change I did not mean to commit
- Fix envelope key scaling when CH3 special mode is active. Fixes sound effects in Toy Story and Maui Mallard
- Fix missing address masks on some VRAM reads
- Fix regression in Mode 1 boot
- Implement BRAM cart support
- Implement savestate support for Sega CD
- Fix edge case in m68k_invalidate_code_range that caused problems when loading save states
- Implement turbo/slo mo for Sega CD
- Implement gain control for Ricoh PCM and CDDA with defaults based on Model 2 Sega CD
- Don't set write pending flag for non-existent RF5C164 registers
- Fix off by one in oscilloscope rendering
- Properly ignore low bits of SP start address in disassembler
- Fix diassembly involving absolute addresses with high bits set
- Add address logging support to sub CPU
- Fix stamp address mask and add WIP CD graphics debug view
- Adjust when not-ready is returned during coarse seeking to fix some regressions
- Hopefully make older versions of gcc happy
- Avoid code mem allocation bomb when a div instruction gets rewritten
- Use byte in security code for region identification for Sega/Mega CD discs
- Finish seeking after a CDD STOP command is sent
- Fix regression in Thunderhawk
- Fix TMS9918A text mode
- Fix TMS9918A first line sprite bug
- Fix bug when loading cue sheet without leading path
- Fix crash at very low resolutions
- Less broken TMS9918A text mode
- Fix TMS9918A sprite horizontal position
- Fix a few of the most glaring TMS9918A issues
- WIP SG-1000/TMS9918A mode support
- Fix build after scope clock fix
- Proper calculation of sample rate for YM2612/PSG oscilloscope view
- Prevent VGM logging from getting messed up if slow/turbo is active at log start time
- Add support for mapper used in Super Fighter Team release of Legend of Wukong
- Fix input processing while waiting for console input in debugger
- Fix bug in disassembler SCD header handling
- Fix bug in CUE parser that caused regression in Bill Walsh College Football
- Fix use of variable after it left scope bug identified by asan
- Fix improper free of memory map array from rom_info
- Fix settings save path of TMSS ROM setting
- Fix bug in PSG oscilloscope output
- Add missing files
- merge
- Initial implementation of oscilloscope debug view
- Use translate_out_of_bounds rather than defer_translation for addresses that lack native code size metadata
- Fix minor regression in Landstalker caused by changes to when CRAM lookup is done
- Fix crash regression in m68k bit instruction implementation
- Fix bug in controller reordering implementation
- Add support for EA 4-way Play
- Implement MMAP_ONLY_ODD/EVEN in combination with MMAP_PTR_IDX. Fixes games that have SRAM when a system with TMSS is selected
- Fix color bug when switching between Game Gear and other Sega systems
- Initial support for Sega multi-tap
- Fix SRAM endianness for word-wide SRAM combined with Sega mapper
- Fix regression in mcd-verificator "VAR" tests
- Make sure 68K interrupt is executed immediately when resuming core if it has a target cycle <= current. Fixes IRQ tests in mcd-verificator
- Fix CDC transfer regression
- Fix handling of sprite indices >= 64 in H32 mode
- Fix build
- Some minor refresh emulation improvements
- Implement VDP read latency and invalid write delays revealed by Ti_'s instruction timing ROM
- Fix implementation ot 68K trapv instruction
- Fix some 68K exception processing cycle times
- Fix bad 68K instruction timings revealed by Ti_'s test ROM, except those that involve exception timing
- Admit defeat on VDP address latching theory and implement it the way GPGX does. Fixes regression in VDP FIFO Testing and SMS VDPTEST
- Merge
- Add ROM DB entry for NHL 98 as it has an incorrect header
- Add support for newer controller types. Fix crash caused by new controller button types introduced in 2.0.12 and support mapping them
- Fix duplicated right trigger mapping button in bindings for 8-button Genesis style controllers
- Fix crash when rebinding a controller
- Allow tern_foreach on an empty (NULL) ternary tree
- Add disassemble command to debugger
- Fix windows build for real
- Support for loading symbols in debugger for use during name resolution and disassembly
- More 68K disassembler refactoring and fix Windows build failure
- Fix PSG white noise LSFR tap
- Strip off .gz extension for gzipped ROMs in load_media so system detection based on filename works with such files
- SP should be set to $FFFF on reset
- Fix a couple of Z80 disassembler issues
- Fix a couple of Z80 debugger issues
- Mostly fix label sorting post-refactor
- Minor refactor of 68K disassembler
- Fix implementation of semi-broken sprite zoom on SMS1
- Implement Mode 4 sprite zooming
- Fix suport for Game Gear ROMs inside Zip archives
- Add separate model/IO selection settings for SMS/GG
- Prevent Mode 5 selection when not emulating the Genesis VDP
- Crop display in game gear mode
- Fix Game Gear color issues (thanks Sik!)
- Give SMS debugger a bit more parity to the Genesis one
- Fix off by one in PSG pan register mapping
- Implement Game Gear PSG panning
- Implement Game Gear start button and region register
- Very rudimentary support for Game Gear VDP emulation
- Fix a couple of debugger regressions introduced with changes to support blocks
- Fix crash bug that caused a regression in Lunar: Eternal Blue
- Add '>', '<', '>=' and '<=' operators to debugger expression engine
- Add 'if' and 'while' debugger commands
- Add an explicit p alias for the print command now that printf prevents use of it as an implicit alias
- Make blocks an explicitly supported concept in the debugger rather than a one-off for the commands command
- Add a printf command to the debugger
- Fix crash bug in expression parser
- Add an m68k command for switching back to 68K debugger from Z80
- Implement argumentless variant of z80 debugger command
- Fix stale values in display
- Add support for conditional breakpoints
- Add bindup and binddown debugger commands
- Fix bug in Z80 debugger for SMS mode post-refactor
- Implement frame advance debugger command
- Finish debugger refactor started with expression parser changes
- Fix Windows build
- Merge
- Minor cleanup of debugger changes
- Restore ability to print PC in debugger. Make 68K register names case insensitive. Add usp and ssp registers
- Consume all expressions in debugger print command
- Fix bug in debugger lexer
- Implement parentheses in debugger parser
- Add memory indirection syntax to debugger parser/evaluator
- WIP support for expression parsing in debugger
- Add NBA Live 98 to ROM DB as it has SRAM not noted in header
- Merge
- xcftools is no longer packaged by Debian/Ubuntu so switched to imagemagick
- Add 3-button pad overrides for Beast Wrestler and Exile
- Don't leak all Sega CD resources when freeing a Genesis instance
- Fix regression in Mode 1 CD detection
- Add Quick Load binding
- Improved detection of bogus device headers
- Fix loading CD bios from absolute path
- Merge
- Implement config file migrations and add iso and cue to extension list
- Fix inappropriate free of IO override strings in free_rom_info
- Added UI for setting firmware paths
- Add ROM DB entry for NHL 96 as it is missing SRAM info in the header
- Fix memory map mask calculation for manually specified cart SRAM/RAM
- Minor CDC fix
- More accurate seek times and basic emulation of extended time between CDD interrupts during coarse seeking
- Fix regression in Sonic & Knuckles
- Add ROM DB entry to fix SRAM on Triple Play: Gold Edition and make some code changes so that 3MB dumps will work too
- Fix a couple of bugs in the TOC file parser
- Initial stab at CDC DMA cycle stealing and sub CPU refresh delays
- Fix LC8951 cycle adjustment for data transfer next byte tracking
- Fix SP end address in disassembler
- PCM channel add should saturate on overflow, not wrap around
- Fix speed of CDC to PCM RAM DMA
- Fix support for CUE sheets that refer to multiple files
- Fix some CD-ROM emulation issues
- More accurate seek emulation
- Fix bug in TOC parser
- Fix DRS and DTS bits of CDD status
- Fix some dynarec code invalidation issues
- Fix a crash regression from word RAM interleave changes
- Fix regresion on mcd-verificator CDC flags test
- Can now pass all CDC DMA3 tests in mcd-verificator
- Implement word RAM interleaving in 1M mode, now passes mcd-verificator word RAM tests
- Remove use of get_native_pointer in 68K instruction decoding in preparation for word RAM interleaving
- Add some weak labels for a few exception vectors in disassembler
- Improve CDC decode timing accuracy
- Emulate CDC sync detection and sync insertion rather than relying on external knowledge about sector offset
- Pause word RAM DMA while word RAM is switched to main CPU
- Fix some issues with PCM dma/CPU write conflicts
- Fix one more test in mcd-verificator CDC DMA1
- Fix embarassing typo
- Fix Windows build
- Return "not ready" status sometimes when seeking. Fixes issues in multiple games
- Attempt to select an appropriate Sega/Mega CD BIOS file based on region and config
- Cut down on debug print spam
- Implement writes to cell image area in 1M mode. Fixes graphics in Stellar Fire
- Fix the regression in Stellar Fire while still passing RET/DMNA tests
- More accurate RET/DMNA implementation
- Fix some null-pointer dereference crashes on a ROM that abuses V28/V30 mode switching
- Set force-mute when CD drive is in the pause state
- Initial stab at subcode emulation
- Hopefully more accurate relative timing of CDD status and data reaching the CDC
- Enhance support for CUE files and add initial support for cdrdao TOC files
- Fix handling of ram code flag offset calculation for ranges that are not an even multiple of the code flag page size
- Add support for printing strings in 68K debugger
- Fix some off-by-ones in the address map definition for Sega CD hardware
- Some very minor Sega CD disassembler improvements
- Fix regression in MED extended sega mapper support
- Fix handling of byte writes to gate array regs from main CPU
- Move some debugger state to a per-CPU structure. Add m command for returning to main CPU from sub CPU
- Fix bug in Sub CPU debugger suport
- Add some enhancements for disassembling Main CPU Sega CD code
- Initial support for using debugger on sub CPU
- Fix regression in booting games with Japanese Mega CD BIOS
- More Sega CD auto-labels in disassembler
- Fix handling of address error for 32-bit accesses
- Fix CDD PLAY command and CDD fader sample alignment
- Add some missing null checks in the Sega CD code dealing with word RAM switching
- Fix some bugs in the Sega CD graphics coprocessor
- Fix off-by-one in sega mapper heuristic
- Fix CDD byte cycle counter deduction that got broken when I fixed the off-by-one on CD-DA
- Better simulation of CDD pause behavior
- Pass some more mcd-verificator tests
- Hack fix for audio deadlock issue
- Fix infinite loop in Sega CD graphics coprocessor code
- Fix some disassembler bugs introduced with Sega CD changes
- Fix typo that messed up Mode 1 for carts with mappers
- Fix some byte order stuff for audio tracks
- Enable Sega CD emulation for carts if a CD image is "locked-on" even if the cart does not specify that it uses the CD peripheral in the header
- Implement bitmap to cell mapping feature of 1M mode
- Fix instruction retranslation for write protectable region of SCD Program RAM
- Add some Sega CD specific enhancements to disassembler
- Implement a couple more CDD commands force CDDA mute when seeking
- Persist BRAM to file. Load BIOS relative to blastem directory
- Forgot to add PCM source files
- Initial stab at RF5C164 emulation
- Implement CD audio
- BIOS doesn't like it if TOC read happens too quickly
- Fix CDD int cycle calculation
- Sega CD graphics processor output now looks correct for some operations
- Added basic support for ISO images for games that only have a data track
- Fix a couple of CDD bugs
- Fix windows build error
- Fix some cycle adjustment stuff and an off-by one on hte TOCT response
- Merge Sega CD branch now that it sort of works
- Fix a few sega cd graphics processor bugs segacd
- Fix error in code write detection introduced from "wide" jcc change segacd
- Initial attempt at implementing the Sega CD graphics hardware segacd
- Dump PROG RAM to file for debugging segacd
- More CDC/CDD improvements segacd
- Fix a bunch of CDC/CDD related mcd-verificator failures segacd
- Implement transfer of data from CDC to elsewhere. Other miscellaneous CDD/CDC improvements segacd
- Get CDD working well enough to get into BIOS CD player segacd
- Update commented out CPU logging to differentiate between main and sub 68k segacd
- Some progress on CDC and CDD emulation. Now passes first 3 "CDC INIT" tests in mcd-verificator segacd
- Implemented basic TOC functionality of CDD MCU segacd
- Move old notes into a subdir and add CDD MCU notes segacd
- Add basic support for BIN/CUE images segacd
- Initial work on CDC emulation segacd
- Fix a bunch of stuff to pass more mcd-verificator tests segacd
- Fix byte write behavior on a few gate array regs to pass the VAR test in mcd-verificator segacd
- Fix prog RAM banking and Genesis to SCD cycle conversion. Arkagis Escape demo now works segacd
- Implement enough of Sega CD gate array and Sub CPU to pass Sik's Mode 1 test ROM segacd
- Merge from default segacd
- Support Sega mapper without 'SEGA SSF' in header or ROM DB entry and implement a subset of the extended Sega mapper implemented in the Mega Everdrive when 'SEGA SSF' is present
- Update source path of SDL license file for Linux builds
- Update img2tyles to use Python 3
- Merge from mame_interp proprietary
- Always use "call" style interp generation from CPU DSL and default to NEW_CORE in mame_interp branch mame_interp
- Backed out changeset 96323d73b8ab proprietary
- Backed out changeset 94f37e4b1469 proprietary
- Strip out mega wifi support and debugger proprietary
- zlib support in vgmplay
- Add cycle checks to deal with 68K core differences to the new refresh emulation blocks merged from default mame_interp
- Fix compile error post-merge mame_interp
- Merge from default mame_interp
- Fix window bug implementation
- Add TMSS state to save states
- Don't init IO ports in TMSS ROM as it trips up the standard Sega init code
- Implement TMSS VDP lock
- Fix bug in handling of MMAP_CODE regions smaller than 16KB
- Added open source TMSS replacement
- Implement TMSS ROM and cart mapping register
- Make ui.enter_debuger respect which debuger is active
- Make KDEBUG functionality play nice with gdb remote debugging
- Fix some stuff that was calling printf directly
- Close VDP debug windows when VDP is freed. Fixes Trac bug 39
- Fix Timer B load bug that made games using Konami sound driver to have slower music tempo than they should
- Add new serial state, and Heartbeat Personal Trainer state to save state serialize/deserialize code and fix bug in IO deserialize implementation
- Implement Heartbeat Personal Trainer peripheral and add ROM DB entry for Outback Joey
- Merge
- Implement serial IO, a generic serial device type and external interrupts
- Add ROM DB entry for bootleg game Rock World
- Add ROM DB entry for Rock Heaven a bootleg hack of Alex Kidd with Rockman graphics
- Fix format of axis mapping strings for axes that map to a d-pad
- Backed out changeset 96971b673f51
- Add Genesis 6-button contoller image
- Fix some bugs in PNG decoder
- Add a UI button to reset config to defaults
- Prevent user from getting stuck in directories they don't have permission to read in ROM browser
- Show current path in file browser
- Use different variants for Genesis controllers to better represent what types are out there
- Reorder system settings so that more common options are near the top and none of the dropdowns get cut off
- Multiplying by zero and shifting by zero are very different. Fixes regression in Overdrive 2
- Small improvement to refresh cycle approximation
- Improved texture atlas size estimation in Nuklear
- Fix a regression in sprite rendering that could cause garbage to be displayed on first line
- Add support for the parts of the KMod debug ports used by SGDK
- Fix build breakage on OS X
- Specify min OS X version when making a "portable" build for that platform
- Prevent wait truncation in VGM logging
- Set initial pan bits in YM2612 register array and not just the separate lr field of the channel. This fixes an issue in which some channels would be silent in VGM log output
- Fix occasional deadlock on startup when using audio sync
- Added Wii U controller image
- Fix VGM delay calculation overflow when a YM-2612 write follows a PSG write in close succession
- Add stubs for some functions in libblastem.c to fix link failures on windows libretro target
- Fix broken enum definitions that cause multiple definition errors when building with -fno-common which is now the default in GCC 10
- Fix libretro target on windows
- Enter debugger when a VDP data port read would cause a CPU lockup
- Fix regressions from most recent address/cd latch change. Need to do more research still, but probably good enough for now
- Update cycle to VGM sample conversion based on ValleyBell's suggestion
- Merge
- Fix regressions in Monster World IV and Sonic 3D Blast caused by address latch changes
- Add stop command to end of recorded VGM stream
- Merge
- Somewhat buggy implementations of shift instructions in new 68K core
- Fix 68k test harness target, add cycle count to output and add a cycle limit
- Fix cycle timing of a number of 68K instructions
- Add ROM DB entry for Sonic Delta
- Fix handling of unmapped reads/writes to the cart/expansion port region
- Fix libretro target
- Fix vgmplay target
- Fix merge error mame_interp
- Merge from default mame_interp
- Fix regression in Mode 4 support caused by address/cd latch changes
- Go back to unpausing audio in render_video_loop to ensure the core is no longer running on the main thread when audio callbacks start when using run on audio thread mode
- Less hacky run on audio thread mode
- Don't hold frame queue mutex while rendering
- Fix regression in run on audio thread mode
- Allow use of NPOT textures as a config option. Useful for some mobile GPUs
- Specify desired language when invoking fc-match to find an appropriate font on Linux
- Avoid expensive re-init from switching to external sync after render_init has been called
- Better handling of pad assignment to remotes
- Fix handling of remote disconnects
- Fix "full" deflate flush so multiple remotes can successfully join
- Add an event log soft flush and call it twice per frame in between hard flushes to netplay latency when there are insufficient hardware updates to flush packets in the middle of a frame
- megawifi: implement CMD_DATETIME
- megawifi: implement UDP sockets
- megawifi: use util module socket functions for WIN32 compatibility
- Make netplay remote sync to network rather than audio or video so it doesn't drift out of sync with the host
- Skip setting AI_NUMERICSERV in megawifi code on Windows for now so min SDK version does not need to be bumped
- More correct implementation of byte printing in builtin debugger. Fix GDB debugger to use helper in backend.c for reading bytes
- Apply fixes to helper functions in backend.c from interp branch
- Add support for printing a byte from memory in native debugger. Add stubs for GDB commands qThreadExtraInfo and qP
- Implement CMD_HRNG_GET, CMD_GAMERTAG_GET and CMD_LOG.
- Implement CMD_TCP_CON command
- megawifi: stub common commands to get config.
- megawifi: refactor and update commands
- Use zlib to compress event log streams
- Fix some netplay issues
- Netplay protocol size optimization
- Fix awful playback latencin in new netplay implementation
- Properly initialize Genesis reset cycle on startup. Fixes crash in GDB remote debugger when stepping past the first two instructions
- Fix some questionable comparisons between 64-bit values and literals that fit in 32-bit integers
- Remove usage of GCC pointer arithmetic on void * extension
- Add missing file from new 68K core
- Fix non-Windows build break from Windows compat changes
- Get WIP net play code compiling on Windows and cleanup some unistd.h includes
- Fix short event format decode bug
- Add missing netplay files and add in support for sending gamepad commands back to host
- WIP netplay support
- Fix addrinfo leak in GDB remote debug support
- Fix vgmplay target
- Kill the stateview target as it is not very useful these days and breaks a lot
- Fix instruction timing for addq.w #i, (ay) in dynarec
- Implement 68K or and sub instructions in new core
- Implement 68K eor instruction in new core
- Implement 68K and instruction in new core
- Fix autogenerated temp variables in interrupt subroutine in CPU DSL
- Fix resuming 68K core when using interpreter mame_interp
- Merge from default mame_interp
- Allow override of SDL2 include path for "portable" builds
- Allow specifying a default font path at build time
- Make requested sample format configurable
- WIP new sync mode that runs emulation on audio thread
- Merge from default mame_interp
- Fix stateview target
- Fix regression in Konami games from address/cd latch changes
- Admit defeat on the "trying to write CRAM dots while output is null issue" for now and just add a null check
- Update libretro target to use render_audio shared audio code
- Add memory hook for genesis/megadrive save and cheevos support
- Don't apply address and cd register changes to the 'live' registers until pending flag is cleared, but do preserve the upper address bits in the latch. Fixes regression in Overdrive 2 while preserving fix to Mona in 344 bytes
- Add memory hook for cheat/rumble/cheevos support
- Added implementation of printing PC in 68K debugger
- Added soft reset command to debugger. Added more debugger help
- Added help commands to debugger
- Use proper memory map in Z80 debugger for memory printing
- Z80 HALT isn't really terminal. Fixes bug in Z80 disassembler
- Fix bug in in (c) instruction in Z80 dynarec
- Top bits of address register should be cleared on partial command word write. Fixes Mona in 344 bytes demo
- Make sure fallback memory region is always last
- Don't lockup on writes to !TIME or !FDC regions regardless of whether anything is mapped there
- Reading from Z80 bus when Z80 is not bus requested should return open bus. Fixes regression in Metal Sonic Rebooted
- Fix regression at the very start of The Revenge of Shinobi
- Skip invalid registers when dumping initial YM2612 state to VGM log
- Fix PSG frequency written to VGM header when logging
- Expose vgm toggle keybind in settings UI
- Initial stab at VGM logging support
- Fix stateview target
- Some partial work on TMSS registers, more accurate open bus locations and implement machine freezes for unmapped areas in the IO region
- Make VDP VSRAM capacity respect model selection
- Fix fm setting for Model 3 VA2
- Implement selectable YM2612/YM3834 invalid status port behavior
- Fix edge case in Z80 interrupt handling. Fixes music in Metal Blast 2277
- Fix YM2612 busy flag timing
- Set version reg and TAS behavior based on model config
- Added UI for selecting configured model
- Fix crash in OD2 Titancade scene when border is completely cropped by overscan settings
- Make sure save_type is properly initialized
- Fix crash in 68K debugger from forced VDP frame update when framebuffer is not acquired
- Reset 68K supervisor state and interrupt mask on soft reset
- Fix debug view window stuff that got broken when FRAMEBUFFER_UI got added
- Fix regression in handling of color index 0 in Mode 4. Support Mode 4 in CRAM viewer window
- Only look at low 24-bits of reset vector in ROM type detection heuristic
- Properly mask addresses to 24-bit in disassembler
- Wait to reacquire framebuffer so that switching to UI does not require pushing a new frame if it happens in between bottom and top of display
- Hopefully final fix for line advancement/frame end calculation
- Report more accurate frame and sample rates to frontend in libretro target
- Fix regression in H32 from fine scroll optimization
- Small optimization to read_map_scroll
- Optimized sprite rendering
- Calculate fine scroll once per line for a small speedup
- Slightly gross fix for edge case introduced in border cropping change
- Implement interrupts in call dispatch mode in CPU DSL
- Implement overscan crop in libretro target
- Don't render lines that are cropped by overscan. Allows submitting frame earlier when bottom overscan is non-zero which can reduce latency in some cases
- Cache operator phase increment for a small perf improvement
- Split ym_run into a few different functions to enhance clarity
- Small optimization to render_normal and a minor bugfix in left border debug register handling
- Fix sprite rendering regression introduced by H40 line at a time optimization
- Only do full sync on VDP data port reads instead of all VDP port reads, provides a perf bump for games that busy wait on the status or HV registers
- Small optimization to render_map in VDP code
- Draw entire lines in H40 mode when possible. Still seems to have an edge case or two, but mostly working well
- Fix regression in sprite rendering in H32 mode
- Forgot to commit the header changes
- Fix debug register output regression in border region
- Properly handle freeing a paused audio source. Fixes crash when repeatedly reloading a ROM or loading a sequence of different ROMs
- Fix accuracy bugs used by Novedicus to detect BlastEm/Exodus
- Fix libretro and stateview targets
- Merge
- Rework sprite rendering phase 3 to better match behavior documented by Kabuto/Titan and fix edge case in sprite overflow flag that was breaking the RPS minigame in Alex Kidd
- Split generic part of audio code into a separate file so it can be used in other targets besides SDL
- add input descriptors
- Differentiate between the full Sega mapper and the SRAM only one. Fixes crash on save state load for Phantasy Star IV and other games that use the same mapper
- Basic UI navigation with controller
- Reprocess bindings when SDL2 mappings, controller types or controller order change
- Reorder controllers based on which one receives player input first
- Allow changing SDL2 mapping and controller type after initial configuration
- Fix a couple of small memory leaks
- Fix buffer overrun in shader list UI
- Added "sharp" shader
- Make combo boxes keyboard navigable
- Minor improvements to keyboard navigation
- Allow game save path to be edited from UI
- Allow config file to be saved with executable for "portable" setups
- Demote screenshot message to debug level so that a popup is not spawned when saving a screenshot
- Allow rom directory and rom name in screenshot path. Allow rom name in screenshot name. Remove ability for path variables to contain underscores
- Don't print out a message when saving a state to the serialization pseudo-slot
- 16-bit wide save RAM is stored in memory byteswapped for performance reasons, but saving it to disc that way isn't great. Swap before save/after load to fix
- Make sure on-cart memories are fully initialized in all cases
- Add keyboard navigation to toggle and "property" widgets. Property widgets still need some work
- Adjust scroll of parent layout object if widget newly selected by keyboard is offscreen
- Fix mouse selection of files. Keep keynav from selecting a non-existent widget
- Get Android build target working on mame_interp branch mame_interp
- Merge from default mame_interp
- WIP keyboard nav for Nuklear menus
- Merge
- Get Android build working again and update for SDL 2.0.7 (last version to support older versions of Android)
- WIP new 68K core using CPU DSL
- Minor fix to 68K test generator script
- Fix upload path to take into account separate Win64 directory
- Merge
- Get rid of writes to INVALID_LINE in the framebuffer and fix a crash in OD2 from the recent accuracy work
- Use separate directories for Win32 and Win64 nightly builds
- Get OS param from config file for win nightly build/upload script
- Fix regression in handling of context recreation in Nuklear UI
- Update build_release script to support Win64
- Fix callee saved regs for Win64
- Get 64-bit builds working for Windows target
- Fix windows build
- Don't force NONUKLEAR on when NOGL is set at build time since the Nuklear UI works without GL now
- Allow Nuklear UI to be used when OpenGL is disabled
- Merge
- Add an explicit rule for termhelper as it was relying on a built-in rule before
- Make libretro target successfully build for Windows and possibly Mac
- Separate compositing from final output. Fixes some minor accuracy issues with regards to when background color reg/CRAM changes take effect. Fixes minor glitch in DF Retro Direct Color DMA demo at inactive/active transition
- Fix crash that occurs when changing video screen settings if the emulator window is currently fullscreen. Add a little more error handling to Open GL code
- Update verison number in liblastem.c
- Include ROM DB in library binary for libretro target
- Fix build breakage for libretro target
- Fix bumper/trigger binding boxes for "normal" style conntrollers. Change label of "Back" button to "Save" when there are unsaved changes in controller binding
- Update version number for nightly builds
- Fix crash when pressing escape with no ROM loaded. Fix immediate cancel in keybinding view when mouse happens to be where the cancel button appears
- Added tag v0.6.2 for changeset 8aeac7bd9fa7
- Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release v0.6.2
- Add unit to gain label and change color of checkbox selected state to hopefully make it more clear
- Restore some newlines in debug output that got lost when fixing GDB remote debugging issue
- Request float 32 sample format since it saves us a conversion now that the gain code has been added
- Operator results should be delayed by one sample when used as a modulator in some cases based on relative execution time and pipeline length
- Fixed contents of left and right shoulder boxes for VARIANT_6B_BUMPER controllers
- Skip buttons or axes in the mapping UI that have no label for the selected controller type
- Remove some problematic entries from the game controller db
- Support controllers that have their dpad mapped to an axis
- Zero offset should also impact output channels that a channel is panned away from
- Fix a couple of minor cases of extra precision in LFO implementation
- Fix and update JSON payload for webhook in build scripts
- Post build results to discord via webhook
- Initialize gain_mult when creating an audio source so things work okay for clients that don't explicitly set the gain
- Optionally emulate the offset around zero in the imperfect DAC of a discrete YM2612
- Make sure there are no races between main thread and audio thread around mix_buf. Fix lack of proper termination in shader loading code
- Configurable gain for overall output and individual components
- Fix Windows build
- Added support for detecting Mega WiFi titles based on a header string
- Remove dummy controller_add_mappings definitions from vgmplay and stateview as controller_info.o has been added to RENDEROBJS in the Makefile
- Avoid printing a bunch of junk to stdout when GDB remote debugging is enabled as this can confuse GDB
- Fix off-by one in IO port connection text output
Vox populi
Ten artykuł nie byl jeszcze komentowany:(
Inne treści związane z tematem
[PSP] DevPPSSPP v1.19.2-231 09/07/2025 15:30
PPSSPP to projekt emulatora przenoÅ›nej konsoli SONY PSP, napisanym w C++ przez jednego ze wspóÅ‚autorów emulatora Dolphin udajÄ…cego konsolÄ™ Nintendo Wii/GameCube Henrika Rydgarda, podobnie jak Dolphin, emulator posiada status open source i każdy może korzystać z repozytorium na githubie.
W chwili obecnej jest to bezsprzecznie najlepszy emulator, który pozwala nam ...
[gba] NanoBoyAdvance 1.8.2
Nowa, Å›wieża wersja emulatora NanoBoyAdvance, caÅ‚kiem udanego emulatora konsolek Nintendo GameBoy Advance. W sumie wÅ›ród udawaczy tej platformy naprawdÄ™ trudno trafić na aplikacjÄ™, która gorzej radziÅ‚aby sobie z emulacjÄ… handhelda, wiÄ™c wybór emulatora jest naprawdÄ™ bardziej kwestiÄ… gustu niż koniecznoÅ›ci.
[multi] DSP 0.24 VIP1 30/04/2025
Emulator DSP sygnowany przez imć Leniada, pozwalaja na zabawÄ™ maszynkami arcade i oÅ›miobitowcami - CPC, ZX Spectrum (z bardzo fajnie rozwiÄ…zanym podglÄ…dem plików), a także Colecovision, Nintendo 8 i CGB/GB - wszystko, co ma Z80 na pokÅ‚adzie jest mile widziane;)
Ostatnia pełna wersja tego DSP Emulator DSP 0.23 Final pojawiła się 27 października 2024 r.
[pce] GearFX 1.5.4 30/06/2025
Ignacio Sanchez Gines (drhelius), autor emulatora GearBoy (Nitendo GameBoy), GearSystem (Sega Master System) i GearColeco (Colecovision) zabrał się za nowego udawacza - tym razem na ogień poszła konsola Turbographx 16 lub jak to woli PCE Engine.
Na obecnym etapie grać siÄ™ da na tym Å›rednio (naprawdÄ™ nie brakuje dobrych emulatorów tej platformy - wystarcze wspomnieć o bardzo ...