Bug reports!

flash · 100727

Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #60 on: October 27, 2009, 08:54:28 am
SF,

You were using 'B' to jump weren't you :)

I had forgot to add 'B' as a jump button for the conveyor code..

Well spotted!!! ('A' still worked though :) )

Coding for the love of it!


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #61 on: October 27, 2009, 10:03:53 am
lol, yes that caused the problem. was not aware it was only the b button. a button did works fine.

The Musician for the RetroBytes Portal Projects.


Offline headkaze

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 7838
Reply #62 on: October 27, 2009, 01:28:10 pm
HK: so you just added a swiWaitforVBlank before pushing IPC values, after the decoding and loading of XM. That was also my idea, even if I wasn't sure it would really work ;)

I was also thinking the same thing but it wasn't until Flash tracked down the actual lines of code causing the stutter that we could figure out where to place the swiWaitForVBlank. Before then we tried it in different places without effect. Flash also said this method didn't actually fix it for him which is really strange, I tried it twice and it worked both times for me. Right now though it's using the VBlank interrupt on ARM7 to read the IPC values instead of the IPC interrupt method which also seems to fix it.



Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #63 on: October 27, 2009, 01:41:02 pm
Right now though it's using the VBlank interrupt on ARM7 to read the IPC values instead of the IPC interrupt method which also seems to fix it.

mmm... it shouldn't have anything to do with ARM7 code imho... ???
You decode the .gz, then you load the .XM and then it's time to push the start command in the IPC. On ARM7 side it should be almost the same if that will be received at next VBlank or by using an interrupt... on ARM9 side it's only that at this point your screens are probably (well, surely!) already drawing the frame so all you need to do is to 'sync' on the next VBlank.

It's easy for me to speak, I'm not writing code at all, right? ;)  ;D lol :D




Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #64 on: October 27, 2009, 01:54:57 pm
I did mess about for quite a while. I put loads of delays in the code (game code) that made a refresh longer than a vblank hoping to see the flicker... All i got was a slow game and slow unresponsive screens.
I cannot understand why there is this flicker and I cannot understand quantum physics either. All i could find out is that the ipc caused it regardless..

But, what really matters - it is fixed and I am a happy bunny again!!

Coding for the love of it!


Offline headkaze

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 7838
Reply #65 on: October 27, 2009, 02:07:50 pm
sverx: Changing from using an IPC interrupt to using a VBlank to read values from IPC memory does need a change on the ARM7 side. There are two method's I've implemented for communicating with the ARM7 from ARM9. And these two methods are when data is read from IPC.

1. Method 1 is using an IPC interrupt on ARM7 to read IPC values. You trigger this from ARM9 by doing the following:

Code: [Select]
ldr r0, =REG_IPC_SYNC
ldr r1, =IPC_SEND_SYNC(0)
strh r1, [r0]

We use this method because it's instantaneously triggered on the ARM7 side so that samples that need to be played quickly can do so. There are still issues using this method with sounds not triggering so then I implemented 16 IPC channels in IPC memory so that multiple sounds can be set to trigger at the same time.

2. Method 2 is using a VBlank interrupt on ARM7 to read IPC values. This means IPC memory is only checked every VBlank cycle so if two sounds are set in IPC before the VBlank interrupt is reached the first sound will not trigger. This is more problematic but does not have the problem of the IPC interrupt causing stuttering if not called within a VBlank.

The interesting thing is that libnds never used an IPC interrupt before they implemented FIFO; they used a VBlank interrupt. Not sure why but it's not a reliable way for sounds that need triggering often (like in a game). Also they had 16 channels for IPC sound triggers but only ever used the first one. It's been necessary for me to implement 16 so that certain sounds that have to trigger don't get overwritten by others.



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #66 on: October 27, 2009, 02:11:51 pm
That was what I was going to say!
 ::)

Coding for the love of it!


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #67 on: October 27, 2009, 02:28:54 pm
I cannot understand quantum physics either.

mmm... never heard this before. Is it a TV show?  ;D

Quote from: HK
Changing from using an IPC interrupt to using a VBlank to read values from IPC memory does need a change on the ARM7 side.

Yeah, it was my sentence that wasn't clear, sorry... I meant that screen flicker has nothing to do with what's get executed on ARM7. And now we're all happy bunnies you found a solution  :) :) :)




Offline headkaze

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 7838
Reply #68 on: October 27, 2009, 02:38:12 pm
One of the most painful things in coding for the DS in asm has been audio. I'm really glad Flash didn't want to use streaming music for this game because it was a nightmare for Warhawk and still to this day has issues with stuttering on some cards. Maybe one day we will re-release Warhawk using xm's for music instead or perhaps there is a audio streaming library that deals with lagging properly.



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #69 on: October 27, 2009, 02:41:19 pm
tested all bonus levels, and I did not found issues. The Joy for Jump (if spelled correctly, you known which one its is) Level is the harderst level for me, but all times is still beatable and completable.

For the facts in the complection screen, can they not been saved, so you dosent need to see same fact again, and then just countinue, just like the gameover screen?

For the Warhawk, it does only happens sometimes and not allways on my AceCard II (which means its not a filefragmants problem I think). Not sure why. Look like a buffer to small error bug or such? I have not tried the FAT version of it...

I guess the XM version of the music might take about 4-500kb in 8 bit and POTT music is allways wav.
« Last Edit: October 27, 2009, 02:46:07 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #70 on: October 27, 2009, 02:46:27 pm
Maybe one day we will re-release Warhawk using xm's for music instead [...]

Why not? Just ask SF ;) Oh, here he comes :)

Quote from: SF
I guess the XM version of the music might take about 4-500kb in 8 bit and POTT music is allways wav

I guess having both XMs and streaming wavs won't be a good idea. Better replace all streaming instead. Well, let's talk about that again after both MM and TDG release ;)




Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #71 on: October 27, 2009, 02:56:04 pm
I just tested the FAT. Its does the same thing, but the stuffer do first start from level 2 and the same tune play fine in level 1. So its somewhere a "buffer underruns" issue (which happens in FL-Studio when I use to much cpu). Like 2 tunes is played same time or such, so the old tune did not release correctly or such.
« Last Edit: October 27, 2009, 03:01:23 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #72 on: October 27, 2009, 03:22:13 pm
For the facts in the complection screen, can they not been saved, so you dosent need to see same fact again, and then just countinue, just like the gameover screen?
They are saved. There are 34 of them and it remembers the current on in the save data. So, it will take 34 completions before you have seen them all.

Coding for the love of it!


Offline Sokurah

  • RBP Member
  • Cray-1 Super Computer
  • *****
    • Posts: 724
    • Tardis Remakes
Reply #73 on: October 27, 2009, 09:36:53 pm
They are saved. There are 34 of them and it remembers the current on in the save data. So, it will take 34 completions before you have seen them all.

Do I understand this right: "one bonus level is opened each time you go through the game, so you have to complete the full game 34 times to see all of them"?



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #74 on: October 27, 2009, 09:47:13 pm
Glad you woke up! LOL

No, there are 20 bonus levels hidden in 20 of the 50 levels - you have to find the 'special' place that activates them. You will know if a level has a secret by the wax seal shown on the bottom screen.

You know me by now - it is nice to have some hidden stuff - even if 20 levels is a bit excessive LOL

Coding for the love of it!


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #75 on: October 27, 2009, 09:53:49 pm
most of them is really easy to been found, but few of them can been a bit hard to find them. But its fun and nice idea.

I only did some hard time to very few them in very few levels, but I have found them all :). I did also missed 2, which was well hidden too :-D.

I also think Sokurah need to get his bike game finished I wrote music for too and the october is soon end. Now there is also a Left 4 Dead 2 demo soon ready.


The Musician for the RetroBytes Portal Projects.


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #76 on: October 27, 2009, 10:07:53 pm
I just want to say,

If anyone finds a major bug now - II will go looby loo...
and
If anyone keeps quite about a bug - I will go looby loo...

We are close...

Coding for the love of it!


Offline Sokurah

  • RBP Member
  • Cray-1 Super Computer
  • *****
    • Posts: 724
    • Tardis Remakes
Reply #77 on: October 27, 2009, 10:10:37 pm
No, there are 20 bonus levels hidden in 20 of the 50 levels - you have to find the 'special' place that activates them.

So you have 400 bonus levels? (20*20)? ;)

...nahh, just messin' with ya. I get it - much more fun than what I understood. :)



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #78 on: October 27, 2009, 10:14:53 pm
no,

"much more fun than what you failed to understand"

If Rev.Stu was here, he would strike you over the head with a blackboard rubber.. LOL

So, have you seen the bonus levels in the demos sent to you? if not.. You may have some fun there

I will send you the Horace DS demo tomorrow!! :)
« Last Edit: October 27, 2009, 10:19:05 pm by Flash »

Coding for the love of it!


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #79 on: October 27, 2009, 10:28:31 pm
It would not have been too hard to have 200+levels, what took the space is the music. This is perhaps more important than tons of levels.. (I would love to do a version with TONS of levels - I may do one day, well.. I have the engine for it!)

Perhaps the next one can have 400 LOL

I have emailed RobF to try and get news for the release - not heard anything as yet though :(

Coding for the love of it!


Offline Sokurah

  • RBP Member
  • Cray-1 Super Computer
  • *****
    • Posts: 724
    • Tardis Remakes
Reply #80 on: October 27, 2009, 10:46:14 pm

I also think Sokurah need to get his bike game finished I wrote music for too and the october is soon end. Now there is also a Left 4 Dead 2 demo soon ready.

Yeah, yeah, I'm working on it. And I'm close but I've fooked something up tonight and online scores don't work anymore. I've been sitting with it for a few hours now and I just can't figure it out. Strange thing - it's not the actual online code that's the problem - it's the menu code that wraps around it but I haven't touched the damn thing. It's probably something dead simple but I can't for the life of me figure it out. Arrgh!!!!


So, have you seen the bonus levels in the demos sent to you? if not.. You may have some fun there

I will send you the Horace DS demo tomorrow!! :)

I am SO SO SO sorry. I've been completely obsessed with getting my own damn game to work as it should and it's taken up most of the computer time I've had.
I doubt I'll make my deadline though - I may have to go over by a few days....or a week.


I'm looking forward to the Horace demo. When I have it I'll probably feel sad as hell, but that's another matter. ;)


I have emailed RobF to try and get news for the release - not heard anything as yet though :(

Don't worry. He's always busy and rarely replies immidiately AND he's been in Leeds all monday so he probably didn't have any time today. Don't worry - he'll get around to it and I don't doubt he'll make a nice news post.
« Last Edit: October 28, 2009, 12:15:25 am by Sokurah »



Offline Lobo

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 3119
    • Spitoufs
Reply #81 on: October 28, 2009, 12:31:45 am
LoLy. Excellent stuff Flash for posting the MMLL release in general news where noone can reply.  :o

Anyhoo, I'll do it here then~
Great job everyone, you can rest now as deserved (until Monday, of course).

And Happy Birthday Stu, the planets have aligned well and you will likely remember this day for a while (well, at least until Monday, of course). I wish I was 21 again!  :-X



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #82 on: October 28, 2009, 12:42:12 am
Stu wishes he was 21 again,


New should be posted in news? or not - who knows!!

Coding for the love of it!


Offline headkaze

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 7838
Reply #83 on: October 28, 2009, 12:46:49 am
Congrats on the release everyone! Now I just have to finish TDG err.. haven't touched it for a few weeks now!  ??? I still plan for a XMas release though! Didn't make the "finish something month" oh well  ::)



Offline Lobo

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 3119
    • Spitoufs
Reply #84 on: October 28, 2009, 01:11:00 am
Well, now that MM is done, everyone into the spammobile!! We're off to one way ride to TDG topics!!  :)



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #85 on: October 28, 2009, 01:11:37 am
So, In the words of Lobo,

"Is it ready yet?"

Coding for the love of it!


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #86 on: October 28, 2009, 01:13:22 am
PS..

Hello me ol' China - bkenobi!!!

Nice to see you logging in - at last!

Coding for the love of it!


Offline Lobo

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 3119
    • Spitoufs
Reply #87 on: October 28, 2009, 01:17:39 am
So, In the words of Lobo,

"Is it ready yet?"

Those are not my words...and don't call me Kenobi nor Shirley and no, I posted 300+ times and you still didn't pay attention...tsktsk.  :P



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #88 on: October 28, 2009, 01:23:50 am
So,

When?

Coding for the love of it!


Offline Lobo

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 3119
    • Spitoufs
Reply #89 on: October 28, 2009, 02:02:33 am
Tomorrow.  ;)