Original Post

So I know the VB CPU is not a stock V810, it has some modifications. I remember DogP saying remaking the VB would be easy, and that makes sense, because COTS cloning has been done by companies before. But is there a COTS version of the V810, or a compatible variant?

7 Replies

Hmm… I don’t remember saying that remaking the VB would be easy. But yes, there are commercial V810 chips… that’s what a V810 chip is. The VB CPU is a like the commercial V810, but customized for Nintendo. And because it’s modified, unfortunately you couldn’t really remake the VB with a commercial V810, because it’d be missing the modifications (new instructions and stuff).

And the CPU is hardly the difficult part of remaking the VB. I’d say the VIP would be the most complex… and since it’s a completely custom Nintendo chip, there’s less information about the exact inner workings.

You could easily fit all the digital stuff of a VB inside a modern FPGA… but I think there’d be a LOT of reverse engineering left to do to get accurate timing and operation of all the parts, which would be necessary to remake the VB.

DogP

DogP wrote:
But yes, there are commercial V810 chips…

Is your use of a present tense implying that the V810 is still being produced?

And because it’s modified, unfortunately you couldn’t really remake the VB with a commercial V810, because it’d be missing the modifications (new instructions and stuff).

The V810 has an invalid instruction interrupt, so you could emulate them. It would be slower, but only MPYHW has a defined cycle count, so it would be mostly compatible.

The PIR would be different though, but I doubt that would cause many compatibility issues. πŸ™‚

You could easily fit all the digital stuff of a VB inside a modern FPGA… but I think there’d be a LOT of reverse engineering left to do to get accurate timing and operation of all the parts, which would be necessary to remake the VB.

Aren’t emulators proof that our current understanding of the hardware is sufficient for most games?

HorvatM wrote:
Is your use of a present tense implying that the V810 is still being produced?

Heh, I doubt it… but I’m sure they can be found or harvested from old hardware. I was just pointing out that the V810 is/was the commercial chip… the NVC is a customized V810 built for Nintendo.

HorvatM wrote:
The V810 has an invalid instruction interrupt, so you could emulate them. It would be slower, but only MPYHW has a defined cycle count, so it would be mostly compatible.

The PIR would be different though, but I doubt that would cause many compatibility issues. πŸ™‚

Yep… you could emulate the extra instructions, though IMO, that’d only be partially compatible, certainly not a “remake”. There are 6 extra instructions, and even though the manual only specifies MPYHW, they all have specific cycle counts (I assume the others are single cycle instructions). IIRC, Red Alarm uses MPYHW extensively, and emulating that instruction would likely make it unplayable. And yeah, I doubt the PIR would cause problems, but you never know. πŸ˜‰

HorvatM wrote:
Aren’t emulators proof that our current understanding of the hardware is sufficient for most games?

Not at all, at least in my opinion. The emulators loosely recreate what the components of the VB do. To my knowledge, there are no cycle accurate VB emulators. Sure, we could make a system that simply runs a VB emulator (might as well just run an emulator on a Raspberry Pi with 3D glasses), but if we want a true “remake”, I think we’d need to be running the CPU, VIP, VSU, etc. cycle accurately… with true interconnects. Stuff like how many cycles it takes the VIP to render things is very much unknown to my knowledge. Simply rastering an image based on register contents and displaying it on a screen 50 times per second is much different than what the VB actually does.

But I guess it just depends what you call a remake, vs. an emulator. And I’m not saying it can’t be done… just that our current understanding isn’t there yet, and even if it was… it certainly wouldn’t be “easy”. πŸ˜‰

DogP

DogP wrote:
Hmm… I don’t remember saying that remaking the VB would be easy.

DogP

Perhaps not your exact words but when you said it could be done with an FPGA it made it sound easier than I though it was.

Although the V810 is no longer produced (I only know of 2 devices that used it), it is a MIPS processor, right? So there’s probably a modern processor that would be compatible. The plus side to that is extra processing power for homebrew.

And about the custom instructions issue, perhaps just running the CPU faster to compensate for the interrupts? The only other solution to that seems to be making our own CPU. How much does it cost to make silicon chips?

in3D wrote:
Although the V810 is no longer produced (I only know of 2 devices that used it), it is a MIPS processor, right?

No, it’s not MIPS. The instruction set is similar but that’s it. And while the instruction set of the V850 (still being produced and apparently it is a quite popular microcontroller architecture) seems to be a superset of the V810’s, the executable code is not compatible. I tried disassembling some V810 code with a V850 disassembler and got garbage.

Hmm… So the only real solution is remaking the chip itself. I’m not sure, but I think silicon processors are expensive to produce in low quantities. Like I’ve said before, the folks over at 3dbrew.org were trying to decap the 3ds SoC. They started a fundraiser for it, so it must not be cheap. Whether the PVB community could do that kind of thing I don’t know, but after that all there would be left to do would be copying the circuit into a computer.

This thread is way over my head. lol

 

Write a reply

You must be logged in to reply to this topic.