quohog Posted January 12, 2022 Share Posted January 12, 2022 Can Stella output a bundled executable that would run your .bin game file, wrapped up with Stella, in a standalone .exe file, or whatever it's called on your target platform? And if it can't, wouldn't that be cool? For sharing your homebrew games with your less technical friends and family. The ones who could never figure out how to download and install Stella. You could just send them an executable and say, "Here, run this!" And it would just work. Maybe I'm missing another more obvious solution. Is there an easier way to share your games with people who don't have Stella or a Harmony cart? I think you could do this with Javatari online, and running in a browser is super cool and accessible, but javatari only works with joystick or paddle controls which doesn't work for my keyboard controller game. Just floating that idea out into the land of wishes. Cool idea or uncool? Or does it already do this? 1 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted January 12, 2022 Share Posted January 12, 2022 Never heard of this being a feature the devs are interested in pursuing. Javatari is already used to provide playable links to homebrew right from your web browser. Seems closer to your goals. It's GNU Affero General Public License v3.0. https://github.com/ppeccin/javatari Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted January 12, 2022 Share Posted January 12, 2022 7 hours ago, quohog said: Can Stella output a bundled executable that would run your .bin game file, wrapped up with Stella, in a standalone .exe file, or whatever it's called on your target platform? You could do this very easily by compiling the emulator with the ROM binary embedded in the emulator source. The emulator would then use the embedded data instead of asking for a file to load. To be clear, I don't think the Stella source is set up to do this just yet but in principle it's very easy. Gopher2600 is already set up to do this but I've not pursued it because the emulator hasn't even reached v1.0 yet. The alternative method, which I think you're asking for, is for the Stella to output a Windows binary without having to recompile the source. It would be possible, with some work, for Stella (or Gopher2600 or any other binary emulator) to be set up like that but frankly, producing a Windows binary in this way would be full of pitfalls that I wouldn't want to tackle. Regardless, for easily distributing to friends and family, the Web is probably the easiest. So as @Gemintronic says, Javatari would be even better. 2 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted January 12, 2022 Share Posted January 12, 2022 There are ways to make web based apps look like a native app, but.. Javatari does not attempt to obfuscate the ROM at all. So, if you don't want people making unauthorized reproductions you're out of luck. I'll definitely look forward to wrapper functionality in Gopher2600 - especially if the ROM can't be reconstituted easily. Quote Link to comment Share on other sites More sharing options...
alex_79 Posted January 12, 2022 Share Posted January 12, 2022 (edited) 1 hour ago, Gemintronic said: .... especially if the ROM can't be reconstituted easily. I may be wrong, but since Stella and Gopher2600 are both released under the GPL license (v2 and v3 respectively), I believe that if you embed your rom into the emulator, you must release your game under the same license, that means that not only your rom cannot be obfuscated, but that you have to release the source code for it as well. Edited January 12, 2022 by alex_79 1 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted January 12, 2022 Share Posted January 12, 2022 2 hours ago, alex_79 said: I may be wrong, but since Stella and Gopher2600 are both released under the GPL license (v2 and v3 respectively), I believe that if you embed your rom into the emulator, you must release your game under the same license, that means that not only your rom cannot be obfuscated, but that you have to release the source code for it as well. We may both be wrong. GPL 3 has always been hard for me to interpret. That being said: the compiler and source code used in your 2600 game is completely different than Gopher2600. You are not modifying Gopher2600 in any way - merely using a (potential) feature of Gopher2600. Of course, all bets are off if you personally add the wrapper function to Gopher2600. I was talking in the fantasy world where JetSetIlly has already added the .exe wrapper functionality. Didn't make that clear. Quote Link to comment Share on other sites More sharing options...
zzip Posted January 12, 2022 Share Posted January 12, 2022 you could always take a stella installation, create a bat file that launches the game in question, zip it up as a self-extracting execuatble instruct the recipients to run the exe, then run the bat file it creates. 1 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted January 12, 2022 Share Posted January 12, 2022 Yeah. It looks like I'm wrong. Found a post where stephena isn't keen on the wrapper idea and confirms possible licensing issues. So, looks like Stella as a wrapper is a no go for the original poster. Quote Link to comment Share on other sites More sharing options...
+Karl G Posted January 12, 2022 Share Posted January 12, 2022 I believe he is saying that if you integrate the ROM into the Stella source, then it is subject to the GPL, but creating an installer that installs Stella and your ROM (and, presumably, a launcher that launches Stella with the command-line options to start your game). It's just not a feature that will be built into Stella. Of course, if you distribute Stella in any manner, you are responsible for distributing it with the licence information, etc. And if you do modify Stella, you are responsible for providing the source of those changes. As a disclaimer, I am neither a lawyer nor a Stella dev. 1 Quote Link to comment Share on other sites More sharing options...
+stephena Posted January 12, 2022 Share Posted January 12, 2022 Using a BAT file in Windows is the easiest solution. I can confirm that anything that is included in the source, and is then required to re-build the project, has to take on the same license as Stella (aka, GPLv2). So it's best to keep the Stella binary and the ROM binary separate. After that, you can package it however you like; it is beyond the scope of Stella's licence at that point. 2 Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted January 12, 2022 Share Posted January 12, 2022 1 minute ago, stephena said: Using a BAT file in Windows is the easiest solution. I can confirm that anything that is included in the source, and is then required to re-build the project, has to take on the same license as Stella (aka, GPLv2). So it's best to keep the Stella binary and the ROM binary separate. After that, you can package it however you like; it is beyond the scope of Stella's licence at that point. GPLv2 compatible. So a ROM released under the Modified BSD licence for example, would be fine because that is compatible with the GPLv2. Quote Link to comment Share on other sites More sharing options...
+SvOlli Posted January 12, 2022 Share Posted January 12, 2022 You could also just Stellerator to create a webpage running your code in an emulator. Here is an example http://xayax.net/bang!/live.php . While I'm using it just to play a demo, interaction is possible. 3 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted January 12, 2022 Share Posted January 12, 2022 6502ts/Stellerator and BizHawk with the Atari2600Hawk core both use the MIT license. So, those might have more flexible conditions depending on the use case. Pending that there's always contacting the developers and working something out. I've bothered Paulo Peccin (Javatari) in the past and he's been super awesome. https://github.com/6502ts/6502.ts https://github.com/TASEmulators/BizHawk 1 Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted January 12, 2022 Share Posted January 12, 2022 4 minutes ago, Gemintronic said: 6502ts/Stellerator and BizHawk with the Atari2600Hawk core both use the MIT license. So, those might have more flexible conditions depending on the use case. And GPL projects can be dual licenced if all copyright holders agree. 1 Quote Link to comment Share on other sites More sharing options...
Mr SQL Posted May 13, 2022 Share Posted May 13, 2022 On 1/11/2022 at 8:42 PM, quohog said: Can Stella output a bundled executable that would run your .bin game file, wrapped up with Stella, in a standalone .exe file, or whatever it's called on your target platform? And if it can't, wouldn't that be cool? For sharing your homebrew games with your less technical friends and family. The ones who could never figure out how to download and install Stella. You could just send them an executable and say, "Here, run this!" And it would just work. Maybe I'm missing another more obvious solution. Is there an easier way to share your games with people who don't have Stella or a Harmony cart? I think you could do this with Javatari online, and running in a browser is super cool and accessible, but javatari only works with joystick or paddle controls which doesn't work for my keyboard controller game. Just floating that idea out into the land of wishes. Cool idea or uncool? Or does it already do this? Very cool idea! Game Loader outputs standalone executables like this for the Commodore 64. C64 Atari2600 Cross Compiler - Commodore 8-bit Computers - AtariAge Forums The Game Loader emu recompiles the source with the VM like @JetSetIlly described. This emu also surfaces PETSCII graphical skins on Atari games by using an extra chip the VM has available, the VIC-II. The Commodore graphical skins can be configured as options and static bound to the standalone executable or used programmatically to write enhanced Atari 2600 games or even "fat binaries" with extra features when played on the C64. The Television may be the hardest to emulate for PC based emulation and the VIC-II has an edge racing the beam natively with this emu. The tight beam coupling in the VIC-II and source recompiling make it possible to emulate 1 Mhz hardware on 1 Mhz hardware. You can see the screen roll when crashing the Light Cycle on the real hardware with a Cathode Ray Tube. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.