libretro / hatari

New rebasing of Hatari based on Mercurial upstream. Tries to be a shallow fork for easy upstreaming later on.
25 stars 41 forks source link

New Hatari Version 2.4.1 libretro and special features #93

Open Mitch187 opened 1 year ago

Mitch187 commented 1 year ago

Hi,

is it possible to update the acutal hatari libretro core to version 2.4.1? Ans add special Features to choose in Retroarch the ST-Version and Language and Ram support:

MODEL atarist.model ⇒ 520 ST / AUTO 520st_auto, 520 ST / TOS 1.00 520st_100, 520 ST / TOS 1.02 520st_102, 520 ST / TOS 1.04 520st_104, 1040 STE / AUTO 1040ste_auto, 1040 STE / 1.06 1040ste_106, 1040 STE / 1.62 1040ste_162, Mega STE / AUTO megaste_auto, Mega STE / 2.05 megaste_205, Mega STE / 2.06 megaste_206.
LANGUAGE atarist.language TOS languages.⇒ DE de, ES es, FR fr, IT it, NL nl, RU ru, SE se, UK uk, US us.
EMULATED RAM SIZE atarist.ram ⇒ 520K 0, 1M 1, 2M 2, 4M 4.

Best Regards, Mitch

bbbradsmith commented 1 year ago

Hatari version upgrades have been discussed in the past (see #8) and there's been a few issues holding it back. (Newer version requires more powerful CPU, there aren't available volunteers to do the upgrade work, this core may be difficult to maintain, etc.)

I've recently started working on a new adaptation of Hatari which is based on the latest with the intent to be able to update as it continues. It's mostly ready to go now, but there are a few minor details I'm working through before I make a more public announcement to begin proper testing. If you'd like to try, it's available here:

Mitch187 commented 1 year ago

This ist very Nice! Thanks a Lot.

Darknior commented 1 year ago

WOAW so crazy to read you and read your Git <3 I stand for it for so many years ... really ... every one always speak about Amiga ... so many great emulators (core) and nothing for Atari :( It's really the best news of the year :) Thanks a lot !!!

For my part i'm working with BATOCERA team, and we are on linux. I will not open an issue for it, i will not know how to tell you ? :( But please, if you can add a LINUX build of you Core ... it will help a lot of ueers :D

https://batocera.org/

I've read you have added Savestates and Netplay :D So crazy ... If we have many Core options to fine configure games by games it will be the dream :) And if possible a streached full screen image, without overscan, like we have on PUAE on libretro :)

Thanka a lot for your work !!

bbbradsmith commented 1 year ago

I do have a working build with ubuntu which I haven't added to the main branch yet, as I'm still tweaking it, but you can find builds of it in the recent actions: hatariB actions

I don't consider it netplay ready, because the savestate restore takes too much CPU time, but the restore is at least seamless and correct now so it will not diverge if you try netplay (or run-ahead). So, netplay does function, but it will stutter whenever the other player moves as it starts doing a lot of rollbacks. It would be fine for turn based games.

There is a core option in Video to remove the overscan area, but I left it on by default, as it feels like the "natural" Atari ST monitor experience to see it.

RetroMarioBros commented 1 year ago

Oh thanks you! Would it be possible to have a build for Nintendo Switch?

bbbradsmith commented 1 year ago

No, I don't have the resources to provide builds for platforms like that myself. Maybe in the future if libretro decides to adopt this core it can be added with their more advanced build system.

Jamirus238 commented 11 months ago

Many thanks for your work on this. My main gripe with the core as it currently is in RA, is the inability to write to floppies, I hope you can fix that. Edit: I see now also that there is a pull request by greenchili2 that appears to fix some things.

bbbradsmith commented 11 months ago

Yes, hatariB has had floppy saving since the start. It's not based on this core so it's not really a fix for anything going on here.

Jamirus238 commented 11 months ago

Sorry, maybe I experienced a game specific bug then. I also read about floppy related problems from someone else, so I didn't bother to test it against standalone, I mostly use Steem.

McRmie commented 11 months ago

Wanted to add as well big thanks to bbbradsmith for your amazing work on hatariB/the new libretro hatari core. Huge improvement over the old one.

One plus for me that's not necessarily apparent is the core seems a lot less laggy in terms of input delay compared to the old one. This is with runahead and pre-emptive frames turned off of course (the old core didn't support them anyway).

The only thing that's missing right now imo is the ability to turn on and off the ST status bar with a key (the same way you can with the old core). I know you can do this right now but you have to go in the core's options every time.

Jamirus238: It's possible to write to floppies with the old/current core but you have to exit via the core's own menu, not with RA's.

bbbradsmith commented 11 months ago

One plus for me that's not necessarily apparent is the core seems a lot less laggy in terms of input delay compared to the old one. This is with runahead and pre-emptive frames turned off of course (the old core didn't support them anyway).

Yes, one of the reasons I wanted to start over was the way this core synchronizes frames was hard to get around. The new version generates frames 1:1 with the emulator, and savestates are now seamless allowing both run-ahead and netplay. (Netplay still still has a remaining stutter issue but I think I have a way to address it.)

The only thing that's missing right now imo is the ability to turn on and off the ST status bar with a key (the same way you can with the old core). I know you can do this right now but you have to go in the core's options every time.

In the core options under Retropad you can assign it to a button on the gamepad. I've been debating whether to keep it by default... I feel like it helps new users understand that something is happening during boot, and it gives a place to suggest pressing START for a quick help screen.

McRmie commented 11 months ago

In the core options under Retropad you can assign it to a button on the gamepad. I've been debating whether to keep it by default... I feel like it helps new users understand that something is happening during boot, and it gives a place to suggest pressing START for a quick help screen.

Doh. Missed it.

Awesome then. Works great. Personally I'd leave it on by default and if someone doesn't want it they can change it in the options or assign a key to toggle it on and off. That's just me though, either way is fine.

edit One argument maybe in favor of leaving the status bar on by default is that in the latest standalone of hatari, it's on by default. But, again, no big difference either way.

Shoegzer commented 11 months ago

Thank you @bbbradsmith! So nice to finally have a good alternative to the aging "official" Hatari core.

Speaking of which, at the risk of jumping the gun, it would be great to see your efforts become more officially recognized and accessible to a wider audience. Even better if it could entirely replace the existing core, which is unnecessary at this point. This would also fully resolve long-standing issue #8.

Here are a few things that come to mind, that would either have to happen or be nice to happen:

bbbradsmith commented 11 months ago

I do plan to submit it to libretro when I feel it's ready. Aside from testing, which is underway thanks to the people who have been trying it and giving feedback, there are some minor things I still want to do with it. I didn't ever want to replace this repository though. Its a new project from the ground up, even though it has the same goals and a common basis of Hatari.

Shoegzer commented 11 months ago

Thanks for your thoughts. That's certainly understandable. I didn't want to assume you were going to replace the repo necessarily, more of an option. Indeed other libretro projects exist outside the main repo as well. That said, it will be great to see as a more officially-recognized effort once you feel it's ready.

hizzlekizzle commented 11 months ago

We have a long history of either snapshotting an older codebase if it still has use and spinning off a datestamped core (hatari2015 or whatever), or just archiving it and pointing our infrastructure to a new repo if it makes sense to simply replace it. No worries either way. Just let us know if and how we can help :)

greenchili2 commented 11 months ago

I do plan to submit it to libretro when I feel it's ready. Aside from testing, which is underway thanks to the people who have been trying it and giving feedback, there are some minor things I still want to do with it. I didn't ever want to replace this repository though. Its a new project from the ground up, even though it has the same goals and a common basis of Hatari.

Don't worry. Take your time. I fully expect your excellent version to eventually replace the work I've just recently done. Especially when/if it is made available for more platforms. Like hizzlekizzle said the current one will likely be hatari20xx or something like that and replaced by yours.

In the meantime everyone.. enjoy the current version in the meantime to whet your appetite and most certainly offer input and do testing on bbbradsmith's version.

I'll eventually open an issue thread where people can post comments, issues, and suggestions. It's currently just a first round for me. But I don't mind adding stuff within reason. But ultimately I expect my work to be usurped by bbbradsmith's build for sure.