CE-Programming / CEmu

Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features
https://ce-programming.github.io/CEmu/
Other
1.1k stars 78 forks source link

Command-line arguments #17

Closed adriweb closed 7 years ago

adriweb commented 8 years ago

While it's not interaction once launched, it's somewhat related to issue #16.

There was talk on #cemu-dev (especially with @alberthdev) about possible command-line arguments for CEmu when launching it. Ideas included:

Any more ideas/questions etc. welcome.

alberthdev commented 8 years ago

This is something I'd like to work on when I get a chance! I think the ideas included:

Another interesting thing to consider (outside the scope of this particular issue) - do we want to add any Lua support? Might be kind of interesting to do, though it may add some overhead... What do you guys think?

elfprince13 commented 8 years ago

It would be great to have a "execute this program/app" option.

I would prefer exposing an IPC mechanism over embedding a specific scripting language.

debrouxl commented 8 years ago

I agree that an IPC mechanism, which is the topic of issue #16 , is higher priority than scriptable emulator operation using Lua, Python, JS or another widely used programming language, possibly using an embeddable implementation (Duktape, XS6, Micro Python, etc.) inside a native code program.

Said scripting front-end, with advanced file send / file recv / keypress / screenshot / other capabilities, should build on top of the IPC. I'll create an issue for scripting on top of the IPC.

mateoconlechuga commented 8 years ago

While I agree having an IPC would be neat, I disagree that this should become a feature. This is already implemented throughout the GUI, and the userbase for it would be very minimal compared to the effort spent in implementing it. I would like to focus more on the CLI when starting the program, as I feel this would be the most useful feature.

In addition, because of state saving, it is going to be rather difficult to find a way to safely transfer files on start.

geekbozu commented 8 years ago

So in pull request #75 i added in basic support for some of this stuff. Most notably autotester integration as well as something @adriweb requested else where. Which is forcing a ROM load instead of the saved state.

Loading a ROM via commandline is currently not possible there is no interface to do so. In Cemu's current setup one could be added but it would change the ROM that is loaded after that. (EG. it would get saved as the current ROM). I believe this to be acceptable practice, but in some auto testing situations it might be a nuisance to the end user if it overwrites their typical use ROM.

In addition, because of state saving, it is going to be rather difficult to find a way to safely transfer files on start.

There is now a command line argument to ignore that. Alternatively we could assume sending files implies a reset of the device. Both are acceptable.

mateoconlechuga commented 7 years ago

A list of command line arguments can be found here: https://github.com/CE-Programming/CEmu/wiki/Command-Line-Arguments

Because this implements many things; I feel that the scripting interface could easily handle future items, especially with lua. This topic is being closed; however a future command line argument to load a lua script is really the only nesassary thing left.