MasterOfGizmo wrote:I like to call it "hardware re-implementation". In the end you actually wire something up. But these are pretty tiny wires inside a chip and you connect them using small switches instead of solder. But physically the difference is pretty small.
But there are certain things you should do differently when using FPGAs over the real hardware even though it would actually be possible to do it exactly like it was in the real thing. E.g. in the "real" world all kinds of signals are used as clocks and there are asynchronous signals everywhere.
Yeah. The ST chipset has quite some of that stuff. MMU has some ripple counters to reduce the carry chain. The msb of the low byte is the actual clock of the high byte! The DMA chip is even worse!
But I wasn't talking about that. What I meant is that an FPGA is not an ASIC. If you implement, say, a NOR on an FPGA, you are not actually producing a real NOR gate. You will use a table based LUT that, at the transistor level, it's completely different than a real NOR gate. So some might argue that an FPGA is some sort of hardware simulator. You might say that you don't care, the functional behavior is exactly the same. But that's exactly my point, what really matters is accuracy. And you can get, in theory, the same accuracy using plain software if you want.
And i really love your approach of a cycle exact ST. That is actually what the MIST was supposed to be in the first place. So i am really looking forward to run "enchanted land" on an FPGA. If i remember correctly that was the game where i was sure i could never run it correctly on the MIST ...
My core does run Enchanted Land. Even the original copy protected version. This game requires a quite accurate GLUE implementation. It is one of the very few commercial titles that uses hardware syncscroll. But that's not the main problem. The problem is that the initialization code has a bug, and it creates a GLUE effect that the programmer didn't expect. I described the behavior long ago when no ST emulator could run Enchanted Land properly.