Jump to content
atx4us

Is it possible to package an Atari .atr file into a Windows .exe file?

Recommended Posts

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.

  • Like 1

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

 

 

Share this post


Link to post
Share on other sites

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.

  • Like 1

Share this post


Link to post
Share on other sites

On the Mac there were many DOS games that are done this way to run self contained. Pretty cool

Share this post


Link to post
Share on other sites

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.

  • Like 1

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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¢

  • Like 1

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 by Kr0tki

Share this post


Link to post
Share on other sites

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

  • Like 2

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 :-D

 

sTeVE

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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.

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