Alex kidd in Miracle World SMS to Genesis/Megadrive port

Announce (tech) demos or games releases

Moderator: Mask of Destiny

oofwill
Very interested
Posts: 173
Joined: Mon May 03, 2010 6:12 pm
Location: France - Niort

Alex kidd in Miracle World SMS to Genesis/Megadrive port

Post by oofwill » Thu Mar 14, 2013 4:25 pm

Hello,

Always to increase my knowledge in coding, i've started to port Miracle World, one of my favorite master system game.

i'm working on level 1, there's some bugs again, but i'm pretty happy since it begin to look to original game :)

this is working on emu, but there is some problems on real hardware.

Here's a video of actual state.

Here you will download a rom to test it.

Please give me your feelings, your advice and, if some persons could test it on hardware and tell me what they think of the bugs?

Many thanks :)

peekpoke
Interested
Posts: 37
Joined: Fri Feb 01, 2013 1:11 am

Post by peekpoke » Thu Mar 14, 2013 8:02 pm

Wow! Thats very nice! About problems with running on real hardware, try to update ur SGDK to lastest version, if not yet... (and if u use SGDK of course)

Im too writing some "port" (without source) of one well known game, but im on very preliminary stage. Very great to see such advanced projects! Good luck to you!

djcouchycouch
Very interested
Posts: 710
Joined: Sat Feb 18, 2012 2:44 am

Post by djcouchycouch » Thu Mar 14, 2013 8:14 pm

Very nice!

oofwill
Very interested
Posts: 173
Joined: Mon May 03, 2010 6:12 pm
Location: France - Niort

Post by oofwill » Thu Mar 14, 2013 8:43 pm

Thanks!

I'm already using latest version of SGDK. I think something's wrong in my initialisation since sometimes there's no problems, and other times...

peekpoke, don't you want to tell what game you are writing?

peekpoke
Interested
Posts: 37
Joined: Fri Feb 01, 2013 1:11 am

Post by peekpoke » Thu Mar 14, 2013 9:03 pm

Maybe something with VDP timings? We had such problem with raycaster (worked on emus, but froze on hardware), but Chilly Willy found solution. He just added some delays before few VDP calls, and it stop freezing.
oofwill wrote: peekpoke, don't you want to tell what game you are writing?
Oh thx, for asking! But, I think i dont have moral right to name this game yet, because i really on very early stage - did one level only, only main character, simple parallax scrolling, just added collision map, but collision detection still buggy. When, i at least, finish this collision detection, i will be glad to show it :) Oh, and implement jumping, because right now, main character may fell into pit holes, but cant jump out of them xD
Last edited by peekpoke on Thu Mar 14, 2013 9:07 pm, edited 1 time in total.

oofwill
Very interested
Posts: 173
Joined: Mon May 03, 2010 6:12 pm
Location: France - Niort

Post by oofwill » Thu Mar 14, 2013 9:04 pm

Ok, i will be waiting for your announce :mrgreen:

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Fri Mar 15, 2013 2:12 am

Holy carp !

This is impressive !

I have to note that this does not work in emulation in 50Hz, only in 60Hz. This is maybe where the problems on real hardware come from too.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

oofwill
Very interested
Posts: 173
Joined: Mon May 03, 2010 6:12 pm
Location: France - Niort

Post by oofwill » Fri Mar 15, 2013 10:32 am

Dunno...

On RH, this is working either 50 or 60hz.
In fact sometimes this is working, and sometimes fully buggy, in 50 or 60Hz.

It sad since i don't want to play it on emu... ^^

djcouchycouch
Very interested
Posts: 710
Joined: Sat Feb 18, 2012 2:44 am

Post by djcouchycouch » Fri Mar 15, 2013 12:55 pm

What kind of problems are you encountering? Are you able to provide screenshots or videos that show it off?

oofwill
Very interested
Posts: 173
Joined: Mon May 03, 2010 6:12 pm
Location: France - Niort

Post by oofwill » Fri Mar 15, 2013 1:47 pm

Yes, have a look at this video : http://youtu.be/mC6XHJDKvVc

First time, seems to be ok but collide doesn't work properly (but not all the time buggy...)
Then, game just desn't want to play.
Finally, game start, collide's ok (just the very forst box, this box is never ok!) but there are some draw bugs on screen...

djcouchycouch
Very interested
Posts: 710
Joined: Sat Feb 18, 2012 2:44 am

Post by djcouchycouch » Fri Mar 15, 2013 3:01 pm

Looking at the video, it certainly smells like uninitialized memory.

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Sat Mar 16, 2013 11:34 am

Very impressive :) It looks so much close to the real one !

As i told you, you have to take care of separate VDP access from main code and only do them in V-Int callback. Actually you can do them in your main code but then you have to protect it from Vertical interrupt by modifying interrupt mask register :

Code: Select all

  // doing game logic

  // save int mask level and set it to 7 (no more V-int)
  saveIntMask = SYS_getInterruptMaskLevel();
  SYS_setInterruptMaskLevel(7);

  // doing VDP access
  VDP_setTileMap(...):
  ...

  // restore mask int level
  SYS_setInterruptMaskLevel(saveIntMask);
But generally it's better to do all VDP accesses in V-Int as you know you are in VBlank period and have full speed VDP access :)

You have to know that SGDK is doing some processing on V-int, for instance if you use the asynchrone palette fading method, V-int is used to change the palette data so it can mess with your code which is also writing to VDP.

KanedaFr
Administrateur
Posts: 1139
Joined: Tue Aug 29, 2006 10:56 am
Contact:

Post by KanedaFr » Mon Mar 18, 2013 9:27 am

already on SpritesMind's Youtube favorites since v1 ;)

ps: if you have a demo not listed yet, PM me

oofwill
Very interested
Posts: 173
Joined: Mon May 03, 2010 6:12 pm
Location: France - Niort

Post by oofwill » Tue Apr 23, 2013 9:11 pm

KanedaFr wrote:already on SpritesMind's Youtube favorites since v1 ;)

ps: if you have a demo not listed yet, PM me
Nothing more than you already know ;)

Some news here.
Level one was very buggy, i decided to rewrite my engine in order to improve it.
I've done this on level two. Level is playable, without ennemies.
Alex can go in the shop, buy some items but not use it at this point.

video 07

POLYGAMe
Very interested
Posts: 151
Joined: Sun Apr 14, 2013 1:19 am
Location: Auckland, New Zealand
Contact:

Post by POLYGAMe » Fri May 03, 2013 8:50 am

Pure awesomeness :D

Post Reply