Skip to content

Releases: irixxxx/picodrive

v2.00

19 Jul 20:15
Compare
Choose a tag to compare

PicoDrive release 2.00

Update: experimental Windows build added, feedback welcome
this is not going to be well maintained though, I don't even have a Windows system for testing.

Update: replaced PS2 binary to fix audio problems with sound rates lower than 44100

Limited Changelog:

2.00:

  • improved system detection by extension
  • improved save/load (Z80, VDP state)
  • improved some auto mappings for SMS
  • added stereo for YM2612 DAC output
  • updated libchdr for zstd support
  • fixes for pandora
  • changed miyoo build to ipk
  • switched miyoo menu key to RESET
  • added some more MD cartridges
  • added more keys for some opendingux devices
  • several fixes for SH2 DRC
  • several VDP rendering fixes
  • a lot of other bug fixes (32X reset, Z80 timing, etc.)

2.00-beta3:

  • bug fixes (VDP reset, Z80 reset)
  • improvements for Sega/Mega CD

2.00-beta2:

  • substantial overhaul of Sega Pico UI:
    supports png images for pad overlays and storyware, new hotkeys, new option (see below)
  • improved z80 and 68k timing for md and alike
  • improved timing for 68k access to z80 bus
  • improved 68k open bus read
  • implemented "busy" status bit in ym2612
  • fixes for big endian CPUs for state save/load

2.00-beta1:

  • added ps2 standalone target (thanks to fjtrujy for the fundamentals)
  • improved psp support
  • fixed menu RGB/BGR handling
  • fixed several Z80 related timing inaccuracies
  • slightly increased volume for CD audio
  • other bug fixes

2.00-alpha3:

  • improved pandora layer handling
  • added handling of "fantom bitmap" (DMA to background color)
  • added SMS option to select TMS bitmap for legacy gfx modes
  • added stereo sound support for GG
  • overall revision of Pico support (correct sound, better handling of pen, better save/load handling)

2.00-alpha1+2:

  • improved MD FM sound (DAC ladder effect/clipping, filtering, native rate)
  • added support for 32X using MD H32 mode
  • added support for MSU-MD (cartridge+audio CD for MD and 32X)
  • added basic MD multiplayer support (team player, 4-way play)
  • added mapping for some additional Mega Drive games
  • added support for both Overdrive demos
  • improved save/load handling (SVP, MD mapping, MCD/32X cycle counter)
  • added more mappers for SMS cartridges
  • added some support for GG cartridges running in SMS mode
  • improved SMS graphics if 1st column is blanked
  • added missing TMS9918 modes
  • added SG-1000/SC-3000 support (no kbd yet, upcoming)
  • added additional handhelds/host systems (miyoo, gkd, rg99, odbeta)
  • improved handling of files by extension
  • revised menu (more consistent options handling, option profiles)
  • added dynarec support for PS3 using libretro
  • add CI to repo (including artifact uploading for the curious)
  • improved psp support
  • revived pandora support
  • a plethora of bug fixes and minor improvements (also most probably new bugs ;-))

Sega Pico support

The Pico support has undergone large changes and has been vastly improved. Specifically, images in png format for pad overlays and storyware pages are now supported, pen support has improved a lot, hotkeys have changed to reflect these changes, and ADPCM audio has been rewritten. IMHO it should now be much closer to the real thing than before.
There are now 2 hotkeys for changing display and input to storyware or pad. If there are images for either, they are automatically loaded and displayed. There's also an additional hotkey for the pen state to denote the pen being on the surface or not, indicated by the pointer icon being changed. See platform/base_readme.txt for details on how to name the images.

Binaries for:

  • gph (gph gp2x, wiz, caanoo)
  • pandora
  • dge (ritmix rzx-50, dingoo a320, possibly other similar devices having a JZ4740/JZ4755 cpu running early opendingux (mips32 w/o fpu))
  • retrofw (rs97, possibly other similar devices having a JZ4760 cpu (mips32 w/ fpu))
  • gcw0
  • opendingux (rg280/350, gkd350h/gkdmini with stock firmware, possibly other similar devices having a JZ4770 or newer (mips32r2 w/ fpu))
  • miyoo
  • odbeta (JZ4770 (gcw0, rg280/350), JZ4760 (rg300, rs97, ldk, k3), JZ4725 (rg99) running the newer opendingux beta)
  • psp
  • ps2

These may (or may not) work on other similar devices. If you have tried other devices, please report back. I'll add those reported working to the above list.

Special thanks go to notaz (pandora), sydarn (odbeta), Apazcer (miyoo), and fjtrujy (psp, ps2) for support and patches.

v1.99

14 Nov 22:32
Compare
Choose a tag to compare

New features added:

  • improved Master System support
  • added SRAM save support for SMS cartridges
  • added a lot of mappers for SMS cartridges
  • added Game Gear support
  • added Master System TMS9918 modes 0 and 2
  • added upscaling for improved aspect ratios
  • improved Sega/Mega CD support
  • added mapping for some additional Mega Drive games
  • improvements for libretro support (new menu structure courtesy of jdgleaver)
  • a load of bug fixes and minor improvements (also most probably new bugs ;-))

Binaries for (with list of devices I tested with):

  • gph (gp2x, caanoo, probably also working on wiz)
  • dge (ritmix rzx-50, possibly other similar devices having a JZ4740/JZ4755 cpu running early opendingux (mips32 w/o fpu))
  • retrofw (rs-97, possibly other similar devices having a JZ4760 cpu (mips32 w/ fpu))
  • gcw0
  • opendingux (rg280, rg350, gkd350h with gcw0-based stock firmware, possibly other similar devices having a JZ4770 or newer (mips32r2 w/ fpu))

Not tested on other similar devices, and not tested on the current opendingux beta, but it may (or may not) work nonetheless. If you have tried other devices, please report back. I'll add those reported working to the above lists.

Binaries courtesy of other users (not tested by me since I don't have the hardware):

  • psp (compiled by myself, but only tested on ppsspp emulator)
  • miyoo (compiled by freq_mod; you may need to delete the config file to get the buttons working, see issue #42)

v1.98

02 Apr 21:07
Compare
Choose a tag to compare

*** If you have downloaded a release file before Apr 12, please do so again. The old files partially contained debug stuff ***

New features added:

  • CHD support for CD images
  • mp3 playback support via minimp3
  • big endian host platform support
  • sound low pass filtering for more realistic sound (original HW has analog low pass filter)
  • menu revision
  • improvements for 8bit fast rendererer (mainly better PAL support)
  • basic support for legacy dingux (somewhat limited) and retrofw devices
  • experimental support for PSP (incomplete)
  • a load of bug fixes and minor improvements (also most probably new bugs ;-))

Binaries for (with list of devices I tested with):

  • gph (gp2x, caanoo, probably also working on wiz)
  • dge (ritmix rzx-50, possibly other similar devices having a JZ4740/JZ4755 cpu running early opendingux (mips32 w/o fpu))
  • retrofw (rs-97, possibly other similar devices having a JZ4760 cpu (mips32 w/ fpu))
  • gcw0
  • opendingux (rg280, rg350, gkd350h with gcw0-based stock firmware, possibly other similar devices having a JZ4770 or newer (mips32r2 w/ fpu))

Not tested on other similar devices, and not tested on the current opendingux beta, but it may (or may not) work nonetheless. If you have tried other devices, please report back. I'll add those reported working to the above lists.

v1.97

22 Nov 23:43
Compare
Choose a tag to compare

This is mostly a bug fixing release (more than 2 dozen bugs). New features added:

  • powerpc support for DRC
  • 2x mode in SDL video overlay mode for better color resolution
  • FM support for Master System (YM2413) (thanks to @hiroshica for supplying)

2x mode:
This is only available if "Video Overlay" is available in "Display Options/Video output mode". Video overlays use the YUV 4:2:2 color model, which has a brightness value for every pixel, but reduces the color resolution to one U/V chroma value for every 2 pixels. 2x mode circumvents this by doubling every megadrive pixel to have the complete color information for this pixel in the YUV output. Output scaling halves the width again, which then produces one chroma value per output pixel.

Binaries for gp2x and caanoo (zip), rg350 and gcw-zero (opk, mips32r2), and generic opendingux (opk, mips32r1).

v1.96

16 May 20:27
Compare
Choose a tag to compare

New features added:

  • added YM2612 SSG-EG emulation
  • optimisations for SH2 DRC
  • added a DC filter to 32X PWM sound to reduce clipping
  • improved VDP emulation (some Overdrive 2 support)
  • completely rewrote VDP FIFO handling for improved timing accuracy
  • revived SVP DRC for ARM

Binaries for caanoo (zip) and gcw-zero (opk). Please let me know should you encounter any problems.

The zip can also be used on a gp2x, if the ARM940 binary (pico940_v3.bin) from the v1.91 gp2x release is added manually to it. I omitted it for licensing issues with helix mp3 decoder.

v1.95

27 Nov 22:19
Compare
Choose a tag to compare

New features added:

  • added RISC-V code emitter for SH2 DRC
  • SH2 DRC optimisations

Binaries for caanoo (zip) and gcw-zero (opk). Please let me know should you encounter any problems.

The zip can also be used on a gp2x, if the ARM940 binary (pico940_v3.bin) from the v1.91 gp2x release is added manually to it. I omitted it for licensing issues with helix mp3 decoder.

v1.94 (for caanoo and gcw-zero)

12 Oct 21:55
Compare
Choose a tag to compare
Pre-release

Unofficial release for caanoo (zip) and gcw-zero (opk). Please let me know should you encounter any problems.

New features added:

  • revive Helix Mp3 decoder support for ARM (Helix sources not supplied due to licensing)
  • update GPH device support to use newer GCC 4.7
  • ARM specific optimisations (speedup for emulated memory access, 32X draw code, DRC disassemblers)
  • a lot of SH2 DRC and 32X emulation fixes to improve game compatibility
  • improved DRC code generation (generated code now noticeably faster)
  • improved SH2 DRC memory access functions (added 32 bit versions, sign extension)
  • improved SH2 DRC register caching
  • added branch caching to SH2 DRC
  • optimisations to DRC ARM backend (code reordering, literal pool)
  • added polling/idling loop detection and basic loop optimisation to SH2 DRC
  • added call/return cache for SH2 DRC
  • added cache for communication areas between 32X CPUs
  • added T bit caching to ARM SH2 DRC backend (kept in host CPU flags as long as possible if possible)
  • added x86_64. MIPS and aarch64 backends to SH2 DRC
  • 32X DMA emulation optimisation
  • revised SH2 DRC branch handling and host code block linking
  • added 32X PWM interrupt optimisation (configurable since it may not work with all games)
  • improved auto frameskipping