Next Generation Emulation banner

RetroCopy v0.400B Released

12932 Views 37 Replies 11 Participants Last post by  cottonvibes
RetroCopy v0.400B has been released. RetroCopy is a cycle accurate Sega Master System, Nintendo and Arcade emulator.

This one has a lot of major additions.

If you are an emulator related site could you please link to the individual emulator pages for RetroCopy if you put it in any categories :-
Sega Master System (SMS) Emulator for the Sega Master System emulation
Nintendo Entertainment System (NES) Emulator for Nintendo emulation
Arcade Emulator for Arcade emulation

What's new?

-[EMU] Added Sega System E arcade emulation. The first cycle accurate Sega System E arcade emulator. It's more accurate than MAME and sounds better!
-[EMU] Added new YM2413 (SMS sound chip) emulator which sounds a lot better than old one
-[EMU] Improved SMS/SEGAE VDP performance by 40%
-[EMU] Improved Z80 emulator performance by 20%
-[EMU] Changed the way the YM2413 and SMS-SN79489 were emulated in comparison to other components. They are now accurate to the cycle in line with the Z80/VDP rather than being slave devices, this comes at a small cost in performance but is less cluttered
-[EMU] Fixed SN79489 bug where data byte wasn't correctly setting noise channel low bits and a bug with noise channel using incorrect period when set to TONE2 mode
-[EMU] Fixed various bugs relating to border emulation in the SMS VDP
-[EMU] Added TMS9918 chaining to the SMSVDP
-[EMU] Switched default NES buttons around to match real control pad (NIKOLA)
-[EMU] Fixed a few bugs in the Z80 core relating to undocumented instructions that the SEGA E games used
-[EMU] Refactored every emulator core and implemented versionized save states in preparation for disk loading/saving

-[CORE] Added an emulator benchmark. Allows you to see how many millions of emulated cycles your system can push. The latest CPUs are getting close to 150 million emulated cycles in RetroCopy now!
-[CORE] Implemented new GAME ROM format based on suggestions from users. Now each GAME file can have multiple ROMs inside it, each with their own settings. Works for every system whether console or arcade and achieves compression ratios 20:1 and over in some cases over plain ROM data. There are too many new GAME features added to list here so check my blog for more details.
-[CORE] RetroCopy now automatically converts SMS/NES/ARCADE ROMs it detects to new GAME format on first load, no more trouble with conversion as it's seamless
-[CORE] Added graphics filters SCALE2x / SCALE4x / SCALE4x with scanlines, they run in a separate thread to maximize performance on multicore CPUs.
-[CORE] Added pixel filter and made it the default when fullscreen. Can switch between this and linear filtering with all the filters
-[CORE] Added ability for cores to specify video rotations if necessary for arcade games, like those in the sit down ****tail format
-[CORE] Fixed bug that stopped fast forward working
-[CORE] Fixed crash bug for people with old or non existant OpenGL based hardware. RetroCopy now works in the Microsoft "Software" renderer though hardware accelleration is a lot better.
-[CORE] Stopped SDL from dynamically creating some text files (stderr.txt and stdout.txt)

-[3D] Tweaked the pixel shaders a little bit to give a better lighting effect
-[3D] Fixed an issue with mouse view movement giving variable results depending upon the framerate

-[GUI] When clicking on PLAY GAMES the default is now looking at a game list with a 3D TV already selected, rather than having to first select a 3D TV to play on
-[GUI] Changed around the "in game" menu buttons and mode a more distinct difference between the 3D world and playing games
-[GUI] Added a different way to roam the virtual 3D game room using the mouse scroll buttons (Tommy)
-[GUI} Added UNICODE (UTF-8 externally, UTF-16/32 internally) support to the GUI, though none of the current fonts support the more exotic languages.
-[GUI] Changed GUI to accept resource image/cursor data as a per project setting
-[GUI] Added more cursor modes to give some feedback to the user
-[GUI] Added features to listview such as in place editing, indenting, etc
-[GUI] Fixed some small bugs in the software renderer
-[GUI] Added YEAR RELEASED and NUMBER OF PLAYERS to the game display list, taken from the GAME file.
-[GUI] Now up to six 3D game covers can be loaded when you click on a game
-[GUI] Increased size of 3D gamebox window to fit in more 3D boxes at once
-[GUI] Added new Sega Master System 3D gamebox which is a lot more accurate and based on real world dimensions
-[GUI] Added shader based lighting to the 3D Gameboxes (if capable) which makes them near photo-realistic now.
-[GUI] Changed the way you select to play SMS games. Now you select the console you want (SMS2 PAL, JAPANESE SMS, MARK III, SMS1 NTSC, etc) instead of selecting the video/region settings manually. There are slight differences in each console and RetroCopy emulates them for accuracy
-[GUI] Implemented keyboard navigation and searching within listview contents
-[GUI] Improved the game select screen and added some icons

-[GAMEDB] Wrote a completely new GAME database editor in the RetroCopy GUI code. If you want to help with becoming a GAME ROM database maintainer for the NES/SMS/etc please contact me.
See less See more
1 - 20 of 38 Posts
wow Ralph, that is quite the changelog, nice work mate. The benchmarking tool is quite unexpected.
The benchmark is only primitive at the moment but it does give a good indication of how well your CPU can emulate systems. I will extend it over the next few versions to do multicore tests and things of this nature which will be cool. A new way to "real world" stress test your CPU in a 3D environment. Goodbye Prime95 ;)
Nice work :D

Going to try this out now :)
Awesome job!!!! just the kind of software i always wanted to see!!! "Standard Emu- GUI" SHOULD DIE AND BURN IN HELL!

It vaguely reminds me of what Sch3rz0 did with NesterDC SE, having a boxart based browser, but this is simply brilliant.
Thanks, downloaded...
Do you know what I am gonna say? It`s [Double V, OH, Double V] - a.k.a. WOW!!! THIS IS SO FREAKIN` COOL frontend!!!!!! Will it work on linux-wine, btw? And if you add SNES... I`ll root in my house...
Thats amazing, RetroRalph, truly wonderful emulator.
Thanks for the kind words guys!

Awesome job!!!! just the kind of software i always wanted to see!!!"Standard Emu- GUI" SHOULD DIE AND BURN IN HELL!
It was just a playful look at things! :)

I think there have been quite a few well designed emulators over the last decade (though most around the DOS era were the best as they all had to be custom). I like your work too.
I may have found a bug, retroralph.
If I put a fair few roms in either the nes, or sms directories, the emulator just crashes when you click on play game. I'm finding that anymore than around 50+ roms and it just crashes, for me anyway.
Quite a few roms are also missing from the database, just for example, the sms rom "Astro Warrior & Pit Pot (UE)" isn't recognised.
Also, is "Input" working ? Or is this sort of a WIP ?
Are you using Vista or Win7 with UAC on by any chance? I've tested converting 1000 roms at once and it went fine, but all those files didn't have things like "Read only" flags or anything else weird. One tester found an early bug that if something was read only it couldn't delete it and that led to issues that I thought I fixed.

Depending upon the ROMs you have they may be "dirty" as in have a 512 byte header. RetroCopy eventually will support all dirty ROMs and clean them up itself but you may have to use another tool (SMSChecker is a good one). A clean version of Astro Warrior and PITPOT is in the database.

A feature coming for 0.500B is allowing the auto converting of unknown .SMS/.NES games and show them as such in the interface. At the moment it can be a bit clunky when it finds games it isn't aware of and keeps telling you about them. :)

I'll also be releasing my database editor sometime so that people can create new ones for their own homebrew games so that no conversion is needed. Until a few versions away the GAME format may change a little bit if things are found. I thought it was good for instance until someone suggested also including foreign names along with a converted english name, such that you could see real japanese/korean/etc names for games instead of the englishized version. I can't really see what else can change in the main part of the GAME format though, so it should be fine. There are system specific headers though and the NES currently doesn't have it's own new one and uses the old INES format. I want to change this but need help from any NES interested guys due to the amount of games.

Also what do you mean by "input" it should be working except for the light phaser. Due to the switch to 3D I had to remove the old light phaser code. I was thinking of adding a "Call of Duty" type feel such that you have a virtual light gun in your hand and had to aim it at the screen. I think controlling a simple mouse cursor is too easy for these games and it kind of kills the fun when it isn't a challenge.
See less See more
The SMS part doesn't work well with my XBOX 360 (wired) controller, it won't "center" and if I could make a request, please let us map controls for the games, individually or based on system if possible...
The SMS part doesn't work well with my XBOX 360 (wired) controller, it won't "center" and if I could make a request, please let us map controls for the games, individually or based on system if possible...
Yeah these features are all planned for 0.500B. I had a few issues with the joystick too (every now and then it would think it was pressed when it wasn't) so I will have to look at the code again when I add configurable input options and maybe have dead zone type options.

0.500B won't be very long away because all the things planned for next version are rather small compared to everything I got done in this last version. I'm hoping for a release next Friday.
Thanks, it is very nice, and looks promising...
Nope, no UAC here, or read-only roms. Tried loads of things like run admin, rom checkers, etc.. They're also all on a separate HD without any protected folders. OS is Vista 64 SP2.

BTW, isn't SMSChecker old ? Last update appears to be around 2005. My roms are TOSEC checked and named.
Well you might want to try doing "groups" of ROMs and finding the one or the few that are causing issues, it would help me to know what is causing it! :) I'm betting there is one in there that might be a bit weird or something.

SMSChecker might be a bit old but it cleans/fixes ROMs. I'm not sure that the tool you used for TOSEC renaming fixes the header, I know GoodSMS doesn't by default. They just seem to "skip" the header. There isn't much released for SMS/GG in the last few years anyhow.
Cheers, ralph, I'll have a play with SMSChecker in the morning, although its that now, gone 3am.
I can't help you anymore, sorry, as the emulator simply closes without any kind of error messages.
Awesome job!!!! just the kind of software i always wanted to see!!! "Standard Emu- GUI" SHOULD DIE AND BURN IN HELL!
Some people prefer a lightweight gui over an over-the-top fancy gui or 3d one.

In the end though the emulation is what really matters, a prettier GUI is just a nice feature.


i tried the emu, and here are my suggestions:

You shouldn't delete the roms people have without a warning. i got pretty pissed when i saw that retrocopy decided to delete my roms in favor of its own madeup system.
And why makeup your own file system anyways? it just makes things incompatible with other emus.

Also, why can't you play roms that aren't found in the data base?
the database seems to only be needed to give the # of players information, title, and the year the game was made.
none of this stuff is required to emulate a game.

finally, IMO the controls to switch from attached tv to 3d mode, and to switch from menu to ingame and etc... were all horrible.
it made me dizzy.

anyways sorry to diss the emu, but i was expecting it to be cooler from the fancy videos implying its better than all the other emus listed.
(also i should mention it crashed for me 3 out of the 4 times i played around with it)

of course since the emu is relatively new, most of this stuff might be fixed in time...
See less See more
Some people prefer a lightweight gui over an over-the-top fancy gui or 3d one.

In the end though the emulation is what really matters, a prettier GUI is just a nice feature.
i agree with most part of that :p eventhough i know its a bad habit from C/C++ coders and the reason is quite obvious C/C++ is a pain even to create a simple GUI as it requires you to write a "Small Bible" so to say in order to have a crappy GUI at least. i can understand that as am a C/C++ coder myself.

anyways i think sometimes is laziness or just lack of GUI design knowledge to create something acceptable. in my case GUI design is more than that... its a passion to say the least as i love to create my own controls and even the logic behind and don´t limit myself with the Windows/coding tools ones :thumb:

anyways you have a nice point there but many other people see that different and nowdays you believe it or not graphics/GUI design is turning into a very important area as its required everywhere. to me a great coded Emulator with a crappy GUI can be viewed that way:

The Emulator(powerfull ferrai-enzo engine):

The GUI(a Fiat-Panda shape):

to my eyes it simple doesn´t match toguether but it depends on people views :evil: :evil: :evil:
See less See more
1 - 20 of 38 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.