Intel sponsors gamedev.net search:
Any Colour You LikeBy benryves      

Sunday, February 24, 2008
On bakery2k1's suggestion, I took a look at my sprite collision flag code. It only checked for collisions between sprites appearing in the foreground - sprites that were hidden behind a background tile weren't checked, which caused the Fantastic Dizzy bug.


I have decided to give Google's free project hosting a whirl. As usual, they can't get it working in Opera (no big surprises there) and it's horrifically slow, but I can't really complain given that it's free, and the issue tracking is pretty handy.


Another game that has been fixed is the conversion of that arcade classic, Gauntlet. This was partially due to buggy controller port emulation, but a long-standing bug has been the lack of the y-scrolling inhibition flag. Games could set a flag on the VDP that would prevent the rightmost 64 pixels from scrolling vertically - this is useful to create a locked status bar on the right for a vertical scrolling game, for example.


I'm slowly getting there with FluBBa's VDP tester...

Comments: 5 - Leave a Comment

Link



Comments
 Journal of benryves
Post Reply
Nice to see it actually get hosted, I plan on having mine hosted soon as well. It'll be interesting to see the source, but it'll have to wait since I'm up north on a crappy 56k connection.

Is there any reason you went with Google? I'm considering CodePlex, but I've never hosted anything so I wouldn't know the difference(other than how they look).

  User Rating: 1572   |  Rate This User     Send Private MessageView ProfileView JournalView GD Showcase EntriesReport this Post to a Moderator 

Quote:
Original post by Scet
Nice to see it actually get hosted, I plan on having mine hosted soon as well. It'll be interesting to see the source, but it'll have to wait since I'm up north on a crappy 56k connection.
That's more than sufficient for Google's sluggish SVN service.
Quote:
Is there any reason you went with Google? I'm considering CodePlex, but I've never hosted anything so I wouldn't know the difference(other than how they look).
I picked Google purely because the SlimDX guys are using it, so though that if it's good enough for them, it can't be all that bad. I've been using SVN locally, and as far as I can see CodePlex doesn't offer an SVN service - it was nice to be able to synchronise the repositories, even if it took three failed attempts to get Google to finally start accepting the data (and then taking over an hour to upload!)

Really, it's just nice to have some issue tracking stuff and an automatic off-site backup at my disposal. I'll still be using my personal web hosting to host the final binaries.

I just wish Google would hire one guy who could get their stuff working in Opera, though.

  User Rating: 1970   |  Rate This User     Send Private MessageView ProfileView JournalReport this Post to a Moderator 

I'm glad my, um, "educated guess" about Fantastic Dizzy helped.

Thanks for making the code for Cogwheel openly available. I managed to check it out from your SVN repository, but this took a bit of doing since the SVN checkout instructions on your Google Code "Source" page seem to be incorrect - they refer to a non-existent "trunk" top-level directory in the repository.

I've spent a little time looking through the code; I'm always looking to improve my C# and I've picked up a few tips from it. In return, I'd like to help you out with your interrupt problems:

The Z80 does not have the concept of "(maskable) interrupt pending". If the /INT line is lowered (made active) and raised again while interrupts are disabled, this will be missed - there will be no interrupt taken when they are enabled again. This is why the VDP keeps the /INT line low until the control port is read, the idea being that a program reads the control port in its interrupt handler.

A very quick change to your code to emulate this behaviour is to simply change line 47 of "Fetch Execute.cs" from:
if (this.InterruptPending) {
to:
if (this.Interrupt) {
This fixes a few of the "Issues" on your Google Code page, including "Desert Speedtrap" and "Aladdin". It also fixes the "Register Mirrors" VDP test, since this test uses the hblank interrupt enable bit in the VDP registers to test the mirroring.

On the other hand, /NMI is edge- rather than level-triggered and I believe your use of "NonMaskableInterruptPending" is correct.

Thanks again, and keep up the good work!

  User Rating: 1408   |  Rate This User     Send Private MessageView ProfileReport this Post to a Moderator 

Quote:
Thanks for making the code for Cogwheel openly available. I managed to check it out from your SVN repository, but this took a bit of doing since the SVN checkout instructions on your Google Code "Source" page seem to be incorrect - they refer to a non-existent "trunk" top-level directory in the repository.
Sorry about that. Google assume a repository directory structure with a trunk subdirectory for source code and a wiki subdirectory for Wiki entries, and their documentation reflects that. I have now moved all the source code into a trunk subdirectory as they suggest - thanks for the heads up!

Quote:
I've spent a little time looking through the code; I'm always looking to improve my C# and I've picked up a few tips from it.
Starting with "how not to decode Z80 instructions", I suspect. The code is quite a mess.

Quote:
The Z80 does not have the concept of "(maskable) interrupt pending". If the /INT line is lowered (made active) and raised again while interrupts are disabled, this will be missed - there will be no interrupt taken when they are enabled again…
Thank you again for your advice, this has certainly fixed a large number of problems.

Quote:
Thanks again, and keep up the good work!
Cheers for all the help you've been giving me thus far!

  User Rating: 1970   |  Rate This User     Send Private MessageView ProfileView JournalReport this Post to a Moderator 

Maybe assembla would work in Opera? I've been forced to use it for a team project, and it's not too bad. Again, the SVN service seems to be fairly slow. I haven't found a free service which is fast (and my non-free web host, which offers SVN, is also slow too).



  User Rating: 1579   |  Rate This User     Send Private MessageView ProfileView JournalReport this Post to a Moderator 


Post Reply 

All times are ET (US)

 
S
M
T
W
T
F
S
1
2
3
4
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

OPTIONS
Track this Journal

 RSS 

ARCHIVES
September, 2010
August, 2010
July, 2010
June, 2010
April, 2010
March, 2010
February, 2010
January, 2010
December, 2009
November, 2009
October, 2009
August, 2009
June, 2009
May, 2009
March, 2009
February, 2009
January, 2009
December, 2008
November, 2008
October, 2008
September, 2008
August, 2008
July, 2008
June, 2008
May, 2008
April, 2008
March, 2008
February, 2008
November, 2007
October, 2007
September, 2007
August, 2007
July, 2007
May, 2007
April, 2007
February, 2007
January, 2007
December, 2006
November, 2006
October, 2006
September, 2006
August, 2006
July, 2006
June, 2006
May, 2006
April, 2006
March, 2006
February, 2006
January, 2006
December, 2005
November, 2005
October, 2005
September, 2005
August, 2005
April, 2005
February, 2005
January, 2005