atx4us Posted July 5, 2016 Share Posted July 5, 2016 Hello Everyone, I have a simple question that currently may not have a simple answer. Is it possible to package an Atari .atr file into a Windows .exe file? If there is no simple answer, is there a way to do this at all? PS. The same question applies to all the other common Atari file formats as well such as .xex, .com, etc. Thanks. 1 Quote Link to comment Share on other sites More sharing options...
Rybags Posted July 5, 2016 Share Posted July 5, 2016 So I suppose you mean some sort of complete package where an emulator is resident in there as well? In theory possible. There's been self-extracting Exe for Zip and Rar for years. No doubt there's utilities around that could create an Exe that has an archive and embedded batch files that get run. So all you'd need is unzip what's needed for the emulator, unzip for the Atr into a temp directory. Then run the emulator with parameter to autoboot the Atr or Xex file. Quote Link to comment Share on other sites More sharing options...
pirx Posted July 5, 2016 Share Posted July 5, 2016 (edited) You can try with Inno Setup http://www.jrsoftware.org/isinfo.php-- this will get you a nice installer that can be distributed as a single .exe. You can also look up this cool piece of software: http://www.pouet.net/prod.php?which=56294 Edited July 5, 2016 by pirx Quote Link to comment Share on other sites More sharing options...
atx4us Posted July 5, 2016 Author Share Posted July 5, 2016 So I suppose you mean some sort of complete package where an emulator is resident in there as well? In theory possible. There's been self-extracting Exe for Zip and Rar for years. No doubt there's utilities around that could create an Exe that has an archive and embedded batch files that get run. So all you'd need is unzip what's needed for the emulator, unzip for the Atr into a temp directory. Then run the emulator with parameter to autoboot the Atr or Xex file. Yes. It will need to have a packaged emulator built into the .exe file. There seems to be a gap for this type of program support. Thanks. You can try with Inno Setup http://www.jrsoftware.org/isinfo.php-- this will not get you a nice installer that can be distributed as a single .exe. You can also look up this cool piece of software: http://www.pouet.net/prod.php?which=56294 No. I don't want an installer. Just a simple standalone .exe file that you can double-click on and launch the embedded Atari program. Thanks. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted July 5, 2016 Share Posted July 5, 2016 May I ask why you want to do this? Also to have highest compatibility would it not need the official OS packaged with the emulator which unless you have direct permission is a no no? Just interested.. Quote Link to comment Share on other sites More sharing options...
pirx Posted July 5, 2016 Share Posted July 5, 2016 I reckon this is for the own game, so a 3rd party free OS would be just as good. I see then a simple solution here: http://ntsblog.homedev.com.au/index.php/2015/05/14/self-extracting-archive-runs-setup-exe-7zip-sfx-switch/ Of course you will need to replace RunProgram="setup.exe" with some kind of a batch file that runs emulation with atr/xex and possibly deletes the files afterwards. Quote Link to comment Share on other sites More sharing options...
Dmitry Posted July 5, 2016 Share Posted July 5, 2016 personally I wouldn't mind distributing my Atari programs to friends that run Windows and do not and will not install an Atari emulator. Sure they will understand it's an old Atari program but the emulator should be completely hidden from them As for compatibility it only has to be compatible with the one program being distributed which in my case means I do not need anything except altirra roms. Of course I am not speaking for the op but for me this idea makes a lot of sense. It ads value to Atari programs because they also become Windows programs ... Pixelated by Windows standards but in some ways just a game with a retro feel. 1 Quote Link to comment Share on other sites More sharing options...
tjlazer Posted July 6, 2016 Share Posted July 6, 2016 On the Mac there were many DOS games that are done this way to run self contained. Pretty cool Quote Link to comment Share on other sites More sharing options...
atx4us Posted July 6, 2016 Author Share Posted July 6, 2016 personally I wouldn't mind distributing my Atari programs to friends that run Windows and do not and will not install an Atari emulator. Sure they will understand it's an old Atari program but the emulator should be completely hidden from them As for compatibility it only has to be compatible with the one program being distributed which in my case means I do not need anything except altirra roms. Of course I am not speaking for the op but for me this idea makes a lot of sense. It ads value to Atari programs because they also become Windows programs ... Pixelated by Windows standards but in some ways just a game with a retro feel. You said it! That's exactly what I had in mind. 1 Quote Link to comment Share on other sites More sharing options...
atx4us Posted July 6, 2016 Author Share Posted July 6, 2016 May I ask why you want to do this? Also to have highest compatibility would it not need the official OS packaged with the emulator which unless you have direct permission is a no no? Just interested.. You're right. I'm not sure how to get around the distribution permission issue. But, at the moment, I'm just looking for a simple and convenient solution. As tjlazer said about the Mac world, we need a Windows solution, too. Quote Link to comment Share on other sites More sharing options...
UNIXcoffee928 Posted July 6, 2016 Share Posted July 6, 2016 You can do this with TCL/TK. Everything, including a virtual filesystem, can be packaged in what are known as "Starkits" & "Starpacks". You could even take it a step further & use the the Tcl variant known as the "Expect" Language to get the ROMs from elsewhere at execution-time, to avoid distributing the ROMS, while still distributing a combo of an executable emulator & .atr package. TCL/TK is a very flexible prototyping language that is very easy to learn if you know Atari BASIC. It is a very mature & stable language, and while not the flavor of the week, as far as languages go, it can solve many, many problems very effectively. Highly recommended, particularly if you are in the market for a language to mess around with. You can create fully cross-platform software, with GUIs, in as much time as it takes to write an Atari BASIC program. It is interpreted, like BASIC (making it very easy to learn), however, when packaged it appears to the user as a standard executable or group of executables & data in a virtual filesystem. One of the great beauties of the language is that the same code will run on Windows, Mac, & Linux, without modification. If cross-platform compatibility is less of an issue, it is also very easy to use this language with hooks to C code or Assembly Language, to speed it even further, just like you used to do in BASIC with ML. Lots of people will go on & on about other, newer languages, but TCL/TK is great when you need to get things done Fast; it is especially useful for meeting tight deadlines. I am very happy that I had taken the opportunity to get acquainted with it! The Active State Distribution is great for Windows. Quote Link to comment Share on other sites More sharing options...
Brentarian Posted July 6, 2016 Share Posted July 6, 2016 A good example is here: http://www.bigfivesoftware.com/Emulator/emulator.htm Unfortunately I don't think Bill would release his source code. Quote Link to comment Share on other sites More sharing options...
atx4us Posted July 7, 2016 Author Share Posted July 7, 2016 You can do this with TCL/TK. Everything, including a virtual filesystem, can be packaged in what are known as "Starkits" & "Starpacks". You could even take it a step further & use the the Tcl variant known as the "Expect" Language to get the ROMs from elsewhere at execution-time, to avoid distributing the ROMS, while still distributing a combo of an executable emulator & .atr package. TCL/TK is a very flexible prototyping language that is very easy to learn if you know Atari BASIC. It is a very mature & stable language, and while not the flavor of the week, as far as languages go, it can solve many, many problems very effectively. Highly recommended, particularly if you are in the market for a language to mess around with. You can create fully cross-platform software, with GUIs, in as much time as it takes to write an Atari BASIC program. It is interpreted, like BASIC (making it very easy to learn), however, when packaged it appears to the user as a standard executable or group of executables & data in a virtual filesystem. One of the great beauties of the language is that the same code will run on Windows, Mac, & Linux, without modification. If cross-platform compatibility is less of an issue, it is also very easy to use this language with hooks to C code or Assembly Language, to speed it even further, just like you used to do in BASIC with ML. Lots of people will go on & on about other, newer languages, but TCL/TK is great when you need to get things done Fast; it is especially useful for meeting tight deadlines. I am very happy that I had taken the opportunity to get acquainted with it! The Active State Distribution is great for Windows. Thank you for the information. You seem to be proficient with this system. It would be really helpful if you can create a working sample project for a tutorial and reference. Quote Link to comment Share on other sites More sharing options...
atx4us Posted July 7, 2016 Author Share Posted July 7, 2016 A good example is here: http://www.bigfivesoftware.com/Emulator/emulator.htm Unfortunately I don't think Bill would release his source code. Yes. I remember this program from a while ago. It would be nice if Bill would share his emulator with us. I can try contacting him and ask. Quote Link to comment Share on other sites More sharing options...
Shawn Jefferson Posted July 8, 2016 Share Posted July 8, 2016 Wouldn't you also need the rights to redistribute the emulator? 1 Quote Link to comment Share on other sites More sharing options...
Shawn Jefferson Posted July 8, 2016 Share Posted July 8, 2016 (edited) Double post Edited July 8, 2016 by Shawn Jefferson Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted July 8, 2016 Share Posted July 8, 2016 With all the viruses and shit online, downloading the atr file and running it in a known good emulator is far safer than downloading some random exe that claims to be an atari game. Also some antivirus software flag any self extracting exe file as virus whether it's harmful or not. Overall this is a bad idea to distribute atari games. my 2¢ 1 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted July 8, 2016 Share Posted July 8, 2016 Just tried to play with the Bounty Bob official emu ad it would not work properly on my Win 7 X64 machine, runs but the first time you click an option it goes in to not responding mode but still plays music etc. Hope the all in one emu & game / program does not catch on from an archiving POV, one emulator and 15,000+ files is one thing, add an emulator to all those and my HD will start having a fit.... Just joking.... Paul.. Quote Link to comment Share on other sites More sharing options...
Kr0tki Posted July 8, 2016 Share Posted July 8, 2016 (edited) Wouldn't you also need the rights to redistribute the emulator? Indeed there are legal ramifications. If you wanted to bundle an Atari program into an EXE of an emulator that's distributed under the GNU GPL, such as Altirra or Atari800, then you would be legally obliged to provide that Atari program's source code to each recipient of that bundle. And the source code would have to be licenced under the GPL as well. Edited July 8, 2016 by Kr0tki Quote Link to comment Share on other sites More sharing options...
phaeron Posted July 8, 2016 Share Posted July 8, 2016 That's not necessarily a blocking issue in my case as I could dual license, but I couldn't generally support such a use case unless it was always possible technically and legally to re-extract the bundled program for use under any emulator on any platform or on the real hardware. Realistically, packaged preset configuration support would be more generally useful with less problems, the simplest being a folder with a manifest and images. From there, it's not much work to jump to fancier forms like reading directly out of a .zip file or including the data in a Windows EXE resource or OS X app bundle, all of which have relatively easy and known ways to get back to the original loose files. Even if you're not a fan of baking everything into an EXE, it'd be generally useful to be able to deliver a game or program in one bundle that you could load into an emulator and have it auto-switch to a local configuration for that bundle. I've been slowly accumulating some of the necessary pieces, like profile support and a VFS for mounting images out of .zip files. It'd be nice to have the Atari equivalent of OVF (but without the XML). 2 Quote Link to comment Share on other sites More sharing options...
atx4us Posted July 9, 2016 Author Share Posted July 9, 2016 That's not necessarily a blocking issue in my case as I could dual license, but I couldn't generally support such a use case unless it was always possible technically and legally to re-extract the bundled program for use under any emulator on any platform or on the real hardware. Realistically, packaged preset configuration support would be more generally useful with less problems, the simplest being a folder with a manifest and images. From there, it's not much work to jump to fancier forms like reading directly out of a .zip file or including the data in a Windows EXE resource or OS X app bundle, all of which have relatively easy and known ways to get back to the original loose files. Even if you're not a fan of baking everything into an EXE, it'd be generally useful to be able to deliver a game or program in one bundle that you could load into an emulator and have it auto-switch to a local configuration for that bundle. I've been slowly accumulating some of the necessary pieces, like profile support and a VFS for mounting images out of .zip files. It'd be nice to have the Atari equivalent of OVF (but without the XML). Thanks for the feedback. Any progress on the bundled packages will be great! Of course, there are pros & cons for a bundled .exe file. But, the value of convenience as best said by Dmitry should at least be worth the consideration. Lastly, as tjlazer pointed out, this approach has already been done to run DOS programs on the Mac. So, I don't think I'm that far off the mark. Quote Link to comment Share on other sites More sharing options...
atx4us Posted July 9, 2016 Author Share Posted July 9, 2016 Just tried to play with the Bounty Bob official emu ad it would not work properly on my Win 7 X64 machine, runs but the first time you click an option it goes in to not responding mode but still plays music etc. Hope the all in one emu & game / program does not catch on from an archiving POV, one emulator and 15,000+ files is one thing, add an emulator to all those and my HD will start having a fit.... Just joking.... Paul.. Not working correctly on my Win7_x64_HP system, either. Quote Link to comment Share on other sites More sharing options...
fujidude Posted July 10, 2016 Share Posted July 10, 2016 As pirx said, Inno Setup is good. Also pretty good is NSIS. Quote Link to comment Share on other sites More sharing options...
Jetboot Jack Posted July 10, 2016 Share Posted July 10, 2016 Not exactly useful or really in answer to the original post - but kinda useful for non Windows users... I use OSX and use Automator to pair a file and application to create executable apps for emulator software - works with both Atari800MacX or Altirra running under Wine - so I have native OSX apps for my favourite A8 games which run directly from launcher, Steam or finder sTeVE Quote Link to comment Share on other sites More sharing options...
1050 Posted July 10, 2016 Share Posted July 10, 2016 There always was and is method of packaging for Windows, the real issue is a standalone emulator that can be fired up pointing to the ATR wanted. IExpress package is how a goodly number of Windows updates used to be delivered wrapped up inside of. Not so much these days mind you but they can still work. Only problem then is that they use 16 bit code and will not fly on multi core 64 bit machines. Here is where the Inno type packages will come into their own. It may be a 16 bit issue with the emulator where 64 bit machines will not run it? A bit of testing should be done first looking for this exact issue. At any rate iexpress has been installed on XP from day one and others as well. It was always free and available with any IEAK customization kit for administrators to deploy en mass whatever was required on a network for example. http://support.microsoft.com/kb/197147 http://www.mdgx.com/add.htm#IEA 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.