- changed status to new
Mega-CD support
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)
-
Account Deleted -
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 ;)
-
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!
-
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 ;-)
-
Account Deleted Comment # 5 originally posted by ekeeke31 on 2009-07-14T20:28:54.000Z:
issue \
#34has been merged into this issue. -
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.
-
Account Deleted Comment # 7 originally posted by ekeeke31 on 2009-09-15T14:29:38.000Z:
issue \
#21has been merged into this issue. -
Account Deleted Comment # 8 originally posted by ekeeke31 on 2009-10-22T09:27:13.000Z:
-
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!
-
Account Deleted Comment # 10 originally posted by joelwhybrow on 2010-04-15T06:10:02.000Z:
Agreed :)
-
Account Deleted Comment # 11 originally posted by ekeeke31 on 2010-05-25T06:51:35.000Z:
-
Account Deleted Comment # 12 originally posted by ekeeke31 on 2010-12-04T17:25:20.000Z:
-
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
-
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.
-
Account Deleted - changed status to open
Comment # 15 originally posted by ekeeke31 on 2012-01-17T21:41:09.000Z:
-
Account Deleted Comment # 16 originally posted by ekeeke31 on 2012-01-17T21:41:51.000Z:
-
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 =)
-
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.
-
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.
-
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
-
Account Deleted - attached scd_step0.png
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 ;-)
-
Account Deleted - changed status to open
Comment # 22 originally posted by ekeeke31 on 2012-04-09T15:36:08.000Z:
-
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.
-
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!!!
-
Account Deleted - attached scd_step1_3.png
- attached scd_step1_2.png
- attached scd_step1_1.png
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.
-
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).
-
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....
-
Account Deleted - attached scd_step2_2.png
- attached scd_step2_1.png
- attached scd_step2_4.png
- attached scd_step2_3.png
- attached scd_step2_6.png
- attached scd_step2_5.png
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.
-
Account Deleted Comment # 29 originally posted by mrdeathjr28 on 2012-04-13T03:54:02.000Z:
very thanks for your work, your progress are impressive
-
Account Deleted Comment # 30 originally posted by cheatfreak47 on 2012-04-13T06:38:38.000Z:
looks as though progress is blowing up! Thanks ekeeke!
-
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.
-
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.
-
Comment # 33 originally posted by kerframil on 2012-04-13T11:49:50.000Z:
For resampling, here's the FIR filter from mednafen:
http://code.google.com/p/wii-mednafen/source/browse/tags/0.1.1/mednafen/src/sound/Fir\_Resampler.cpp
I have no idea how fast this is but it all works well.
-
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...
-
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.
-
Account Deleted - attached scd-3-3.png
- attached scd-3-4.png
- attached scd-3-1.png
- attached scd-3-2.png
- attached scd-3-7.png
- attached scd-3-5.png
- attached scd-3-6.png
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.
-
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
-
Account Deleted - attached scd_cdboot.png
- attached scd_sforce_logo.png
- attached scd_sforce_intro.png
- attached scd_sforce_title_bad.png
- attached scd_sonic_title_bad.png
- attached scd_sonic_intro.png
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.
-
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
-
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.....
-
Account Deleted - attached scd_sonic_fmv.png
- attached scd_sonic_ingame.png
- attached scd_sforce_intro_good.png
- attached scd_sforce_title.png
- attached scd_sforce_ingame.png
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.
-
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? :-)
-
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.
-
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.
-
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.
-
Account Deleted - attached scd_pop_bad.png
- attached scd_pop_title.png
- attached scd_pop_fmv.png
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.
-
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!
-
Account Deleted Comment # 48 originally posted by thiagoalvesdealmeida on 2012-05-06T04:15:39.000Z:
Thanks ekeeke! Very impressive work, as always.
-
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
-
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!
-
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.
-
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.
-
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.
-
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.
-
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.
-
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? :-)
-
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 ;-)
-
Account Deleted - attached scd_sonic_title_good.png
- attached scd_pop_good.png
- attached scd_sonic_3dstage.png
Comment # 60 originally posted by ekeeke31 on 2012-05-13T18:24:12.000Z:
Now that the attachement limit has been increased, I can continue uploading screenshot of my progress.
Here's the result of previous bug fixes to VDP DMA from Word-RAM
-
Account Deleted - attached scd_lunar2_ingame.png
- attached scd_lunar_unlocked.png
- attached scd_lunar2_title.png
- attached scd_lunar_title.png
- attached scd_lunar_fmv.png
- attached scd_snatcher_intro2.png
- attached scd_snatcher_ingame.png
- attached scd_snatcher_title.png
- attached scd_snatcher_intro.png
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.
-
Account Deleted - attached scd_eob_ingame.png
- attached scd_eob_title.png
- attached scd_flink_ingame.png
- attached scd_flink_title.png
- attached scd_cobra_title.png
- attached scd_wonderdog_ingame.png
- attached scd_wonderdog_title.png
- attached scd_vay_title.png
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).
-
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!
-
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.
-
Account Deleted - attached scd_timegal_ingame.png
- attached scd_cobra_command.png
- attached scd_wolfteam.png
- attached scd_timegal_title.png
- attached scd_road_avenger.png
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.
-
Account Deleted - attached scd_dungeon.png
- attached scd_dune.png
- attached scd_darkwizard.png
- attached scd_batman.png
- attached scd_silpheed_intro.png
- attached scd_pugsy.png
- attached scd_jurassicparc.png
- attached scd_eternal.png
- attached scd_silpheed_ingame.png
- attached scd_silpheed_intro2.png
- attached scd_yumemmi.png
- attached scd_rotd_ingame.png
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.
-
Account Deleted - attached scd_powerranger.png
- attached scd_tomcat.png
- attached scd_dracula.png
- attached scd_fahrenheit.png
- attached scd_maddog_justifiers.png
- attached scd_nightrap.png
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 ^^
-
Account Deleted - attached scd_spaceace.png
- attached scd_dragonslair.png
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.
-
Account Deleted - attached scd_ecco.png
- attached scd_jagxj220.png
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.
-
Account Deleted - attached scd_lunar_title_2.png
- attached scd_pop_title2.png
Comment # 70 originally posted by ekeeke31 on 2012-05-24T21:03:21.000Z:
Here are two screens that better show the performance increase dued to CPU idle loop detection.
-
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
-
Account Deleted - attached scd_jagxj220_good.png
Comment # 72 originally posted by ekeeke31 on 2012-05-29T11:19:49.000Z:
Fixed some bugs with DOT Image word access, which fixes Jaguar XJ220.
-
Account Deleted - attached scd_dune_intro_fixed.png
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.
-
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.
-
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.)
-
Account Deleted - attached scd_ecco_bad.png
- attached scd_citizenx_bad.png
- attached scd_chuckrock_bad.png
- attached scd_bloodshot_bad.png
- attached scd_willybeamish_bad.png
- attached scd_thunderhawk_bad.png
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
-
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
-
Account Deleted - attached scd_willybeamish_good.png
- attached scd_willybeamish_logo.png
- attached scd_citizenx_good.png
- attached scd_shadowofthebeast.png
- attached scd_thunderhawk_good.png
- attached scd_thunderhawk_radar.png
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.
-
Account Deleted - attached scd_batmanreturns.png
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.
-
Account Deleted - attached scd_arslan.png
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.
-
Account Deleted - attached scd_wcup_fixed.png
- attached scd_fhey.png
- attached scd_corpse_killer.png
- attached scd_ecco_fixed.png
- attached scd_chuckrock_fixed.png
- attached scd_bloodshot_fixed.png
- attached scd_3x3eyes.png
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)
-
Account Deleted - attached scd_arank.png
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.
-
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.
-
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.
-
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. :)
-
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. ^\_^
-
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.
-
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.
-
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
-
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.
-
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) \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
-
Account Deleted - attached scd_arank_ingame.png
- attached scd_cosmic.png
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 :-)
-
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.
-
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.
-
Account Deleted - attached scd_thunderhawk_gfx.png
- attached scd_willybeamish_logo_fixed.png
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
-
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?
-
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 :)
-
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.
-
Account Deleted - attached scd_flux.png
- attached scd_wonderlib.png
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.
-
Account Deleted - attached scd_thunderhawk_fixed.png
Comment # 104 originally posted by ekeeke31 on 2012-06-16T14:56:54.000Z:
-
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.
-
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.
-
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
-
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. :)
-
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.
-
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).
-
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.
-
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.
-
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.
-
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!
-
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!
-
Account Deleted Comment # 117 originally posted by cheatfreak47 on 2012-07-02T09:07:34.000Z:
AMAZING
-
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?
-
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.
-
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.
-
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.
-
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?
-
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.
-
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
-
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.
-
Account Deleted - changed status to resolved
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.
-
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.
-
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?
-
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.
-
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.
-
Account Deleted Comment # 131 originally posted by cheatfreak47 on 2012-07-03T22:48:20.000Z:
specifically after i played it a while.
-
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
-
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.
-
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.
- Log in to comment
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).