On Tue, 12 Oct 1999 17:53:47 +0200, Manuel Bilderbeek wrote:

>>   Yes, you can. If you have any problems, contact me and I'll send you the
>> .BAT file.
>Do that anyway please.

  I'm sending it.

>>   There is no way. The number of spaces will change due to width value. I
>> certainly can so a routine that changes this on the width, but it will certainly
>> slower. Once you need something fast...
>Well, will reading a value from memory be that much slower? It might be a few 
>tenths of seconds slower... It would be far more general if you/we do. It's 
>that address called LINLEN:
>    F3B0H LINLEN: DEFB 37
>    This variable contains the current text mode screen width. Its
>value is set from LINL40 or LINL32 whenever the VDP is
>initialized to a text mode via the INITXT or INIT32 standard
>routines.
>(from MSX Red Book)
>This definately works, since the width during the FILES command is also POKEd 
>here. (At least, it should be, not?)

  Nah, did you not understand the problem. The computer understand the memory always
as 80 columns! If you write a word in the 0,0 position, in 80 columns, it will be,
in the memory, this way:

word0000000000000000000000000000000000000000000000000000000000000000000000000000

(actualy, the "0" are 32 - or spaces, if you preffer. I used 0 to save space).
if you write this word in 79 columns, it will be the same on the VRAM (but the
last position will not be available from BASIC/System PUTCHAR isntructions):

word0000000000000000000000000000000000000000000000000000000000000000000000000000

But, if you use 78, it will not be the same. It will be (again, the last position
will not be available from BASIC/System PUTCHAR instructions):

0word000000000000000000000000000000000000000000000000000000000000000000000000000

and the same for 77. For 76, it will be (now, the last (for 77) and the two last
(for 76) positions will not be available from BASIC/System PUTCHAR instructions):

00word00000000000000000000000000000000000000000000000000000000000000000000000000

and so on. The computer automaticaly adjusts the spaces before and after the
words. This cause the number of spaces before and after the line to be different
for each screen width. So, I'll have to do some calculus, which will decrease
speed (not much, but in really will increase a lot the complexity of the program)
or I can use a table, which will make the program be greater, and this is not 
the target. Have in mind that this program was made for your needs only, and
in ASM we always do what is needed, for speed and space concerns.

>That's why I said: skip the "Ok" checking, and only check on a space.

  Just delete the verify! (-:

  I'm sending the MS-DOS BATCH, but it should work on MSXDOS also.

@echo off
echo M80/L80 Z80 Compiler - IBM PC
echo Ported by A&L Software
echo ÿ
if "%1"=="" goto error
if not exist %1.mac goto error
echo MSX.M-80  1.00  01-Apr-85  (c) 1981,1985 Microsoft
m80 =%1.mac/r/z%2%3%4%5%6%7%8
rem _clerror
rem this line was cutted of because this program is not
rem available under MSXDOS.
if not errorlevel 1 goto end
l80 %1,%1/e/n
if exist %1.com del %1.com > nul
ren %1.cpm *.com > nul
del %1.rel > nul
goto end
:error
echo Usage:
echo CL80 program [options]
echo ÿ
echo [options] are any of M80 options, except /L and /Z
echo program   is the source code (.MAC) to compiled, without extension
:end


     []'s Daniel Caetano ([EMAIL PROTECTED])

...No need for WindowsVideoAccelerator, get OS/2.
OS/2 Sites:     http://www.os2brasil.com.br/novidades/
                http://www.os2brasil.com.br/novidades/drivers.shtml
                http://www.geocities.com/SiliconValley/8752/os2hp/os2index.html
MSX Sites:      http://www.fudeba.cjb.net/ e http://www.msxnews.cjb.net/
MSX Phoenix:    http://www.msxphoenix.cjb.net/


****
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/)
****

Reply via email to