forum.defence-force.org

Comments, problems, suggestions about Oric emulators (Euphoric, Mess, Amoric, etc...) it's the right place to ask. And don't hesitate to give your tips and tricks that help using these emulations in the best possible way on your favorite operating system.

I suspect it should run without issue on the Huawei P8 Lite, and probably also on the Nexus 5X, hopefully also on the 2013 Nexus 7. On my phone it is running full speed. The Oneplus One is about 4 years old now, and when released used slightly older tech for the time in order to fit into a more budget price range. What I've noticed though is that when running at warp speed (i.e. no 50 FPS throttling), it only hits about 90-100 FPS max. On my desktop Linux machine, at warp speed it hits over 2000 FPS. So quite a difference there. I think when I release the first alpha/test version, I'd have the FPS on screen by default so people can report back what they're seeing on their devices. There's a little fast forward icon below the screen that allows the warp speed to be toggled. I might add a toggle icon button for the FPS as well, or maybe it could be a "stats/info" icon of some sort.

What I'm trying to focus on at the moment is usability. I haven't really worked on the emulation itself for at least a month. I'm trying to add features that make it easier to use on a phone. The interface is currently a bit like the Android home screen, where you kind of "install" apps into the emulator. What I mean is that you click on an icon to add a game or demo or whatever to the emulator, which lets you choose a file from your device, and then it adds it to the JOric home screen as an icon and name, very much like what the Android home screen looks like but its all within the emulator itself. The first page of the home screen is currently just the title. When you add a disk or tape file, it adds them from the second page onward, and then you swipe from the right to get to the pages of games/demos/etc that you've previously added. By default the icon used for a particular game/demo is an identicon generated from the name of the program. It is really easy to replace that with a screen image from the game or demo though. There's a screenshot icon below the Oric screen when it is running that allows you to set the icon image used on the home page for the currently running game/demo. So thinking of it as a traditional screenshot feature is probably the wrong way to think of it, because every time you click it, it will replace the icon image currently used on the home screen for the currently running app. So its not about saving the screenshot to disk so you can, for example, add it to a forum post or whatever, but its about tweaking your home screen to look like how you like it, so that the image used for the app you're running is at a point in the game or demo that you might particularly like or that you think best represents that program. And you can change it whenever you want to by clicking the screenshot icon again (it has a confirmation prompt in case you accidentally hit it).

An example of the default generated identicon icon can be seen for Rambo in the image below:

When I install JOric on my phone, I install it already pre-packaged with six pages of programs to run from the home screen, where each page has 20 programs on it. That makes it easy for me to quickly tests things on the phone, but I wouldn't want to release it like that for obvious reasons. The official releases would either have no apps, or perhaps a few like what Oricutron has, depending on the kindness of people like Chema, Dbug, etc. Hopefully Twilighte would have been happy for a few of his demos and games to be included.

In the absence of pre-packaging the emulator with programs, I was wondering about whether it was worth it to build a "game/demo" recognition engine, that would know based on the known name variants of the tape or disk files (or perhaps using some fuzzy name matching), and the contents of those files, what the program is that is being added. Currently when you add a game, you need to type the name of the game in so that it shows up nicely on the home screen. You can long press on the home screen icon to change the display name whenever you want to as well. An extension of this program recognition engine could be that it bulk recognises everything within a directory that you selected, or perhaps even within its sub-directories as well. Would definitely be a useful feature on the phone if such a tool could be built into it. I haven't even begun to work on something like that yet, but I can see how it would save people a lot of time. I'm just trying to think of ways to minimise the amount of file dialog usage that would be needed within the emulator. The home screen is there so you don't have to use the file dialog and then locate the same game every time from your device whenever you want to play a particular game. It will remember for you. And making the population of that home screen easier is certainly going to help as well.

Edit: Added a few screenshots from the emulator running on my phone to show some of what I've described.

If you had a recognition engine, it might actually be possible to obtain icons from somewhere, at least as a first suggestion? Maybe the first screenshot from the linked oric.org entry?

I also have to admit to being vague on the Android user interface guidelines, but if you've followed the home screen analogy closely then does each program have a corresponding stored state behind it? So switching Oric programs doesn't terminate them, it just suspends them? If so, are you planning to adopt any particular serialisation for state and/or offer it as something that can be imported and exported?

Nice idea .. seems like it would be easiest to build a hash-table of all Oric .dsk/.tap files you can find, then bundle that into a database and include it in the app so that whenever the user adds .dsk/.tap files, their games are instantly recognised ..

Or, another idea - you could just build in an oric.org browser .. with extra points if it actually runs under Oric emulation!