Hacker News new | ask | show | jobs
by busterarm 1727 days ago
there's only a barely working, undocumented backend for LLVM on the z80.

You could probably do this with mrustc.

2 comments

You could, but given that even C and Pascal hardly take advantage of Z80, and have to be used as some kind of fancy macro Assembler, better just deal with Z80 Assembly directly.

But then I am biased, having the Z80 opcodes burned in my brain due to the Speccy days.

I believe it also tosses everything on the stack which is certainly not optimal for the z80
The Game Boy doesn't use a Z80 though. It's based on a SM83 core, an obscure Sharp design.
It's essentially a stripped Z80 without the DD-, ED- and FD-prefix instruction ranges. The core instruction block and CB-prefix range is (nearly) the same.
See the other responses, but my comment was really suggesting that if LLVM barely supports Z80 then the GameBoy CPU is a hopeless lost cause.
True, but the instruction set is very close, so a Z80 implementation is a good starting point.