nukeykt / Nuked-MD-FPGA

Mega Drive/Genesis core written in Verilog
GNU General Public License v2.0
291 stars 7 forks source link

Analogue Pocket support? #9

Closed Michael-Prince-Sharpe closed 9 months ago

Michael-Prince-Sharpe commented 10 months ago

Just a query, I was wondering if the Analogue pocket would be able to support this amazing Mega Drive core?

Toryalai1 commented 10 months ago

This is not the correct repo to open up a ticket like this. It is better to ask an analogue pocket dev instead

atrac17 commented 10 months ago

This is not the correct repo to open up a ticket like this. It is better to ask an analogue pocket dev instead

Don't you have a developer pocket? Maybe it is the right place.

ogamespec commented 10 months ago

I just want to remind you that the project is based on reverse-engineering of chips. According to the law, reverse-engineering chips can only be used for home and educational purposes ("fair use"). But if you use it in commercial products, you risk getting a DMCA strike on your product from SEGA.

birdybro commented 10 months ago

@ogamespec The cores ported to the Pocket are not ported by the company Analogue Inc., they are unofficial community ports. The platform has an "open" aspect to it, sort of like an API to load the FPGA core on one of the two FPGA's.

@Michael-Prince-Sharpe - It's possible, but the core is quite large compared to the already ported Genesis core on MiSTer, so it would be a bit of a squeeze resource-wise on the smaller Pocket FPGA (as compared to the DE10-Nano's FPGA). Best to manage expectations. Maybe @agg23 would be interested in attempting this or could comment on the design constraints of the Pocket platform.

ogamespec commented 10 months ago

@birdybro, explain this to SEGA.

birdybro commented 10 months ago

I don't have to, this isn't a company (hypothetically) using the chip decaps in their platform. Currently the official analogue cores and systems are already based on reverse engineering in ways that are assumed (at least under US jurisprudence, where the company is based) to be covered by decades of precedent, but even then all emulators potentially are DMCA-able, even ones that aren't in for-profit products.

Sega could DMCA this repository right now if they wanted to. To counter it, you would potentially have to go to court with them. It is what it is, not much can be done about the broken DMCA system.

EDIT: Expanding on this, the anti-circumvention provisions have already been used to convince (not compel) Valve software into preemptively stopping the Dolphin emulator under threat of DMCA, due to decryption keys that are from a reverse engineered chip. These are hardware decryption so it would fall under a patent not a copyright, but Valve's legal team didn't want to take the risk of going to court, however they didn't receive a formal DMCA takedown notice either, so this isn't really "legal precedent" per se.

Trade secret law is another risk that any decap project like this could fall under, unless the patents are expired. In the US, patents typically expire 20 years afterwards, everything decapped in this project probably have expired patents, but I don't know that for sure. Nintendo and Sony are the riskier ones to deal with than Sega, given their history of litigiousness.

That all being said, Toya is right, I feel like this isn't the place to really discuss it, the Analogue pocket devs have a community they already discuss this stuff in.

agg23 commented 10 months ago

We've discussed this core a bit internally, though I haven't personally looked at porting it. The resource requirements and large build time may cause difficulties, though if you can make it fit, it should be an extremely easy port since the design is not "fully integrated" with the MiSTer APIs (much of my trouble was in dealing with edge cases that MiSTer has and were used in the core, but were not obvious to me).


On the concept of the licensing. I will point out that it is extremely likely that you are not using an open source computer to write this post, and thus any such code you run on it is running on a "commercial product". MiSTer is a commercial product if you are using the DE-10 Nano, and it is anyway as it's using an Intel FPGA.

If a large corporation comes after small OSS projects like this, ultimately there's nothing we can do about it, but running this core on an Analogue Pocket will not be the catalyst.

sorgelig commented 10 months ago

MiSTer is a commercial product

MiSTer is not commercial product. It's like calling Linux (or any other free software) as a commercial product because it's running on PC which you have to buy.

agg23 commented 10 months ago

Yes, I understand that. I was pointing out the ridiculousness of the argument.

SegaSnatcher commented 10 months ago

@ogamespec explain this to SEGA.

Basing your core on decapped chip dies does not change the laws of being allowed to make ports.

If someone can port cores to the DE-10 Nano then they can port it to the Pocket as well.

The only issue would be if Analogue themselves released hardware using open source cores, but they don't as all their cores are developed in house. Giving the ability for third parties to port for their own use is 100% legal and would fall under "home and educational" purposes.

birdybro commented 9 months ago

@Michael-Prince-Sharpe - You can probably close this issue as it's not relevant to this repository. Anyone can fork the source code themselves and attempt to port it to any platform they like (as long as they abide by the rules of the GPL2 license).