Forums

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

View topic - SEGA SC-3000/SG-1000 FLASH EMULATOR

Reply to topic
Author Message
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
SEGA SC-3000/SG-1000 FLASH EMULATOR
Post Posted: 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.

http://www.digimorf.com/fsc3k/

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!

Francesco.
SC-3000 Survivors.
  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
More games run...
Post 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:

BLACK ONYX
BOMB JACK
CONGO BONGO
C SO!
CHAMPION BASEBALL
CHAMPION BILIARD
CHAMPION KENDOU
CHAMPIONSHIP ICE HOCKEY
CHAMPIONSHIP LODERUNNER
CHAMPION TENNIS
CHAMPION WRESTLING
CHOPLIFTER
DRAGON WANG
DROL
ELEVATOR ACTION
GIRLS GARDEN
GOLGO 13
GP WORLD
GULKAVE
GUZZLER
HANG ON 2
HUSTLE CHUMY
HYPER SPORTS
MATCH PLAY GOLF
MONACO GP
N-SUB
NINJA PRINCESS
ORGUSS
PACAR
PACHINKO II
PENGUIN LAND
PITFAL II
POP FLAMER
ROCK'N'BOLT
SAFARI HUNTING
SEGA FLIPPER
SEGA GALAGA
SEGA MAHJONG
SERIZAWA
SINDBAD MYSTERY
SOUKOBAN
SPACE SLALOM
SPACE INVADERS
STAR JACKER
STAR FORCE
THE CASTLE
TOORUKUN
WONDER BOY
YAMATO
ZAXXON
ZOOM 909

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! :)
Thank you.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8109
  • Location: Paris, France
Reply with quote
Post Posted: Sun Jun 27, 2010 6:19 am
Nice :)

I've been playing Dragon Wang but it runs a little slow here.
  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
Post 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 :)
  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
Post Posted: Mon Jun 28, 2010 2:39 pm
Some more games:
EXERION
BANK PANIC
CHACK'N'POP
CHAMPION SOCCER
HERO

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 )
  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
Post 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:

QBERT
CHALLENGE DERBY
CHAMPION GOLF
OTHELLO
LODE RUNNER
SPACE MOUNTAIN
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 ?
  View user's profile Send private message Visit poster's website
  • Joined: 27 Oct 2009
  • Posts: 138
Reply with quote
Post Posted: Fri Jul 02, 2010 3:38 am
Nice work. Seems to run fullspeed on my I7 @ 4GHz.
  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
Post Posted: Fri Jul 02, 2010 10:07 am
Thanks

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.

BORDERLINE
SUPER TANK
SPACE ARMOUR

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! :)
  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
Post Posted: Fri Jul 02, 2010 2:26 pm
Another update...
fixed the interrupt line handling, so now run

FLICKY
ZIPPY RACE
SAFARI RACE

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!
  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
Post 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...
  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
Post 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.

http://www.digimorf.com/fsc3k/

ENJOY!
  View user's profile Send private message Visit poster's website
  • Joined: 30 Jul 2008
  • Posts: 39
  • Location: Brazil
Reply with quote
Post 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.

  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
Post 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!
THANK YOU!

OT: By the way does anybody of you know the SP-400 serial printer protocol ?
  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
Post 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 :)

Enjoy!
  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
New optimizations
Post Posted: Thu Jul 29, 2010 4:11 pm
Last edited by Bimbo72 on Wed Sep 01, 2010 8:58 am; edited 1 time in total
Hi!
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).

http://www.digimorf.com/fsc3k/

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 :)
Thank you!

Enjoy!
  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
SCORES and HI SCORES Traced from RAM
Post Posted: 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.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8109
  • Location: Paris, France
Reply with quote
Re: SCORES and HI SCORES Traced from RAM
Post Posted: Fri Jul 30, 2010 12:03 pm
Bimbo72 wrote
Hi, I'm adding the score tracing function on the emulator...

This is quite interesting. May I suggest that you create a new thread dedicated to gathering those information?
  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
FLASH AS3 SC-3000 Emulator - Version 2
Post Posted: 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...

http://www.digimorf.com/fsc3k/

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!
  View user's profile Send private message Visit poster's website
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
AS3 MSX Emulator from SC-3000 emulator is born :)
Post Posted: Mon Nov 08, 2010 12:05 am
Hi,
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 :)

www.digimorf.com/ASmsx

Enjoy it!
  View user's profile Send private message Visit poster's website
  • Joined: 15 May 2006
  • Posts: 50
  • Location: Sydney, Australia
Reply with quote
Post 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! :)
  View user's profile Send private message
  • Joined: 08 Aug 2005
  • Posts: 203
  • Location: Italy
Reply with quote
Post 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 :)
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!