> If you program an FPGA to reproduce a system, there's no emulation...
Without seeing the code, it's impossible to know where Analog's implementation falls on the spectrum of software emulation vs hardware simulation. There is nothing magical about FPGAs that automatically makes anything developed with them a 1:1 representation of real hardware. In fact, there are plenty of instances where the FPGA version of a particular console is literally just a representation of a popular emulator only in verilog/vhdl. In many instances, even the best FPGA implementations of some systems are still only simulating system level behavior. Off the top of my head, one famously difficult case is audio, where many chips have analog circuitry that cannot be fully simulated.
> you might have bugs but there are bugs in hardware too.
Funny you mention this. "Bugs" are actually where this sort of thing starts to matter. Speed runners will exploit timing, precision, overflow and similar bugs which allow them to do all sorts of things. A system that has been fully simulated will exhibit the same hardware/software bugs as the original device. Another example would be fighting games where input and frame timing must be 100% accurate at high levels of play.
Going back to this particular case, I don't believe there is any possibility that this is a 1:1 reimplementation of the n64. Though I'm happy to be proven wrong.
If you program an FPGA using the same HDL that was used to manufacture the original system then sure, it will behave identically (at least to the extent permitted by the laws of physics). However, if you are reverse engineering the chips and replicating the HDL without being able to peek at their actual circuitry, it is no different from doing the same in a pure software emulator from an accuracy standpoint. The only advantage of FPGA-based emulation in this case is that it can interface in real time with no latency to physical hardware such as game cartridges containing additional CPUs and whatnot - useful for consoles like the SNES, but such cartridges were not really a thing on the N64.
Without seeing the code, it's impossible to know where Analog's implementation falls on the spectrum of software emulation vs hardware simulation. There is nothing magical about FPGAs that automatically makes anything developed with them a 1:1 representation of real hardware. In fact, there are plenty of instances where the FPGA version of a particular console is literally just a representation of a popular emulator only in verilog/vhdl. In many instances, even the best FPGA implementations of some systems are still only simulating system level behavior. Off the top of my head, one famously difficult case is audio, where many chips have analog circuitry that cannot be fully simulated.
> you might have bugs but there are bugs in hardware too.
Funny you mention this. "Bugs" are actually where this sort of thing starts to matter. Speed runners will exploit timing, precision, overflow and similar bugs which allow them to do all sorts of things. A system that has been fully simulated will exhibit the same hardware/software bugs as the original device. Another example would be fighting games where input and frame timing must be 100% accurate at high levels of play.
Going back to this particular case, I don't believe there is any possibility that this is a 1:1 reimplementation of the n64. Though I'm happy to be proven wrong.