Live data from Hacker News

.NET for NES Game Console on 6502 Microprocessors

github.com

11–20 of 25 posts

Re: .NET for NES Game Console on 6502 Microprocessors

#11
post #8

Earlier quoted context omitted.

then you will love this https://www.reddit.com/r/csharp/comments/1c23y53/youtuber_ma...

Didn't see the video but doesn't that effectively mean that .NET was ported to DOS?

No. It relies on Windows 95 infrastructure. And it's not a modern .NET, but .NET Framework 2.0.

Re: .NET for NES Game Console on 6502 Microprocessors

#13
There's also this https://gergo.erdi.hu/blog/2021-09-18-rust_on_the_mos_6502__... for rust on the 6502.

I wonder how's the performance vs. C (for both, C# and Rust).

Edit: It's my understanding that the 6502 is extremely stack-limited, so a well-versed assembler would use the stack very little and allocate mostly on the heap. In C, you can replicate this with global variables, and I believe (and I would be very happy if someone related to the 6502 rust port could chime in here) on Rust you can do the same with `static mut` on Rust 2021 and `Unsafecell` on Rust 2024.

Re: .NET for NES Game Console on 6502 Microprocessors

#14
>For lack of a better word, .NES is a "transpiler" that takes MSIL and transforms it directly into a working 6502 microprocessor binary that can run in your favorite NES emulator.

>Building a project should produce a *.nes binary, that is byte-for-byte identical to a program written in C.

What about memory management? Is the garbage collector included in the generated code? If not, any idea on how memory management is done?

Re: .NET for NES Game Console on 6502 Microprocessors

#16
post #9

This looks very much like "Hello World" in C, taking advantage of the latest C# features in 2023. If you admit that it looks like C(99), what's "C#" about it then? This can probably be done with just about every C-syntax-derived language, which is why I think the title is a bit clickbaity; I was expecting some sort of highly-stripped-down CLR.

The same way C23 on NES, isn't C proper, rather the macro assembler K&R C used to be.

So K&R C wasn't proper C?

Re: .NET for NES Game Console on 6502 Microprocessors

#17
post #9

Earlier quoted context omitted.

The same way C23 on NES, isn't C proper, rather the macro assembler K&R C used to be.

So K&R C wasn't proper C?

It predates the first standardized C versions:

  * ANSI C by 11 years (C89)
  * ISO C by 12 years (C90)
https://en.wikipedia.org/wiki/C_(programming_language)#K&R_C

Re: .NET for NES Game Console on 6502 Microprocessors

#18
post #9

Earlier quoted context omitted.

The same way C23 on NES, isn't C proper, rather the macro assembler K&R C used to be.

So K&R C wasn't proper C?

Not the subset you can fit onto a 6502, thus that subset fits the same purpose as K&R C, a portable macro assembler, calling into functions that are written in raw Assembly, compiled by an external macro Assembler.

And good luck making good use of 6502 registers for C code.

Re: .NET for NES Game Console on 6502 Microprocessors

#19

Earlier quoted context omitted.

Didn't see the video but doesn't that effectively mean that .NET was ported to DOS?

No. It relies on Windows 95 infrastructure. And it's not a modern .NET, but .NET Framework 2.0.

It is still maintained. You can use .net 2.0 on the latest visual studio if you choose to.

Re: .NET for NES Game Console on 6502 Microprocessors

#20
post #8

Earlier quoted context omitted.

then you will love this https://www.reddit.com/r/csharp/comments/1c23y53/youtuber_ma...

Didn't see the video but doesn't that effectively mean that .NET was ported to DOS?

.net 2.0 and later are highly dependent on windows and winapi. Parts of .net core might stand a better chance at being ported to DOS.
Post reply on HN