The good news is that they probably don't care about it anyway.
If they think they might have a market for it in the future they will like Nintendo assert their copyright if not IANAL you can proceed. But yeah they can legally assert their copyright if they want to so probably best of doing it on the QT
Unfortunately, rewriting it without reverse engineering makes it almost impossible to reach the same performance characteristics. These are essential to reproduce proper timing in several games.
Also, it may not be much code, but the floating point operations are quite a piece of art. See the GW-BASIC source code, which is somewhat similar [1].
I also rewrote most of the BASIC interpreter directly in Kotlin, omitting assembly, but obviously that runs into the same compatibility issues.
As far as I understand it, reverse engineering is not allowed without permission, although some people suggest that it is ok to get other software to run. Not sure whether that case would hold up for my entertainment value.
[1] https://github.com/microsoft/GW-BASIC/blob/master/MATH2.ASM
Well, if you decide to go ahead, don't forget to include Gates' easter egg in the sin data table: https://www.pagetable.com/?p=43 ;-)
I've written a fully functional emulator for the Philips P2000T, my childhood love, and I wish to distribute it along with the Basic ROM, as nearly all software for it uses that ROM as a basis. (It's written in Kotlin and can run in both the JVM and in a browser in JavaScript).
That ROM is copyrighted by Philips and Microsoft. Unfortunately, I have no contact at Microsoft to help me with this. Anyone here who can perhaps point me in the right direction?