RetroCopy v0.400B Released
October 27, 2009 by RetroRalph
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.


Comments
Going to try this out now
It vaguely reminds me of what Sch3rz0 did with NesterDC SE, having a boxart based browser, but this is simply brilliant.
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.
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 ?
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.
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.
BTW, isn't SMSChecker old ? Last update appears to be around 2005. My roms are TOSEC checked and named.
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.
I can't help you anymore, sorry, as the emulator simply closes without any kind of error messages.
In the end though the emulation is what really matters, a prettier GUI is just a nice feature.
@retroralph:
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...
Last edited by cottonvibes; 3 Weeks Ago at 10:49..
In the end though the emulation is what really matters, a prettier GUI is just a nice feature.
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
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
Last edited by @ruantec; 3 Weeks Ago at 12:02..