2

I'm trying to program for the old eighties MSX standard that used a Z80 CPU.

My problem is that I can't seem to find a cross-assembler for this CPU using the MSX standard.

Is there any Z80 CPU MSX standard cross-assembler for Linux?

P.S: I'm running Linux Mint 17.3 64 bit.

  • Do you mean that you're running Mint on the Z80? Your question seems to be missing something. Note that, if that's what you want, Google can find you a cross-compiler for it by searching z80 cross-compiler linux. – Julie Pelletier Dec 4 '16 at 1:14
  • @JuliePelletier he is asking for cross-assemblers for the Z80, an ancient 8-bit CPU. – Rui F Ribeiro Dec 4 '16 at 1:15
  • I used to be interested in the Z80 emulation scene and actually wrote an emulator for the ZX Spectrum many years ago, but alas, not for Linux. – Rui F Ribeiro Dec 4 '16 at 1:36
4

The Z80 architecture was pretty well known and documented, and had quite an active emulator community. In fact, you still can find a lot of cross-assemblers and related toolchains in Linux distributions.

Have a look at the Debian/Ubuntu packages binutils-z80, crasm, d52, pasmo, z80asm, and z80dasm.

There is also the package sdcc that is a C cross-compiler and associated development toolchain capable of outputting Z80 code (among other CPUs).

I found an old page talking about pasmo generating code for the native MSX BLOAD format, and about it being used to write an open source BIOS clone for MSX emulators here.

Pasmo is a Z80 cross assembler, written in standard C++ that compiles easily in multiple platforms. Actually can generate object code in the following formats: raw binary, Intel HEX, PRL for CP/M Plus RSX, Plus3Dos (Spectrum +3 disk), TAP, TZX and CDT (Spectrum and Amstrad CPC emulators tape images), AmsDos (Amstrad CPC disk) and MSX (for use with BLOAD from disk in Basic).

Some open source works written with Pasmo.
C-BIOS: A compatible replacement for the MSX BIOS

  • I tried z80asm, pasmo and another I just found called asmsx. For the three of them, I couldn't compile a simple "Hello world" I found in a tutorial (I'm just abou to get started learning assembly, but I need to have the environment set up beforehand). Is there any MSX sample code I could try to compile to see which works the best? Thank you. – TheKitsuneWithATie Dec 4 '16 at 2:25
  • Unfortunately I cannot help you in specific MSX assembly extensions... my speciality is Z80 raw or ZX Spectrum assembly code. I am young enough not to have gone through CP/M Z80 code, for instance. While I am contrmporary to MSX, it never was a thing here, and the speccy was widely used and cheap – Rui F Ribeiro Dec 4 '16 at 2:46
  • 1
    atari800 is an 8-bit Atari emulator, so it uses a 6502 emulator. I don't think it would be much use to someone interested in MSX on Z80s ;-). – Stephen Kitt Dec 4 '16 at 7:21
  • Thanks @Stephen Kitt, took it out. I actually was in doubt too. The Z80 is 8-bit too. – Rui F Ribeiro Dec 4 '16 at 7:41
  • 1
    Indeed! Check out Retrocomputing SE, you'll probably find it interesting (assuming you don't know about it already). – Stephen Kitt Dec 4 '16 at 7:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.