Sega Master System / Mark III / Game Gear|
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew
SEGA SC-3000/SG-1000 FLASH EMULATORPosted: Sat Jun 19, 2010 3:20 pm
Last edited by Bimbo72 on Wed Sep 01, 2010 8:57 am; edited 1 time in total
Hi to everybody!
finally I could manage to develop my personal FLASH AS3 version of SEGA SC-3000 Emulator.
This emulator is in a very early stage, still many bogs to fix, especially for some games that have strange behaviours, even if others runs almost good.
Actually emulation is for PAL at 50Hz refresh but Flash must be fixed to keep right refresh timings since it is deepely influenced by browser player.
I need to fix VDP class and check timings, I'mnot sure if interrupt works correctly because if i disable it by code SafariHunting graphic works, otherwise it shows graphic as you can see from emulation.
Some other fixex for the light PPI class.
I must thank SirioKD, SC3K emulator coder for help in understanding some VDP concepts.
Thanks to SHIRU's SN76489 class, which I must adapt for better performance with emulation and timings, and the Z80 class of AS3 ZXSpectrum Emulator.
I will keep you updated!
More games run...Posted: Tue Jun 22, 2010 2:37 pm
Some bugs have been fixed on Sprites rendering, and VDP Gfx mode II have been improved in performance.
Now games that runs ( hope correctly :) ) are:
CHAMPIONSHIP ICE HOCKEY
HANG ON 2
MATCH PLAY GOLF
Still have to fix keyboard support for some other games, and for
BASIC LIII B
Still have to improve audio performance with checking latency...
If you have time for enjoy some plays try it and feel free to report strange behaviours or bugs! :)
||Posted: Sun Jun 27, 2010 6:19 am|
I've been playing Dragon Wang but it runs a little slow here.
||Posted: Sun Jun 27, 2010 9:40 am|
Thank you Bock,
I am still fighting with timings and flash player... unfortunately it runs at different speeds on Firefox and Internet Explorer... I believe more in FF but i should make some optimization in speed up / delay according to the frame rate.
Maybe I should implement some frame skipping...
I still have to go on in Keyboard implementation.
A lot of work but I'm really having fun :)
||Posted: Mon Jun 28, 2010 2:39 pm|
Some more games:
Still "working" ( which means fighting ) on timings and FLASH... still PPI emlation has to be improved some bugs to fix ( the last row of the matrix doesn't work )
||Posted: Tue Jun 29, 2010 12:40 pm|
Now PPI is fixed, keyboard matrix must be completed for BASIC Cartridge.
More games as been added:
007 JAMES BOND
Some more optimizations have to be done for sprites, i.e. in JAMES BOND are not rendered properly, and some times patterns are not displayed correctly.
Does Dragon Wang is better now ?
||Posted: Fri Jul 02, 2010 3:38 am|
|Nice work. Seems to run fullspeed on my I7 @ 4GHz.|
||Posted: Fri Jul 02, 2010 10:07 am|
Actually is very difficult to correctly set up FLASH player to have a "common" frame rate on most pc/browser... so the fight is still open.
Now I have fixed sprite rendering, and added some games which had problems in showing them.
Then I improved timings and added ZIPPY RACE even if there is still some work to do with them.
It' important to me having an idea on your system and performance of this project... I know it's not a "competitive" SG/SC emulator, but with this project I'm expoanding my know how in AS3 programming.
So feel free to leave your feedbacks even if negative! :)
||Posted: Fri Jul 02, 2010 2:26 pm|
fixed the interrupt line handling, so now run
Now timings should be better even not perfect, I used the TIMER trigger of AS3, which in addiction to a more correct use of interrupt and timings should give more performance.
Soon I will test homebrew cartridges...
Have a nice Weekend and enjoy!
||Posted: Tue Jul 06, 2010 8:12 pm|
I'm adding some controls for emulation, maybe I can better fix timings by calculating frame building time...
However now you can play and pause emulation...
Posted: Thu Jul 08, 2010 11:57 am
Last edited by Bimbo72 on Wed Sep 01, 2010 8:57 am; edited 1 time in total
Hi to everybody...
some news for this AS3 Emulator... while fighting with timings and some "frameskip" routine to implement, I thought about all tapes we have for SC-3000, and of course that it would be a good thing to play them online...
I have modified the Bitstream tape player on our site www.sc-3000.com, and made it work on this emuator!
Tape routines are simple because the tapestream format is already digital, so no conversin is needed from audio waveform to bit... Since we already have many tapes in this format it was good to implement it.
Actually one title can be played, since I need to build up a file selector, but right now, this is an example for you.
||Posted: Tue Jul 13, 2010 4:49 am|
Any chance of getting some source code? I think with some work this could be expanded into a MSX emulator too =)
As for specs, here on my laptop it runs a little slow - on a 1.86ghz Celeron M, 1Gb of RAM on XP SP2 (yeah, it's old, I know, but pretty fast for what I need)
It ran faster on IE8 than on Firefox3... but while Orguss was at 100% speed, games like Drol or Galaga were slower, even on IE8;
Edit: I was playing Orguss, when suddenly it froze. (I was flying, with water below me, had lost 1 life, and I shot - froze playing the explosion sound)
Edit2: Tried it again, froze on the same part.
||Posted: Tue Jul 13, 2010 8:03 am|
Hi SLotman, thank you for your appreciation on this project :)
Actually I couldn't believe to arrive at this point, I mean, I know that Flash is not the proper environment for developing this kind of applications... :P
ONLINE = JAVA... But, since I am a flash developer, and a "TRULY IN LOVE OF SC-3000" user, it has started as a challenge.
I know it is possible to to optimze this emulator more over to speed it up, but it will be difficult to test on older machines, so that's why your help is precious!
I noticed that each Flash player ( Internet Explorer, Firefox, Safari, Opera etc...) are implemented in different ways... the main speed is influenced by PC speed, Flash player, other applications running in background...
So the solution could be a strong "frame skip routine"... and some trranslation of the emulator code in AS3 native code. I'm still working on some solution, but sometimes, after some modifications, it happens that not all games work ( ie ORGUSS problems) Each time I try to trim timings some game have problem... :(
I wil fix it... :)
I won't publish source code right now... it has to be fully commented in English, and it has to be tested more, but as soon as I reach a more stable version I will.
It was a new world for me, and I had to learn many things on hardware, interrupts and emulation techniques. :)
Now the idea is to try to fully implement an SC-3000 with tape player ( saving/ loading bitstreams), SP-400 emulation with a bitmap output of the plot, and some nice graphic interface to play all things :)
I want it "modular" as much as possible to use classes and swf to build up other systems also like MSX, COLECO, TI99/4A and other similar ones.
I know that flash will grow more over in future, so it will be nice to have a complete system online :)
I will update son some new version with timings fixed!
OT: By the way does anybody of you know the SP-400 serial printer protocol ?
||Posted: Tue Jul 13, 2010 6:49 pm|
OK, I've added some functions... fps and frame time on the top... Now you have some parameters to check the speed on your pc.
Then I've optimized the as3 code a little: used some faster coding techniques.
Now it should run faster, I hope :)
New optimizationsPosted: Thu Jul 29, 2010 4:11 pm
Last edited by Bimbo72 on Wed Sep 01, 2010 8:58 am; edited 1 time in total
I've decided to move to FlashDevelop and FLEX SDK, that helped in a better compilation of emulator.
SirioKD has given me some suggestiona and tricks to implement some cache system, so I could speed up everything and reach 6 milliseconds to render a frame of EXERION on a Centrino Duo 1.83Ghz, 2GB RAM,Windows VISTA, ie8.
Here it is the new link (there's no the GUI for pause and TAPE control, this will be added back in some days hopefully).
AS3 is really interesting, and I'm learning really nice programming techniques :)
I would appreciate your feedback in how fast/slow it runs on your PC :)
SCORES and HI SCORES Traced from RAMPosted: Fri Jul 30, 2010 11:05 am
Last edited by Bimbo72 on Fri Jul 30, 2010 1:42 pm; edited 2 times in total
Hi, I'm adding the score tracing function on the emulator...
For future uses, but it's really interesting the way scores are stored on ram.
Here there are first 5 games actually implemented:
Star Jacker, Sega Galaga, Flicky, Exerion, Congo Bongo.
Check the proper thread for details on RAM Locations.
Re: SCORES and HI SCORES Traced from RAMPosted: Fri Jul 30, 2010 12:03 pm
This is quite interesting. May I suggest that you create a new thread dedicated to gathering those information?
FLASH AS3 SC-3000 Emulator - Version 2Posted: Wed Aug 18, 2010 3:49 pm
Hi to everybody!
I'm glad to announce that the new version of my AS3 emulator of SEGA SC-3000 is ready...
I've thought to implement a memory state save/load features so that you can save your plays and continue them later by loading them.
Since I've implemented the tape loader of bitstream cassettes, I've also started to create some memory states of most interesting tape games.
This will let you try them without waiting long time for loading.
Or you can try to create some BASIC program and save the memory state to go on later... :)
Now I will go on in bug fixing and with HI SCORE saving routines...
Hope you will enjoy the new emulator, features and look!
Feel free to report bugs!
AS3 MSX Emulator from SC-3000 emulator is born :)Posted: Mon Nov 08, 2010 12:05 am
I could build an MSX emulator starting from my SC-3000 AS3 emiulator...
Actually many titles run but that system is more complex because cartridges have several rom mappers... There are also several audio chips to emulate, and also the memory is more complex than SC-3000.
However, now you can test some titles, and some Konami titles with Konami4 Rom mapper + SCC audio chip emulated.
Some bugs still to fix, but working :)
||Posted: Mon Nov 08, 2010 1:36 pm|
Francesco! You are a huge credit to the emulation and retro gaming scene. Thank you for your emulator. :)
I particularly liked the tape games - Sorcerer's Apprentice and Decimator - I've never seen those two before. Michael Boyd is a genius, I think he made some of the best SC-3000 games. My favourite of his is Caverns of Karanor.
Although, I did have some trouble with the controls, I don't know if it's because I'm on a Mac, but I had to use A & Z for up and down and ; and / for left and right... is that normal?
Most of the cartridge games seem to run well, except I couldn't get Zoom 909 to work.
Thanks again! :)
||Posted: Tue Nov 09, 2010 8:48 am|
Thank you very much!
You are too kind! However my first goal with this SEGA SC-3000 emulator in AS3 was to give the possibility to play titles on tape online... This if a feature that is not common in the Emulation panorama.
Now it is in continuous evolution due to the msx and colecovision emulation, but this maybe cause some new buga, fixed later with the standardization of functions and procedures.
You are right Zoom909 has some problems, I will fix it soon :(
For the keyboard the problem is the keycode emulation. Your config is probably different from mine, so I need to change the keys for triggers... or a more elegant solution would be to design a keyboard configurer :P I will add to the "Wish list" :)
Concerning tape games, the keyboard of reference is the SC-3000 one, and creators of those games used that for movements... this is a problem, that can be resolved with a configurator.
So keep in touch :)