What's new

Glide64 for AMD64

Günther1

New member
I took glide64-wonder+-linux-v12 and ported it to AMD64. It should be functionally equivalent to the 32 Bit version, but it's very possible that I missed some regression. The source code can still be compiled into a 32 bit version. I tested it with Mupen64 for AMD64, so I'm posting here.

You can downloaded it with git, see http://repo.or.cz/w/Glide64.git. I'll see if I can upload a tarball somewhere, too.
 

Danny

Programmer | Moderator
Nice work :)

Glad to see another person getting involved with this project :D
 

Richard42

Emulator Developer
I took glide64-wonder+-linux-v12 and ported it to AMD64. It should be functionally equivalent to the 32 Bit version, but it's very possible that I missed some regression. The source code can still be compiled into a 32 bit version. I tested it with Mupen64 for AMD64, so I'm posting here.

You can downloaded it with git, see http://repo.or.cz/w/Glide64.git. I'll see if I can upload a tarball somewhere, too.

That's great; maybe we can integrate this into Mupen64-amd64 for the next version. I do have one question, though. This is just the wrapper which interfaces with OpenGL and exports the Glide API, right? But what about the Glide64 video plugin itself -- does it compile and run properly on 64-bit machines?
 
OP
G

Günther1

New member
This is just the wrapper which interfaces with OpenGL and exports the Glide API, right? But what about the Glide64 video plugin itself -- does it compile and run properly on 64-bit machines?

No, it's the whole plugin. I did not actually had to change anything in the wrapper, that one compiled out of the box. Almost all changes required were in the plugin itself - it has lots of assembler and circumvented typesafety by casting pointers to DWORDs. I used the register allocation features of GCC's inline assembler and nasm's %define feature to make the assembler bits portable between x86 and AMD64.

About running properly: I only tested with Majora's Mask so far. (In fact, that game is the reason I did this work - Rice's Video Plugin has a few bugs.) There are probably still a few 64 bit bugs left. I just fixed a crasher yesterday where a bit of inline assember had one instruction left which did pointer arithmetic with a 32 bit register. But I'm optimistic because I think most assembly bits are in fairly generic code.

About integration with Mupen64-amd64: that would be great. :)
 

Top