>>> only the top left of the screen on an Aurora is used. You should
>>> only save the actual number of bytes used for the screen
resolution
>>> used, i.e. for mode 0 and mode 8, this is pixel_width DIV 4.
>
>Is this mode 0 the same as mode 4 then, or has Aurora got mode 0, 4
and 8
Mode 0 is in fact Mode 4. QDOS seems to return 0 for 4 colour mode.
FOr some reason in the past I thought it was 4, but n checking it
turns out to be 0. Many programs will accept either 4 or 0 for 4
colour mode. Some will only accept 0. I think PIC files use a value of
0 for 4 colour screen mode.
>So I need something like the following :
>
>MyMode = DISPLAY_MODE
>if (MyMode = 0 or MyMode = 8) AND RunningOnAurora THEN
> do a loop to save DISPLAY_WIDTH(#0) DIV 4 bytes from the screen
address
>for as many lines as SCR_YLIM
>else
> if (MyMode = 4) THEN
> do something else
> endif
>endif
>
>Thanks for the info on pic formats, I have got it somewhere at home,
just
>not here at work.
Umm, I'm not too sure if you need to do this. What you could do is
something like this, using DJToolkit extensions:
MyMode = DISPLAY_MODE
IF MyMode = 0 OR MyMode = 8 THEN
IF DISPLAY_WIDTH(#channel) = (pixel_width DIV 4) OR pic_file = 1
THEN
SBYTES
filename$,SCREEN_BASE(#channel),DISPLAY_WIDTH(#channel)*pixel_height
ELSE
OPEN_NEW #op_channel,filename$
IF pic_file = 1 THEN output 10 byte preamble for pic files
address = SCREEN_BASE(#channel)
FOR line_no = 0 TO pixel_height
PRINT #op_channel,PEEK_STRING(address,(pixel_width DIV 4));
address = address+(DISPLAY_WIDTH(#channel))
END FOR line_no
END IF
ELSE
REMark different routines for high colour modes (which I can't
remember)
END IF
Not tested at all, written from memory.
--
Dilwyn Jones
[EMAIL PROTECTED]
http://www.soft.net.uk/dj/index.html