Jump to content

Recommended Posts

Posted

A few days ago I was writing a comment on a different board comparing different arcade emulators, and then it hit me that RAINE doesn't support Sega System 16/18 games such as Golden Axe, Out Run or Afterburner.

I'm wondering why, that's all. They were never considered, is emulation too complex or are other reasons I haven't guessed?

Posted

No specific reason, I just never tried it, the goal of raine has never been to emulate everything, it's quite a lot of work usually even with some info from mame because we make things quite differently, so I was adding stuff only when I had some good dose of motivation, even if I played in the arcades these games a long time ago I never had the idea to try to add them to raine.

  • 1 month later...
Posted

Hey, with all the buzz around AI lately, and particularly around Claude for coding, I had the idea to ask it first if it would be able to write a raine driver, the answer was surprisingly yes, and it gave a long commented source as an example.

So I pointed it to this thread, and asked him if he would be able to give a base driver for these games. And since this thing fears nothing, the answer was again yes, with a bold source to start the emulation for golden axe !

It's based on the mame source for the info but he made an impressive conversion work, even if there are a few small mistakes and it's still just a start, this kind of driver is very complex, but it's an impressive start nonetheless.

I won't post his direct answer here because I asked in french so the answer was in french, with comments in french in the proposed source, but it's easy to get the same answer by asking the same questions. I did it from the AI interface built inside firefox, I had chosen Claude, basic connection using just my google account that's all. 

Posted

I've never used AI, and some of them make horrendous mistakes, but Claude seems to have a better reputation than some of the others.

The question is, does this new driver work?

 

Posted

It's not a finished driver, he tells it in the description, he calls it a skeleton driver but it's more than that though, and there are mistakes to fix so you are supposed to understand this code to be able to use it, but I am quite impressed yeah. Claude is the best for coding questions from what I heard, I didn't expect it to succeed at such a question! There is still work to be done to make it a usable driver, but the start is often the most boring part, so it's already quite a feat!

Maybe it could be used to make some modifications or add some clones or games to some existing drivers too.

Posted

If you are curious, I had a little more fun with claude, I asked for the english version of this source, committed it to git and then started to explain the changes needed to make it to compile, and it followed, even for the dipswitches which are *VERY* different from what there is in mame!

You can see the latest version here, it's almost 100% from Claude, I only changed manually the MSG_xxx consts which were not defined, and left the undefined sound which helps this driver from compiling, but you get quite a beast already !

The only regret is that it doesn't remember all the explanations I just gave him, it's erased when the chat ends, so if ever I want to do more raine experiment with Claude, I'll have to re-explain everything, which took quite a while this time...
Anyway final result here : https://github.com/zelurker/raine/blob/master/source/games/sega16.c
Again it's still not a working driver, it's here just for info.

Posted

And after taking a closer look at that : finally it's more a very well done skeleton than anything else, I mean there are mistakes everywhere, I don't even understand where it got its roms from, there is no crc showed and I didn't find its names anywhere.

So you must check and fix everything inside, but I still find one positive point to this : it produces some very nice code with lots of comments, it's rare to put so many comments in a driver even when trying to take some time to do things well. And there are some quite original approaches : instead of allocating the ram zones as usual, it declares them as some static arrays, it works, and you can even say that since the memory usage of these drivers is ridiculous compared to what we have in our machines now it can be used this way, but if every driver does that, it's going to make quite a lot of wasted memory in the end ! So it should be fixed too...

Also there are some crazy parts in the original hardware, the byte read/writes of the 68000 are not directly connected to the ram as they should, so it can do a write byte to address 3 to send a byte to the sound z80 for example. All this part is totally ignored by this driver as it is, so all the complex part is still to do.

But still, it's more than I expected, and it can be used as a starting point, even if there is a lot to do after that.
Too bad, no magic here which would made drivers development easy!

Posted

That's one thing I have heard about AI, it can make the nicest clean-looking code, but the side-effect is that it doesn't actually work. So, as you say, it's only a starting point. AI tends to pick up bad habits that other authors have got into, so that might be where the static arrays come from.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...