Skip to content

Comment on RBoy: A Gameboy Emulator in Rustparent

Comments

there's only a barely working, undocumented backend for LLVM on the z80.

You could probably do this with mrustc.

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.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.