hatariB - Atari ST core

hatariB:

I have been working on this Atari ST core for a while, it is an integration of the Hatari emulator, but I wanted to start from the ground again rather than try to continue the old libretro/hatari project.

It is approaching the point where I think it is ready to submit as an official core, so I am have created this thread to declare my intention. Still working through the details on this. Thanks!

10 Likes

Been using (and recommending it whenever I can) the HatariB core ever since version 0.1 I think. Anyway, releasing it officially would mean more people having access to it so I’m all for it. Thank you again for the great work on HatariB.

1 Like

So, I’ve gone through the steps under ā€œAdd your core to Libretro infrastructureā€. The info PR is merged. The docs PR is pending. It seems that Atari ST is already in the assets repository, I couldn’t see anything that looked like it needed some core-specific asset?

Finally there is a gitlab YML, though I have no way of testing it. Does an admin need to mirror it in the libretro gitlab or something like that? I don’t know what the workflow is for setting up and testing the CI build.

Oh, I see it’s already listed here: https://git.libretro.com/libretro/hatarib

I guess at some point it will pick up the change that added the gitlab YML and start building it regularly?

Is there a way to differentiate nightly builds from a stable release? Do I need to create a specially named branch like ā€œstableā€ or something like that?

I think it’ll pick it up, yeah, as long as there haven’t been any force-pushes (those require re-cloning on our end; not a big deal, but causes things to get stuck, just FYI).

There’s no differentiating between stable and nightly, no. it always builds from the master branch by default, though I believe other branches can be specified in the recipe…? If so, you could separate your dev and stable into branches and handle it that way. To be clear, there’s no way to have both a stable build and a nightly build on the buildbot without making a new core (e.g., the old ā€˜citra-canary’ core).

How often is the mirror supposed to update? I added the gitlab YML on the 29th but it appears it hasn’t pulled new changes for about a week. If I click on history it says:

This project is mirrored from https://github.com/bbbradsmith/hatariB.git. Pull mirroring updated 2 minutes ago. Successfully updated 2 minutes ago.

oh, did you force-push by chance? If so, we’ll have to re-clone it on our end.

No. There was a force push back in February 2025 (activity log) but nothing recent. Nevertheless the mirror appears to be stuck.

If there’s problems like this with the mirror in the future, is this thread an appropriate place to point it out, or is there some other place I should be notifying an admin?

this is an okay spot, yeah. You could also ping libretroadmin on github.

How do I ping someone on github? I don’t know of direct messaging methods. Would I raise an issue on libretro-super about it, or maybe somewhere else?

Otherwise I don’t know what I can do to help resolve the current issue with the mirror. The core should be ready to start attempting nightly builds. I’ve tried to set up the YML and makefiles to meet the requirements as I know them, though once it begins it’s going to be a slow process working out the yet-unknown issues.

Sure, you can make a ticket on libretro-super and then just @ libretroadmin.

Alright! With a few weeks of fiddling, and some assistance from WizzardSK, the pipeline is fully green for a number of platforms:

What’s the next step? What does it take to get the core to appear in RetroArch’s core downloader list?

It also appears that most of the builds are available now as buildbot nightlies, but not all? (The console ones seem to be absent, maybe a few others?) https://buildbot.libretro.com/nightly/

I’ve been able to test some of them firsthand, though there are many platforms I don’t have hardware for. Platforms built:

  • Windows 64-bit, 32-bit
  • Linux 64-bit, 32-bit, Arm64
  • MacOS 64-bit, Arm64
  • Android Arm64, Arm32, x86-64, x86
  • IOS 9, Arm64
  • WebOS
  • Vita, Wii, WiiU, Switch
5 Likes

Thanks a lot for this core! Good to see it officially released.

I’ve been using the v0.3 version for a couple of years now and thought it was almost perfect already. Had zero issues with it and could only think of 1 or 2 minor things I’d like to see added (a mouse speed option & maybe a floppy drive sound). Will check out v1.0 when it’s available. Cheers.

The mouse speed can be configured in Core Options > Input. Also there are two assignable buttons to make the mouse speed temporarily slower or faster, defaulting to L2 and R2.

Disk drive sound is something I’ve considered, there have been some experiments, but it wasn’t in a state that I wanted to release and I felt like it was better to leave it out for now.

Following up on the nightlies: it seems that all of them now appear on the buildbot nightlies, except WiiU. The pipeline is producing an artifact for WiiU though. However, I’ve noticed that the nightly builds don’t actually run on my WiiU (fatal memory access crash), and the last stable release is from late 2025 so maybe it’s just not being maintained right now. I also couldn’t get the Wii nightlies to run on my WiiU in vWii mode either.

I could be wrong but it doesn’t seem to apply to the host mouse though, only the gamepad. It’s actually a bit weirder, the speed setting doesn’t apply to the host mouse, but holding L2 does and also slows down the host mouse. Using the mouse for an extended period of time while holding L2 is kinda hard though. :slight_smile:

An option for the host mouse would be much appreciated.

(Edit: That’s based on my experience with v0.3, don’t know if the release version is the same yet!).

Ah! Thanks for the clarification, yes I think that’s how it works currently, but it does make sense to give a sensitivity option for the host mouse as well. I’ll take a look.

Edit: It was an easy thing to add, so there is now a ā€œMouse Host Sensitivityā€ option in the preview builds.

2 Likes

congrats! that’s a big milestone :slight_smile: