At 09:37 PM 4/20/99 +0200, you wrote:
>>We think we have something interesting for you.. You probably make your
>sources with GEN80 or COMPASS as they are the
>>most used assemblers on MSX.. Well.. Also you probably think that it's
>slow, especially the time to compile files to
>>disk..
>
>No, not really. Assembling my SA-sources (which are quite large) only takes
>about 30 seconds on my 7MHz MSX. And I can immediately try it out (I can't
>when working on PC... ok, I can use an emulator...).
You can use a JoyNet cable and the JoyDsk ROM. Slower than floppy, but you
can run from your PC harddisk. If you don't reload data that isn't modified
(level data, GFX), just code, loading can happen in much less than 30
seconds. Or you can modify the JoyDsk to cache sectors in MSX RAM and make
a "sector change" flag instead of a "disk change" flag.
>>Where you can use things as:
>>
>>xor a
>>vdp(9)
>
>Ok, you can't do that in Compass. But you can make i.e. Vdp 9 as a
>Compass/Gen80 macro...
There is no essential difference between "vdp(9)" and "vdp 9", is there?
>Well it can't harm to have this program, but I at least won't use it. There
>are already some cross-assemblers like TASM and another 2 MSX-specific
>assemblers (of which I forgot the names, one was of MSX-Engine, I believe).
>I don't know if it's worth the effort.
I am using TASM, but looking for something better. TASM is really fast
(I've never seen it compile for more than a second), but has some problems
too:
- You can't specify the hex prefix/postfix, only specific prefixes are
supported. "$nn", "0xnn" and "0nnh" if I remember correctly, I always use
"#nn", so I made a pre-processor that changes "#nn" to "$nn".
- Macro's are C-style, not user-friendly in my opinion (having to put "\ "
for "next line" between every command and #DEFCONT on every line beyond
first. Also, if you put empty lines between #DEFCONTs, TASM hangs!
- Arithmetic has no priorities, so if you want to do something like BASE +
12 * 3, you'll have to write it as BASE + (12 * 3) or you might get the
wrong result.
- Can't handle long file names (logical, as TASM is from the DOS age).
- There is a very silly limit on the number of arguments you can put after
".db". Using quoted strings, you'll reach this limit often.
- Assembling occurs to "fake RAM": if you put ".org $D000" at a point where
#9000..#9400 are filled with code, all bytes between #9400 and #D000 will
also be in the output file. There is no "phasing" command (Compass has one,
but only for relocatables).
So, if there are Z80 cross-assemblers for PC that are better than TASM, I'm
really interested. I don't care much about editors and stuff, the last
years I have become a fan of command-line compiling. I am even thinking of
installing Linux on my PC... ;)
Bye,
Maarten
****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the
quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
****