Coder Social home page Coder Social logo

libretro-mirrors / beetle-saturn-libretro Goto Github PK

View Code? Open in Web Editor NEW
61.0 61.0 40.0 6.04 MB

Standalone port of Mednafen Saturn to the libretro API.

License: GNU General Public License v2.0

Makefile 0.51% C++ 30.86% C 30.07% Objective-C 0.07% Perl 0.01% POV-Ray SDL 15.18% Pascal 23.31%

beetle-saturn-libretro's People

Contributors

abouvier avatar aitorciki avatar albertofustinoni avatar alcaro avatar alphanu1 avatar andres-asm avatar bslenul avatar claudiuslollarius avatar ds22x avatar garbear avatar hiddenasbestos avatar housello avatar inactive123 avatar jdgleaver avatar kekun avatar kwyxz avatar negativeexponent avatar rtissera avatar skyfloogle avatar sonninnos avatar spiralbrad avatar tatsuya79 avatar webgeek1234 avatar yoshisuga 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  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

beetle-saturn-libretro's Issues

Panzer Dragoon segfault

On Ubuntu 16.04.3, trying to load Panzer Dragoon:

$ /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-beetle-saturn/mednafen_saturn_libretro.so --config /opt/retropie/configs/saturn/retroarch.cfg /home/rael/Games/emu/saturn/roms/298\ Panzer\ Dragoon\ \(U\).mds
unhandled setting UI: ss.region_default
unhandled setting B: ss.input.sport1.multitap
unhandled setting B: ss.input.sport2.multitap
unhandled setting UI: ss.input.port1.gun_chairs
unhandled setting UI: ss.input.port2.gun_chairs
unhandled setting UI: ss.input.port3.gun_chairs
unhandled setting UI: ss.input.port4.gun_chairs
unhandled setting UI: ss.input.port5.gun_chairs
unhandled setting UI: ss.input.port6.gun_chairs
unhandled setting UI: ss.input.port7.gun_chairs
unhandled setting UI: ss.input.port8.gun_chairs
unhandled setting UI: ss.input.port9.gun_chairs
unhandled setting UI: ss.input.port10.gun_chairs
unhandled setting UI: ss.input.port11.gun_chairs
unhandled setting UI: ss.input.port12.gun_chairs
Segmentation fault (core dumped)

Higher Resolution

Just like PSX games, Saturn games run on low resolution, which makes them very pixelated.
An option to increase the resolution would be a feature to improve image quality.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Hook Up 3D Control Pad [$35]

This feature from stand alone hasn't been hooked up in libretro yet. You can select the 3D Pad in input settings, but using the left stick seems to give start and face button inputs right now.


Did you help close this issue? Go claim the $35 bounty on Bountysource.

Zip files support ?

Output from :
retroarch -v -L /usr/lib/libretro/beetle_saturn_libretro.so "Guardian Heroes (USA).zip"

...
RetroArch [INFO] :: Environ GET_VARIABLE beetle_saturn_cdimagecache:
RetroArch [INFO] ::     disabled
RetroArch [INFO] :: Environ GET_VARIABLE beetle_saturn_initial_scanline:
RetroArch [INFO] ::     0
RetroArch [INFO] :: Environ GET_VARIABLE beetle_saturn_last_scanline:
RetroArch [INFO] ::     239
RetroArch [INFO] :: Environ GET_VARIABLE beetle_saturn_initial_scanline_pal:
RetroArch [INFO] ::     0
RetroArch [INFO] :: Environ GET_VARIABLE beetle_saturn_last_scanline_pal:
RetroArch [INFO] ::     287
RetroArch [INFO] :: Environ GET_RUMBLE_INTERFACE.
RetroArch [libretro INFO] :: Rumble interface supported!
RetroArch [libretro INFO] :: Loading ./Guardian Heroes (USA).cue...
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 01).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 02).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 03).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 04).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 05).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 06).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 07).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 08).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 09).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 10).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 11).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 12).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 13).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 14).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 15).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 16).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 17).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 18).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 19).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 20).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 21).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 22).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 23).bin
No such file or directory
RetroArch [libretro ERROR] :: Error opening file:
./Guardian Heroes (USA) (Track 24).bin
No such file or directory
RetroArch [libretro INFO] :: Loading SBI file "./Guardian Heroes (USA).sbi"...
RetroArch [libretro INFO] :: Pushing CD image onto stack: ./Guardian Heroes (USA).cue.
RetroArch [libretro DEBUG] :: CD 1 Layout:
RetroArch [libretro DEBUG] :: Track  1, LBA:      0  DATA
RetroArch [libretro DEBUG] :: Track  2, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track  3, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track  4, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track  5, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track  6, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track  7, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track  8, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track  9, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 10, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 11, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 12, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 13, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 14, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 15, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 16, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 17, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 18, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 19, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 20, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 21, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 22, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 23, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Track 24, LBA:    150  AUDIO
RetroArch [libretro DEBUG] :: Leadout:      0
RetroArch [libretro DEBUG] :: Calculating layout MD5.
RetroArch [libretro DEBUG] :: Done calculating layout MD5.
RetroArch [libretro INFO] :: Calculating game ID...
RetroArch [libretro INFO] :: Start calculating game ID, discs: 1...
RetroArch [INFO] :: Environ SET_MESSAGE: Uncorrectable data at sector 0
RetroArch [libretro ERROR] :: Uncorrectable data at sector 0RetroArch [INFO] :: Environ SET_MESSAGE: Uncorrectable data at sector 1
RetroArch [libretro ERROR] :: Uncorrectable data at sector 1RetroArch [INFO] :: Environ SET_MESSAGE: Uncorrectable data at sector 2
RetroArch [libretro ERROR] :: Uncorrectable data at sector 2RetroArch [INFO] :: Environ SET_MESSAGE: Uncorrectable data at sector 3
RetroArch [libretro ERROR] :: Uncorrectable data at sector 3RetroArch [INFO] :: Environ SET_MESSAGE: Uncorrectable data at sector 4
RetroArch [libretro ERROR] :: Uncorrectable data at sector 4RetroArch [INFO] :: Environ SET_MESSAGE: Uncorrectable data at sector 5
RetroArch [libretro ERROR] :: Uncorrectable data at sector 5RetroArch [INFO] :: Environ SET_MESSAGE: Uncorrectable data at sector 6
RetroArch [libretro ERROR] :: Uncorrectable data at sector 6RetroArch [INFO] :: Environ SET_MESSAGE: Uncorrectable data at sector 7
RetroArch [libretro ERROR] :: Uncorrectable data at sector 7RetroArch [INFO] :: Environ SET_MESSAGE: Uncorrectable data at sector 8
RetroArch [libretro ERROR] :: Uncorrectable data at sector 8RetroArch [INFO] :: Environ SET_MESSAGE: Uncorrectable data at sector 9
RetroArch [libretro ERROR] :: Uncorrectable data at sector 9RetroArch [INFO] :: Environ SET_MESSAGE: Uncorrectable data at sector 10
...

Is this expected behavior ?


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Enemy Zero - Multiple disks. Do not load the disc.

Mednafen Saturn 0.9.39.1 (Retroarch testing)

  • Disk Cycle Tray Status: Ejected virtual disk tray
  • Disk Indes 1: Failed to set disk 2 of 4
  • Disk Image Append: Failed to set disk 5 of 5

I tried it on Windows. Mednafen 0.9.39.1:

  • F8: Virtual CD Drive: Tray Open
  • F6: Disc 2 of 4 selected
  • F8: Virtual CD Drive: Tray Closed (Disc 2 of 4)
    Does nothing.

This is the file "Enemy Zero (USA).m3u"
Enemy Zero (Disc 0 of 4) (USA) (DW0775).cue
Enemy Zero (Disc 1 of 4) (USA) (DW0775).cue
Enemy Zero (Disc 2 of 4) (USA) (DW0775).cue
Enemy Zero (Disc 3 of 4) (USA) (DW0775).cue

Am I doing something wrong or is a program error?


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

The core is very outdated 0.9.48 and the standalone 1.22.1

This core is very outdated and several versions of mednafen came almost with exclusive arrangements for Saturn.

Theoretically applied updates....

SS: Fixed a logic error in the BIOS sanity check code that caused it to throw a lesser error error message in some circumstances, and made the error messages related to BIOS file misconfiguration more verbose (and hopefully more helpful ...).
SS: Fixed at least one background layer graphical glitch in "Radiant Silvergun" (at the start of stage 2C).
SS: Fixed the graphical glitch near the end of the intro in "Snatcher".
SS: Added Japanese keyboard (HSS-0129) emulation.
SS: Improved emulation of SCU DSP DMA to program RAM, per tests on to SS (still nowhere near perfect, the way it's implemented on hardware is kind of horrible, but it should work ok if games use it it's meant to be used); fixes graphical glitches in "Shining Force III - Scenario 2", and perhaps in the other "Shining Force III" games as well.
SS: Flush the prefetched SCU DSP instruction when PC is set via PPAF, instead of when END / ENDI executes or when execution is forcibly stopped, per tests on SS.
SS: Disallow SCU DSP LOP from being written in a looped single instruction unless it is the final iteration, per tests on a SS.
SS: Allow SCU DSP LOP to underflow to 0xFFF with LPS and BTM, per tests on to SS.

Mednafen 1.21.3 (waiting for update)

SS: Added "House of the Dead (Japan)" to internal database of games to use the data cache read bypass kludge with, to fix a game crash on the gun calibration screen.
SS: Added "Virtua Fighter Kids (Java Tea Original)" and "World Series Baseball" to internal database of games to use the data cache read bypass kludge with, to fix gameplay glitches.
SS: Added kludge to fix layer offset problem in "Alien Trilogy".
SS: Added "WipEout" to internal database of games to use the data cache read bypass kludge with, to fix a hang that occurred when trying to exit gameplay back to the main menu._

Mednafen 1.22.0 (waiting for update)

SS: Added support for directly loading <= 1MiB bootable cart ROM images, with the expected file extension being "ss", for debugging and testing purposes.
SS: Added setting "ss.cart.auto_default".
SS: Added "Fighting Vipers" to the internal database of games to use the data cache read bypass kludge with, to fix the problem of the computer-controlled opponent sometimes losing the will to not be a statue.
SS: Emulated input devices' internal states were not being reset on virtual power toggle; fixed.
SS: Reorganized SCSP DSP emulation code to make the lifetime of variables clearer, for a possible x86_64 dynarec in the future.
SS: Fixed an emulation inaccuracy with the handling of the SH-2 "mac.l" instruction when saturation is enabled, per tests on a SS.

Mednafen 1.22.1 (waiting for update)

SS: Corrected line-scroll handling in double-density interlaced mode with non-zero LSS; fixes broken background graphics effect in Dural's stage in "Virtua Fighter 2".
SS: Added "Linkle Liver Story" to the internal database of games to use the data cache read bypass kludge with, to fix a crash/hang when going to the world map.

Some of the faults may already be solved, but, for example, those mentioned in House of the Dead, in the calibration screen of the gun, because in Retroarch it remains black and Mednafen works correctly.

It would be nice to update the core with the latest changes to improve the emulation.

Virtual Gun (Not Work)

Hello, I put it separately since I mentioned it in another post.

The support for pistol, which in Mednafen Standalone works, for example, in the game House of the Dead, in libretro the cursor remains in the left, moves by the left line of up-down, but nothing more.

I do not know if it's a libretro problem or a specific option, but the standalone version works well and not here.

I mention it more than anything because as you comment, you have to report the failures so that they remain proof of them.

Thank you.

MultiTap Not Working for Some Games

Hi Guys,

I'm going through and setting up all the multitap games for Saturn and the first 10 or so worked perfectlly with multitap enabled for input1 via the core options. The two games below, as the first examples I've come across, don't seem to work properly:

Madden NFL 98 (USA) - The game allows the use of more than two controllers, I've tested up to four, but it displays an error message about an incorrect controller being connected. The message can be bypassed for this game

NBA Action 98 (USA) - Displays an error message about an incorrect controller being connected. The message cannot be bypassed for this game

Could be user error, but I've tested with the multitap connected on P1, P2, and both via core options

core does not support absolute paths for m3u files (like PSX core does)

Hi, I use a front end with RocketLauncher, and RocketLauncher has this beautifully written module that automatically writes m3u files, and allows you to swap discs from the built in Pause menu. It works flawlessly with the PSX core.

However, the Saturn core crashes when you try to load an m3u with absolute paths. It is crucial for this to work, that the core allows absolute paths in the m3u files. The specific line in the "mednafen-09x.cfg" file is this:

;Enable untrusted file-inclusion path security check.
filesys.untrusted_fip_check 0

If someone could get this working, I would be very appreciative.

Disc Cycle Tray Status seemingly failing to eject virtual discs correctly

Description

Beetle Saturn core seemingly fails to eject virtual discs correctly (Disc Control > Disc Cycle Tray Status), despite RetroArch printing the messages "Ejected/Closed virtual disc tray" as expected, making it impossible to boot into Sega Saturn's system bios, or switch discs via Disc Index.

Expected behavior

Ejecting disc immediately after launching game, before Sega Saturn boot sequence has played out:
Beetle Saturn should boot into system bios. When playing a multi-disc game (.M3U playlist comprised of multiple .CUE files), Disc Index should become usable.

Actual behavior

Beetle Saturn continues to boot game. Disc Cycle Tray Status causes RetroArch to print the message "Ejected virtual disc tray" on first use, "Closed virtual disc tray" on second use, but Beetle Saturn acts as if the disc tray is closed regardless of setting.

Steps to reproduce the bug

  1. Load a Sega Saturn game. (any game should be fine, even a single-disc game)
  2. Immediately open RetroArch's quick menu.
  3. Disc Control > Press "Disc Cycle Tray Status" once. RetroArch should print the message "Ejected virtual disc tray."
  4. (optional, but related) Try to increment Disc Index. RetroArch should print the message "Failed to set disc (number out of total discs)." (eg: 1/1, or 2/4, etc)
  5. Resume (WITHOUT closing virtual disc tray), and watch as Beetle Saturn continues to boot the game, despite the virtual disc tray supposedly being left open.

Bisect Results

This is outside my abilities, but judging by these two posts, this issue has been present for at least one year.

Version/Commit

  • RetroArch: 1.6.7 / 0d06a485 (Nightly for Oct 15, 2017)
  • Medafen Saturn v0.9.45.1 (latest version available via Online Updater > Core Update as of Oct 15, 2017)

Environment information

  • OS: Windows 10 Pro (Version 1703) 64-bit

Auto Set BIOS Time Based on System Time

Stand alone automatically sets the BIOS time based on your OS' system clock, but the libretro port doesn't yet. This is particularly useful for the real time based holiday stuff in Christmas NiGHTS.

Full screen stretch

I don't know if its just me or i am missing something but the saturn core doesn't stretch in full screen. I have tryed about every option. All other cores are stretching just fine but i am left with all games under this core as pictured below. Black bars on all sides.

astal


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Core does not switch between 352 and 320 horizontal resolutions

I believe this is on purpose to avoid scaling issues looking through the code but does cause issues with CRT Switching as some screens look fine but others look crushed.

Assume the same is true for interlaced resolutions.

Verified by manually adding borders via overscan mask.

I also assume vertical resolutions are hard set as well given the option for first and last scanline being set in options? Not all games are 240 lines tall, some are 224 and in the case of pal also 256.

mednafen saturn libretro core , not work for me

I have config the bios files on the system folder
those are the bios i have
sega_101.bin
mpr-17933.bin |
mpr-18811-mx.ic1
mpr-19367-mx.ic1

The King of Fighters '95 (Saturn) (JE) [!] ROM Cartridge ( i renamed to mpr-18811-mx.ic1 ) and it detect the bios

when i load the core , i open the .cue file to load the rom and it crash

what i had did wrong ?

Texture Filtering / Scaling

A feature to use predefined filters (bilinear, bicubic, trilinear...) or to use shaders (xbr, smartblur...) for textures. Saturn textures are very pixelated, so it would be a improvement to make those textures more appealing.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Playlist

Beetle/Mednafen-saturn currently emulates "almost perfectly" more than 95% of Saturn games. Would it be possible to have the Playlist in RetroArch? And if you can the MEGA-CD, which is also emulated almost in its entirety.

◔_◔ Like a Christmas present?


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Option for all 2D Elements to remain in 1x Rez When Increasing Internal Rez

Would like the option for to increase the internal rez and a separate option for all 2D elements in saturn games to remain in their native 1x rez when increasing the internal resolution for 3D elements. This way, the majority of the scaling like shaders can continue to work correctly and performance can be improved when increasing the internal resolution. I believe the n64 core has something like this as an option.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

High input lag

The core seems to have higher input lag compared to other cores. That's from my own testing. Using the frames advance method it seems like all games have at least 5 frames of lag, as opposed to other cores that have 3 or less (GPU sync is ON and everything is tested with a CRT PC monitor).

Games like Sonic Jam (the classic Sonic games within) are literally unplayable as the delay is too much for a game of this kind. In comparison, Sonic on Genesis GX plus only has 1 frame of lag.

There is also a big difference between a real Saturn and Mednafen. This difference is smaller between other cores and the real systems they emulate.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Dark savior pal segfault

Hi, i try to launch pal version of dark savior, but retroarch segfault after "produced by or under license from sega enterprises ltd" screen. Here the gdb output I got hope it will be useful :

Thread 4 "retroarch" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff3d7a700 (LWP 5296)]
0x00007ffff4ae3810 in DrawLine(unsigned short, unsigned short, bool) ()
   from /usr/lib/libretro/mednafen_saturn_libretro.so

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

(Linux) Build failure on x86

OS: Slackware-14.2
gcc-5.3.0-i586-3

mednafen/ss/vdp2_render.cpp: Assembler messages:
mednafen/ss/vdp2_render.cpp:2330: Error: invalid instruction suffix for `bsr'
mednafen/ss/vdp2_render.cpp:2330: Error: invalid instruction suffix for `bsr'
mednafen/ss/vdp2_render.cpp:2330: Error: invalid instruction suffix for `bsr'
mednafen/ss/vdp2_render.cpp:2330: Error: invalid instruction suffix for `bsr'
mednafen/ss/vdp2_render.cpp:2330: Error: invalid instruction suffix for `bsr'
...
mednafen/ss/vdp2_render.cpp:2330: Error: invalid instruction suffix for `bsr'
mednafen/ss/vdp2_render.cpp:2330: Error: invalid instruction suffix for `bsr'
mednafen/ss/vdp2_render.cpp:2330: Error: invalid instruction suffix for `bsr'
mednafen/ss/vdp2_render.cpp:2330: Error: invalid instruction suffix for `bsr'
Makefile:374: recipe for target 'mednafen/ss/vdp2_render.o' failed
make: *** [mednafen/ss/vdp2_render.o] Error 1

Build log - http://pastebin.com/ugAyVkF5

Last update broke every games.

Hi just updated to the latest git version I can no longer launch games. Here the error I got :

RetroArch [libretro WARN] :: Unsupported CUE sheet directive: "CATALOG".
retroarch: mednafen/cdrom/CDAccess_Image.cpp:961: bool 
CDAccess_Image::ImageOpen(const string&, bool): Assertion 
`Tracks[x].index[i] >= 0' failed.

Update core to Mednafen 0.9.48

Saturn related changes in Mednafen 0.9.48:

  • Fixed SCU DSP DMA from B-bus; fixes the periodic loud popping in Grandia's FMV.

  • Added a hack/kludge to allow bypassing of data cache on reads(such that the timing benefits of partial cache emulation are preserved, without cache coherency problems that partial cache emulation sometimes leads to with poorly programmed games), and added an internal database to enable it on select games.

Fixes graphical glitches and/or hangs in "Area 51 (USA and Europe)", "Clockwork Knight 2 (USA)", "DeJig - Lassen Art Collection", "Father Christmas", "Golden Axe The Duel", "Sega Saturn Choice Cuts", "Spot Goes to Hollywood (USA and Japan)", "Street Fighter Zero", "Street Fighter Zero 3", "Super Puzzle Fighter II Turbo", and "Virtual Volleyball".

  • Full cache emulation is now enabled for "Whizz"(by using an internal database), to resolve(or at least reduce) quasi-random hanging issues during startup.

  • Corrected an inaccuracy with CDB play repeat handling; fixes hang when trying to resume a suspended game in "Tactics Ogre".

  • Initialize VDP1 clipping and local coordinate registers only on power-on, and not on reset.

  • Fixed side-effect inaccuracies in the CDB Put Sector Data, Copy Sector Data, and Move Sector Data command emulation.

  • Added partial emulation of SH-2 external bus open bus behavior; fixes messed up colors in "Discworld 2".

  • Improved CDB Initialize command emulation; fixes crash in "Tenchi Muyou! Ryououki Gokuraku" when it tries to play an opening movie during startup.

  • Made CD seek overhead calculation less completely wrong; fixes graphics corruption in intro of "Batman Forever", and fixes hang in "Jung Rhythm" when trying to retry a failed stage.

7Zip support

Loading 7zip files give Uncorrectable data at sector 0" error message works perfectly uncompressed

Fails to open a cue file if a toc file is also present

OS: Slackware64-current
RetroArch-1.3.6-x86_64-1_SBo
beetle-saturn-libretro-2016.08.13_bd4e377_master-x86_64-1_git

When using retroarch -L mednafen_saturn_libretro.so Albert_Odyssey_Legend_of_Eldean_NTSC-U_v1.1/dw-sat-0791-Albert_Odyssey_v1_100-usa.cue it will fail with the redacted below errors ending up in the bios menu.

However when using retroarch -L mednafen_saturn_libretro.so dw-sat-0791-Albert_Odyssey_v1_100-usa.cue it will work properly.

This is not consistent as retroarch -L mednafen_saturn_libretro.so Mystaria_-_The_Realms_of_Lore/Mystaria\ -\ The\ Realms\ Of\ Lore\ \(SAT\)\ \(U\).cue will work.

I am not sure what the difference is though it does not seem to be the period and changing the directory name to Albert_Odyssey does not make a difference.

Attempt to read LBA 0, >= LBA 0
CDIF Raw Read error
Attempt to read LBA 1, >= LBA 0
CDIF Raw Read error
Attempt to read LBA 2, >= LBA 0
CDIF Raw Read error
Attempt to read LBA 3, >= LBA 0
CDIF Raw Read error
Attempt to read LBA 4, >= LBA 0
CDIF Raw Read error
Attempt to read LBA 5, >= LBA 0
CDIF Raw Read error
...
Attempt to read LBA 507, >= LBA 0
CDIF Raw Read error
Attempt to read LBA 508, >= LBA 0
CDIF Raw Read error
Attempt to read LBA 509, >= LBA 0
CDIF Raw Read error
Attempt to read LBA 510, >= LBA 0
CDIF Raw Read error
Attempt to read LBA 511, >= LBA 0
CDIF Raw Read error
Attempt to read LBA 0, >= LBA 0
CDIF Raw Read error
unhandled setting B: ss.smpc.autortc
MakeSubPQ error for sector 150!Attempt to read LBA 0, >= LBA 0
Attempt to read LBA 1, >= LBA 0
Attempt to read LBA 2, >= LBA 0
Attempt to read LBA 3, >= LBA 0
Attempt to read LBA 4, >= LBA 0
Attempt to read LBA 5, >= LBA 0
Attempt to read LBA 6, >= LBA 0
Attempt to read LBA 7, >= LBA 0
...
Attempt to read LBA 1256, >= LBA 0
Attempt to read LBA 1257, >= LBA 0
Attempt to read LBA 1258, >= LBA 0
Attempt to read LBA 1259, >= LBA 0
Attempt to read LBA 1260, >= LBA 0
Attempt to read LBA 1261, >= LBA 0

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

beetle-saturn incompatibility with Dragon Master Silk (NTSC-J), works in mednafen

Overview Description:
A user in the /r/Emulation Discord server ran into an incompatibility issue with beetle-saturn that does not happen in mednafen, and I can confirm this issue myself. The game Dragon Master Silk, a Japanese only dungeon crawler RPG, will not load into the game in beetle-saturn, it will launch the CD player instead. In mednafen with the exact same dump, the game will load as expected.

This is a niche game, but this incompatability may point to a larger issue.

Steps to Reproduce:

  1. Source Dragon Master Silk. There is a bad rip out there that does not work on mednafen either, redump verified dump is required and can be provided for testing purposes. Hashes: http://redump.org/disc/42140/
  2. Load the game in beetle-saturn

Actual Results:
The CD player is loaded with 2 tracks visible, game does not start as intended.

Expected Results:
The game loads as intended beginning with a short video intro. mednafen loads this as intended.

Version:
RetroArch: 1.7.1
beetle-saturn: 0.9.48-128b29f
mednafen: 1.21.2

Additional Information:
Issue is present in both Arch Linux and Windows 10. Find attached the output of retroarch -v failing to run the game: log.txt

Writing or porting a dynarec for Mednafen/Beetle Saturn

I'm checking in as promised. The past two days I've been getting the hang of Saturn's SH-2 CPU specs, an I believe it's a great CPU to write a recompiler for. To summarize, its complexity is just below a PSX's MIPS core: there's no MMU so it can be made really fast, but there are some annoying addressing modes similar to those of 8086.

Still, I don't really care about Saturn itself, as I'm trying a novel approach with quite a bit of upfront complexity, and it'll be a miracle if I get something extremely basic and inaccurate working in six weeks or so (and I've already transcribed most of the instructions' specs in two days). Such efforts have a moderate risk of failure, too.

There's yet a shortcut: Yabause already has a mature recompiler (based on mupen64plus's to no one's surprise). While its not as accurate as Mednafen's trying to be, it can be useful to those who lack the hardware to use it. It also supports x86, x86_64 and arm32 targets.

So, what do you say? Should I make a detour and port the existing recompiler, or should I carry on and continue writing my own?

Missing redump set crcs

I noticed after making readable the Saturn database rb that you're only checking the .cue files md5sum. I applaud this development, and it's quite enough to uniquely identify sets and still allow hardpatches to function, if the set is not 'plain iso'. I wish it happened in other consoles rbs too.

However, they (redump cue files ids and crcs) aren't on the Saturn rb. The redump set of cue files (of this and other consoles) can be dowloaded from their site easily, i don't really understand why you have others and not them. The only set where i know for sure i wouldn't prefer redump is dreamcast* (or some hacks that need another set dump).

I noticed this after the scan of about 5 games of the redump Saturn set came up empty, and i checked the games in the rb.

*Using the same indirection and trust of the user to have verified sets, there i'd prefer a scan of the gdi files from TOSEC, since people say redump has strange dumps here. Not sure it works for hacks because that format has what looks like byte indexes though.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

3D-Pad Analogue Triggers

The current 3D-Pad code feeds digital values into the emulation core for the triggers. This should be analogue. Probably also need a deadzone percentage setting like the stick.

A good game to test this with is Quake.

no items showing for valid .cue ?

my files work in OpenEmu.
filtering is off in Directory Settings.

Waialae no Kiseki - Extra 36 Holes (Japan).cue

contents

FILE "Waialae no Kiseki - Extra 36 Holes (Japan) (Track 1).bin" BINARY
  TRACK 01 MODE1/2352
    INDEX 01 00:00:00
FILE "Waialae no Kiseki - Extra 36 Holes (Japan) (Track 2).bin" BINARY
  TRACK 02 AUDIO
    INDEX 00 00:00:00
    INDEX 01 00:02:00

screen shot 2018-05-24 at 11 50 21

"no items" displayed (shown) and "failed to load content" OSD message (not shown)
screen shot 2018-05-24 at 11 51 29

CHD file support for Mednafen Saturn[$30] [$120]

A few months ago, someone wrote a patch for SSF that enabled the usage of MAME's Saturn CHD files.. I wish to see similar functionality incorporated into Mednafen Saturn.

The CHD format has several advantages over the standard bin/cue. Firstly, the name "C" in "CHD" stands for "Compressed", so the overall filesize of the game is decreased. Secondly, the number of files will be reduced from two per game to just one per game.

I am aware of the relative scarcity of Saturn CHDs compared to standard bin/cues. However, tools to convert bin/cues to CHDs do exist.

While this may seem like a small issue, I have decided that it is important enough to me to justify the creation of a bounty. To this end, I am willing to pay anyone who gets Mednafen Saturn to run Saturn CHD files $30. I am also willing to consider "Follow up bounties" for the same functionality for Genesis GX Plus and Mednafen PCE Fast.

This is my first time creating a bounty, so if I did anything wrong, please bear with me while I attempt to fix it.


Did you help close this issue? Go claim the $120 bounty on Bountysource.

Virtua Gun / Stunner support

I've started work on support for the Virtua Gun lightgun #78 . However I've hit a bit of a brick wall, so I'm posted this issue with hopes that my work will at least give people an advantage in fixing this some day.

King of Fighters '95 - Missing Required File

KOF 95 for Saturn in Mednafen native requires a file called mpr-18811-mx.ic1.

Mednafen native can play the game when that file exists in the firmware directory.

Could you please add support for this file in the Mednafen Saturn core so that KOF 95 works?

No Longer Builds - "error: ‘MDFN_Sem’ does not name a type; did you mean ‘MDFNCS’?"

This no-longer seems to build. Last time I built it was a week or two ago, so it will have broken somewhere between then and now.

g++ -c -o mednafen/cdrom/CDAccess_Image.o mednafen/cdrom/CDAccess_Image.cpp -march=native -O3 -pipe -w -pthread -DHAVE_MKDIR -DWANT_THREADING -DHAVE_THREADS -DNEED_DEINTERLACER -DWANT_32BPP -DWANT_NEW_API -DFRONTEND_SUPPORTS_RGB565 -DNEED_CD -DNEED_TREMOR -DNEED_CD -O2  -fPIC  -I. -I./mednafen -I./mednafen/include -I./mednafen/intl -I./mednafen/hw_sound -I./mednafen/hw_cpu -I./mednafen/hw_misc -I./libretro-common/include -I./deps/zlib  -DSIZEOF_DOUBLE=8 -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized  -Wno-strict-aliasing -DMEDNAFEN_VERSION=\"0.9.44.1\" -DPACKAGE=\"mednafen\" -DMEDNAFEN_VERSION_NUMERIC=9441 -DPSS_STYLE=1 -DMPC_FIXED_POINT -DWANT_PSX_EMU -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -D_LOW_ACCURACY_   -D__STDC_CONSTANT_MACROS -std=c++11
mednafen/ss/vdp2_render.cpp:3169:8: error: ‘MDFN_Sem’ does not name a type; did you mean ‘MDFNCS’?
 static MDFN_Sem* WakeupSem;
        ^~~~~~~~
        MDFNCS
mednafen/ss/vdp2_render.cpp: In function ‘void RThreadEntry(void*)’:
mednafen/ss/vdp2_render.cpp:3196:28: error: ‘WakeUpSem’ was not declared in this scope
       MDFND_WaitSemTimeout(WakeUpSem, 1);
                            ^~~~~~~~~
mednafen/ss/vdp2_render.cpp:3196:7: error: ‘MDFND_WaitSemTimeout’ was not declared in this scope
       MDFND_WaitSemTimeout(WakeUpSem, 1);
       ^~~~~~~~~~~~~~~~~~~~
mednafen/ss/vdp2_render.cpp:3196:7: note: suggested alternative: ‘scond_wait_timeout’
       MDFND_WaitSemTimeout(WakeUpSem, 1);
       ^~~~~~~~~~~~~~~~~~~~
       scond_wait_timeout
mednafen/ss/vdp2_render.cpp: In function ‘void VDP2REND_Init(bool, int, int)’:
mednafen/ss/vdp2_render.cpp:3288:2: error: ‘WakeUpSem’ was not declared in this scope
  WakeUpSem = MDFND_CreateSem();
  ^~~~~~~~~
mednafen/ss/vdp2_render.cpp:3288:14: error: ‘MDFND_CreateSem’ was not declared in this scope
  WakeUpSem = MDFND_CreateSem();
              ^~~~~~~~~~~~~~~
mednafen/ss/vdp2_render.cpp: In function ‘void VDP2REND_Kill()’:
mednafen/ss/vdp2_render.cpp:3336:5: error: ‘WakeupSem’ was not declared in this scope
  if(WakeupSem != NULL)
     ^~~~~~~~~
mednafen/ss/vdp2_render.cpp:3338:3: error: ‘MDFND_DestroySem’ was not declared in this scope
   MDFND_DestroySem(WakeupSem);
   ^~~~~~~~~~~~~~~~
mednafen/ss/vdp2_render.cpp:3338:3: note: suggested alternative: ‘MDFN_FastArraySet’
   MDFND_DestroySem(WakeupSem);
   ^~~~~~~~~~~~~~~~
   MDFN_FastArraySet
mednafen/ss/vdp2_render.cpp: In function ‘void VDP2REND_DrawLine(int, uint32, bool)’:
mednafen/ss/vdp2_render.cpp:3424:24: error: ‘WakeupSem’ was not declared in this scope
          MDFND_PostSem(WakeupSem);
                        ^~~~~~~~~
mednafen/ss/vdp2_render.cpp:3424:10: error: ‘MDFND_PostSem’ was not declared in this scope
          MDFND_PostSem(WakeupSem);
          ^~~~~~~~~~~~~
mednafen/ss/vdp2_render.cpp:3424:10: note: suggested alternative: ‘MDFNSystems’
          MDFND_PostSem(WakeupSem);
          ^~~~~~~~~~~~~
          MDFNSystems
mednafen/ss/vdp2_render.cpp:3433:27: error: ‘WakeupSem’ was not declared in this scope
             MDFND_PostSem(WakeupSem);
                           ^~~~~~~~~
mednafen/ss/vdp2_render.cpp:3433:13: error: ‘MDFND_PostSem’ was not declared in this scope
             MDFND_PostSem(WakeupSem);
             ^~~~~~~~~~~~~
mednafen/ss/vdp2_render.cpp:3433:13: note: suggested alternative: ‘MDFNSystems’
             MDFND_PostSem(WakeupSem);
             ^~~~~~~~~~~~~
             MDFNSystems
make: *** [Makefile:379: mednafen/ss/vdp2_render.o] Error 1

CUE fails with additional file information

Attempting to load a game from a cue file from the command line (or from retroarch GUI) will fail with the game with the following files:
Battle Monsters v1.000 (1996)(Acclaim)(PAL)(Track 1 of 2)[!].iso
Battle Monsters v1.000 (1996)(Acclaim)(PAL)(Track 2 of 2)[!].wav
Battle Monsters v1.000 (1996)(Acclaim)(PAL)[!].cue

The cue file contents is originally as follows:
CATALOG 3455198208016
FILE "Battle Monsters v1.000 (1996)(Acclaim)(PAL)(Track 1 of 2)[!].iso" BINARY
TRACK 01 MODE1/2048
INDEX 01 00:00:00
FILE "Battle Monsters v1.000 (1996)(Acclaim)(PAL)(Track 2 of 2)[!].wav" WAVE
TRACK 02 AUDIO
PREGAP 00:02:00
INDEX 01 00:00:00

Fails to load for the following reason:
RetroArch [libretro WARN] :: Unsupported CUE sheet directive: "CATALOG".
libc++abi.dylib: terminating with uncaught exception of type int

Try 2, change the cue file to:
FILE "Battle Monsters v1.000 (1996)(Acclaim)(PAL)(Track 1 of 2)[!].iso" BINARY
TRACK 01 MODE1/2048
INDEX 01 00:00:00
FILE "Battle Monsters v1.000 (1996)(Acclaim)(PAL)(Track 2 of 2)[!].wav" WAVE
TRACK 02 AUDIO
PREGAP 00:02:00
INDEX 01 00:00:00

Fails to load for the following reason:
libc++abi.dylib: terminating with uncaught exception of type int
Abort trap: 6

Try 3, changed the cue file to:
FILE "Battle Monsters v1.000 (1996)(Acclaim)(PAL)(Track 1 of 2)[!].iso" BINARY
TRACK 01 MODE1/2048
INDEX 01 00:00:00

And that worked.
Suggest allowing for the additional information in the cue file or ignoring it if necessary.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

CHD breaks 'NiGHTS Into Dreams' (specifically)

I compressed all my games into CHD format using:
"chdman - MAME Compressed Hunks of Data (CHD) manager 0.148 (Feb 4 2013)"

This included a bin/cue version of 'NiGHTS Into Dreams' (US). In CHD format the game soft-locks with a black screen straight after the usual published/licensed to SEGA screen, before the Sonic Team intro video.

I've (so far) encountered no other problems with any other games compressed using this tool.
NOTE: If I use the 'extractcd' command to turn the CHD back into a CUE/BIN, it works again. So presumably there's a problem with the decompression of CHD data?

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.