Giter Site home page Giter Site logo

libretro / picodrive Goto Github PK

View Code? Open in Web Editor NEW

This project forked from notaz/picodrive

38.0 14.0 60.0 11.1 MB

Fast MegaDrive/MegaCD/32X emulator

License: Other

Makefile 0.82% C 87.01% Assembly 10.66% Shell 0.26% Batchfile 0.17% Objective-C 0.04% Perl 0.01% HTML 1.04%

picodrive's Introduction

This is yet another SEGA 8 bit and 16 bit console emulator for emulating most of the hardware SEGA has published up to and including the 32X.

Emulated 16 bit systems: Mega Drive/Genesis, Sega/Mega CD, 32X, Pico.
Emulated 8 bit systems: SG-1000, SC-3000, Master System/Mark III, Game Gear.

PicoDrive was originally written having ARM-based handheld devices in mind, but later had got various improvements for other architectures too, like SH2 recompilers for MIPS (mips32r2), ARM64 (armv8), RISC-V (RV64IM) and PowerPC (G4/2.03).

PicoDrive was the first emulator ever to properly emulate Virtua Racing and its SVP chip.

Currently the main development happens in the irixxxx's fork, notaz's repo isn't updated as much.

compiling

For platforms for which release builds are supplied the most easy way is to use the release script in tools/release.sh. See the release script for details. To make a platform build use

tools/release.sh [version] [platforms...]

This will deliver a file for each platform in a the release-[version] directory. A list of platforms is in the release script.

If you want to build an executable for a unixoid platform not listed in the platform list, try using

configure --platform=generic

If DRC is available for the platform, it should be enabled automatically. For gp2x, wiz, and caanoo you may need to compile libpng first.

After configure, compile with

make

helix MP3 decoder for ARM

For 32 bit ARM platforms, the optimized helix MP3 decoder can be used to play MP3 audio files with CD games. The helix source files are however not supplied due to licensing issues. If you have legally obtained the sources, put them in the platform/common/helix directory.

To compile the helix sources, set CROSS_COMPILE to your cross compiler prefix (e.g. arm-linux-gnueabi-) and LIBGCC to your cross compiler's libgcc.a (e.g. /usr/lib/gcc-cross/arm-linux-gnueabi/4.7/libgcc.a), and compile with

make -C platform/common/helix CROSS_COMPILE=$CROSS_COMPILE LIBGCC=$LIBGCC

This will result in a shared library named ${CROSS_COMPILE}helix_mp3.so. Copy this as libhelix.so to where the PicoDrive binary is on the target device.

Also, the support for helix must be enabled in PicoDrive by compiling with

make PLATFORM_MP3=1

This switch is automatically enabled for Gamepark Holdings devices (gp2x, caanoo and wiz). Without installing libhelix.so those devices will not play MP3 audio.

installing

The release scripts produces zip files which need to be installed on the target device manually. Usually that means unpacking the file to some directory on the device storage or on an SD card. See device specific descriptions on the net.

Send bug reports, fixes etc to [email protected]

picodrive's People

Contributors

akimanbengus avatar aliaspider avatar andres-asm avatar bananarama203 avatar bmaupin avatar chips-fr avatar claudiuslollarius avatar ds22x avatar evilwraith avatar fjtrujy avatar hiroshica avatar hizzlekizzle avatar ilag11111 avatar inactive123 avatar irixxxx avatar jdgleaver avatar lentillog avatar libretroadmin avatar negativeexponent avatar notaz avatar orbea avatar osirizx avatar pcercuei avatar phcoder avatar saulfabregwiivc avatar sergiobenrocha2 avatar sydarn avatar toadking avatar volo-thomas avatar webgeek1234 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

picodrive's Issues

[RetroArch] Picodrive Netplay Desync Issue

I am running RetroArch 1.7.3 on both a Win 7 64-bit and a Mac running OS 10.11.6.
The Picodrive version I am using is the newest build (1.92 1a49e06) on both systems (as of 6/28/18).

I noticed an issue playing NHL '94 for Genesis. When playing 2 player via Netplay, a minute or so into gameplay, the game will desync. There is no "netplay disconnected" message seen, what occurs is some strange play behavior by the opposite team, and when asking the other player, we find that our game clocks are not in sync. I tested against 2 different people, one running Windows 10 64-bit, the other Windows 7 64-bit. I have tested against both people with me running Win 7 and Mac OS. The verbose log for RetroArch does not show any netplay errors.

After bringing it up in the RetroArch Discord, it was suggested to test locally, running 2 instances of RetroArch. When doing this, I saw the same issue. I checked my Netplay settings, and they are all defaults.

I then tried Streets of Rage 2 (USA) locally running 2 instances, and this ran OK. I tested for about 5 minutes with no apparent desync.

I have played numerous games via Netplay with Genesis Plus GX with no issue, but would like to use Picodrive because of the cross-platform compatibility.

I attached a screenshot of the NHL '94 desync and the retroarch log files from both instances. It was taken about 1 min of game clock into the game (approx 40 sec or so). Desync seemed to occur right around this time.

Please let me know if there's anything else I should check.

nhl94-desync
retroarch-log-nhl94-client.txt
retroarch-log-nhl94-host.txt

Mega Drive sram saving not working

Saving is broken?

I'm playing New 3D Golf Simulation: Waialae no Kiseki on Mega Drive.

If it's easier to test feel free to use the only Western release in that golf series Pebble Beach Golf Links.

After loading the game:

  • Create Data
  • Register
  • Change the name
  • End
  • Press B to go out of that menu and then go back in
  • You should see the saved name you previously entered

This is just one example, other things that should save in the game also do not.

Any ideas?

Region frame rate changing missing

I just updated Picodrive and noticed that the ability to run PAL games at 60hz is now missing. I used it for MegaMan wiley wars to run the PAL version at full speed.

[Android] [Picodrive] [SMS] [Core-provided aspect ratios are mislabeled]

When loading a sms(sega master system) rom on picodrive, the core provided aspect ratios are mislabeled.
Quick Menu - Options - Core provided aspect ratio
PAR=4:3
4:3=PAR(almost widescreen)

Expected behavior:
PAR=PAR
4:3=4:3

Actual behavior:
PAR=4:3
4:3=PAR (almost widescreen)

Steps to reproduce the bug:
load sms rom
change the default core provided aspect ratio from PAR to 4:3
rom looks almost widescreen when its suppose to be 4:3
Version/Commit:
RetroArch: Feb 19 2018

Git version: 6fc6bfb

OS: Android

Move from non-commercial to a free license

Recently MAME switched its license from non-commercial to GPLv2+ with most code being under BSD. This is awesome as it makes it simpler for Linux distributions and other distributors to ship it.

Is there any chance to change PicoDrive's license from non commercial to a free one? BSD, MIT, GPLv2+ or GPLv3+ would be good choices, BSD is probably the simplest of the bunch.

Such a change would imply all the authors to agree on that.

[Retroarch]Picodrive does not align games properly

Hello,

As the title says, Picodrive's current version availiable from the "update core" does not align master system games properly, as said in this topic by cuyo01 https://forums.libretro.com/t/picodrive-not-positioning-correctly-the-screen/21708 .

I could reproduce it by loading a former version of the core I had installed (1.92 eaac037), load the game with it (I used the same game as the topic, Wonder boy III) and it was fine, after updating to the 1.92 7d6deb9 version, it was not anymore, I also could see this issue on some distributions that includes retroarch before reading about this (I was not sure where the problem lied at that point so I did not report it here).

It is the first time I ever report an issue on github so I hope I gave enough informations.

Hope you have a good day, and thanks for the hard work everyone is doing.

EDIT: I am talking about the screen being lower than it should be (which means the top is not on top and the bottom is cut out), the 8 left pixel columns however is a normal thing on the system depending on the game you play (or rather the area of the game depending on how it was coded, E.g. Zillion).

Cross compiler build/link issues when using Cyclone68000

When Cross-compiling for Arm the linker gives the following errors

make -f Makefile.libretro platform=armv
arm-linux-gnueabihf-gcc -o picodrive_libretro.so   -DGIT_VERSION=\"" c3887ce"\" -marm -DNO_ZLIB -D__LIBRETRO__ -fPIC -Wall -g -I. -O3 -DNDEBUG -falign-functions=2 -Izlib -D_SVP_DRC -DEMU_C68K -D_USE_DRZ80 -DDRC_SH2 platform/libretro/libretro.o platform/common/mp3.o platform/common/mp3_dummy.o zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/uncompr.o unzip/unzip.o pico/pico.o pico/cart.o pico/memory.o pico/state.o pico/sek.o pico/z80if.o pico/videoport.o pico/draw2.o pico/draw.o pico/mode4.o pico/misc.o pico/eeprom.o pico/patch.o pico/debug.o pico/media.o pico/sms.o pico/cd/mcd.o pico/cd/memory.o pico/cd/sek.o pico/cd/cdc.o pico/cd/cdd.o pico/cd/cd_image.o pico/cd/cue.o pico/cd/gfx.o pico/cd/gfx_dma.o pico/cd/misc.o pico/cd/pcm.o pico/32x/32x.o pico/32x/memory.o pico/32x/draw.o pico/32x/sh2soc.o pico/32x/pwm.o pico/pico/pico.o pico/pico/memory.o pico/pico/xpcm.o pico/carthw/carthw.o pico/carthw/eeprom_spi.o pico/carthw/svp/svp.o pico/carthw/svp/memory.o pico/carthw/svp/ssp16.o pico/carthw/svp/stub_arm.o pico/carthw/svp/compiler.o pico/sound/sound.o pico/sound/sn76496.o pico/sound/ym2612.o pico/sound/mix.o pico/m68kif_cyclone.o cpu/cyclone/Cyclone.o cpu/cyclone/tools/idle.o cpu/DrZ80/drz80.o cpu/drc/cmn.o cpu/sh2/sh2.o cpu/sh2/compiler.o cpu/sh2/mame/sh2pico.o -Wl,-rpath,. -L/export/rootfs/lib -shared -Wl,--no-undefined,-Bsymbolic -fPIC -Wl,-Map=picodrive_libretro.so.map -lm
pico/sek.o: In function `SekInit':
/build/picodrive/pico/sek.c:116: undefined reference to `CycloneJumpTab'
pico/sek.o: In function `SekReset':
/build/picodrive/pico/sek.c:159: undefined reference to `CycloneJumpTab'
pico/sek.o: In function `SekSetRealTAS':
/build/picodrive/pico/sek.c:180: undefined reference to `CycloneSetRealTAS_JT'
/build/picodrive/pico/sek.c:180: undefined reference to `CycloneJumpTab'
pico/sek.o: In function `SekInitIdleDet':
/build/picodrive/pico/sek.c:301: undefined reference to `CycloneJumpTab'
pico/sek.o: In function `SekFinishIdleDet':
/build/picodrive/pico/sek.c:434: undefined reference to `CycloneJumpTab'
pico/cd/sek.o: In function `SekResetS68k':
/build/picodrive/pico/cd/sek.c:151: undefined reference to `CycloneJumpTab'
cpu/cyclone/tools/idle.o: In function `idle_bra':
/build/picodrive/cpu/cyclone/tools/idle.s:117: undefined reference to `Op6002'
cpu/cyclone/tools/idle.o: In function `idle_bne':
/build/picodrive/cpu/cyclone/tools/idle.s:123: undefined reference to `Op6602'
cpu/cyclone/tools/idle.o: In function `idle_beq':
/build/picodrive/cpu/cyclone/tools/idle.s:129: undefined reference to `Op6702'
cpu/cyclone/tools/idle.o: In function `exit_detector':
/build/picodrive/cpu/cyclone/tools/idle.s:185: undefined reference to `Op6002'
/build/picodrive/cpu/cyclone/tools/idle.s:186: undefined reference to `Op6602'
/build/picodrive/cpu/cyclone/tools/idle.s:187: undefined reference to `Op6702'
cpu/cyclone/tools/idle.o: In function `have_patches':
(.data+0x4): undefined reference to `Op____'
cpu/cyclone/tools/idle.o: In function `have_patches':
(.data+0x8): undefined reference to `Op6002'
cpu/cyclone/tools/idle.o: In function `have_patches':
(.data+0xc): undefined reference to `Op6602'
cpu/cyclone/tools/idle.o: In function `have_patches':
(.data+0x10): undefined reference to `Op6702'
cpu/cyclone/tools/idle.o: In function `patch_desc_table':
(.data+0x20): undefined reference to `Op6602'
cpu/cyclone/tools/idle.o: In function `patch_desc_table':
(.data+0x30): undefined reference to `Op6602'
cpu/cyclone/tools/idle.o: In function `patch_desc_table':
(.data+0x40): undefined reference to `Op6602'
cpu/cyclone/tools/idle.o: In function `patch_desc_table':
(.data+0x50): undefined reference to `Op6602'
cpu/cyclone/tools/idle.o: In function `patch_desc_table':
(.data+0x60): undefined reference to `Op6702'
cpu/cyclone/tools/idle.o: In function `patch_desc_table':
(.data+0x70): undefined reference to `Op6702'
cpu/cyclone/tools/idle.o: In function `patch_desc_table':
(.data+0x80): undefined reference to `Op6702'
cpu/cyclone/tools/idle.o: In function `patch_desc_table':
(.data+0x90): undefined reference to `Op6702'
cpu/cyclone/tools/idle.o: In function `patch_desc_table':
(.data+0xa0): undefined reference to `Op6002'
cpu/cyclone/tools/idle.o: In function `patch_desc_table':
(.data+0xb0): undefined reference to `Op6002'
collect2: error: ld returned 1 exit status
make: *** [picodrive_libretro.so] Error 1

If set use_cyclone=0 in the Makefile I can compile and run with no problem.

I've tested against the following GCC versions:

arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.1) 4.8.4
arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 5.4.0

Issue with Test Drive II The Duel

When playing with Test Drive II The Duel on the Recalbox OS, you can't see the other cars when racing.
Remember this issue was existing on a older version of Picodrive for PSP too.

Android & x86 bug/freeze with some sms games

Tested on:

  • Recalbox Build 64055288 from pipeline 20811907 based on 18.04.20 x86_64 PC with RA 1.6.9 - PicoDrive 1.92 eaac037
  • PC with RA x64 & x86 1.7.3 - Picodrive 1.92 1a49e06
  • Android (RA 1.7.3 - PicoDrive1.92 eaac037) with roms from last no-intro set (2018-03-24)

Out Run (World):
emulator freeze if we keep accelerator on at race start.
Hang-On (Japan):
Weird white flashing background (no issue with Europe version).
Alex Kidd - The Lost Stars (World):
Game doesn't start, flashing menu like this https://i.imgur.com/Dn6FIhT.jpg

Thoses 3 games are working fine with genesisplusgx core.

Edit:
I've made other test with my rpi2 with last version of recalbox (RA 1.6.9 & Pico 1.92 eaac037):
No freeze with Out Run
Alex Kidd The Lost Stars is running fine
Hang On (Japan) still have white flashing background

1 extra frame of input lag

There's 1 additional frame of input lag in this core vs Genesis+GX.

Tested on Sonic 1:
game on pause, jump button pushed down, K hotkey to go to next frame = jumps on 3rd frame.

Debug build: undefined symbol: set_timers

When building with either DEBUG 0 or 1 such as make -f Makefile.libretro DEBUG=1 picodrive will fail to start any roms with this error message:

$ retroarch -L /usr/lib64/libretro/picodrive_libretro.so Phantasy\ Star.sms 
retroarch: symbol lookup error: /usr/lib64/libretro/picodrive_libretro.so: undefined symbol: set_timers

While make -f Makefile.libretro without specifying DEBUG will work as expected.

Feature Request: Multiplayer support

There are currently 7 games for Sega 32x that I am aware of that are multiplayer games. PicoDrive is the only core with 32x support. But it does not have multiplayer support. It feels like the emulation is incomplete.

If someone shows an interest in this I'm willing to put up a bounty for $25 if someone says they'll do it first.

I'm specifically interested in being able to play the multiplayer 32x games.

Associate with .68k files

SEGA Mega Drive & Genesis Classics on Steam provides some legal ROMs as .68k files. Unfortunately, .68k is not recognized by RetroArch as a valid filename extension for Sega Genesis ROMs. It is possible to play these (I tested this on the USA version of Sonic 3D Blast) by renaming the filename extension from .68k to .bin but I think that the ideal behavior should be to support .68k files directly as a valid filename extension for Sega Genesis ROMs. This should be a trivial change.

I posted the same issue on Genesis Plus GX.

Golden Axe Warrior (USA, Europe) (SMS) - Glitches

in the 1st house to save a game file, behind the man that saves the file garbage pixels, and talking with the man to save opens up the save file screen where file no. 1 & 2 are already in use with random names (no.1 AAH0, no.2 AAAAAA).
v. 1.92 eaac037
android

Cheats don't work

I've found that while cheats can be loaded up in the GUI, when applied, they don't actually enable.

Distorted/choppy audio for 32X game "Tempo" on Raspberry Pi 3B+

I'm running lr-picodrive as my Genesis and 32X emulator under RetroPie on a Raspberry Pi 3B+.

RetroPie 4.4
RetroArch 1.7.5
PicoDrive 1.92

(These are the same versions of RetroArch+PicoDrive that I use on my Win10 PC).

While it seems to emulate the audio in all other 32X games just fine on my Pi 3B+, the audio is very distorted/choppy in the game "Tempo". I checked CPU usage during emulation by ssh'ing into the Pi and running 'top', and it reports only ~38% usage, so this doesn't seem like a CPU bottleneck. And the problem does not repro under the same versions of RetroArch+PicoDrive on my Win10 PC. So that leads me to suspect this may be an ARM-specific emulation bug.

Note that "Tempo" is a bit unique in that it seems to use sampled/PWM audio exclusively for audio rather than using any FM synthesis.

Streets of Rage - UI glitch

Windows 7 64 bit, AMD Radeon HD 6450, Intel i5-2320 CPU @ 3.00GHz
RetroArch 1.7.3 - PicoDrive 1.92 2db9062

Black bars appear over text in the UI:

streets of rage-180804-171338

How it should look (Taken from Genesis Plus GX):

streets of rage-180804-171415

half screen with CPU NTSC filter

When using the core with a NTSC CPU filter, the screen is scaled wrongly (only half screen is filled horizontally).

This is probably related to this old issue.

EDIT: a possible workaround is using the NTSC shader, but it is slow on some GPUs and too noisy for my tastes...

Add aarch64 support to the SH2 dynarec

Right now, the SH2 dynarec (used for Sega 32X) only works for the following platforms:

  • Intel x86 (32bit / 64bit)
  • ARM v7 (32bit)

Every other architecture right now has to fall back on an interpreter core which is not fast enough for many low powered Aarch64 SoCs, including the one on the Nintendo Switch.

This bounty is for the purpose of adding an Aarch64 dynarec backend as well to the existing SH2 dynarec. Perfomance needs to be comparable or better than the existing dynarecs.

https://www.bountysource.com/issues/64126757-missing-feature-ifdef-__aarch64__-in-cpu-sh2-compiler-c

Bounty has been started and starts at $50.

Edited by: twinaphex

Strange horizontal lines on Raspberry Pi in 240p

Hello,
it's now possible on Raspberry Pi to set a 240p screen resolution on composite out.
This is a great feature for Lakka, but I am having a strange issue in Picodrive core: the picture is affected by strange horizontal lines that are much more evident on sprites with vertical scrolling.
Here there are a couple of videos from Bare Knuckle III on Lakka's Picodrive core.

Look at the kanji text that rolls vertically, it is "cut off" by some horizontal lines that seem fixed in the same position:
VIDEO 1

Please look also at the mouth of Axel (main character of the game):
VIDEO 2

Now please take a look at his eye:
VIDEO 3

This only occurs in Picodrive core, not in other cores of Lakka like FCEUMM.
I also suspect that this issue has always been there, and now with 240p has become more evident.

Since Picodrive runs very well even on an old Raspberry Pi 1, and in 240p is a much better experience, I really hope in a fix. :)

Thank you very much!

RetroPie build/link issues

I updated the Retropie-Setup script, rebooted, rebuilt lr-picodrive from source, rebooted again. Then tried some Genesis games and none will load now. Goes black screen then back to game select menu.

/tmp/runcommand.log:

/opt/retropie/emulators/retroarch/bin/retroarch: symbol lookup error: /opt/retropie/libretrocores/lr-picodrive/picodrive_libretro.so: undefined symbol: __aeabi_idiv

Interger Scale is fixed at a height of 240, should be 224.

Sega Genesis/Mega Drive outputs at 320 x 224, but when enabling Integer Scale and setting aspect to 1:1 PAR you see distortions caused by it being fixed at 240.

Should hopefully a simple fix. (:

I first noticed this on the 3DS builds but it seems to be a problem for all of them.

Segmentation fault on rpi3

I cannot load any ROM file with the current build of picodrive off of the armhf buildbot on my Raspberry Pi 3. It segfaults immediately upon trying to start the emulator. I attached a remote debugger to the retroarch process and managed to get something out of it after trying to load Sonic 3 and Knuckles...

Program received signal SIGSEGV, Segmentation fault.
0x72d49dee in m68k_read32 (a=10551304) at pico/memory.c:146
146     pico/memory.c: No such file or directory.
(gdb) bt
#0  0x72d49dee in m68k_read32 (a=10551304) at pico/memory.c:146
#1  0x72d80e52 in OP_0x4AB9 () at cpu/fame/famec_opcodes.h:18227
#2  0x72d9f5ba in fm68k_emulate (cycles=cycles@entry=148,
    idle_mode=idle_mode@entry=0) at cpu/fame/famec.c:905
#3  0x72d47bc6 in SekSyncM68k () at pico/pico_cmn.c:42
#4  0x72d482b4 in SekRunM68k (cyc=148) at pico/pico_cmn.c:56
#5  PicoFrameHints () at pico/pico_cmn.c:97
#6  PicoFrame () at pico/pico.c:349
#7  0x72d476a4 in retro_run () at platform/libretro/libretro.c:1224
#8  0x0001e6f4 in core_run () at core_impl.c:356
#9  0x0002e148 in runloop_iterate (sleep_ms=0x0, sleep_ms@entry=0x7ecbc1b4)
    at runloop.c:1509
#10 0x0001da64 in rarch_main (argc=<optimized out>, argv=<optimized out>,
    data=0x0) at frontend/frontend.c:122
#11 0x76ad3294 in __libc_start_main (main=0x7ecbc344, argc=1992261632,
    argv=0x76ad3294 <__libc_start_main+276>, init=<optimized out>,
    fini=0xf4d30 <__libc_csu_fini>, rtld_fini=0x76f7d408 <_dl_fini>,
    stack_end=0x7ecbc344) at libc-start.c:287
#12 0x0001b268 in _start ()
(gdb) info locals
m = 0xa10008
v = 0
vs = 0
d = <optimized out>
(gdb) info args
a = 10551304
(gdb)

The size of the picodrive shared library is 22,89,891 bytes, has an md5sum of df52cd7e6b41cfebb3052e58598b2a3e and was built on July 4th, 2016, to ensure we're talking about the same version of the library.

This bug is also really easy to recreate, so if you're interested in the output of any other gdb commands I can oblige.

SRAM size reports inconsistently

I'm working on improving Netplay in RetroArch. One of the changes I made is to allow connections late, rather than forcing Netplay to be connecting from the moment you launch RetroArch.

A consequence of this is that Netplay queries the core's sram size (core_get_memory with id = RETRO_MEMORY_SAVE_RAM) after the core has already been executing for a while. With picodrive—and genesis_plus_gx, unfortunately eliminating all Genesis emulators—the reported value is seemingly correct if it's queried before any frames have been simulated, but is 0 if any frames have been simulated.

This was verified by adding the following snippet to Netplay's pre-frame code:

   mem_info.id = RETRO_MEMORY_SAVE_RAM;
   core_get_memory(&mem_info);
   fprintf(stderr, "FRAME %u: %lu\n", netplay->self_frame_count, mem_info.size);

The output is as follows:

FRAME 0: 16384
FRAME 1: 0
FRAME 2: 0
...

Is this expected behavior, in which case Netplay should work around it (though I'm not sure what the correct workaround is...), or a bug?

Integer Scale

While using this core for Sega CD I noticed that integer scale doesn't seem to work. The scaling seems off when using shaders.

Tearing on the Nintendo Switch

We have the issue that we have some Tearing on Mega Drive Games , its hard to explain the game runs full speed but have some kind of stutter like tearing , i was already trying to mess with some settings inside RetroArch but it didnt solve it.

Maybe its an issue that the Switch is using an Software Ren atm without any kind of GPU Support

rewind broken with some games

The rewind feature seems broken in "Knuckles' Chaotix (32X) (JU) [!]" (and possibly other games?).
Btw savestates are working fine.

Cannot build on Debian 8

Following the structure of the debian/ set from the PPA (I checked the latest nightly rules file as well), the build fails on making cpu/cylcone clean. Building with dpkg-buildpackage -rfakeroot -us -uc

/usr/bin/make -C cpu/cyclone/ clean
make[2]: Entering directory '/home/desktop/build-libretro-picodrive-temp/libretro-picodrive/cpu/cyclone'
make[2]: *** No rule to make target 'clean'.  Stop.
make[2]: Leaving directory '/home/desktop/build-libretro-picodrive-temp/libretro-picodrive/cpu/cyclone'
debian/rules:34: recipe for target 'override_dh_auto_clean' failed
make[1]: *** [override_dh_auto_clean] Error 2
make[1]: Leaving directory '/home/desktop/build-libretro-picodrive-temp/libretro-picodrive'
debian/rules:26: recipe for target 'clean' failed
make: *** [clean] Error 2
dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2

I was about to just build off the obvious 'for-libretro' branch, however is has not been updated in a very long time and produces the same error.

Feature request: CHD support

Just a feature request for chd support as has been done for many other cores such as genesis_plus_gx. Thanks!

Mega CD iso with mp3

I am a recalbox user and realized that Mega CD games do not work iso with mp3, freeing up more space on the microsd card, which would be a great implementation.

6 Button Mapping Is Broken

RetroKeyboard 6 button functionality currently does not work via RetroArch 1.2.2 or the latest nightlies. I have tested on both. I have my core options set to 6 buttons for both inputs and have also confirmed the issue with others on the retroarch irc channel.

If you need anything else to help troubleshoot / fix, please let me know.

Up to 10-20 frames input lag in Blackthorne [32x]

In Blackthorne for Sega 32x buttons often works only on 2nd-3rd time which result in 10-20 frames input lag while in Fusion it's only 5-10 frames. In Genesis games - only +1 frame, but in Blackthorne buttons need to be pressed like 2-3 times and I've got multiple clicks sometimes.

Support for Raspberry PI 240p over composite output

Opening a new issue because I couldn't find an issue that describes mine. Or maybe I don't understand how it should work.

This is in issue about what (I think) should work and is lacking in a lot of cores. (I just picked Picodrive to start with.) I could have posted it as an issue in in RetroArch. Please tell me if I should have.

Hopefully I don't come across too harsh. I really love all the work that is put into libretro and all the cores. I want to make it great for people using 240p composite with a Raspberry PI too. Someone has to report the issues one will face when using the new 240p output.

Now that the Raspberry PI supports 240p output in the latest firmware I would think the following features would come in handy.

My CRT screen is calibrated to an AV Famicom and a Amiga and some other composite stuff. I wouldn't want to calibrate for just the Raspberry PI.

The Raspberry PI outputs at 720x480. When set to progressive (240p) it skips every other line (don't know if it's even or odd, but that doesn't really matter). The 720 width has some overscan. The viewable range on my television is about 660. What I would want is to get a picture from picodrive that is 660x480.

To get 480 I need 240p multiplied by 2. This means if the output is 224, (or even 192 in the case of SMS?) I need black parts on the top and bottom. I think this normally is accomplished by disabling overscan cropping. I can not find this in the pico drive core in the latest lakka (Lakka-RPi2.arm-8.0-devel-20170305031646-r25834-g76ebcbd.img)

For the width I would want it to scale to the available width. Even it means scaling is non-integer.

Much of this can be achieved by using a custom viewport. I can set it to 660x448 and it looks great. RGUI looks really ugly though because it scales to 240p. Also if I switch to other cores that do output 240p I have a problem with scaling.

What I would ultimately want is for (1) all the cores to output a width of 660, even if that means the scaling isn't integer. (With my CRT television non-integer scaling isn't that visible, I might add a filter that does horizontal filtering only to get rid of jagged edges)
(2) all the cores to output to a height of 480

This way I can put lakka in a mode of 660x480 and cores with 192x240, 256x240 and 320x240 all are displayed in a good way.

I hope you can help me or point me into the right direction. If I can help you please let me know!

tl;dr

It would be great if all the cores could output to something like 660x480 for use with 240p over composite, let's start with picodrive.

[Feature Request] .m3u support for multi-discs games?

Hey!

I was just wondering: would it be hard to implement m3u support to the core? I know you can use the Disk Image Append option, it works fine but it has a few downsides/bugs (RA related, not specific to PicoDrive), like it restarts the game if you didnt set a folder in Settings > Directory > File Browser, you cant append a disc if its on another drive letter than the one set for file browser, it creates 1 save file per disc, etc.

This would be of course something of really really really low priority, there are not many multi-discs games, but it would be cool to have that if not to hard and/or time consuming to implement!

I hope this is OK to ask for feature request here, if not I'm sorry (I'll close the "issue")!

Retroarch 1.7.7 (Android) Kolibri 32 spontaneous crashes

Sometimes Kolibri 32x (ROM hashes have being checked an they're all ok) just crash the emulator spontaneously and it definitely seems like the problem with this core. There is no dependencies for it by the level of the game, hardware (the problem persits on four units at least), OS (4.4-7.0), and emulator settings.

Creates wrong window size for itself at start?

Hi there. I'm running RetroArch and the picodrive core on Xubuntu 16.04 x64 using the stable PPA: https://launchpad.net/~libretro/+archive/ubuntu/stable

Whenever I start up a ROM, the video is pillarboxed within the window it creates for itself. If I maximize this window, the pillarboxes disappear, and when I restore it, the pillarboxes come back. Now, when I go and change bilinear filtering in the menu--regardless of on or off--the window changes its size and obviously that gets rid of the pillarboxes.

Why does it not create the proper window size from the start?

Other cores (tested FBA, BSnes, Genesis Plus GX) do not exhibit this problem.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.