Giter Site home page Giter Site logo

genesis-plus-gx's People

Contributors

albertofustinoni avatar aliaspider avatar aroxdale avatar bkoropoff avatar bleakassassin avatar carmiker avatar catalystg avatar claudiuslollarius avatar clownacy avatar ds22x avatar ekeeke avatar ficoos avatar frangarcj avatar gregorr avatar hizzlekizzle avatar hunterk avatar ilag11111 avatar inactive123 avatar lab313ru avatar lodanzark avatar lordashram avatar nukeykt avatar rtissera avatar sanaki avatar sergiobenrocha2 avatar themaister avatar toadking avatar tokumeiwokiboushimasu avatar vanfanel avatar wintermute 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  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  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

genesis-plus-gx's Issues

Update / git pull

Hi there ekeeke,

could you please sync this repo to the Google Code repo so that I can make my changes to include libretro support and then submit a git pull request back to you?

Thanks in advance.

Snapshots

the program does not show snapshots of the image set no-intro (Excuse me for my bad English
3 ninjas kick back usa
sonic the hedgehog usa europe

)

32X Support?

Enhancement request for 32x support. Is this a possibility or totally out of the question?

error: 'm68ki_cpu_core' has no member named 'cpu_stopped'

Commit e9e56c5 broke libretro build:

cc -o core/mem68k.o -c core/mem68k.c -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O3 -DNDEBUG -fPIC -DUSE_LIBTREMOR   -I./core -I./core/z80 -I./core/m68k -I./core/ntsc -I./core/sound -I./core/input_hw -I./core/cd_hw -I./core/cart_hw -I./core/cart_hw/svp -I./libretro -DUSE_16BPP_RENDERING -DFRONTEND_SUPPORTS_RGB565 -DLSB_FIRST -DBYTE_ORDER=LITTLE_ENDIAN -DHAVE_ZLIB -D__LIBRETRO__ -DINLINE="static inline"
core/mem68k.c: In function 'ctrl_io_write_byte':
core/mem68k.c:649:39: error: 'm68ki_cpu_core' has no member named 'cpu_stopped'
             unsigned int status = s68k.cpu_stopped;
                                       ^
core/mem68k.c:680:21: error: 'm68ki_cpu_core' has no member named 'cpu_stopped'
             if (s68k.cpu_stopped != status)
                     ^
core/mem68k.c:685:23: error: 'm68ki_cpu_core' has no member named 'cpu_stopped'
               if (s68k.cpu_stopped & STOP_LEVEL_HALT)
                       ^
core/mem68k.c:685:38: error: 'STOP_LEVEL_HALT' undeclared (first use in this function)
               if (s68k.cpu_stopped & STOP_LEVEL_HALT)
                                      ^
core/mem68k.c:685:38: note: each undeclared identifier is reported only once for each function it appears in
core/mem68k.c:700:95: error: 'm68k_unused_w_8' undeclared (first use in this function)
                 m68k.memory_map[base + 0x02].write8  = m68k.memory_map[base + 0x03].write8  = m68k_unused_w_8;
                                                                                               ^
core/mem68k.c:701:95: error: 'm68k_unused_w_16' undeclared (first use in this function)
                 m68k.memory_map[base + 0x02].write16 = m68k.memory_map[base + 0x03].write16 = m68k_unused_w_16;
                                                                                               ^
core/mem68k.c: In function 'ctrl_io_write_word':
core/mem68k.c:875:39: error: 'm68ki_cpu_core' has no member named 'cpu_stopped'
             unsigned int status = s68k.cpu_stopped;
                                       ^
core/mem68k.c:906:21: error: 'm68ki_cpu_core' has no member named 'cpu_stopped'
             if (s68k.cpu_stopped != status)
                     ^
core/mem68k.c:911:23: error: 'm68ki_cpu_core' has no member named 'cpu_stopped'
               if (s68k.cpu_stopped & STOP_LEVEL_HALT)
                       ^
core/mem68k.c:911:38: error: 'STOP_LEVEL_HALT' undeclared (first use in this function)
               if (s68k.cpu_stopped & STOP_LEVEL_HALT)
                                      ^
core/mem68k.c:926:95: error: 'm68k_unused_w_8' undeclared (first use in this function)
                 m68k.memory_map[base + 0x02].write8  = m68k.memory_map[base + 0x03].write8  = m68k_unused_w_8;
                                                                                               ^
core/mem68k.c:927:95: error: 'm68k_unused_w_16' undeclared (first use in this function)
                 m68k.memory_map[base + 0x02].write16 = m68k.memory_map[base + 0x03].write16 = m68k_unused_w_16;
                                                                                               ^
make[2]: *** [core/mem68k.o] Error 1

https://launchpadlibrarian.net/196152547/buildlog_ubuntu-trusty-amd64.libretro-genesisplusgx_1.7.4%2Br672~8~ubuntu14.04.1_FAILEDTOBUILD.txt.gz

(libretro) Enhanced CD audio support

Is this implemented somehow? I was trying some roms+iso files I found (I had never played Pier Solar on genesis!) and got curious about this.

Is it possible to load a cue+bin image of the enhanced soundtrack and get it detected?

OGG file will not play.

I was hoping for my OGG file to run. It basically is the main theme of the Sega Channel, because my games were actually on SC. But when I put the OGG file into my SD card, it won't play when I open up Genesis Plus GX. I've tried renaming the file to BG_music.ogg but that didn't work either. Whats the issue here? The file is only 2,124 KB.

Dungeon Explorer distorted sprite issues

When running Dungeon Explorer for Sega CD the sprites for monsters are garbled or missing. Any settings that I need to change to fix this or is it a known issue?
I've gotten this with Windows and Android versions using Retroarch as the frontend.

I know its not the cue/bin as it runs fine with windows fusion 3.64

Classic Controller

I got an off brand classic controller and it works fine in everything else except this emulator. I don't know what the problem is but in the menu it automatically presses buttons and in game it moves the left control stick to the bottom left.

Sound crackles/pops in Genesis Plus GX 1.7.0 (libretro)

Hi there,

the libretro port is more or less done - I was about ready to git pull request it, but one single thing is still bugging me.

It seems that starting with this version, there is now an annoying audio pop every 15-30 seconds or so. I can reproduce this with a game like Sonic The Hedgehog (W (REV01) or some other Sonic game - but really, every game is affected by this same glitch - including Sega CD games.

I can't see how my port code could be to blame - the audio settings changed the same in the GX port and they correspond with the libretro port - I see that the audio code has changed here and there (blip buffer for instance), so perhaps something got affected that hasn't made itself known yet to any other platform than the Wii.

If you need help with compiling the libretro port and testing it on PC to reproduce this issue, just ask and I could help.

BTW- this issue seems to affect every platform- from PC to PS3 and so on.

(libretro) Only create srm files when needed

Hello,
first off, thank you very much for writing this fantastic piece of software. It has quickly become my favorite Master System/Mega Drive emulator of choice!
I've been using the libretro implementation (Win64) and noticed Genesis-Plus-GX always writes a ".srm" file for every game, even for those which do not contain any sort of save function.
Personally, I think it would be better if it only creates save files when they have been modified in any way.
This would prevent cluttering up the folders with empty save files.
Please consider looking into it, assuming it wouldn't break anything.

[libretro] Cannot use Mouse as Paddle Control on SMS/Mark 3 games

I doubt I am missing something but for the life of me when I enable paddle control I cannot get this working with a mouse - testing on latest nightly Windows x64 build of Retroarch and core via buildbot. I haven't tried Sports Paddle games so I can't confirm or deny.

Documentation?

I was very excited to find this, and it seems there's been a lot of work here. However, where is the documentation for how to run it? I was able to build it on my OS X machine by running make -f Makefile.libretro; however, I have no idea what to do next. I'm looking for something which can run sega genesis roms, which I believe this can, right? Has there been any documentation written for how to run this?

32X Support

Could 32X support be added? This would fully complete the emulator.

Edit:
Sorry have not read the closed issues. Another request was already closed.
So this can be closed as well.
Btw could picodrive or gens be used as reference, for 32X emulation?

M3U Support

Hi,

Would it be possible to add m3u support to this core, similar to PlayStation, for multidisc games?

Thanks so much!

Question: cheat support on little endian systems

@ekeeke -

I was looking over your cheats implementation in the GX port and it looks straight forward enough. Was going to convert it over to a PC port but I think I've run into an endian problem. Correct me if I'm wrong but should this line in RAMCheatUpdate() https://github.com/ekeeke/Genesis-Plus-GX/blob/master/gx/gui/cheats.c#L1436
be switched from:
if (cheatlist[index].data & 0xFF00)
to
if (cheatlist[index].data & 0x00FF)
or is that wrong and am I missing what all needs to change?

Also I don't see ROMCheatUpdate() being called anywhere which would probably break ROM patch PAR cheats?

Support for Genesis ROM > 10MB

I was forwarded here from Bizhawk repo, so I'll just paste what I said there; "So, I noticed while testing with Bizhawk, that you can not load ROM image > 10MB. While this is much better than most emulators (cough only supports 6MB cough), this is still incorrect when SSFII mapper is in use. In fact, while using it, up to 32MB ROM's should work just fine, as it is the hard limit of said mapper, according to HW information we have, and this document http://emu-docs.org/Genesis/ssf2.txt
I would like the emulator to have support for ROMs > 10MB in size. It would likely to be logical to load first 4 or 8 MB to ROM section, and then rely on the source program to map different portions of the ROM to different banks.
One other issue in Bizhawk is that it expects the SSFII header to enable swapping, else it would not work (at least according to my tests) which should really not be the case. Also have a ROM which is 32MB and will print each bank after another. http://aurorafields.com/dl/32mb.zip

Unresponsive controls in DEcap attack and japan version.

Currently testing all files updated to source as of today. 10/27/15. Decap attack and the japanese version Magical Hat no Buttobi Tabo! Daibōken. C and start are mapped together and game has unresponsive controls. All other games are working fine, but this one is off I am getting C + Start mapped together and cannot jump at all.

Edit: Magical hat seems to be ok now, but DEcap attack is still off. Reverting back to a previous gamepad.c and h seems to fix the issue? Is this bug, regression?

Broken save state compatibility

In this commit r927/ec554b4, compatibility broke with previous save states. Is it possible to have a conversion routine that would allow loading of save states before that commit? My implementation is based on r878 - I was going to ship an update with the latest here from upstream but I cannot do that if save states are broken for all users.

Commit "[Core/CD] added CD-AUDIO & CD+G support" issue

When testing this commit I noticed a buzzing noise in the intro fmv on Mortal Kombat (USA) (SCD). It went away when I reverted to the previous version of core/cd_hw/cdd.c. Unfortunately given the size of the changes in this file I have not been able to figure out why this is happening yet.

I have no other SCD roms to test. MD and SMS roms sound fine as you would expect.

I'm testing on my most recent GCW0 console build so it may be an issue on my side.

Sega/Mega CD issue with OGG audo playback

I have occasional issues with OGG audio playable of CD Tracks. Sometimes CD tracks are passed as Waves, making you hear a bizzare racket on some tracks and sometimes not others. This is most often seen with Mortal Kombat CD Also often Audio tracks only play once instead of looping when the track is finished. This is seen in Sonic CD

USB joypad

Will be possible use a USB joypad, as you can with nintendont?

(libretro) Burning Fists gamepad type autodetection fails

This might be nitpicking, but It's something I've noticed when testing out my game collection in RetroArch:

When the "gamepad type" has been set to "auto" in the core options it won't recognize Burning Fists as a 6-button game and only emulates a 3-button controller.

Switching to "6-buttons" manually works of course.

[libretro] SRAM incompatibility on Little Endian platforms

While digging the PC port, I figured the current libretro port was incorrectly saving Static RAM files when LSB_FIRST is defined (i.e on Little Endian platforms, such as XBOX or PC), making them incompatible with Big Endian platforms saves or saves from other emulators.

Indeed:

  1. most (all ?) emulators are saving SRAM data as 16-bit words to keep the best compatibility with all games (most games access SRAM as byte but a few of them do as words) without having to rely on a huge / incomplete game database to know each backup memory access type.

  2. by default (convention ?) SRAM data words have always been saved in MD native word format i.e big endian

  3. Genesis Plus GX internally use host system endianness to read/write words so internal sram.sram buffer is stored as little endian words on little endian platforms.

  4. It is the role of the frontend to properly write/read SRAM file to/from host device

The proper way to do it on Little Endian platforms is therefore to byteswap sram buffer before writing it to a file and after reading it from the file .

However, by reading the current libretro.c implementation, it seems that the implemented slot_load and slot_save functions (copypasted from my GX port ?) are never called . So how does Retroarch manage SRAM file ? By design, it should be done automatically when a game is loaded/unloaded (there seems to be an option in RGUI for that) but I couldn't figure whenit is done. Actually, it seems only Mega CD backup RAM is loaded/saved through libretro.c.

(libretro) android crashes

There have been problems on Android since RA 1.0.0.1. SMS and GG games cause RetroArch to crash.

I tried some games after repeated reports of this problem, Game Gear Sonic 1 would start but it crashes when moving in any direction. Sonic 2 crashes right away. I mentioned it to Squarepusher.

Opening this so this doesn't get lost

http://hastebin.com/cecasadone.coffee

type of gzopen

Hi, compiling sdl version fails in sdl/fileio.c.
The return type of gzopen() should be gzFile, not gzFile*.
Changing line 124 from
gzFile *gd = gzopen(filename, "rb");
to
gzFile gd = gzopen(filename, "rb");
seems OK.
Cheers.

Sprite/tile Viewer?

Wondering if it is possible to have some kind of Sprite Viewer like MAME emulator does.
When the game is running pressing F4 key will show the palette, tiles/sprites viewer and other thing...

Savestate issues with Mega CD?

I've lost 2 states, both times when running a Mega CD game.
The savestate creation worked fine but on loading the music instantly froze.
In one game I can still control the character but the sound system is busted so the game dies soon after.
The other game plays one stuck note and the screen is frozen as well.

Using Retroarch and Genesis-Plus-GX core built around October 20th, 2014 on Windows 7 x64.

Musashi incorrectly implements bra.l and bsr.l on 68000

While looking through the Musashi code, I noticed that it incorrectly generates opcodes for bra.l and bsr.l when targetting 68000. These instructions were introduced on 68020, and are invalid on 68000. They should act like bra.s $1, which ends up getting trapped as an Address Error.

To fix this, in m68ki_instruction_jump_table.h, change the following:

  • m68k_op_bra_32 -> m68k_op_bra_8
  • m68k_op_bsr_32 -> m68k_op_bsr_8
  • m68k_op_bhi_32 -> m68k_op_bhi_8
  • m68k_op_bls_32 -> m68k_op_bls_8
  • m68k_op_bcc_32 -> m68k_op_bcc_8
  • m68k_op_bcs_32 -> m68k_op_bcs_8
  • m68k_op_bne_32 -> m68k_op_bne_8
  • m68k_op_beq_32 -> m68k_op_beq_8
  • m68k_op_bvc_32 -> m68k_op_bvc_8
  • m68k_op_bvs_32 -> m68k_op_bvs_8
  • m68k_op_bpl_32 -> m68k_op_bpl_8
  • m68k_op_bmi_32 -> m68k_op_bmi_8
  • m68k_op_bge_32 -> m68k_op_bge_8
  • m68k_op_blt_32 -> m68k_op_blt_8
  • m68k_op_bgt_32 -> m68k_op_bgt_8
  • m68k_op_ble_32 -> m68k_op_ble_8

(libretro) the output resolution is 256x192 instead of 320x240

Hi. I've recently encountered a weird bug, which makes the video resolution 256x192. It looks weird compared to the correct output of Picodrive. Here are the screenshots of both cores running the Sega CD BIOS:
Picodrive:
retroarch-0201-150537

Genesis Plus GX:
retroarch-0201-150448

No RetroArch configuration was changed between these two tests.

Alignment isses m68k on Xbox 360

This seems to have occurred after changing 'INLINE' to 'static _inline' - the following warnings are now generated at link time -

[quote]
1>LINK : warning C4742: 'm68k' has different alignment in 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c' and 'C:\local-repos\Genesis-Plus-GX\source\genesis.c': 16 and 4
1>LINK : warning C4744: 'm68k' has different type in 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c' and 'C:\local-repos\Genesis-Plus-GX\source\genesis.c': '__declspec(align(16)) struct (6656 bytes)' and 'struct (5288 bytes)'
1>LINK : warning C4742: 'm68k' has different alignment in 'C:\local-repos\Genesis-Plus-GX\source\cd_hw\scd.c' and 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c': 4 and 16
1>LINK : warning C4744: 'm68k' has different type in 'C:\local-repos\Genesis-Plus-GX\source\cd_hw\scd.c' and 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c': 'struct (5288 bytes)' and '__declspec(align(16)) struct (6656 bytes)'
1>LINK : warning C4742: 'm68k' has different alignment in 'C:\local-repos\Genesis-Plus-GX\source\cart_hw\md_cart.c' and 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c': 4 and 16
1>LINK : warning C4744: 'm68k' has different type in 'C:\local-repos\Genesis-Plus-GX\source\cart_hw\md_cart.c' and 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c': 'struct (5288 bytes)' and '__declspec(align(16)) struct (6656 bytes)'
1>LINK : warning C4742: 'm68k' has different alignment in 'C:\local-repos\Genesis-Plus-GX\source\memz80.c' and 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c': 4 and 16
1>LINK : warning C4744: 'm68k' has different type in 'C:\local-repos\Genesis-Plus-GX\source\memz80.c' and 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c': 'struct (5288 bytes)' and '__declspec(align(16)) struct (6656 bytes)'
1>LINK : warning C4742: 'm68k' has different alignment in 'C:\local-repos\Genesis-Plus-GX\source\cart_hw\areplay.c' and 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c': 4 and 16
1>LINK : warning C4744: 'm68k' has different type in 'C:\local-repos\Genesis-Plus-GX\source\cart_hw\areplay.c' and 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c': 'struct (5288 bytes)' and '__declspec(align(16)) struct (6656 bytes)'
1>LINK : warning C4742: 'm68k' has different alignment in 'C:\local-repos\Genesis-Plus-GX\source\cart_hw\ggenie.c' and 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c': 4 and 16
1>LINK : warning C4744: 'm68k' has different type in 'C:\local-repos\Genesis-Plus-GX\source\cart_hw\ggenie.c' and 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c': 'struct (5288 bytes)' and '__declspec(align(16)) struct (6656 bytes)'
1>LINK : warning C4742: 'm68k' has different alignment in 'C:\local-repos\Genesis-Plus-GX\source\cd_hw\cd_cart.c' and 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c': 4 and 16
1>LINK : warning C4744: 'm68k' has different type in 'C:\local-repos\Genesis-Plus-GX\source\cd_hw\cd_cart.c' and 'C:\local-repos\Genesis-Plus-GX\source\m68k\m68kcpu.c': 'struct (5288 bytes)' and '__declspec(align(16)) struct (6656 bytes)'
1> Generating code
[/quote]

G-Loc Game Gear is broken

Tried it in 1.74 via Retroarch/Libretro, and it crashes after you complete a mission and are at the menu screen to buy weapons and fuel.

I tried downloading the latest .dll for the libretro version on the site here and it doesn't work with my retroarch install - am I doing something wrong? I select it and it won't open.

EDIT: Retroarch for x64-86 Windows.

Sound emulation issues

Echoing, rumbling sounds are emulated as a high-pitched noise. Can be heard in some explosions in various games. Most noticable in the game Dune: The Battle for Arrakis. Atreides' Sonic Tanks are supposed to shoot with a sound that resembles the sound of boiling, whereas the emulator produces a whistling sound.

(libretro) master system BOOTROM

Hi

This is more a question than an issue. Is it possible to display the SMS boot sequence? if so can you point me to the right direction? I want to add that as a core option for the libretro implementation

(libretro) Segfault loading Game Gear games

I'm getting segfaults when I load Game Gear games (the rest of the supported systems appear fine)

If I enable the "Game Gear extended screen" option it runs fine, but the image looks horrible (http://i.imgur.com/QBkHrTd.png)

It also segfaults after disabling it.

Edit: Actually, I can get it to work if I play with some of the core options in RGUI, I'm not too sure what exact combos work, and which don't, turning off the blargg filter fixed the image, but I was still able to segfault it with it off ...

Some combinations work for some games and segfault with others as well..

(libretro) PSG volume Core Option

I can't find any option within Retroarch to individually modify the volume of the PSG when playing Megadrive games. It seems to me that the PSG is much louder on Super Street Fighter II than it is on my Model 1 MD.

Is there any way to change this? Otherwise it might be a good idea to introduce individual volume for the PSG as a Core Option.

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.