> the bad news: Compass 2.0 is still not finished despite past 2 months of
> programming. It is difficult to say when the non-beta version will be
> released, but it will be worth waiting for.

Well, we can wait a little more, I think it will be worth the wait ;-)

> The assembly process will also be much faster since the code is already
> assembled as much as possible when you are editing. Exact timing results
> are not known yet, but I've already measured 2 seconds for Pass1 of a
> source of 8000 lines without labels. (7MHz MSX2) Who will need a
> cross-assembler ? ;-)

What about assembling in a Turbo-R with external memory mapper? It is
currently a very slow process, will it also be improved?

> The new ASMformat was also designed to support new instructionsets, so
> probably Z380 will be supported in the final version.

That's really COOL!! 8-D

> But I have noticed
> a problem: Z380 supports 16bit relative jumps, so if there is in the
> source something like this: JR label, how can one decide whether to use
> the normal 8bit JR or the 16bit JR, if you take in consideration that
> the value of label can be dependent on your choice?!

Well, it is not so difficult at all. Add the JRR mnemonic as you say,
but add also a new menu or assembler directive or both, which allows to
choose between the following options:

- Use always 8 bit JR, and display error when overflow (that is, as if
it were a Z80).
- Use always 16 bit JR.
- Use 8 bit JR when displacement fits in 8 bits, otherwise use 16 bit
JR.

Also, it would be VERY nice if you add the following options for Z80
assembling:

- Automatically change JRs into JPs when overflow.
- Automatically change JPs into JRs when possible.

> (and also: what is
> the use of 16bit relative addressing: it takes 3 bytes, then you can
> better use a normal JP; maybe 'relocatable code'..)

Yes, you catch it. Use of non limited JRs and CALRs instead of JP and
CALL makes possible to easily produce relocatable code, which is very
useful. Don't forget that from version 3.0, LPE-Z380 BIOS allows memory
reservation in frame 0 (the first 64K) in an arbitrary address (just
like TSRs do in MSX memory page 3). BTW, don't forget CALR instruction,
which has also 8 bit and 16 bit displacement version, if I remember
correctly.

I have also a suggestion about the disk menu. Currently it is a little nasty
to use multiple sources and to assemble to disk, because:

- Only the last accessed file name is remembered when accessing disk
menu. So if I load A in buffer 1, and then I load B in buffer 2, when I
want to save A I must type again "A" name because B is the default name.
The file name (and path!) for each buffer should be separately remembered.
- The COMPASS default directory is always selected when "assemble to
disk" option is selected, that's very very nasty!! The last accessed
directory should be remembered.

Konami Man

****
Problems? contact [EMAIL PROTECTED] See also http://www.faq.msxnet.org/
****

Reply via email to