Development tools for msx/msx2 platform

Página 1/2
| 2

Por nikodr

Paladin (750)

Imagen del nikodr

20-06-2007, 13:21

Hello!I have been trying to learn to write programs for my msx/msx2.

I want to get away from the concept of basic programs and want to move to z80 machine code for speed.I know it is not easy.However i cant find much books or info for msx.
On the other hand for zx spectrum platform that has a z80 i have found tons of pdf books that deal with it,books for the complete beginner as well as for the more experianced programer.

So my question is what programs should i use for my msx?Are there any cross assemblers for pc that could compile code and binaries specificaly for the msx?Could i find the complete libraries and include files for msx?

I am not asking for illegal links or programs to be posted.All i want is to tell me the name of a good monitor/dissasembler and a good assembler.

The other method i could use is to introduce machine code through data statements in basic by poking the memory addresses with the hex data.However this would be difficult for me now.

Also is there a way to port zx spectrum machine code to msx ?I know machines have different memory design but for small programs since the 2 machines have the same processor i think it could be theoritically be done.

Thank you!
Looking forward for some answers

Login sesión o register para postear comentarios

Por kabish

Master (223)

Imagen del kabish

20-06-2007, 13:53

I use asmsx as cross compiler assembler tool, and Textpad with z80 highlights. In a real msx I use compass.

You can download asmsx from karoshi's forum, Textpad from their internet site and z80 plugin from MRC.

Good luck!.


Por Tanni

Hero (556)

Imagen del Tanni

20-06-2007, 15:06

If you want to write programs for MSX, but not in BASIC, then I recomment Turbo Pascal. It is very fast and very convenient compared to BASIC. It is possible to have Inline Hex Code with easy access to variables and routines from TP.

Here some links about Turbo Pascal, Assembler and MC-Programming:

On the Hans Otten Page, check out the links to Pascal Compilers and MSX Info Sites.

Por Huey

Prophet (2694)

Imagen del Huey

20-06-2007, 15:34

C programming is also an option. I use hi-tech C as a crossdevelopment compiler.

Por gargamel

Expert (101)

Imagen del gargamel

20-06-2007, 17:13

There at least two books that you shouldn't miss:

- Programming the Z80 by Rodnay Zaks

- Z80 Assembly Language Subroutines by Lance A Leventhal

Both of them can be found on this site:

Por pitpan

Prophet (3155)

Imagen del pitpan

20-06-2007, 17:36

You forgot to mention the "copyleft" status of all these documents Tongue

Por norakomi

Paragon (1140)

Imagen del norakomi

21-06-2007, 10:59


hi !!
are you familiar with IRC ?
it's comparable to MSN messenger, but uses channels where people with similar interests come together.
It's worth checking out.

If you feel like it, download mIRC, then connect with the RIZON server,
and visit channel
there you find programers that can help you getting started.
the advantage is that you don't have to post a comment here every time you have a question.

And believe me, with the right support it's very easy to learn machine language (assembly)

Por nikodr

Paladin (750)

Imagen del nikodr

21-06-2007, 12:22

Norakomi thank you for this!Of course i am familiar with irc and the channelsSmile.I will connect to the rizon server soon and join the channel you mentioned.I hope to have a good start with the valuable help of the more experianced people there!
Best regards

Por PingPong

Enlighted (4138)

Imagen del PingPong

22-06-2007, 09:11

@nicodr, About porting zx code to z80 code, the main differences are:
gfx- the msx uses a dedicated chip (referred as vdp) to handle display video, the zx uses ula. the main difference is the msx cpu does not have direct access to the videoram because the vram is phisically not connected to the cpu bus. to clarify, if you want to write a byte in a vram location with zx you can do:

ld a,1
ld hl, my addr
ld (hl),a

with msx you must out put to a port the value you need to write.

; code to set the vram address pointer

ld hl, myaddr (MUST BE in A 16KRANGE!)
ld a,l
ld a,h
or 0x40
out (0x99),a

;code to write the byte

ld a,1
out (0x98),a

the msx also have the PSG in all models, instead of the zx buzzer, because however the PSG is the same on speccy+ and msx, there is almost no difference, only a matter of address port to write to

Por pitpan

Prophet (3155)

Imagen del pitpan

22-06-2007, 09:22

Almost no difference: PSG access, VDP, VRAM, PPI, memory handling, BIOS, etc. oO

Let's rephrase it: Z80 is the only link between both machines Tongue

Por PingPong

Enlighted (4138)

Imagen del PingPong

22-06-2007, 12:42

I do not agree: there is no much difference when we convert some existing sw from zx. this is proved by the huge number of speccy games converted from zx in less than 1 month in 80's

Sure, if you want to get the max from the machine you need to know more and more detail... Wink

Página 1/2
| 2