Mega-CD support

Create issue
Issue #29 resolved
Former user created an issue

Original issue 29 created by Yod4zMail on 2009-05-29T07:10:53.000Z:

It would be cool to have mega CD suppot to play game like Dune, Road
Avenger... Maybe look at the code used by Notaz for his emulator Picodrive

http://notaz.gp2x.de/

Thanks for your hard work on this emulator ;)

Comments (127)

  1. Former user Account Deleted
    • changed status to new

    Comment # 1 originally posted by ekeeke31 on 2009-05-29T09:00:38.000Z:

    I know about Picodrive, it uses Gens assembly code rewritten to C and could indeed be implemented in Genesis Plus (still require lot of work though, don't think it's easy to add segaCD support, it's far more than a "simple" extension).

    However, I'm more interested in writing my own original core from scratch (one day... maybe)

    I leave this "issue" as an enhancement request here since it seems to pop-up periodically but if it ever happen, it won't happen until a while (at least from me).

  2. Former user Account Deleted

    Comment # 2 originally posted by Yod4zMail on 2009-05-30T09:51:56.000Z:

    I don't expected it soon, I would see more the new interface version with the very good genesis compatibility ;)

  3. Former user Account Deleted

    Comment # 3 originally posted by timwebb on 2009-06-14T13:22:02.000Z:

    I'd just like to add how much I'd love to see this too. When the Sega CD came out the Genesis really hit its stride with a lot of amazing games I'd love to be able to play again on my Wii. I still have my original Dune and Ground Zero Texas CDs!

  4. Former user Account Deleted

    Comment # 4 originally posted by ekeeke31 on 2009-06-15T06:52:33.000Z:

    ok, I think I got it guys, no need to flood this, remember this is not a discussion forum ;-)

  5. Former user Account Deleted

    Comment # 5 originally posted by ekeeke31 on 2009-07-14T20:28:54.000Z:

    issue \#34 has been merged into this issue.

  6. Former user Account Deleted

    Comment # 6 originally posted by bNoc0420 on 2009-07-14T20:45:46.000Z:

    ekeeke, could you possibly let me know if you ever do get this worked on? i usually check up on things, but im sure just as you are, i am also very busy @ times and may not be up to speed when you do this (if you do). thanks.

  7. Former user Account Deleted

    Comment # 7 originally posted by ekeeke31 on 2009-09-15T14:29:38.000Z:

    issue \#21 has been merged into this issue.

  8. Former user Account Deleted

    Comment # 9 originally posted by hellohole100 on 2010-02-25T22:12:10.000Z:

    I know this is not a discussion forum, and that this is irrelevant to the subject, and that this might be a waste of time, but it had to be said, and I don't know where else I can do it.

    You (eke-eke) are a cool guy! So nice, so pleasant. I've been reading around here, and you just made my day! I feel so comfortable and happy now. Thanks for being awesome!

  9. Former user Account Deleted

    Comment # 10 originally posted by joelwhybrow on 2010-04-15T06:10:02.000Z:

    Agreed :)

  10. Former user Account Deleted

    Comment # 13 originally posted by marksavedra on 2011-09-26T23:26:53.000Z:

    Yo man Cmon I know you guys are badass all you got to do is what you do to make the sega cd games to work I know it can be done what you say?please

  11. Former user Account Deleted

    Comment # 14 originally posted by ferran_r1@hotmail.com on 2011-09-27T03:28:26.000Z:

    Yo man Cmon I know you guys are badass all you got to do is what you do to make the >sega cd games to work I know it can be done what you say?please

    If you donate 1000 € to ekeeke to pay the typing monkeys I am sure that will add MEGA CD for tomorrow I think the monkeys are hungry now (just joking) ;))))) I think this needs time and a lot optimization with WII procesor. I love to play Dune with Genplus gx If you have developing knowledge you can try to add MESS/MAME code to Gensplus gx this can be doable I think.

  12. Former user Account Deleted

    Comment # 17 originally posted by ferran_r1@hotmail.com on 2012-01-20T11:33:39.000Z:

    Mega CD status changed to medium, something is cooking at Ekeeke's kitchen and smells very well ;) I am ansious to taste this cake.Thank yo for your time and job =)

  13. Former user Account Deleted

    Comment # 18 originally posted by kingofchaos6669 on 2012-01-21T16:35:47.000Z:

    Well, Mega/Sega CD is potentially possible on the Wii's hardware. 32X on the other hand, may not be.

  14. Former user Account Deleted

    Comment # 19 originally posted by cheatfreak47 on 2012-02-03T20:29:26.000Z:

    nick to see this is still bieng worked on. im hoping to play some puggsy CD and original sonic cd sometime in the future.

  15. Former user Account Deleted

    Comment # 20 originally posted by curseoftheblood on 2012-03-22T04:43:23.000Z:

    been waiting for this for years! i got my sega cd, but if the wii could emulate it, it would be one step close to the perfect console xD

    BTW thank for the hard work i really apreciate it

  16. Former user Account Deleted

    Comment # 21 originally posted by ekeeke31 on 2012-04-09T15:35:33.000Z:

    I think I will be using this entry to keep some traces of my progress.

    I got some time to work on it today and basically have the SUB-CPU integrated in genesis plus core and running, as well as basic memory mapping for both sides and CD registers on MAIN-CPU side.

    Here is a picture of the Sega CD BIOS running. Not much for a beginning, it's still missing a lot (registers on SUB-CPU side need to be completed, GFX rotation/scaling & PCM emulation is done but need to be integrated, no CDD/CDC emulation yet, etc) but this is a start ;-)

  17. Former user Account Deleted

    Comment # 23 originally posted by cheatfreak47 on 2012-04-10T07:51:21.000Z:

    PROGRESS! yay. i want this soo bad! Sega CD was fun. I really wanna emulate Sonic CD and Puggsy CD on my wii.

  18. Former user Account Deleted

    Comment # 24 originally posted by pantasdamianos on 2012-04-11T12:41:24.000Z:

    Mega-CD support is a feature I was hoping for years. I am utterly impressed and touched that this time has finally came.Congratulations eke-eke and I wish you the best!Thank you so much!!!

  19. Former user Account Deleted

    Comment # 25 originally posted by ekeeke31 on 2012-04-11T23:11:07.000Z:

    A little bit more of progress:

    - CD registers are now properly emulated on both sides, including Work-RAM switching and interrupts (level4, level 2 and level 1), which make the BIOS going a little bit further

    - GFX chip is emulated and rotation/scaling running but my code obviously needs some rework as the sega logo effects are not displayed at all and BIOS menu is corrupted if you try to enter it.

  20. Former user Account Deleted

    Comment # 26 originally posted by ekeeke31 on 2012-04-11T23:19:32.000Z:

    Also note the sensitive speed penalty (25%) that results of GFX chip emulation running in backbround. And that's without PCM chip being running for now, no CDC transfers and no CD-DA track playback.

    For reference, Virtua Racing (which is reaching the limit of what can be emulated fullspeed on Wii) is running at 220fps on this setup so there is still some room (even if performances on PC vs Wii can not be directly compared/scaled).

  21. Former user Account Deleted

    Comment # 27 originally posted by ferran_r1@hotmail.com on 2012-04-12T09:50:38.000Z:

    Thank you :)

    One question : Will it be compatible with iso + wav dumps ?

    When it will be released the first game that I'll try is Dune and the second Sim Earth, I never played it on Mega CD....

  22. Former user Account Deleted

    Comment # 28 originally posted by ekeeke31 on 2012-04-12T18:54:58.000Z:

    ISO & CUE/BIN support are coming next but it requires emulation of CDD/CDC first. wav files are probably going to be supported as I assume it would be faster to use PCM format for audio rather than having to decode OGG or MP3 files. Having audio tracks already converted to Wii audio format (16bit stereo @ 48khz) should also help.

    Anyway, great progress today: I fixed a few bugs in my graphics chip implementation and I got rotation/scaling effects working now ! Timings probably need some adjustments to match the speed of actual console but it looks good.

    I also fixed a nasty bug with memory masking, which was the cause of garbled graphics in BIOS menu. This is now also fixed.

    Next step would be integrating my PCM core and listen how it sounds (not much to show) then moving on into serious stuff with CDD/CDC emulation and trying to play with a CD image.

  23. Former user Account Deleted

    Comment # 29 originally posted by mrdeathjr28 on 2012-04-13T03:54:02.000Z:

    very thanks for your work, your progress are impressive

  24. Former user Account Deleted

    Comment # 30 originally posted by cheatfreak47 on 2012-04-13T06:38:38.000Z:

    looks as though progress is blowing up! Thanks ekeeke!

  25. Former user Account Deleted

    Comment # 31 originally posted by ferran_r1@hotmail.com on 2012-04-13T09:47:47.000Z:

    Tnank you, your progress is impressive & fast...

    about ogg and mp3 and wav i think wav it's the best option, it takes more space but more quality and TOSEC it's iso+wav (TOSEC has more titles than other SEGACD collections). I think that SEGACD music tracks are 16bit stereo @ 44.1 khz I hope this will not be a problem for wii.

    I am a wav fan I always prefer it than mp3 or ogg.On players, pdas Wav files take more space but exetends the battery live.

  26. Kerin Millar

    Comment # 32 originally posted by kerframil on 2012-04-13T11:33:13.000Z:

    Re Comment 31 - I agree that supporting WAV would be good but if you're suggesting that it should be exclusively supported then I don't think that makes any sense. For lossless audio support, FLAC would be \*far\* more practical. Also, the effect of lossy formats upon the battery life of portable players has no bearing on a Wii-based emulator (not to mention that portable players usually decode formats such as AAC with a low power draw due to hardware acceleration).

    I think Ogg Vorbis is a good choice as a lossy format. The results with the aoTuV patched encoder are outstanding, easily on a par with the best AAC encoders. I use it for my PC Engine CD rips in wii-mednafen.

  27. Former user Account Deleted

    Comment # 34 originally posted by ekeeke31 on 2012-04-13T12:40:24.000Z:

    That's the resampler i already use for FM chip, it was actually written by Shai Green, author of NTSC filters. I actually think it will be way more optimized to manually resample tracks to wii output samplerate (48hz). Indeed, it's not as if CD hardware was needing cycle-accurate audio, it does not modify the tracks, it's basically just a bunch of command that do PLAY, STOP or SEEK, in regard to time unit, not cycles or stream byte position like data tracks. As long as the audio track length is the same, it will play the same.

    But please don't derail this into a discussion about audio format, there are already many places on internet for you to discuss that. I already know about all these stuff and there is still a lot to do before arguing what is the best, etc...

    Also, to be clear, my goal is not to support all existing or possibly best lossless audio format, it's to find the most optimized way to play audio tracks on Wii. It will be a compromise between decompression processing time and slow access time bound to external device if the track cannot fit in wii memory. If it appears that the fastest is to have every tracks to be converted (by user, by emulator on startup or by an external app) in wii native format then so be it...

  28. Kerin Millar

    Comment # 35 originally posted by kerframil on 2012-04-13T18:15:14.000Z:

    Sorry, you're right. At this early stage, it's of scant concern at best and a distration at worst. I hope it all works out.

  29. Former user Account Deleted

    Comment # 36 originally posted by ekeeke31 on 2012-04-15T18:19:28.000Z:

    Some more progress, still on getting BIOS running correctly. I added proper Timer interrupt, implemented better interrupt handling in general and fixed timings, required to get European & Japanese BIOS working fine.

    I also got PCM chip running at original frequency & resampled to 48Hz using Blip Buffer, which is nice.

    Finally, I quickly added support for backup RAM cartridge (up to 512K) and emulated CDC registers. Next step now that BIOS are working fine will be completing CDC emulation with decoding interrupts and data transfer from CD images, as well as CDD emulation to handle all CD commands properly.

  30. Former user Account Deleted

    Comment # 37 originally posted by mrdeathjr28 on 2012-04-15T22:49:45.000Z:

    your work appears big footsteps this days, many thanks for your work

  31. Former user Account Deleted

    Comment # 38 originally posted by ekeeke31 on 2012-05-01T21:07:24.000Z:

    Not sure how much time this project will remain available here but I wanted to post some of the progress I recently made last weeks: after a lot of bug fixing and trace analyzing, I finally completed CDC and CDD emulation up to the point where CD image loading and data transfer are working fine ! Without any CD-DA track support for now off course...

    There are obviously still some bugs in my code as there are still some graphical glitches and the two games I tried (Sonic CD and Shining FOrce) hangs on a black screen when starting a new game, but it's probably some stupid error that will soon be fixed.

  32. Former user Account Deleted

    Comment # 39 originally posted by mrdeathjr28 on 2012-05-02T01:57:42.000Z:

    Thnaks for your work, next version is a big deal

  33. Former user Account Deleted

    Comment # 40 originally posted by ferran_rg@hotmail.com on 2012-05-03T09:04:35.000Z:

    Thank you :) the progress is very fast.... I hope you solve the problems with google code, I've read about them on other forum.I agree with you and your wishes. Googlecode's administrators are a bit squareheads but they enabled the project again.....

  34. Former user Account Deleted

    Comment # 41 originally posted by ekeeke31 on 2012-05-03T21:46:16.000Z:

    I fixed another stupid bug with CD buffer writes. Interestingly, it seems that Gens/Picodrive are cheating with the CD buffer size by increasing it to 64k when it's only 16k in reality, so buffer overrun never occurs. On real hardware, once the limit is reached, data coming from CD drive is written to the beginning of the buffer.

    Anyway, I think I reached the point where games are running fine and everything important is emulated. Graphics remaining bug are now fixed and games do not hangs anymore, which is good :-)

    I thought I should list here all the things that needed to be emulated as many people think that Mega CD is, well, just a CD. This might be interesting to a few people.

    SUB-CPU: an additional 68000 CPU, similar to the one used in Mega Drive hardware but running slightly faster, at 12.5 Mhz

    Backup RAM: 8k of battery RAM used to store game data, accessible only from SUB-CPU

    Cartridge RAM: up to 512K of battery RAM used to store game data, accessible only from cartridge port by MAIN-CPU

    Work RAM: 512K Prg-RAM which is used to hold SUB-CPU side program and data. Mega Drive MAIN CPU can access this RAM using banks-witching, for example, in order to copy SUB-CPU program & data on startup. There is also 2 banks of 128K Word-RAM which can either be split to each CPU side or assigned entirely (256K total) to one CPU or another, depending on the mode. This is generally used to make graphics data from the CD or from the Graphics Chip available to the MAIN CPU side, since only Mega Drive VDP can display stuff. But this can also be used to run code for any of the two CPUs.

    Graphics Chip: Mega CD ASIC can perform rotation & scaling operations in its Word-RAM when configured to full size mode. From a source screen map in memory, the chip transform graphics and make them available in Mega Drive sprite format, so they can be displayed by Mega Drive VDP. It is fully configurable through a set of internal registers.

    PCM Chip: this is a configurable sound chip which is able to render up to 8 stereo channels of PCM data. The chip includes 64k of external RAM for storing waveform data and a set of registers to configure panning, volume, output frequency, etc...

    CDD: this is CD Drive processor which receives command from SUB-CPU BIOS, such as reading TOC, open tray, start playing a track, pause, etc. The chip understands a limited set of commands, from which all are not documented completely but the most important are known. When an audio track is played, it is sent to CD DAC & Fader unit at the rate of 44100hz. When a data track is played, it is sent to CDC unit for error correction and transfer to the SUB-CPU.

    CDC: this is CD Data Controller, which performs decoding of data received from CDD, error correction and data blocks transfer to the host, which is SUB-CPU side. It uses 16k of external RAM buffer to store CD data blocks (2352 bytes/blocks) and is able to read a new block each 1/75s (CD drive speed is 1x). It can be configured by BIOS through a large set of internal registers, is able to interrupt SUB-CPU in order to signal a new incoming data block or end of data transfer.

    ASIC registers: approximately 256 16-bit registers which are used to configure each part of Sega CD hardware, interrupts, timers, memory mode, etc and communicate with other controllers, including communication between the two CPUs . They all needed to be emulated in order to get past the BIOS.

  35. Former user Account Deleted

    Comment # 42 originally posted by pantasdamianos on 2012-05-04T08:06:29.000Z:

    I am speechless!I could not imagine in my wildest dreams that you could actually finish a fully working Sega CD emulator in such a little time!I am impressed for your unparallel skills and talent!Any idea when you will let us try it? :-)

  36. Former user Account Deleted

    Comment # 43 originally posted by ekeeke31 on 2012-05-04T10:44:17.000Z:

    To be fair, it would not have been possible without the technical documentation which has been made available by other people and that i've studied quite a lot in my spare time during last years, in order to think about possible implementations before actually coding them. Picodrive sourcecode (which is more or less a rewrite of Gens SCD implementation in more readable C language) helped a lot also when trying to figure bugs in my initial implementation. I wish i still had my Mega CD to run some test on real hardware as there are still a lot of undocumented stuff...

    As for a release, I want to test more games before backporting this to Wii as i'm sure there are still bugs left and that I did not cover all possible test cases or emulated features. For convenience, I've only tested win32 port right now but i'm pretty confident it will run fine on Wii, regarding the relatively limited speed loss (10%) that can be observed in fps when scd is fully emulated.

  37. Former user Account Deleted

    Comment # 44 originally posted by pantasdamianos on 2012-05-04T16:43:18.000Z:

    Congratulations! It is nice to hear all these detailed things about the development progress.I suspect that the hard part of your work is nearly done,as porting to Wii and ironing some bugs would be far easier in this phase of your work compared to what you have already accomplished! I want to ask you if the Sega CD BIOS would be required in order to run the isos or not.

  38. Former user Account Deleted

    Comment # 45 originally posted by ekeeke31 on 2012-05-04T20:02:42.000Z:

    Off course it is required, CD games cannot run without the BIOS, it's vital part of the system since games generally don't know how to use hardware at low-level and need to call hard-coded BIOS subroutines.

  39. Former user Account Deleted

    Comment # 46 originally posted by ekeeke31 on 2012-05-05T15:59:33.000Z:

    I managed to get one the few Mega CD game I liked to work, which is Popful Mail. As seen in screenshots, there is still a graphic glitch in the menu screen which I have to find the cause of but the game plays fine (and it's one of the few that does not use CD audio tracks or quite)

    For the record, this is one of the several games that need "perfect" synchronization between MAIN-CPU and SUB-CPU to boot. Mega CD emulators generally made "perfect sync" optional as it eats up a lot of resources (basically they make each CPU run a few cycles simultaneously to keep them "in sync") but I think I found a better solution: the "sync" issue comes from the fact that the slowest CPU (i.e MAIN CPU) is writing two consecutive values in the communication buffers and expect the SUB-CPU to read the first written value before the second one is written. Since emulators generally don't run at a cycle-based granularity level but more like a line-based one, at the time you start running the next chunk of SUB-CPU instructions, the two writes have always been executed by MAIN-CPU and you end up in a dead-lock (i.e the two CPUs waiting for each other to write something in communication buffers to continue).

    What I did, instead of having both CPU always running at a lower granularity level, was to keep a set of flags (one for each communication words between MAIN and SUB CPU), flags that are set each time MAIN-CPU writes a value to communication buffer and cleared each time SUB-CPU read it. This way, when MAIN-CPU attempts to write communication buffer, if it appears SUB-CPU still not has read the previously written value, i know i need to resynchronize both CPU and run SUB-CPU for a few cycles.

    Good thing is this works fine for this game and a few others I've tried and this has barely any performance hits.

  40. Former user Account Deleted

    Comment # 47 originally posted by TheRealBurntLasagna on 2012-05-05T16:39:58.000Z:

    This is pretty freakin amazing! I salute you ekeeke! Your knowledge of the inner machinations of the Genesis and Sega CD’s hardware is unprecedented! This was literally one of the only things I felt the Wii was missing and I'm glad you’re the one sailing its ship!

  41. Former user Account Deleted

    Comment # 48 originally posted by thiagoalvesdealmeida on 2012-05-06T04:15:39.000Z:

    Thanks ekeeke! Very impressive work, as always.

  42. Former user Account Deleted

    Comment # 49 originally posted by ekeeke31 on 2012-05-06T14:00:12.000Z:

    Fixed a few bugs with VDP DMA from Word-RAM that were the causes of graphics corruption in Popful Mail and also Sonic CD FMV.

    I also fixed a bug in graphics operation on 32x32 pixels stamp, clouds in Sonic CD title screen are now properly displayed.

    Since those games now appear to run fine, I tried a few other and next one to fix appears to be Snatcher. It hangs when the game start for an unknown reason.

    http://genplus-gx.googlecode.com/files/scd\_sonic\_title\_good.png http://genplus-gx.googlecode.com/files/scd\_wonderdog\_title.png http://genplus-gx.googlecode.com/files/scd\_wonderdog\_ingame.png http://genplus-gx.googlecode.com/files/scd\_snatcher\_title.png

  43. Former user Account Deleted

    Comment # 50 originally posted by cheatfreak47 on 2012-05-06T23:16:17.000Z:

    Your work with emulators is awesome. Only a week or so and a near perfect SCD emulator. You sure are gr8 ekeeke!

  44. Former user Account Deleted

    Comment # 51 originally posted by cheatfreak47 on 2012-05-06T23:29:47.000Z:

    I know Puggsy CD has a a lot of (and rather impressive for the time) FMVs in it, if you need further testing. The final boss of that game is just to avoid getting killed by the FMV rendered boss.

  45. Former user Account Deleted

    Comment # 53 originally posted by ekeeke31 on 2012-05-07T12:54:14.000Z:

    Thanks but it's not the case as I'm already handling the "latency" thing in vdp\_68k\_ctrl\_w, in fact it's handled exactly as SVP RAM latency since it's similar behavior. I only had to fix the way I was initially doing it a little bit as it caused issue when reg[21] was set to zero, which was the cause of Popful Mail screen corruption.

    Off topic, I appreciate the fact you decided to maintain your IOS/Android port of Genesis Plus GX through googlecode from now and although I still doesn't like the fact you didn't respect our demand and obviously made a business out of it, it seems like you did a good job in integrating Picodrive CD stuff in the core.

  46. Former user Account Deleted

    Comment # 55 originally posted by ekeeke31 on 2012-05-09T10:40:22.000Z:

    Actually, it's where the problem lies: when i press start to keep the intro, it takes a very long time (something like 5000 frames) to display the konami headquarter cutscene then it locks forever and never display what should be next (act 1 screen then start of the game).

    I already fakes the real TOC and got the intro running fine but as soon as the game is supposed to start, it hangs as described above so i'm sure it's something else as other emulators handle this part just fine, with or without any audio tracks and even with "perfect synchro" disabled.

    For the record, my whole implementation is written from scratch, using official docs as main reference and Gens/Picodrive only for CDD commands or when i had a doubt about expected behavior. I suspect it might be a bug somewhere in this implementation but unfortunately could not figure it yet.

  47. Former user Account Deleted

    Comment # 56 originally posted by ekeeke31 on 2012-05-09T13:43:30.000Z:

    Actually, it's where the problem lies: when i press start to skip the intro, it takes a very long time (something like 5000 frames) to display the konami headquarter cutscene then it locks forever and never display what should be next (act 1 screen then start of the game).

    I already fakes the real TOC and got the intro running fine but as soon as the game is supposed to start, it hangs as described above so i'm sure it's something else as other emulators handle this part just fine, with or without any audio tracks and even with "perfect synchro" disabled.

    For the record, my whole implementation is written from scratch, using available docs as main reference and Gens/Picodrive only for CDD commands or when i had a doubt about expected behavior. I suspect it might be a bug somewhere in this implementation but unfortunately could not figure it yet.

  48. Former user Account Deleted

    Comment # 57 originally posted by ekeeke31 on 2012-05-09T23:19:26.000Z:

    I fixed the Snatcher issue: it appears I forgot to handle 16-bit writes to Timer & Interrupt Mask registers, which was the cause of lockup.

  49. Former user Account Deleted

    Comment # 58 originally posted by pantasdamianos on 2012-05-10T09:45:55.000Z:

    That's great news ekeeke!Can we assume that a release is imminent? :-)

  50. Former user Account Deleted

    Comment # 59 originally posted by ekeeke31 on 2012-05-10T12:49:11.000Z:

    There is no planned "release date" and there are still many games to test, so it's better not assuming anything at all ;-)

  51. Former user Account Deleted

    Comment # 61 originally posted by ekeeke31 on 2012-05-13T18:28:51.000Z:

    Apart from fixed memory handlers, Snatcher need correct TOC data to display the intro.

    The same is required by Lunar games which otherwise freeze at specific parts.

  52. Former user Account Deleted

    Comment # 62 originally posted by ekeeke31 on 2012-05-13T18:50:56.000Z:

    Some other screenshots.

    Fixes to the core were required for Vay to boot: this game requires code running from Word-RAM in 1M mode, which was not possible with my initial implementation.

    I'm now trying to get Time Gal running: this game require very precise synchronization between the 2 CPU and it seems I was a little bit optimistic with my previous statement about this issue as my solution obviously does not work for this game.

    I also added .BIN support as the image I had for this game came in this format, as well as proper name & region detection when loading CD game. Interestingly, it seems that the region field in the header (same format as Genesis ROM header) is not used and that the CD BOOT ROM instead compare the BOOT program on the CD when its hard-coded BOOT program. Using the region field therefore appeared to be quite unreliable and the method to detect region is to detect specific byte data from the CD boot program (at address $20B, $7a is for US security program, $64 for european and $a1 for japan).

  53. Former user Account Deleted

    Comment # 63 originally posted by cheatfreak47 on 2012-05-16T21:18:00.000Z:

    X) very exciting to see so much progress!!! Im very eager to try this out when it gets a release! I allready have my ISOs and Bios on my flash drive and everything ^\_^ thanx EkeEke!

  54. Former user Account Deleted

    Comment # 64 originally posted by tmor81 on 2012-05-19T19:21:04.000Z:

    So cool to see such great progress ekeeke. I never though Mega CD emulation would be possible on the Wii. This is already the greatest Mega Drive emulator I've ever used, it's just so authentic, with MCD it will be unbeatable. Really looking forward to it.

  55. Former user Account Deleted

    Comment # 65 originally posted by ekeeke31 on 2012-05-24T19:43:46.000Z:

    After a huge amount of debugging and brain scratching (and thanks to the help of Stef, author of Gens), I was able to fix Time Gal not booting.

    For the record, it appears that this game need some delay between the time a PLAY/READ command is sent to CD drive and the time it really starts reading from the wanted sector. Good news is that is also fix Road Avenger and Cobra Command, which share the same booting code as Time Gal.

  56. Former user Account Deleted

    Comment # 66 originally posted by ekeeke31 on 2012-05-24T20:30:49.000Z:

    From the screens above, you would have notice have somehow increase greatly for games: I indeed implemented CPU idle loop detection (for both CPU) which will stop one of the CPU if it is detected to poll one of the shared register, waiting for the other CPU to finish a task. A lot of games actually have CPU sending lot of time polling this register and stopping them (i.e not decoding/executing the read instructions until the other CPU unlock the situation) helps a lot to improve emu performance.

    I also improved the way CPU synchronization was done, making it tied to CPU polling detection and bringing it to a finer granularity, while still being more optimized than running both CPU in cycle blocks like what "perfect sync" options are usually doing.

    This actually make a lot of more game, which require very precise synchronization between the 2 CPU, booting fine.

  57. Former user Account Deleted

    Comment # 67 originally posted by ekeeke31 on 2012-05-24T20:37:01.000Z:

    FMV games were THE big thing when CD games appeared in the nineties... until people realized how short they usually were and that most of them were not enjoyable to play at all.

    Now with casual gaming, I recognize rediscovering these little game is kinda fun, and Mega CD has indeed A LOT of FMV games to discover ^^

  58. Former user Account Deleted

    Comment # 68 originally posted by ekeeke31 on 2012-05-24T20:42:29.000Z:

    Dragon Lair & Space Ace share the same weird code where they write to a read-only register and expect data to be written to the next register and bit-shifted by one. Adding support for this undocumented feature actually make them playable now.

  59. Former user Account Deleted

    Comment # 69 originally posted by ekeeke31 on 2012-05-24T20:46:46.000Z:

    Next two games to debug would be Ecco & Jaguar XJ220 which both suffer from graphic corruption in-game. Not sure where it comes from but it might be a bug with my emulation of some rarely used memory mode.

  60. Former user Account Deleted

    Comment # 71 originally posted by mrdeathjr28 on 2012-05-24T23:31:52.000Z:

    thanks your progress is very impressive, thanks for your work

  61. Former user Account Deleted

    Comment # 73 originally posted by ekeeke31 on 2012-05-29T11:27:55.000Z:

    For the record, this also fixed Dune intro which was badly screwed. Still need to figure what is causing Ecco CD graphic bugs.

  62. Former user Account Deleted

    Comment # 76 originally posted by coleam3 on 2012-05-31T20:05:13.000Z:

    Wow, can't believe the progress so far! I'm so excited to play.

  63. Former user Account Deleted

    Comment # 77 originally posted by cheatfreak47 on 2012-06-01T00:35:07.000Z:

    That seems pretty stable. Good to see theme park, sonic cd, and puggsy are all working. those were the only games i had for my sega cd (unfortunately, my disk copy of theme park is no longer in working condition.)

  64. Former user Account Deleted

    Comment # 79 originally posted by ekeeke31 on 2012-06-02T22:55:05.000Z:

    Finished testing the entire Mega CD / Sega CD library, compatibility is quite good with a few games probably still needing a few CPU sync improvement and maybe some remaining bugs with RAM transfer and/or graphics data handling.

    \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* NOT WORKING (16 GAMES) \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* A-Rank Thunder Tanjouhen (hangs during intro cinematic) Batman Returns (hangs after start intro) Corpse Killer (random "drive error" hangs during game) Cosmic Fantasy Stories (hangs when starting new game) Earnest Evans (hangs after Wolf Team logo) ESPN Sunday Night NFL (hangs when starting new game + gfx errors during intro) Fifa International Soccer (hangs after Sega logo) Arslan Senki - The Heroic Legend of Arslan (hangs at copyright screen) Jeopardy (hangs during intro) Joe Montana's NFL Football (hangs when starting a game) NFL Football Trivia Challenge (hangs when starting a game) NHL '94 (hangs after intro) Sangokushi III - Romance of the Three Kingdoms (hangs at Sega logo) Seima Densetsu 3x3 Eyes (hangs after Sega logo) Seirei Shinseiki - Fhey Area (hangs after Wolf Team logo) Shadow of the Beast 2 (hangs at Sega logo)

    \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* GRAPHICAL ISSUES (8 GAMES) \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

    Adventures of Willy Beamish, The (swapped tiles) AH3 Thunderstrike / Thunderhawk (corrupted maps) Battle Frenzy / Blood Shot (graphic issues) Chuck Rock (corrupted tiles) Citizen X (corrupted menu bar) Ecco the Dolphin (random corrupted tiles) Ecco: The Tides of Time (random corrupted tiles) World Cup USA 94 (corrupted tiles)

    \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* WORKING (191 GAMES) \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* 3 Ninjas Kick Back Adventures of Batman & Robin, The After Burner III After Armageddon Gaiden Aisle Lord Alshark Android Assault / Bari Arm Anett Futatabi Animals, The Aoki Ookami to Shiroki Mejika - Genchou Hishi Arcus 1-2-3 AX-101 Bakuden: Unbalanced Zone Battlecorps Battle Fantasy / Revenger of Vengeance BC Racers / Stone Racers Bill Walsh College Football Black Hole Assault Bouncers Bram Stoker's Dracula Brutal: Paws of Fury Bug Blasters: Exterminators Burai Cadillac & Dinosaurs Capcom No Quiz: Tonosama no Yabou Captain Tsubasa Championship Soccer '94 / Sensible Soccer (hangs at menu) Chuck Rock II: Son of Chuck Cliffhanger Cobra Command / Thunder Storm FX Compton's Interactive Encyclopedia Crime Patrol Cyborg 009 Daihosinden Dark Wizard Death Bringer Demolition Man Denin ALeste / Robo Aleste Detonator Orgun Devastator Double Switch Dracula Unleashed Dragon's Lair Dune Dungeon Explorer Dungeon Master II Dynamic Country Club Earthworm Jim: Special Edition Egawa Suguro no Super League ESPN Baseball Tonight ESPN National Hockey Night ESPN NBA Hangtime '95 Eternal Champions Eye Of the Beholder F-1 Circus CD Fahrenheit Fatal Fury Special / Garou Densetsu Special Final Fight CD Flashback Flink Formula One World Championship: Beyond the Limit Funky Horror Band Gambler Jiko Chuushinha 2 Game no Kanzume - Sega Games Can Vol.1 Game no Kanzume - Sega Games Can Vol.2 Genei Toshi: Illusion City Ground Zero Texas Heart Of The Alien Heavy Nova Heimdall Hook Iron Helix Ishii Hisaichi no Daisekai Jaguar XJ220 Johnny Mnemonic Jangu World Cup Jurassic Park Keio Flying Squadron / Keiou Yuugekitai Kids on Site Lawnmower Man, The Lethal Enforcers Lethal Enforcers II Links: The Challenge of Golf Loadstar: The Legend of Tully Bodine Lords of Thunder Lunar: Eternal Blue Lunar: The Silver Star Mad Dog Mc Cree Mad Dog Mc Cree II Mahou no Shoujo: Silky Lip Make My Video: INXS Make My Video: Kris Kross Make My Video: Marky Mark and the Funky Bunch Make My Video: Power Factory Featuring C+C Music Factory Mansion of Hidden Souls / Yumemi Mystery Mansion Marko's Magic Football Mary Shelley's Frankenstein Masked Rider, The / Kamen Rider ZO / Mega Race Mega Schwartzchild Mickey Mania Microcosm Midnight Raiders Mighty Morphin Power Rangers Might and Magic III: Isles of Terra (only works with Mega CD II BIOS) Mortal Kombat My Paint NBA Jam Night Striker Night Trap Ninja Warriors, The NFL's Greatest: San Francisco Vs. Dallas 1978-1993 Nobunaga no Yabou - Haouden Nostalgia 1907 Novastorm Panic / Switch Penn & Teller's Smoke and Mirrors Pitfall: The Mayan Adventure Popful Mail Power Monger Prince of Persia Prize Fighter Pro Yakyuu Super League CD Psychic Detective Vol. 3: Aya Psychic Detective vol. 4: Orgel Puggsy Quiz Scramble Special Racing Aces Radical Rex Ranma 1/2 Byakuranaika RDF Global Conflict Record of Lodoss War Revenge of the Ninja Rise of the Dragon Road Avenger / Road Blaster FX Road Rash Samurai Shodown / Samurai Spirits Secret of Monkey Island, The Sega Classics Arcade Collection: 4 in 1 Sega Classics Arcade Collection: 5 in 1 Sengoku Densyo Sewer SHark Shadowrun Sherlock Holmes - Consulting Detective Sherlock Holmes - Consulting Detective Vol. II Shin Megami Tensei Shining Force CD Silpheed Sim Earth Slam City with Scottie Pippen Smurfs, The Snatcher Sol-Feace Sonic CD Sonic Megamix Soulstar Space Ace Space Adventure Cobra Spiderman VS The Kingpin StarBlade Star Strike Star Wars Chess Star Wars: Rebel Assault Stellar Fire Supreme Warriors Surgical Strike Syndicate Tenbu: Mega CD Special Tenkafubu - Eiyuutachi no Houkou Terminator, The Theme Park Third World War Time Gal Time Cop Tomcat Alley Trivial Pursuit Ultraverse Prime Urusei Yatsura: My Dear Friends Vay Virtual Vcr -The Colors of Modern Rock Warau Salesman Wheel of Fortune Who Shot Johnny Rock? Wild Woody Wing Commander Winning Post Wirehead Wolfchild Wonder Dog Wonder Mega Collection WWF Mania Tour / WWF Rage in the Cage Yumimi Mix

  65. Former user Account Deleted

    Comment # 80 originally posted by cheatfreak47 on 2012-06-02T23:34:42.000Z:

    191 is pretty stable. good luck fixing the graphical issues

  66. Former user Account Deleted

    Comment # 81 originally posted by ekeeke31 on 2012-06-03T11:59:49.000Z:

    I fixed Citizen X, WIlly Beamish & AH3 Thunderhawk/Thunderstrike graphic issues, though the two latters still suffer from minor graphic issues as shown in screenshots below.

    It appeared that these games rely on the Word-RAM data remaining intact when switching between 1M and 2M mode: Word-RAM is indeed divided in two 128K banks which can either be accessed one bank at a time (1M mode) or entirely (2M mode) by both CPU. Most games will setup RAM data after switching modes but a few games will actually expect data to be still in place when modes are switched. Difficulty comes from the fact that both banks are interleaved (1st word of bank 1, 1st word of bank 2, 2nd word of bank 1, etc) when seen in "full" 2M mode and that CPU can actually execute code from this RAM in both modes. I had to change a few things to make this accurately handled and get these games working.

    For the record, it also fixed Shadow of the Beast II not booting previously and gfx errors in ESPN Sunday Night NFL.

  67. Former user Account Deleted

    Comment # 82 originally posted by ekeeke31 on 2012-06-03T16:33:47.000Z:

    I fixed level 1 interrupt handling to get Batman Returns working: it appears that this interrupt should not be made pending if it is masked in the interrupt control register when a graphics operation ends, but rather simply dismissed.

    What happened was that this interrupt eventually get triggered later when the game reinitializes the register, which is unexpected by the game and cause it to reset itself and crash.

  68. Former user Account Deleted

    Comment # 83 originally posted by ekeeke31 on 2012-06-03T17:09:36.000Z:

    Seems like Main-CPU interrupt (and presumably Timer interrupt as well) need to be handling similarly as "Arslan Senki" got fixed by dismissing pending level 2 interrupts and writes to IFL2 bit when interrupt is disabled in Interrupt Control register.

  69. Former user Account Deleted

    Comment # 84 originally posted by ekeeke31 on 2012-06-04T21:17:59.000Z:

    Good News... most graphical issues were fixed by correcting the way VDP was reading from Word-RAM using DMA: I forgot to handle rare cases where the address auto-increment was set to something else than a value of two.

    I also added SUB-CPU sync with MAIN-CPU when level 2 interrupt is triggered by the former, which was required by Earnest Evans & Fhey Area (two games from Wolf Team... again.. seems like they are all very sensitive to CPU sync).

    And finally, I improved CPU polling detection in order to get 3x3 Eyes working. Side effect is that a bunch of other games (FIFA, Joe Montana's NFL Football, NHL 94 & Corpse Killer) now run fine, though I'm not sure to what changes it's related.

    Which give the following compatibility now:

    \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* NOT WORKING (6 GAMES) \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* A-Rank Thunder Tanjouhen (hangs during intro cinematic) Cosmic Fantasy Stories (hangs when starting new game) ESPN Sunday Night NFL (hangs when starting new game) Jeopardy (hangs during intro) NFL Football Trivia Challenge (hangs when starting a game) Sangokushi III - Romance of the Three Kingdoms (hangs at Sega logo)

    \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* GRAPHICAL ISSUES (2 GAMES) \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

    Adventures of Willy Beamish, The (corrupted logo) AH3 Thunderstrike / Thunderhawk (minor graphics error)

  70. Former user Account Deleted

    Comment # 86 originally posted by ekeeke31 on 2012-06-06T20:51:31.000Z:

    It appeared the copy of Romance of the Three Kingdoms III I tried was a corrupted CD image, hence why it didn't work. Now works perfect now with a correct copy.

    Still have strange issue with this weird Japanese game, A-Rank Thunder, as I cannot figure why it hangs there. I have the feeling this screen is some kind of error message but cannot read Japanese so can only guess. If anyone could translate what is written there, it will be much appreciated.

  71. Former user Account Deleted

    Comment # 87 originally posted by joepogo80 on 2012-06-06T21:21:55.000Z:

    Hey eke, great work as i have been following this for quite some time.! :) will you be including this with the basic windows port when it is ready? im trying to help figure out what that japanese writing is above.

  72. Former user Account Deleted

    Comment # 88 originally posted by ekeeke31 on 2012-06-07T13:33:08.000Z:

    All the test i made so far are done with the windows port, because it's much more practical for quick testing. Thanks to the way the emulator is designed, backporting to Wii is straight forward, with only a few changes required in the interface.

    So yes, windows port will be updated, although i hardly see why anyone would seriously want to use it in that state, better use Kega until someone make a decent PC port of the new core.

  73. Former user Account Deleted

    Comment # 89 originally posted by joepogo80 on 2012-06-07T17:37:02.000Z:

    thanks for the response! The reason why i ask is because of the "secret project" i have emailed you about a few times with questions and would love to have it included with the build alongside the genesis emulation. :)

  74. Former user Account Deleted

    Comment # 90 originally posted by cheatfreak47 on 2012-06-07T21:57:37.000Z:

    Since the support for sega/mega cd is so good now, any idea when we will see a wii release? Not to sound impatient or anything. im just happy to see so much progress on SCD emulation. ^\_^

  75. Former user Account Deleted

    Comment # 91 originally posted by ekeeke31 on 2012-06-08T12:57:34.000Z:

    I have absolutely no idea, there is no scheduled release plan and no urge to release anything, at least for me.

  76. Former user Account Deleted

    Comment # 92 originally posted by libretro on 2012-06-08T13:47:54.000Z:

    hi there ekeeke,

    this is Squarepusher. With regards to the Windows port lacking - we could rectify this problem by finally merging the libretro port into the Genesis Plus GX master branch - that way, not only do you get native Linux/Windows/OSX support, but PS3/360 as well.

    I would be all for it since it would mean I could drop my fork of the project.

  77. Former user Account Deleted

    Comment # 93 originally posted by ekeeke31 on 2012-06-08T17:25:44.000Z:

    I can give you access to the repository if you want

  78. Former user Account Deleted

    Comment # 94 originally posted by libretro on 2012-06-09T00:41:35.000Z:

    Sure, that would be very nice.

    I noticed you made a Github repository - is that the main repository now? If so, I could git clone your repo, commit the libretro port and then do a git pull request so you can integrate it into your repo.

  79. Former user Account Deleted

    Comment # 95 originally posted by ekeeke31 on 2012-06-09T07:24:57.000Z:

    I setup the github repository in case i am once again (and this time definitively) kicked of googlecode because of license issues, i will update both repositories simultaneously until i make the decision of leaving googlecode for good.

    You can indeed submit your commit and I will integrate it, but I would suggest waiting for the core update that will come with Mega CD support, a lot of files were affected since I modified the way CPU core are handled.

    Back to the topic:

    - it appeared ESPN Sunday Night NFL & NFL Football Trivia Challenge were not frozen but you needed to hit 2nd player controller button to go further, my bad

    - Jeopardy was fixed by improving CPU polling loop detection once again, now work with all games which is a relief

    - Sangokushi III - Romance of the Three Kingdoms III was a bad dump, a good dump plays fine

    Current compatibility list:

    \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* NOT WORKING (2 GAMES) \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* A-Rank Thunder Tanjouhen (hangs during intro cinematic) Cosmic Fantasy Stories (hangs when starting new game)

    \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* GRAPHICAL ISSUES (2 GAMES) \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

    Adventures of Willy Beamish, The (corrupted logo) AH3 Thunderstrike / Thunderhawk (minor graphics error)

    \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* WORKING (212 GAMES) \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

  80. Former user Account Deleted

    Comment # 96 originally posted by ekeeke31 on 2012-06-10T14:40:47.000Z:

    Fixed the two last non-working Japanese games:

    - A-Rank Thunder Tanjouhen requires correct disc TOC as it starts playing various audio tracks during intro and expect the track index to increment automatically and reach a specific audio track before continuing.

    - Cosmic Fantasy Stories needed better CPU sync, which was achieved by improving SUB-CPU polling detection once again. I verified other games still work fine after that change, which is good.

    So much for two games which nobody is probably gonna play anyway but reaching 100% compatibility in only two months is something quite satisfying :-)

  81. Former user Account Deleted

    Comment # 97 originally posted by ploggy16@hotmail.com on 2012-06-11T05:04:40.000Z:

    Congrats on getting 100% compatability :) Things are looking good. Excited for the Wii build :P

    Great job.

  82. Former user Account Deleted

    Comment # 98 originally posted by cheatfreak47 on 2012-06-11T05:24:53.000Z:

    So i'd assume a Wii build isn't too far off. Maybe a month or so? :D I can't wait to Play Sega CD games on my wii! Its like the Virtual Console Nobody (not even psn or xbla) got! Congrats on 100% Compatibility!!! Thank you! And Good luck with googlecode's crap btw.

  83. Former user Account Deleted

    Comment # 99 originally posted by ekeeke31 on 2012-06-12T19:16:07.000Z:

    Fixed a bug with VDP DMA (on the Genesis side) which was the cause of corrupted logo in Willy Beamish. Contrary to my initial beliefs, DMA source address registers are not incremented during DMA and should keep the initial written value. Surprisingly, no Genesis games seem to rely on this as this bug was not catched until today.

    One left... the last being the hardest to figure out off course

  84. Former user Account Deleted

    Comment # 100 originally posted by ferran_r1@hotmail.com on 2012-06-13T13:14:57.000Z:

    Thank you!!! I' love to play Dune and Sim Earth on WII. It will be on future a PC release with a WII GUI ? Your GUI is cool and intuitive.For curiosity are there any cheats or cheat system for SEGA CD like action replay or game genie?

  85. Former user Account Deleted

    Comment # 101 originally posted by chicore96 on 2012-06-14T17:58:04.000Z:

    Your progress as always is amazing Eke, great work! Can't wait to see a release for this :)

  86. Former user Account Deleted

    Comment # 102 originally posted by ekeeke31 on 2012-06-15T06:46:45.000Z:

    Thanks for support.

    @ 100: I would have no time doing and maintaining a proper windows port, though i always thought the Wii interface could easily be ported back (using mouse instead of wiimote) and this would be much nicer than those uniformized windows gui that all emulators seem to be using...

    As for cheats, i don't think any cheat device existed for mega cd and i don't know any patch code either: the reason is probably that code can be executed from a lot of various places when mega cd is used and that memory is always switching from one side to another, depends on current memory mode or can only be accessed through banking . All in one, it makes very difficult for a cartridge to intercept all memory access and patch them properly, also the sub-cpu bus is only internal so not "spyable", which leaves out the possibility of patching code on that side and kinda limits utility of such device.

  87. Former user Account Deleted

    Comment # 103 originally posted by ekeeke31 on 2012-06-16T14:04:46.000Z:

    I finally fixed the last remaining issues with AH3 Thunderstrike / Thunderhawk:

    - map was fixed by increasing the granularity of graphics operation processing: instead of processing all lines at once when the operation is started (inaccurate but more optimized), I now update the rendering on each CPU executed line, in regard to "real" timings (though exact timings are unknown for now). This was required as this game will start a graphics operation then write to Word-RAM and update the data needed by the graphic chip while it is rendering.

    - corrupted "riverside" graphics were solved by fixing a stupid bug with how stamp flipping was emulated: stamps (16x16 or 32x32 pixel patterns) can be flipped horizontally (mirrored) and/or at 90, 180, 270° by setting a few bits in the corresponding stamp table entry and I was simply not handling these bits correctly.

    I also took some time to add support for Mode 1: in this mode, the main CPU boots from an inserted cartridge instead of booting from the CD as it usually does. There is actually two kind of Mode 1:

    1) in the first one, the main CPU still boots from the CD unit internal Boot ROM (what people like to call "BIOS") but the BIOS (maybe not all versions ?) can detect a bootable cartridge is inserted and jump to it instead of trying to boot a CD.

    2) in the second one, the cartridge outputs a signal to the console so that the main CPU will directly boot from that cartridge (it's actually like what all Genesis games are doing). In this mode, the internal Boot ROM and the normally accessible RAM is still accessible (from $400000-$7FFFFF instead of $000000-$3FFFFF as usual), so cartridge can access CD hardware.

    The latter is actually required by a few Genesis programs to work, namely Flux and Wonder Library. These were actually some of the few remaining known ROM dumps that were not compatible with Genesis Plus GX because of lack of Sega CD support, so they are now supported by the emulator, even if there isn't much to do with them without proper CD images.

  88. Former user Account Deleted

    Comment # 105 originally posted by ekeeke31 on 2012-06-17T19:14:24.000Z:

    I quickly added save-state support for CD games. I'm not sure what was so difficult that PC emulators did not supported save-state until very recently (actually I think only Kega has 100% working save-state support so far), so maybe I'm missing something, I don't know. State size is actually quite big with CD hardware state incorporated (almost 1MB) but it works perfectly fine with the few games I tested.

    So, since I'm pretty much satisfied with the current state of my core now, I guess a release should not be too long, only need to incorporate it in the Wii port and add the necessary GUI adjustments for Mega CD specific stuff.

  89. Former user Account Deleted

    Comment # 106 originally posted by ferran_r1@hotmail.com on 2012-06-18T13:29:29.000Z:

    Thank you :) save games = cheats :) if it is posible do not compress the savegame files. With an hex editor + time you can cheat mega cd games changing the values on save file.

  90. Former user Account Deleted

    Comment # 107 originally posted by mrdeathjr28 on 2012-06-18T21:15:32.000Z:

    As always your work are impressive, i waiting wii build and many thanks for your efforts

    Kudos

  91. Former user Account Deleted

    Comment # 108 originally posted by ploggy16@hotmail.com on 2012-06-19T07:40:54.000Z:

    Thank you Sooo much. It's nice to know a Wii build is on the cards soon. :)

  92. Former user Account Deleted

    Comment # 109 originally posted by cluster.phucking on 2012-06-28T21:45:51.000Z:

    RAM cheats (PAR) are possible with games like Sonic CD that use Genesis RAM. Would be quite happy to see PAR cheats enabled for Sonic CD with a warning saying no guarantees that it'll work. Do a search for Sonic CD PAR cheats by King Of Chaos, they work fine using ArtMoney with Kega for example.

  93. Former user Account Deleted

    Comment # 110 originally posted by ekeeke31 on 2012-06-28T23:31:31.000Z:

    PAR cheats are still enabled when Mega CD is emulated so you can still apply patches to the main RAM.

    In regard to what I said above about DMA operation not incrementing source address register values, it appeared I was wrong as it broke a few other CD games and that it was just a bug with the way I was handling the source address increment along the emulated Word-RAM DMA delay.

    Good news is that I finished back-porting my implementation to the Wii/Gamecube port, chased down a few design bugs which I would not have noticed with the basic windows port (especially with the ability to load successive games or changing various emulator options during gameplay). Tested only on Wii so far (could not find my SD Gekko anywhere.. damn) and with ISO or BIN loaded from SDCARD: runs fullspeed as expected but audio tracks are still not supported, which I suspect is going to be a major performance hit when implemented (planned for later releases).

  94. Former user Account Deleted

    Comment # 111 originally posted by tmor81 on 2012-07-01T13:10:22.000Z:

    Incredible work, 100% compatibility! I doubt I'm going to be able to play anything MCD wise due to the limited space on my SD card and my HDD is partitioned in WBFS format only. :-(

    I read through your progress here and it's fascinating, but I don't understand the technical stuff, it sounds...complex. The Wii homebrew scene is so lucky to have someone like yourself who is not only incredibly talented but also cares about true emulation. I have to say GenPlus GX is the best MD emulator I've used.

  95. Former user Account Deleted

    Comment # 112 originally posted by ekeeke31 on 2012-07-01T18:38:05.000Z:

    Thanks for the kind word. 100% compatibility should be taken with grain of salt though since I could not test all games from start to end obviously, just made sure all booted fine and played without graphical glitches or errors.

    Anyway, version 1.7.0 is up to download. I hope to add audio track support soon so this can be more enjoyable in some way.

  96. Former user Account Deleted

    Comment # 113 originally posted by ploggy16@hotmail.com on 2012-07-02T02:33:01.000Z:

    Thank You Eke Eke, I'm going to have a lot of fun with this. Just played a bit of Sonic CD and while music doesn't play at start, it kicks in when I go to the Future. I know music isn't supported in this new build, it's just a nice surprise :)

    Thanks again Eke Eke. You Da Man.

  97. Former user Account Deleted

    Comment # 114 originally posted by TheRealBurntLasagna on 2012-07-02T05:09:58.000Z:

    I just tried out the latest update and consider myself awestruck! Honestly I'm very impressed with how well you where able to make Sega CD emulation run on the Wii(GC)in such a short period of time!

    Sega CD running on 240p component video with no dieing disk drives and internal battery is just awesome!

    I salute you ekeeke!

  98. Former user Account Deleted

    Comment # 116 originally posted by barkstar79 on 2012-07-02T08:51:21.000Z:

    I have been waiting and hoping patiently that Sega/Mega CD support would come to the Wii at some point and here it finally is. This was an important console to me back in the day and was the only system that I felt was truly missing from the Wii homebrew scene.

    I have tested a handful of games already (some of which use the scaling capabilities of the system: 'Batman Returns') and the performance has been absolutely superb. Well done Eke Eke on an absolutely superb performance emulation of the console, I am very impressed and very grateful. It was strange playing 'Batman Returns' without the amazing soundtrack so great to see you will implement the support for all this at a later date.

    Thank you very much again for your amazing work!

  99. Former user Account Deleted

    Comment # 117 originally posted by cheatfreak47 on 2012-07-02T09:07:34.000Z:

    AMAZING

  100. Former user Account Deleted

    Comment # 118 originally posted by TheRealBurntLasagna on 2012-07-02T17:04:45.000Z:

    I have a quick question. I noticed that the option in the menu settings to change the background to Genesis Plus GX is now missing. Is there a reason for why this option was removed?

  101. Former user Account Deleted

    Comment # 119 originally posted by ekeeke31 on 2012-07-02T19:42:50.000Z:

    Well, there were not much sense in keeping the old background picture since it's a multi system emulator now, and that picture was actually taking significant memory space that would be more useful for real emulation features. For the same reason i did not added pictures of other emulated systems.

  102. Former user Account Deleted

    Comment # 120 originally posted by TheRealBurntLasagna on 2012-07-03T03:53:11.000Z:

    Ah, that makes sense. I will live with the checkered background.

    Also another thing, don't know if this should have its own issue section but I've noticed that when playing from USB games tend to have more audio glitching in cut scenes and are over all less compatible then SD. This was the case with Lunar II, which had more glichly audio in the Opening cut scene then with SD and I tried Keio Flying Squadron on USB and the game wouldn't even start after watching the game’s opening cut scene (however I haven't tried running the game from SD yet).

    Don't know if this will be of any help since I haven't really tested that many games, but I thought I should just put it out there to make it relevant.

  103. Former user Account Deleted
    • changed status to new

    Comment # 121 originally posted by ekeeke31 on 2012-07-03T08:19:59.000Z:

    I cannot comment much about USB speed as i could not test it for the release (and does not really usb drives anyway) but since CD games are pretty much accessing data from the image file on the disc directly (they are obviously too big to fit in RAM like normal ROM files), access speed of the device you use to store these files will have some impact on emulation speed. This is especially true for FMV games or intros which are reading data continuously (you can tell thos through the dvd dtive blu led, which kinda mimic mega cd red led). I don't think there is much i can do to improve this, afaik libfat already does caching and buffering so it's probably as fast as it can be. I will accept any insight or advice from anyone that has more experience than me on that subject though. Maybe also the issue is that your drive is not accessed at USB2 speed, in which case you should make sure HBC is using IOS58 when it loads the emulator. USB1 speed is definitively too slow compared to SD speed. I wonder if someone tried to load isos from DVD...

    Device used should not have any effect on game compatibility though, unless the file is corrupted on that particular device, since the only thing that matter is the sector data returned. I tested this game and it should work fine, not sure about the intro since i usually skip them. Anyway, if you have an issue with a specific game, it's better to create its own issue report as it's easier for me to follow it.

  104. Former user Account Deleted

    Comment # 122 originally posted by swsparklewind611 on 2012-07-03T11:25:18.000Z:

    Sega CD emulation is looking nice so far. For the next release, could you do some more work on the system separation? Specific folders for each system and a file filter would be nice. Right now it seems like the emulator tries to load whatever you throw at it no matter what system you chose to emulate in the menu. Especially with Sega CD, something could be done to reduce duplicate entries (Since Sega CD images usually consist of at least 2 files), like only showing cue/toc files and not iso/bin, for example. If you add support for iso+mp3, I think mp3 files should also be hidden in the menu.

    You also mentioned loading isos from DVD. I know the Wii can't read CD's, but would it be possible to add support for burned Sega CD games on DVD? Like they are burned just like a CD backup, but on DVD instead. If the Wii drive is fast enough, it would free a lot of space on the SD cards/USB drives, and it would give quite an authentic feel to it.

    Finally, will there be a specific recommended format for Sega CD images once CD tracks are added, or will most common formats be supported?

  105. Former user Account Deleted

    Comment # 123 originally posted by ekeeke31 on 2012-07-03T14:26:45.000Z:

    There are already different ROM, cheats, screenshot & saves paths for the different systems you select in the Load Menu. The last accessed ROM path is automatically saved separately for each system (cd, md, ms, gg, sg) and each device (sd, usb, dvd). As for being able to load any file type from a specific system browser, i don't see where is the problem, it's actually a feature and it's up to you to store each ROM files properly.

    Regarding Mega CD, i am indeed planning to filter audio files when they will be supported, but there was no need to filter anything until they are. Audio files supported type will most likely be .ogg and .wav, as well as bin+cue support (audio format is similar to wav but inside the bin file). Mp3 will not be supported for licensing reasons (i think all open-source mp3 decoding library are GPL which is not compati

    And no, you can't just "burn a sega cd disc into a dvd", those are totally different and incompatible support formats. The only thing the wii could read from a dvd is binary data in a fesystem, so the only you can do is copying Sega CD image files on a DVD, just you woild do on SD or USB.

  106. Former user Account Deleted

    Comment # 124 originally posted by cheatfreak47 on 2012-07-03T16:41:56.000Z:

    Aw, no mp3? :/ looks like im gonna need a decent audio converter, cuz most of the Iso's ive found are .iso or .bin packaged with mp3

  107. Former user Account Deleted

    Comment # 125 originally posted by swsparklewind611 on 2012-07-03T16:50:53.000Z:

    I took a look at it again and the last accessed ROM path is indeed saved automatically for each system. Could we have an option to set the paths permanently though, so that they won't accidentally change? Regarding the feature of being able to load any file type, I just thought that it was kind of strange to separate the systems at all when you can just for example open Mega Drive games through the Game Gear option and vice versa, but if they're all organized in separate folders already it doesn't matter too much.

    Could anything other than audio files be hidden as well? Even with the audio files hidden, there are usually at least two entries left per image, since a Sega CD image will usually come with at least the bin+cue or iso+cue combinations. Only having one entry per image would be even more convenient, especially if you have quite a number of games to choose from.

    I see. Then I guess the drive wouldn't be able to read things like audio tracks, too bad.

  108. Former user Account Deleted

    Comment # 126 originally posted by ekeeke31 on 2012-07-03T17:08:24.000Z:

    1) .bin should not be coming with .mp3 since they already have audio track data inside them

    2) .cue files will obviously be masked as well, don't worry

    3) paths are already permanent, they are saved in the configuration file and restored on each start. If you mean having a default base directory that is always accessed each time you open a browser and do not get updated when browsing, i'm not going to do it, it's a design choice and i like the way it is.

  109. Former user Account Deleted

    Comment # 127 originally posted by TheRealBurntLasagna on 2012-07-03T18:05:54.000Z:

    On the USB thing. It looks as though this isn't an issue exclusive to USB. I just tried playing Lunar II on the SD card again its audio glitched up in all the same spots as USB. Which is odd since I could of sworn that it didn't have that issue when I first tested it on the SD card.

    On a side note my external HDD is running on USB2.0 and my HBC is set to use ios58.

  110. Former user Account Deleted

    Comment # 128 originally posted by superballena on 2012-07-03T19:45:12.000Z:

    Hmm, I've tried Panic! and the sound stutters a lot, and it hanged at one point. I'm using a BIN+CUE image, does this happen to everybody?

  111. Former user Account Deleted

    Comment # 129 originally posted by ekeeke31 on 2012-07-03T20:04:06.000Z:

    You really need to be very precise and exactly describe the spots you are having problem if you want me to reproduce issues or do something to fix them, it's gonna be unmanageable otherwise.

    It seems I reproduced a problem with PCM sound that starts to go wrong after some time or under some unknown conditions, seems to be fixed by returning to the menu then back to the game (anyone confirming this ?)so it might be some bug with how it is buffered or handled at the end of each frame as I didn't spend much time on this after I got it working I admit and have run most games without sound.

    BIOS model might also have some impact, please try with different ones to see if it makes any differences and indicate which one was running when reporting an issue.

  112. Former user Account Deleted

    Comment # 130 originally posted by cheatfreak47 on 2012-07-03T22:42:41.000Z:

    Sonic CD keeps freezing while trying to load levels. im playing it from my USB 2.0 device.

  113. Former user Account Deleted

    Comment # 131 originally posted by cheatfreak47 on 2012-07-03T22:48:20.000Z:

    specifically after i played it a while.

  114. Former user Account Deleted

    Comment # 132 originally posted by brymaster on 2012-07-04T01:30:11.000Z:

    Sonic CD - playing from SDHC card and it freezes trying to load the next level

  115. Former user Account Deleted

    Comment # 134 originally posted by cheatfreak47 on 2012-07-04T04:02:03.000Z:

    woohoo. we have it confirmed. glad it isnt my USB device.

  116. Former user Account Deleted

    Comment # 135 originally posted by ekeeke31 on 2012-07-04T06:15:12.000Z:

    You mean the first act loads fine but the second dosen't ? Or the level after the first boss ? I did not tested so far actually. Again, please make a separate issue for game specific bug and again, please indicate what bios it was running (pal, us, jp ? model 1 or 2 ? revision ?) and try with different bios.

    Issue with stuttering sound in CD games should have their own issue too: a good way to know if it is indeed a problem with PCM chip emulation is to set FM volume to 0 in audio settings and verify you can still here the music. Also try if this got fixed with VSYNC disabled to see if it's due to emulation speed dropping.

  117. Log in to comment