In relation to custom ROM compatibility

Discuss ROM-compatibility related issues here.
Post Reply
User avatar
vexiant
Posts: 3
Joined: Thu Dec 12, 2013 4:16 pm
Contact:

In relation to custom ROM compatibility

Post by vexiant » Thu Jan 09, 2014 12:51 am

MarathonMan, will CEN64 support custom roms created with the libdragon toolchain? I've been passing the word of your emulator and have someone asking me about this on a remote message board because I used it to make one but it's on a computer I currently don't have access to.

Edit: Also, for my own purposes, could you, in detail, elaborate as to why some emulators support ROMS not built on the Nintendo 64 SDK, please?

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: In relation to custom ROM compatibility

Post by MarathonMan » Thu Jan 09, 2014 1:24 pm

CEN64 already runs libdragon based ROMs. I wrote a few myself to test edge cases in the VR4300 and compared the results on the physical console with CEN64. I've also tested all (?) of the "example" ROMs in libdragon and they work fine as well.

It's not that other emulators try to support libdragon or libultra or what have you -- most emulators (HLE, in particular) try to catch hardware accesses and emulate them. It just so happens that libdragon accesses the hardware in a manner similiar to libultra, so usually there's a lot of crossover where as long as one SDK works, the other will as well.

User avatar
Zoinkity
Posts: 5
Joined: Sun Oct 27, 2013 5:13 pm

Re: In relation to custom ROM compatibility

Post by Zoinkity » Sat Jan 11, 2014 1:11 pm

Other popular emus can't run, for instance, the scummvm because it uses the TRAP opcodes. It also uses some of the COP0 registers as temporary storage, including a few that, according to documentation, are read-only. In actual fact they're also write capable, but this smacks a bit of intentionally breaking emulaor support by using a quirk.

I can tell you a fair amount of the problem with running certain libdragon software on other emulators is they do some strange things.

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: In relation to custom ROM compatibility

Post by MarathonMan » Sat Jan 11, 2014 2:25 pm

Well, to be fair, CEN64 doesn't support TRAP opcodes yet either... :D

I generally refrain from implementing any instructions that I've yet to see executed.

Either way, thanks for sharing the interesting information, especially the CP0 registers. I would have never thought to test read-only registers for such a case. The fact that a lot of those registers ARE writable actually eases implementation a good deal.

User avatar
vexiant
Posts: 3
Joined: Thu Dec 12, 2013 4:16 pm
Contact:

Re: In relation to custom ROM compatibility

Post by vexiant » Wed Jan 15, 2014 8:21 pm

Thanks for the reply guys.

Heh, when I think co-processor issues like such, I think of niew not being compatible with floating points/COP1.
Another quick question: When not making a low resolution custom game, lets say I change osViSetYScale for whatever given reason, would it mess up or could I edit it successfully? You can edit both osViSetxScale and osViSetYScale just fine on low resolution, but Nintendo warns not to adjust it on higher resolution games. Again, for whatever said reason, would I be able to do so with a custom game that's high resolution?
Last edited by vexiant on Sun Oct 18, 2015 3:42 pm, edited 1 time in total.

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: In relation to custom ROM compatibility

Post by MarathonMan » Fri Jan 17, 2014 8:50 am

TBH, I have no idea. There's only one way to find out...! ;)

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest