Jump to content
IGNORED

Stella 6 on the R77: the eagle is landing


DirtyHairy

Recommended Posts

Just had a chance to try the new build on the Retron 77 -

 

Some of the games I licensed to Hyperkin work better, most notably SuperCharger Space Invaders 40th anniversary edition:

 

SuperCharger_SpaceInvaders_AFP_BETA4.bin

 

Unfortunately some of my high FPS games that feature 30 and 60 FPS of full screen animation hiccup and drop frames, I suspect the speedstep technology in the CPU could be pegged to keep this from happening or there is another task* expecting some free time that maybe doesn't really need to run - these games are all classic games with no ARM code but they saturate both vertical blanks and hammer the CPU and the TIA.

 

Curious what the readouts look like to the Stella team - to see the hiccup in action, play WARPDRIVE at either 30 FPS or 60 FPS (BW switch toggles). STARBLITZ also shows the hiccup during the motion blur reduction effect which can otherwise be seen pretty well.

 

KC Munchkin Monster Maze R2 features smooth MBR as intended, the breaks between scroll bursts seem to allow enough recovery time to accommodate whatever concurrent task* needs to run.

 

WARPDRIVE_AFP.bin

KC_Monster_Maze_R2.bin

StarBlitz_double_fun.bin

 

Hope this is helpful to the Stella team. Interesting that you can connect a USB keyboard to the Retron77 - with dasm and Powershell for Linux it should be possible to write Flashback BASIC and SuperCharger BASIC games right on the console.

 

 

  • Like 1
Link to comment
Share on other sites

You are correct. The symptom when I attempt to use paddles on the front ports, is that I see the displayed paddle located almost all the way to the right of the 'screen,' and when the physical paddle is moved, the displayed paddle moves the rest of the way to the right and stays there, frozen. FWIW, my R77 previously had the 'jittery,' but marginally playable paddles on the front ports.

 

USB 2600-daptor paddles still work perfectly on beta1.

Link to comment
Share on other sites

My OTG cable arrived. Plugged in a keyboard and spotted that Stella's Auto-Detect thinks a Genesis controller is plugged in.

 

post-3056-0-46819300-1555452436_thumb.jpg

 

 

I checked for Scramble and Super Cobra Arcade, as they both support the gamepad, and Auto-detect for both came up with Joystick so these games were playable by default.

 

post-3056-0-94243700-1555457270_thumb.jpg

 

I then used the keyboard and change the setting to Joystick.

 

post-3056-0-59210500-1555452515_thumb.jpg

 

After saving the change and hitting the Fry button to exit the game I was able to reload SF2 and it worked as expected with the joystick controller. Change was even preserved after a power cycle, so it's a one-time fix provided the user has the special cable.

 

post-3056-0-83367200-1555452609_thumb.jpg

Link to comment
Share on other sites

For those who have been looking for wireless controller solutions for the Retron 77, if you have Wii U Pro controllers(it should support more than one simultaneously)- this Mayflash device is confirmed as compatible for connecting them to the R77 when in "Dinput" mode. This particular product did work for me with a third party 'clone' Pro controller as well. It does seem to only support pro type controllers though, as it rejected syncing with a regular Wiimote.

 

Note that as of beta 1 of Stella 6, remapping of controls is not saved, and there are no working defaults for this device. So, this dongle cannot currently be used without a keyboard connected.

Edited by fluxit
Link to comment
Share on other sites

I've hesitated at posting this, as it won't be useful for many(if any) other people, but this cobbled together train of a wireless controller solution works, and works well on the R77 with Stella6 beta 1 and even defaults to the firebutton for left joystick on the (2) button.

 

 

post-47453-0-19956300-1555457886.jpg

 

It is composed of an 8bitdo NES bluetooth receiver, a Dynapoint Game Star(NES controller type,) DIN 5 to IBM PS/2 adapter, and a PS/2 keyboard to USB adapter(Trendnet, although others may work, compatibility varies.)

Link to comment
Share on other sites

 

Nope, its because the detection happens static, solely based on the code.

 

 

So based on this, Stella's analyzing the game code to determine if it supports a gamepad? If so this detection is failing for Scramble and Super Cobra Arcade.

 

Since the built in ports don't support the gamepads, the detection routine should only return Genesis if it also detects that a USB adapter/controller is plugged in and that it reports multiple fire buttons, otherwise games like SF2 are unplayable by default.

Link to comment
Share on other sites

So based on this, Stella's analyzing the game code to determine if it supports a gamepad? If so this detection is failing for Scramble and Super Cobra Arcade.

ARM games are tricky to detect. There is no obvious 6502 code pattern, since the logic is done in C code. I have added a few pattern, but not for all.

 

Since the built in ports don't support the gamepads, the detection routine should only return Genesis if it also detects that a USB adapter/controller is plugged in and that it reports multiple fire buttons, otherwise games like SF2 are unplayable by default.

Yup, there is room for improvement.

 

Also, the next release will have a new dialog, so that you can correct the most important settings with a joystick.

  • Like 6
Link to comment
Share on other sites

A quick poll:

We also plan to provide a variation of the 'Command' dialog during emulation. That way the user can get to more functions than the buttons of the R77 allow. To open this dialog, we have to use one of the 9 buttons. Of course the then missing functionality will become part of the 'Command' dialog. The dialog can be navigated with the R77 front buttons and with a joystick in left or right port (paddles won't work).

 

So here are the two questions:

  1. Where would you like to have that dialog opening button, at the front or at the back? (probably depends on how often you need extra functionality)
  2. Which button should we use? (e.g. which button do you use rarely and/or where you do not need direct access?)
Link to comment
Share on other sites

I feel the same way about 16:9. Don't see any reason to use it, unless sometime in the future a homebrew game is specifically programmed to use it as an output ratio (Not sure that is even possible). Also as long as it is still available through the Command console, I think it would be the perfect button to use.

Edited by Obadiah64
Link to comment
Share on other sites

I don't foresee ever wanting to use 16:9, so I'd opt to repurpose the 4:3 / 16:9 button.

 

+1 for using the aspect ratio button to show the Commands window.

 

Question: Would it be an option to include the "TV Mode" to the Commands dialog, so you can cycle through the available modes (Composite, S-Video, RGB, 'Bad adjust' and Disabled)?

Edited by Dionoid
  • Like 1
Link to comment
Share on other sites

Question: Would it be an option to include the "TV Mode" to the Commands dialog, so you can cycle through the available modes (Composite, S-Video, RGB, 'Bad adjust' and Disabled)?

Actually, we where discussing to use the 16:9 button for this. :) If now we use that button for the dialog, that function will of course become part of it.

 

BTW: All other button functions will also be included. This may seem redundant, but this will allow to fully control the R77 from the couch using a 2nd joystick. :)

Edited by Thomas Jentzsch
  • Like 2
Link to comment
Share on other sites

Actually, we where discussing to use the 16:9 button for this. :) If now we use that button for the dialog, that function will of course become part of it.

 

BTW: All other button functions will also be included. This may seem redundant, but this will allow to fully control the R77 from the couch using a 2nd joystick. :)

 

...do you mean that we will be able to show the Command dialog by pushing the button on the 2nd joystick? That would be cool.

But how does that work with games that allow two joysticks?

Link to comment
Share on other sites

 

...do you mean that we will be able to show the Command dialog by pushing the button on the 2nd joystick? That would be cool.

But how does that work with games that allow two joysticks?

Not decided yet. But probably there will be an option for the 2nd joystick, which switches between normal joystick and Stella controlling joystick.

  • Like 1
Link to comment
Share on other sites

Update - I could not reproduce the frame hiccup on my Plasma display, think the issue may have been a setting on the set. v-synch looks good, I can still see dropped frames on the Flashback 9 by comparison.

 

The sound is fantastic with this new build! :) Inspired me to release two new Space Invaders games with otherwise hard to reproduce sound that is part of the game:

 

http://atariage.com/forums/topic/290480-supercharger-space-invaders-boys-and-girls/

 

You can really hear the difference between the FB9 and the Retron77; both consoles play great, but only the Retron77 has the sound depth to render these games as intended.

 

Link to comment
Share on other sites

I don't do software development, so forgive me if this is a dumb question, but I was wondering about what will happen when the libretro/RetroArch port of Stella 6 is released. Will each port of Stella have to be updated and released separately, or once all the ports are completed is it as simple as making changes to a unified code base and then compiling that code for every platform?

Link to comment
Share on other sites

I don't do software development, so forgive me if this is a dumb question, but I was wondering about what will happen when the libretro/RetroArch port of Stella 6 is released. Will each port of Stella have to be updated and released separately, or once all the ports are completed is it as simple as making changes to a unified code base and then compiling that code for every platform?

 

 

It is common, unified codebase :) I am not clear on the release process for libretro though; my best guess is that releases will still be done by the libretro / RetroArch community.

 

Oh, and that's not a dumb question, what you describe is precisely how things stand with the current libretro core (based on the old Stella 3): it is a fork of Stella, and any change to Stella would have to be ported over manually.

Edited by DirtyHairy
Link to comment
Share on other sites

I don't do software development, so forgive me if this is a dumb question, but I was wondering about what will happen when the libretro/RetroArch port of Stella 6 is released. Will each port of Stella have to be updated and released separately, or once all the ports are completed is it as simple as making changes to a unified code base and then compiling that code for every platform?

 

Just to add to what DirtyHairy said, and for others who may not have development experience but are curious. To anyone not interested in the details, feel free to tune out :)

 

The idea with a multi-platform codebase is to make the core be as general as possible, and not incorporate anything that is platform-specific into the main code. If we find different ports independently coming up with the same type of code, that is a candidate for putting it into the main code (so everyone can share it). Similarly, if there is something that only one port will be using, that is a candidate for moving to a platform-specific area of the code. The idea (as much as possible) is to maximize the former and minimize the latter.

 

For example, Stella is currently 250,000+ LOC (lines of code). SDL (the graphics library that it uses) is ~2000 LOC. The Unix/Linux stuff is probably 500 LOC. Similar for the Windows and macOS stuff; 500-1000 LOC. R77 is perhaps 200 LOC, and the libretro stuff is maybe 1-2000 LOC. This is how it should be. In a properly abstracted codebase, very little will be platform-specific, and when it is, it will be isolated from everything else. This allows us to (a) make changes that automatically benefit everyone, and (b) have different developers work on different parts without needing to understand how the other ports work.

 

When we (the Stella team) decide to do a release, we divide up the work. Typically I create the Linux, macOS and Windows builds, since I have my systems set up to do it very quickly. I think DirtyHairy will do the R77 port, since he does extra stuff to make it perform better. I suspect the libretro guys will do their own build, after we signal that the code is ready to be released. Of course it doesn't have to be this way; libretro guys can 'fork' and do a release whenever they feel like. But I suspect the major reason for them wanting to get integrated into mainline is to share our work and release schedule.

 

So long story short, I suspect Stella 6.1 will be released on all platforms fairly simultaneously. And I don't have any idea when this will happen, and I'm not going to speculate (since every time I pick a date, it ends up being wrong).

  • Like 6
Link to comment
Share on other sites

Can someone else try running Robot Tank from cart with this build? My cart works fine in my heavy sixer, but when I turn it on in the R77, I get a vertically garbled "Switching to reserve tank" message, and the game won't start.

 

I haven't tried all my carts yet, but a random selection of about dozen others seem to work fine.

Link to comment
Share on other sites

There is a dumped ROM for this game that does exactly the same thing. And in that case, it is a bad ROM because it was dumped incorrectly. So I'm willing to bet that the dumper is dumping your cart incorrectly, and that's why you're getting this weirdness.

 

The cart dumper/reader on this device isn't 100% reliable. In a lot of cases it isn't even 50% reliable. For certain classes of carts, it won't work at all.

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