Jump to content
IGNORED

Champ Games - Wizard of Wor Arcade - 2600


johnnywc

Recommended Posts

3 hours ago, johnnywc said:

Thanks TJ!  For some reason, in @coach41's case on his system, it seems that when Stella detects a QT, Galagon (and possibly WoW Arcade) are not detecting a QT on startup.  So Stella thinks there is a QT but the game does not. 

Isn't the problem here, that Stella analyzes the ROM, while the ROM analyzes the input? 

Link to comment
Share on other sites

1 minute ago, Thomas Jentzsch said:

Isn't the problem here, that Stella analyzes the ROM, while the ROM analyzes the input? 

Yes, it would appear that this is the issue.  If Stella recognizes QuadTari support and sets that as the controller in the left port, does it emulate INPT1 so the high bit is high and INPT0 so the high bit is low?  If so, then the Galagon ROM should recognize that there is a QT connected.

Link to comment
Share on other sites

3 minutes ago, johnnywc said:

If Stella recognizes QuadTari support and sets that as the controller in the left port, does it emulate INPT1 so the high bit is high and INPT0 so the high bit is low?

I think so:

  // QuadTari auto detection setting
  setPin(AnalogPin::Five, AnalogReadout::connectToVcc());
  setPin(AnalogPin::Nine, AnalogReadout::connectToGround());

 

Link to comment
Share on other sites

9 minutes ago, Thomas Jentzsch said:

I think so:

  // QuadTari auto detection setting
  setPin(AnalogPin::Five, AnalogReadout::connectToVcc());
  setPin(AnalogPin::Nine, AnalogReadout::connectToGround());

 

Looks good to me! :thumbsup: 

 

Here's my detection code that works on a real console and Stella not running on the emulation machine:

 

 ; auto detect
    ;   INPT0           INPT1
    ;       0               0       regular joystick connected
    ;       1               x       Genesis pad (or paddles) connected
    ;       0               1       multi-tap connected     
    
    ; if INPT0 = 1, we have a Genesis pad connected and no multitap
    bit INPT0
    bmi noMultiTap
    
    ; if INPT0 = 0 and INPT1 = 1, we have a multitap connected
    bit INPT1
    bpl noMultiTap
    
    lda flags
    ora #FLAG_MULTITAP|#FLAG_CONTROLLERS
    sta flags

 

I use the same logic in RobotWar (which seems to work on the emulator console), but one difference is that I added this loop at the start (provided by TJ some time ago) that clears the VBLANK high bit (DUMP PORTS).

 

;---------------------------------------
.loopWaitQ
    sta     WSYNC
;---------------------------------------
    sta     VBLANK      ; disable bit 7, A = 0!
    dex
    bne     .loopWaitQ
    dey
    bmi     .loopWaitQ   

 

That may be causing the QuadTari detection in the game to fail (not sure how). :idea:   I'll see if I can free up some bytes in Galagon to add this code in and see if it makes a difference.

 

 

 

Link to comment
Share on other sites

  • 3 weeks later...

Just to muddy the waters 😜 

 

I use emulation with Stella and two 2600daptors, one for AtariVox and the other for a classic CX40 joystick (what can I say, I love the original joysticks!).  Wizard Of War (final) comes up with with SaveKey and Quadtari detected.  I don't have a Quadtari, but everything works fine.

 

I did try Gorf (final) this morning, and no messages for detection, but everything works fine.

  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...

I'm having an issue trying to play this game in Stella via Retroarch on the Steam Deck (via EmuDeck). All other 2600 ROMs I have work just fine with the default controls. I have not been able to find any setting in Retroarch that seems to affect the controls in this way... Do I need to figure out how to access the settings of Stella itself?

Link to comment
Share on other sites

34 minutes ago, marlowe221 said:

I'm having an issue trying to play this game in Stella via Retroarch on the Steam Deck (via EmuDeck).

 

WOWA uses the CDFJ bankswitch/coprocessor.

 

image.thumb.png.cca3f4da5a845c571b33b9482e05e2c3.png

 

Looking at the Stella Changelog:

 

Quote

June 6, 2019

 

Stella release 6.0.1 for Linux, macOS and Windows is now available.

  • Added support for CDFJ bankswitching type (Galaga, Wizard of War, etc).
  • Allow the DPC+ scheme to not enable playfield 'jitter' effect for certain older DPC+ driver versions; this allows 'Epic Adventure' ROM to finally work in Stella.

 

So you need at least Stella 6.0.1 from 2019.

 

Looks like Retroarch has 2 Stella core options:

Do note:  the CDFJ routines in the stella core are from 2019, while the stand-alone version of Stella has seen numerous CDFJ updates since then. As such it's possible the Retroarch core has some CDFJ bugs that have already been fixed in Stella.

  • Like 1
Link to comment
Share on other sites

48 minutes ago, SpiceWare said:

 

WOWA uses the CDFJ bankswitch/coprocessor.

 

image.thumb.png.cca3f4da5a845c571b33b9482e05e2c3.png

 

Looking at the Stella Changelog:

 

 

So you need at least Stella 6.0.1 from 2019.

 

Looks like Retroarch has 2 Stella core options:

Do note:  the CDFJ routines in the stella core are from 2019, while the stand-alone version of Stella has seen numerous CDFJ updates since then. As such it's possible the Retroarch core has some CDFJ bugs that have already been fixed in Stella.

According to Retroarch, I'm using Stella 7.0

 

The game boots and loads just fine. The start button starts a game... the rest of the controls are just totally unresponsive after that.

 

Link to comment
Share on other sites

24 minutes ago, SpiceWare said:

Hmm... Since the game launches but the controls don't work correctly then it might be an issue with Retroarch and WOWA's support for the QuadTari. 

 

image.thumb.png.a2702b445432fc8e5628d96fa2157319.png

 

image.thumb.png.7085192977b4b978b47faab5b01d2faf.png

I think that's what is happening. Unfortunately, I can't seem to get to the menu you've screenshotted there in Retroarch via EmulationStation/Steam Deck.

Link to comment
Share on other sites

13 minutes ago, marlowe221 said:

I think that's what is happening. Unfortunately, I can't seem to get to the menu you've screenshotted there in Retroarch via EmulationStation/Steam Deck.

I've seen this before; unfortunately Stella will automatically select QuadTari/SaveKey to support 2 player + Savekey since it detects the word "QuadTari" in the binary.  Normally this is fine but in this instance I think RetroArch has an issue emulating the QuadTari perhaps.  Someone who purchased the full ROM from our website was having the same issue and the only way it seemed that we could fix it was by disabling QuadTari support using a patched binary.

 

Actually, if you look above the previous issue is part of this thread.  It was actually NOT detecting the QuadTari in the game but Stella is setting the controller to QuadTari.  

 

So, the solution would be to disable the Stella automatic detection of controllers by overriding them with the settings.  If you don't have access to the settings, I can post an updated demo that disables QuadTari support all together (I assume you're running the demo?).

 

Hopefully at some point the issue can be resolved with Stella or my code as it isn't clear where the issue is.  Stella sets the two pins to high and low that are needed for the startup code to enable a QuadTari so I'm not sure what else is could be. :( 

 

Hope that helps!

John

 

Link to comment
Share on other sites

15 minutes ago, johnnywc said:

I've seen this before; unfortunately Stella will automatically select QuadTari/SaveKey to support 2 player + Savekey since it detects the word "QuadTari" in the binary.  Normally this is fine but in this instance I think RetroArch has an issue emulating the QuadTari perhaps.  Someone who purchased the full ROM from our website was having the same issue and the only way it seemed that we could fix it was by disabling QuadTari support using a patched binary.

 

Actually, if you look above the previous issue is part of this thread.  It was actually NOT detecting the QuadTari in the game but Stella is setting the controller to QuadTari.  

 

So, the solution would be to disable the Stella automatic detection of controllers by overriding them with the settings.  If you don't have access to the settings, I can post an updated demo that disables QuadTari support all together (I assume you're running the demo?).

 

Hopefully at some point the issue can be resolved with Stella or my code as it isn't clear where the issue is.  Stella sets the two pins to high and low that are needed for the startup code to enable a QuadTari so I'm not sure what else is could be. :( 

 

Hope that helps!

John

 

I purchased the cartridge at PRGE and later the ROM via your website. I'll have to play around with the settings more in Retroarch on the Steam Deck to see if I can get to the right options.

 

I've played the game quite a bit on my Retron77 flashed with Stella though. I've really been enjoying it! I never played the actual arcade cabinet but I had the 2600 port as a kid and this version is a great upgrade.

Link to comment
Share on other sites

Just now, marlowe221 said:

I purchased the cartridge at PRGE and later the ROM via your website. I'll have to play around with the settings more in Retroarch on the Steam Deck to see if I can get to the right options.

Thanks for the support!  If you're still having issues, feel free to send me an email at champdotgames@gmail.com and I can get you a patched full version. :) 

Just now, marlowe221 said:

I've played the game quite a bit on my Retron77 flashed with Stella though. I've really been enjoying it! I never played the actual arcade cabinet but I had the 2600 port as a kid and this version is a great upgrade.

Thanks for the kind words and I'm glad you're having fun with all the new features. :)  Do you have an AtariVox for the voice on real hardware? :music: 

Link to comment
Share on other sites

9 hours ago, johnnywc said:

Thanks for the support!  If you're still having issues, feel free to send me an email at champdotgames@gmail.com and I can get you a patched full version. :) 

Thanks for the kind words and I'm glad you're having fun with all the new features. :)  Do you have an AtariVox for the voice on real hardware? :music: 

I think I will send you that email. I haven't been able to find a way to get to the right menu in the EmuDeck/Retroarch implementation on the Steam Deck.

 

As far as the AtariVox goes, I'm afraid I don't have any real hardware any more. I'm all emulation at this point when it comes to retro gaming. I bought the physical cartridge of Wizard of Wor Arcade just to... have it!

  • Like 1
Link to comment
Share on other sites

10 hours ago, marlowe221 said:

I think I will send you that email. I haven't been able to find a way to get to the right menu in the EmuDeck/Retroarch implementation on the Steam Deck.

Got your email and will send over the modified ROM soon! :) 

10 hours ago, marlowe221 said:

As far as the AtariVox goes, I'm afraid I don't have any real hardware any more. I'm all emulation at this point when it comes to retro gaming. I bought the physical cartridge of Wizard of Wor Arcade just to... have it!

Wow - thanks for the support and buying the cart version even though you don't have a system! :o  Hopefully someday a physical system makes it's way back into your hands and you can put the cart to good use. :)    

 

:idea: there are ways to use an AtariVox with an emulator via a serial connector (Stella allows you to configure a COM port).  I'm not sure if it works with the EmuDeck/Retroarch.  For Windows, I have a USB 9-pin serial adapter that I connect the AtariVox to and it shows up as a COMx port.  You then can configure Stella to use that port for the AtariVox and override the settings to detect an AtariVox in the 2nd controller port.  It does require an AtariVox, that USB serial adapter, and some configuration but it's worth it if you want the voice.  I managed to get it to work on my RetroN 77 so there is hope! :music: 

 

 

Link to comment
Share on other sites

  • 2 months later...

WoW Arcade is such an excellent 2-player game!

 

I tested the WoW demo ROM on the latest version of Stella, with two controllers connected to my PC. However, I found that only the first controller is mapped correctly by Stella (i.e., first controller is correctly mapped to the "Left Joystick").

Looking into Stella's Game properties, I can see that Stella correctly auto-detects the QuadTari and SaveKey, but in Stella's Input settings, I can see that my second controller is mapped to the "Right Joystick", while I would expect it to be mapped to "QuadTari Joystick 3" to support auto-mapping my two controllers without having to do that manually.

 

I think in case Stella has detected a QuadTari on a single port (which is basically a DuoTari?), then it would be helpful for "plug and play" if the second controller (C1) would be auto-mapped to "QuadTari Joystick 3" instead of "Right Joystick".

Or am I overlooking an easy workaround?

 

image.png.bdb2b3b830ef4574ee46e8d682602835.png   image.png.cd47e9a58d0fcfe12d6ae617cb59046a.png

 

image.png.ffb1509d062308c0e3796ed080f0c7ab.png

 

Link to comment
Share on other sites

@Dionoid I turned out that this is really complicated. The code structure doesn't allow temporarily moving events from one emulated controller to another. I might be able to hack something really ugly into the code, but that would make the code less maintainable and the chance of breaking something is pretty high. Maybe I will have a better idea later on. But as of now, I don't think your request is feasible. Sorry.

 

I think (can't test, I have only 2) using a 3rd controller should work. That would become C2 and could be mapped to the QT3 events.

Link to comment
Share on other sites

@Thomas Jentzsch That's too bad, but I understand the code needs to stay maintainable. Why do the controller events need to be moved temporarily? Is that because the user can select another type of controller in each of the ports? And could the usage of the magic string "QUADL" help here?

 

Or as a workaround for Atari devs, is there a way to get a SaveKey auto-detected as connected to a QuadTari on ports 3 or 4 (using VBLANK with dump ports enabled)?

Edited by Dionoid
Link to comment
Share on other sites

@Dionoid The mapping is a bit hard to explain, so please ask if anything stays unclear.

 

Every input (e.g. left joystick up, cursor up, ESC pressed, ...) in Stella creates an event. The mappings between the computer keyboard and the attached physical controllers are stored in two hash maps. These maps are the center of the event mapping. The mappings get loaded from and stored to Stella's database. And these mappings are used to create the correct events from user input. Besides the user input, the state of the emulator is considered. E.g. during emulation other events are created than while navigating a menu or during debugging. Based on that, each computer keyboard or physical controller input creates a single event. There can be multiple inputs per event defined, but not vice versa (obviously).

 

In our example, e.g. 2nd physical controller (C1) up creates a right port joystick up event. To create the same event via QT3 joystick up, one of the central hash maps would have to be modified. But this new mapping would automatically be stored in the database. Then right port up wouldn't work anymore. So before storing the hash maps back to the database, the map modifications would have to be undone. The mapping code is pretty abstract and tailored to its current needs. Therefore changing the mappings forth and back is error prone. And then there are side effects (e.g. controller visualization in debugger, input mapping dialog) which make things even more complicated.

 

Hope that makes some sense.

 

Regarding the Savekey, who should auto-detect it? Stella or the 6507 code? In Stella this works by using standard code (from i2c.h). Or you can provide a command line parameter. In 6507 it works like you describe and that's how WoW does it. There was some discussion here.

  • Like 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...