Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AppleWin Settings #709

Closed
Harbinger-365 opened this issue Oct 22, 2019 · 14 comments
Closed

AppleWin Settings #709

Harbinger-365 opened this issue Oct 22, 2019 · 14 comments

Comments

@Harbinger-365
Copy link

Hi all,

I am working on a project to allow Apple II games to be played in a portable fashion setup so that the end user doesnt need to know how to use the emulator itself, just click a bat and it will play the game. The idea is to make these games more accessible for people who are curious but dont know much about computers in general. To that effect I have an install script which sets everything up for the user including default settings for AppleWin based on a few questions asked during the script.

My issue is that as far as I know these settings need to be inserted into the registry for AppleWin to use. I have done this using a reg file, however this triggers Windows UAC which might scare some users away. I was wondering if you had ever considered using an .ini file to store the settings instead of the registry, therefore making it easier to change a setting for more casual users, making it more portable with pre configured settings, and removing the need to edit the registry?

I apologise if this sort of suggestion bothers anyone on the project, I truly do appreciate the work you have all done. And thanks again for fixing the HDV dismount issue.

@Harbinger-365 Harbinger-365 changed the title Registry Settings AppleWin Settings Oct 22, 2019
@tomcw
Copy link
Contributor

tomcw commented Oct 22, 2019

What configuration are you needing to set in the Registry?
EG. perhaps there are already command line options for these settings?

NB. similar request in #446

@Harbinger-365
Copy link
Author

Harbinger-365 commented Oct 22, 2019

Similar idea to #446 for a different reason, yes. In my case the user very likely will have never run AppleWin without one of my game launch bat files so there will be nothing set in the registry at all. One result would be no sound enabled as you need to enable sound within the settings of AppleWin (to my understanding) on an initial setup. I also default to Full-screen show subunit status as off, and Mockingboard on, for the users registry. There is also some questions asked to the user via the setup.bat whether they would like RGB, NTSC, Color TV, Scanlines, and whether to use joystick or keyboard for controllers. All of this feeds the reg file which I then insert into the registry at the end of the bat. It would be much simpler via an .ini which is why I ask.

If I added all that to the command line even if they were all command line options it would be a very complicated command line launch.

@tomcw
Copy link
Contributor

tomcw commented Oct 22, 2019

OK, this all makes sense - and I agree that things would get very complicated on the command line!

Switching from the Registry to an ini file (or better a yaml file) seems like a big job. But I've not given it any thought at all, so perhaps I'm wrong. So no promises on if/when this can be achieved.

@Harbinger-365
Copy link
Author

I appreciate your looking into it.

@Keatah
Copy link

Keatah commented Oct 26, 2019

I would also love to see config.ini support.

@Michaelangel007
Copy link
Contributor

Tom,

As a short-term compromise would it be useful to extend the debugger to have a command to load/save ini settings?

The reason I'm asking is that it would be nice to have the debugger save current options (such as if disassembly shows the colon, etc.) instead of having to manually "redo" your favorite layout each time you fire up the emulator.

There might be some overlap of work?

@tomcw
Copy link
Contributor

tomcw commented Nov 2, 2019

Hi Michael,

I don't know if you saw, but I recently added the auto-running of DebuggerAutoRun.txt, which is just a run-script.

If there were a way to specify "disassembly shows the colon", etc, then you could just use this auto-run script.

@audetto
Copy link
Contributor

audetto commented Nov 5, 2019

I think this is a great idea, and it does not take too much.
One has to reimplement these 5 functions

https://github.com/audetto/AppleWin/blob/master/source/linux/interface.h#L32

I have implemented 2 different ini file backends already:

The easiest way to use a ini file is to treat it like the Registry: read & write and create if missing.

But I think there are a couple aspects I would improve

  • use strings rather than numbers
  • currently in AppleWin there is no single place storing all the possible options as a struct. this could be added, populated at startup and persisted when the application finishes

@tomcw
Copy link
Contributor

tomcw commented Nov 5, 2019

My preference would be .yaml, not .ini - the reason being for consistency with the existing save-state .yaml format. EG. it would be odd to use .yaml for state, and .ini for config.

@Michaelangel007
Copy link
Contributor

Ah, I missed DebuggerAutoRun.txt -- that is indeed a nice QoL feature. I see it was added in v1.29.3.0 -- cool stuff! Thanks, Tom!

taeber added a commit to taeber/AppleWin that referenced this issue Feb 10, 2020
This change adds the `-conf` switch which, if specified, will use an
INI-file instead of the Windows Registry.

This addresses AppleWin#709 and AppleWin#446.
@tomcw tomcw added this to the 1.29.12 milestone Apr 3, 2020
@tomcw
Copy link
Contributor

tomcw commented Apr 3, 2020

Closing as PR #757 adds support for applewin -conf <ini>

@tomcw tomcw closed this as completed Apr 3, 2020
@Harbinger-365
Copy link
Author

Sweet! Thanks, I look forward to the release

@tomcw
Copy link
Contributor

tomcw commented Apr 26, 2020

@Harbinger-365 - this is now released in AppleWin 1.29.12.0 here.

@Harbinger-365
Copy link
Author

Thanks Tom, I appreciate the efforts of everyone involved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants