Overview Features Coding Performance Forum Downloads Products OrderV4 Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Running Games and Apps.

Inviyya Release (and Problem With V4)

Michael Borrmann

Posts 139
12 Apr 2021 14:09


Guess some of you may have seen the release show of my little SHMUP called "Inviyya" yesterday on Amiga Bill's twitch stream.

Was quite a success so far, but I got two reports on the game's WhdLoad Slave just producing a black screen on the V4.

Since I am huge fan of the Vampire and own a V1200 myself (where it runs perfectly, amazing card btw), I'd love my game to run on as many of the little bloodsuckers as possible.

So, anybody any idea what might be wrong here?

One user wrote:
"On Vampire V4 standalone only CD32 version works and only under standard AROS rom, I tested it with Kick 3.1, 3.x (45.064) and 3.1.4 but no way. WHDLoad version shows only a black screen.

Tested on real Amiga 1200 + Blizzard IV game works perfectly."

Thanks for any quick idea what might be the culprit here..

(shameless plug:
you can see the games premiere at Amiga Bill's show here:
EXTERNAL LINK 
Get the digital version with adf, whdload slave and CD32.iso here:
EXTERNAL LINK 
and the beautiful physical editions here:
EXTERNAL LINK  )
 


Pedro Cotter
(Apollo Team Member)
Posts 302
13 Apr 2021 06:05


Hi Michael,

fastest way to get this fixed is you contact BigGun and provide him technical details about the game.


Maurizio Tirone

Posts 45
13 Apr 2021 10:41


On Vampire V1200 it works perfectly transparently!


Gunnar von Boehn
(Apollo Team Member)
Posts 5419
13 Apr 2021 13:03


I can see that Iviyya demo is stuck in this code


    0:  4a10            tst.b (a0)
    2:  67fc            beqs 0x0
    4:  51d0            sf (a0)

Maybe this helps.
What is it waiting for?


Michal Pietal

Posts 223
13 Apr 2021 18:29


Great game, will definitely buy a hardcopy.

Alas, where’s the link to the adf demo?


Richard Statham

Posts 14
13 Apr 2021 23:33


I got it to work with the cd32 iso. Mounted it and run the h file. Think it maybe running a bit fast or im just crap at it LOL
 


Michael Borrmann

Posts 139
14 Apr 2021 08:42


@Gunnar: send you a pm on A1K.

Thanks for your help :)

Would love to get this running on the V4.


Michal Pietal

Posts 223
14 Apr 2021 15:38


OK, I link to the older demo file I found, in case someone would love to try the game first (not sure if V4 supports it too)!

EXTERNAL LINK 


Michael Borrmann

Posts 139
14 Apr 2021 17:02


Michal Pietal wrote:

OK, I link to the older demo file I found, in case someone would love to try the game first (not sure if V4 supports it too)!
 
  EXTERNAL LINK 

Both of these demos on that site are extremely old (3 years), and in no way representative of how the game looks and plays now.

Only of interest for people who are curious how the game improved over the years.


Michal Pietal

Posts 223
14 Apr 2021 17:45


Agreed.

There was a newer file (until just recently) on your site with the demo that is very similar to the game already.

Alas it was removed.  Was there a reason?



Gunnar von Boehn
(Apollo Team Member)
Posts 5419
14 Apr 2021 18:47


The file "H" inside the CD32.ISO is the main game.
This "H" game file runs fine on V4.
   
Looking at the code in the IRQ handler,
I get the impression there could be some bugs in the game loader.
The IRQ handler is called by 2 different IRQs.
Correct coding behavior in such case would be to check the from which side it was called and clear exactly this flag.

If(a) then clr(a);
If(b) then clr(b);

   
The IRQ handler does not do this but does always clr both possible sources without any checking.
This coding has the risk to clear the other IRQ event by accident,
and miss it, and if this event is needed, then cause a deadlock.
Such issue could be timing related.
We are seeing that the program is hanging in a deadlock/infinite loop waiting for an event to happen. So maybe this is what happened.
 
With such routine, depending on how fast the CPU IRQ is executed, or how fast your memory is you might accidentally lose the other event.
While its obvious that this routine is not clean written, without more information we are only speculating now.
   
As the CD version seems to work.
Why not just delete/ignore the WHDLOAD version?
And use the CD file, that does not seem to have this code?
   

I have spend some hours profiling and snooping into the game now.   
If you want to debug this issue fully then ping, I'm happy to help.

The game makes a nice impression to me. It reminds me a lot on R-TYPE. Well done!
I think its great to see games like this coded for Amiga.


Michal Pietal

Posts 223
14 Apr 2021 19:03


The (extremely old) demo adf version runs fine on V4 alas differs a lot from the original (for sure).

The most recent demo (v2) adf version is unavailable on the site now (why?) and does not run on V4 (neither ApolloOS nor AmigaOS like Coffin or AmiKit).  The screen hangs on H file (blank screen on ApolloOS and system halt on AmigaOS).

I would definitely recommend the author to put most recent demo version on the site as well (as it was there not long ago) and try to fix the code, in order to run on V4.  This game is really great, to me, it's a Reshoot-R-class game and many more people would by it after being able to try first.


Richard Statham

Posts 14
15 Apr 2021 00:05


Dont think the cd32 version can save hi scores :(



Michael Borrmann

Posts 139
15 Apr 2021 15:21


@Gunnar: Yep, that's where I see the problem as well. The C32 version loads all its stuff at the beginning, and doesn't use the custom loader later on.

Works on any other Amiga though, weird it's having problem on the V4.. :/




Michael Borrmann

Posts 139
15 Apr 2021 15:26


the reason for that is that Demo Version 1 still used OS routines for loading, Demo Version 2 and the final game doesn't.
 
  There is nothing to fix here, the game runs on every normal Amiga perfectly and extremely compatible like almost no other game that I know off from a measly Amiga 1000 up to a A4000 with 1260 cards. Also runs perfectly on my Vampire 1200 (and every other Vampire except V4 I have heard of), by the way.
 
  I don't have any idea what's causing this problem on the V4. But so far that's the only setup i have heard of where it doesn't run.


Michael Borrmann

Posts 139
15 Apr 2021 15:33


Not that someone thinks here I want to talk bad about the V4 here.. :D
 
It's an amazing piece of hardware, but if you are riding on the motorway and all the other people are driving the wrong way into your direction, it might be that they are not the ones driving wrong... ;)
 
Just simple logic applied here.. ;)

To me it looks like there seems to be something that works different on the V4 than on other Amigas in this maybe extreme case.


Gunnar von Boehn
(Apollo Team Member)
Posts 5419
15 Apr 2021 16:25


Michael Borrmann wrote:

There is nothing to fix here,

   
Frankly, I find this a little early to say.
I think this should be fully investigated first.
   
   
Michi, I honestly offered you to help you debug this.
I did spend quite some time to trace this for you
and I showed you the place in the program which hangs.
I tried to explain why I think there is racecondition in your programs IRQ code and offered you to analyze this with you.
Maybe I explained this not well enough.
I gave you my telefon number and offered you  to debug this with you and work through this with you.
My offer to help you debug this still stand.
   
Please tell me how we want to fix this.


Michal Pietal

Posts 223
16 Apr 2021 06:24


Michael Borrmann wrote:

  It's an amazing piece of hardware, but if you are riding on the motorway and all the other people are driving the wrong way into your direction, it might be that they are not the ones driving wrong... ;)
 
  Just simple logic applied here.. ;)

This is just a statistics, not a fact statement.

It might turn too, that, the remaining cars are the mental hospital escapees.

It happened before -- in the Superfrog game example, V4 developers fixed the AGA error (if I remember correctly) which was neglected by the game authors.

So, that might be another such issue.

posts 18