Tiido wrote on 2022-06-15, 00:47:
Shreddoc wrote on 2022-06-15, 00:08:It's a semantic argument. Change "code" to "logic" and it's a perfectly apt description. The only difference is levels of abstraction - which is irrelevant when results match.
It goes a bit deeper than that, you can actually make a thing that will work in place of the original chip as it can match all of the timing etc. and not because you are carefully fudging things until they match but it coming out inherently from replicating the logic of the original hardware (i.e using silicon shots and tracing out the original logic). The transistors controlling the current flow are not same , but in the end the electrons move the same paths and produce same work.
Of course one can achieve same functional result by completely different way to original logic too, which often happens with all the single chip solutions such as MiSTer where there isn't enough memory or pins to have all the different buses that some hardware might have (i.e many arcade devices) and then actual deviations from original design become necessary and then you have stuff that you can confidently not call "original".
It all goes a lot deeper, technically. No doubts there. I have a MiSTer, alongside my own built arcade emulation cabinets, and even as "just a user", have already spent untold hours reading and conversing about the technology, including many long conversations about the merits/drawbacks of different implementation types.
But for the average end-user, from a results-based perspective, What's Inside The Black Box is irrelevant. Far more important: does it achieve the desired result? reasonably? - can everyone who wants one, easily get one?
Plasma wrote on 2022-06-15, 00:43:
Shreddoc wrote on 2022-06-15, 00:08:
Plasma wrote on 2022-06-14, 23:17:
One could argue that an FPGA blurs the line between hardware and software, but hardware itself is distinctly not "code running on a thing."
It's a semantic argument. Change "code" to "logic" and it's a perfectly apt description. The only difference is levels of abstraction - which is irrelevant when results match.
I guess it's semantics if you disregard the English language. Hardware is not software.
They share many commonalities, hence my original point which you partially agreed with - that, with many modern implementations, the lines are blurred. Especially from an end-user, results-based perspective.
The comments from Tiido further highlight how, with the MiSTer FPGA project, that line-blurring is in great effect. In that "FPGA based" project, we have cycle-accurate logic-accurate implementations. We also have partial logic implementations fleshed out by workarounds or shortcuts. There's also bare software-level stuff going on. It's all mixed together. The end-user can't tell which is which.
Supporter of PicoGUS, PicoMEM, mt32-pi, WavetablePi, Throttle Blaster, Voltage Blaster, GBS-Control, GP2040-CE, RetroNAS.