Jump to content
IGNORED

E.X.O. [Done]


Recommended Posts

On 4/27/2021 at 8:52 AM, -^CrossBow^- said:

I played a few rounds of Alpha release 35 last night and didn't have any issues at all on my console. I also just left my ship sitting there in one spot on the 3rd world for like 2 hours and came back to it and it hadn't locked up or anything and was still sitting there waiting for me to take control of the ship.

 

 

Well I did some more testing. I tried 3 different 7800 consoles, 2 different micro SD cards, and turning on and off the pokey setting on the dragonfly. I also wired in a 9v 35 (yes 35) amp linear power supply into the dragonfly that I set to 9.11v just because. The game reliably hangs on all 3 consoles in "Broom Cupboard" If I use alpha12 then I can sit in broom cupboard all day, but with the latest version, it crashes. A few times there was some video corruption at the top of the screen that I definitely see in "Broom Cupboard" (and I saw it in a few earlier rooms too I think) with the latest version but I don't always see it. I am guessing my issues maybe have something to do with the music and my dragonfly since alpha12 doesn't have music and I don't get a crash on alpha12? Also I am really bad at the game so if it isn't my dragonfly maybe losing some lives first triggers it? I have played other games successfully on my dragonfly so if someone has a suggestion on what game to play to try and validate my dragonfly is working correctly that would be appreciated as well.

 

Is anyone using dragonfly v1.07 bios, and has pokeymax and the ym module both installed and is playing the latest release 35 of E.X.O. ? If so and it works fine, can you tell me your settings? Thanks.

 

 

Link to comment
Share on other sites

58 minutes ago, john_q_atari said:

Is anyone using dragonfly v1.07 bios, and has pokeymax and the ym module both installed and is playing the latest release 35 of E.X.O. ? If so and it works fine, can you tell me your settings? Thanks.

My DF is running the 1.07a to correct for the logo startup screen. But aside from that I have the PokeyMAX and YM module installed as well and have played Alpha release 35 of EXO quite a few times with any issues.

 

As for the settings, let me check really quick here:

 

** POKEY **

- Set for PokeyMAX

- IRQ = Yes

 

** DUAL POKEY **

- Set for Installed

 

** COVOX **

- Set for Installed

 

** YAMAHA 2151 **

- Set for Installed

- IRQ = Yes

 

** RAM **

Set for Enabled

 

** LCD **

- Set for Auto turn off

- Contrast = 8

 

** DELAYS **

- Power on Delay = 200ms

- Delay Scroll = 255ms

 

** STARTUP LOGO **

- Set for Enable

 

** DEVELOPER MODE **

- Header = Auto

 

Those are the settings on my DF cart currently that would possibly have anything to do with the game. The other options like the RS232 I've never touched so that was at default and naturally the serial number option can't be changed.

 

 

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

7 hours ago, john_q_atari said:

Thanks! I'll enable the IRQs and check the other stuff. Naturally the console made me a liar by running alpha35 without crashing just now. Maybe having the console warmed up for 2 or 3 hours beforehand helped? Anyhow I'll mess with it more tomorrow.

My understanding is that IRQs are NOT required to be enabled for any of the current games or demos to work. I've also not had any issues with the program on my main 7800 and I'm pretty sure I didn't always have those options turned on in my DF cart.

 

To be clear, you are stating that you have gotten the game to lock up on all of your 7800 consoles now at this point and not just the UAV upgraded one?

 

So far only the current build of EXO is given you any issues and all other games and programs you have played have been working fine?

 

Link to comment
Share on other sites

55 minutes ago, -^CrossBow^- said:

To be clear, you are stating that you have gotten the game to lock up on all of your 7800 consoles now at this point and not just the UAV upgraded one?

 

Yes. That is what I am stating. I will reverify again this evening on all 3 consoles with the new samsung 16GB SD card and overkill power supply but I have previously gotten alpha35 to lock up on all 3 of my NTSC 7800 consoles, not just the upgraded one where I first had a lockup.

 

55 minutes ago, -^CrossBow^- said:

So far only the current build of EXO is given you any issues and all other games and programs you have played have been working fine?

So far. I tried commando, Mike and millie demo, bently bear crystal quest, pacman XM, and maybe one or two others and I am open to recommendations on specific roms to test.

Link to comment
Share on other sites

15 minutes ago, -^CrossBow^- said:

Well, I think E.X.O. is unique in its bank switching scheme but I might be wrong on that.

 

You have tried to download the binary again and reload a fresh copy onto your SD card to try? 

 

 

E.X.O uses a standard bank switch scheme of 512KB + 16KB RAM (at least I think it's standard).

 

It's just a bigger version than the 128K + 16KB RAM scheme. Nothing unusual about it other than the size being a bit bigger.

 

I have had issues in the past with different modern style carts & adaptors adaptors not liking a certain SD (or CF) card on everything from the DIV-IDE on the ZX spectrum to the SIDE 2 in my A8. 

 

As Crossbow said, maybe try another card.

 

Also does your Dragonfly have POKEY installed?

Link to comment
Share on other sites

1 hour ago, Muddyfunster said:

Also does your Dragonfly have POKEY installed?

My dragonfly came from rj with Pokeymax and YM installed and I was also originally using the sd card supplied by rj with the dragonfly. I used both separate power supplies with the console and 7800 and passthrough with the dragonfly providing the console with power.

 

When I switched to the Samsung 16GB card I used fresh copies of the game downloaded from atariage.

Link to comment
Share on other sites

3 hours ago, john_q_atari said:

My dragonfly came from rj with Pokeymax and YM installed and I was also originally using the sd card supplied by rj with the dragonfly. I used both separate power supplies with the console and 7800 and passthrough with the dragonfly providing the console with power.

 

When I switched to the Samsung 16GB card I used fresh copies of the game downloaded from atariage.

I'm still using the microSD that shipped with mine. Only changes I've made to it was to remove all of the PAL stuff since my main 7800 isn't able to play PAL. I don't think it is a power issue as you have ruled that out anyway using a different and more than capable enough external PSU to power the DF cart with. I think we can rule out the 7800s at this point being the issue since you have the issue happening on 3 different ones and I'm guessing the other 2 are still stock?

 

The only other difference that I know of is that I edit the A78 headers in my Roms. I do it manually through a hex editor to add in or change the game title to reflect a version # or build, or date of the rom so I can keep them apart in testing.

 

Link to comment
Share on other sites

Interesting. From cold start using the same setup as last night where the system was stable but had been on for hours previously, I did a cold start, and as soon as I entered Broom Cupboard and flew to the upper half of the screen and then settled on the bottom right ledge I got graphics corruption. A few minutes later as I waited in the same room the system hung. I will leave the dragonfly on for a few hours but the system cold and retry in a few hours. If that crashes I will leave both dragonfly and 7800 on for a few hours and then retry.

Link to comment
Share on other sites

Thanks @john_q_atari Can you grab any pictures of what you are describing with the corruption please? I'd like to see if there is any indication there of something awry.

 

I'd be really interested to see if anyone else has any issues on an NTSC machine with Dragonfly, right now I'm scratching my head.

 

I am unable to recreate this on actual hardware on my PAL set up using Alpha 35.

Link to comment
Share on other sites

15 hours ago, Muddyfunster said:

Thanks @john_q_atari Can you grab any pictures of what you are describing with the corruption please? I'd like to see if there is any indication there of something awry.

 

I'd be really interested to see if anyone else has any issues on an NTSC machine with Dragonfly, right now I'm scratching my head.

 

I am unable to recreate this on actual hardware on my PAL set up using Alpha 35.

I haven't tried this particular combination that @john_q_atari has described but I'm happy to do so. I've left the game running idles for at least several hours a few different times and haven't experienced any lockups aside from the one I found in a previous build when landing in a particular spot on one of the new worlds that you promptly fixed.

 

For the record, I sent @john_q_atari a copy of the Alpha 35 ROM I've been using from my DF and FW file to try and he still had the same lockup issues.

 

I hate to say it, but it is looking more and more like a possible issue with his DF cart itself at this point? He has tried 3 different 7800s and at least 2 different sources of the ROM image with the same lockups. I will see if I can fire it up tonight when I get home from work and see if this triggers something on my 7800 later unless someone else is able to get to it before me.

 

  • Thanks 1
Link to comment
Share on other sites

18 hours ago, Muddyfunster said:

Thanks @john_q_atari Can you grab any pictures of what you are describing with the corruption please? I'd like to see if there is any indication there of something awry.

I recorded some video but all it shows is the screen freezing.  I didn't get any video corruption yesterday. I'll try and narrow down the lockup to a simpler set of pass/fail conditions today. I don't want to take up any more of your time especially if no one else is seeing anything. 

Link to comment
Share on other sites

13 minutes ago, john_q_atari said:

I recorded some video but all it shows is the screen freezing.  I didn't get any video corruption yesterday. I'll try and narrow down the lockup to a simpler set of pass/fail conditions today. I don't want to take up any more of your time especially if no one else is seeing anything. 

No problem :)

 

Just an idea, did you try any of the earlier builds to see if they crash in the same place? I think Alpha 12 is available for download in this thread a page or so back.

 

 

Link to comment
Share on other sites

Small update :

 

World 3 second lift is done, so all the hazards have been added. Now for some balance testing as some of the screens probably need to be toned down a bit :)

 

Also the icon on the main screen to access the cinematics now works and you can review any cinematics you have previously unlocked (you can save this too).

 

I've also added a "how to play" section as there have been a couple of Youtube videos of people playing EXO but only using a single button controller and subsequently not getting very far.

 

  • Like 4
Link to comment
Share on other sites

9 hours ago, Muddyfunster said:

No problem :)

 

Just an idea, did you try any of the earlier builds to see if they crash in the same place? I think Alpha 12 is available for download in this thread a page or so back.

 

 

I had pretty good luck with alpha12 on previous days, but I just re-downloaded it and put it onto my samsung card and fired it up on one of my consoles (the 1st one mentioned in my PM to you) and INSTANT crash to a lime green screen. I just tried it again on the existing copy I put on the card that came with the dragonfly and as soon as the first screen of the world is supposed to appear, instant crash to a lime green screen. I am really starting to suspect unknown hardware issues... I guess I'll take this all to PM now to avoid cluttering up the thread.

 

Link to comment
Share on other sites

3 minutes ago, -^CrossBow^- said:

But you are still having these issue with multiple consoles now and not just one right?

 

Correct. I tested 2 of my consoles extensively today. I had freezes on both. In the past I had freezes on all 3 consoles I have. So far the only common thread is my dragonfly and the E.X.O. code of alpha12 (fairly stable for me, maybe perfectly stable except for today on that 1 console), and alpha35 which so far entering a broom cupboard seems to trigger the eventual freeze for me. Perhaps I can prove absolute stability if I never enter broom cupboard and perhaps I can prove absolute stability on some of my consoles of alpha12, but not sure that is useful information. Maybe the gods just don't like me and I end up being the only one that ever encounters this...

 

 

 

Link to comment
Share on other sites

I currently have my 7800 running with EXO A35 and I'm parked in the lower right facing to the right like you were in the pics. Been running about 10min now without any issue. I've even occasionally pick up the controller and move a room up or down and back to the same spot. So far so good on my end.

 

Link to comment
Share on other sites

Perhaps the lime green is yellow? The 7800basic IRQ routine, which is triggered when the 6502 executes a BRK instruction, will set the background colour to yellow (colour value $1A) and halt the 6502. The BRK instruction has an op. code value of $00 and usually wouldn't be used, but $00 is frequently found elsewhere (in data, RAM). So when a BRK instruction is executed it's normally a sign that something's gone wrong.

 

A quick test would be to change the colour value that the 7800basic IRQ uses and get @john_q_atari to retest; if it freezes with the new colour then you know the IRQ is being triggered.

 

It's probably not the same thing but during the development of Popeye Darryl encountered intermittent IRQs on Dragonfly that did not occur in emulation or on the versa-cart. Mike added the crashdump so that the IRQ routine displayed the contents of the stack and we could see that the BRK instruction executed was the $00 part of a BEQ $00 instruction.

 

BEQ $00 is pointless in that regardless of whether the branch condition is true or not, the next instruction is executed. However it ought to work and it did most of the time as the issue was intermittent. So there would seem to be specific conditions under which BEQ $00 can cause a fault running from Dragonfly.

 

Looking at why 7800basic generated the BEQ $00, one instance was:

if popeyeDeath > 0  ||  IntervalCount <> 3 then returnMoveLetters

Which generated:

  30884  10e91				    .L02435		;;  if popeyeDeath > 0  ||  IntervalCount <> 3 then returnMoveLetters
  30885  10e91
  30886  10e91			a9 00		       LDA	#0
  30887  10e93			cd 5a 01	       CMP	popeyeDeath
  30888  10e96			b0 03		       BCS	.skipL02435
  30889  10e98				    .condpart1157
  30890  10e98			4c a1 8e	       jmp	.condpart1158
  30891  10e9b				    .skipL02435
  30892  10e9b			a5 ff		       LDA	IntervalCount
  30893  10e9d			c9 03		       CMP	#3
  30894  10e9f			f0 00		       BEQ	.skip439OR
  30895  10ea1				    .condpart1158
  30896  10ea1				    .skip439OR

Not only has it generated a BEQ $00 but it doesn't jump to returnMoveLetters at all.

 

To get around this Darryl made every goto explicit and changed any label names which started with a keyword (in this instance returnMoveLetters starts with return). 

 

 

 

  • Thanks 1
Link to comment
Share on other sites

Just to underline a point here... While getting rid of "BEQ $00" may have provided relief for Popeye from the 7800basic break protection, it's just masking the real problem. The argument byte of an opcode shouldn't be executed as it's own instruction ever, unless the program flow has gone completely off the rails. The fact that 7800basic calls a dead-stop when BRK is executed is meant to alert the programmer to the fact that something very dangerous has happened, and changing the code to remove the "0" opcode argument isn't really a fix, any more than disabling break protection would be.

 

This sort of problem with flow control could either be a bad jump, bankswitch, or whatnot, or it could be a hardware issue. The fact that the problem with Popeye didn't manifest when Versa was used, demonstrates it's a hardware issue in that case. Perhaps it's the same here too, since many people can't reproduce it.

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...