artik-wroc napisał/a:Nie chodzi o grę. Chcę po prostu odczytać programowo rozdzielczość ekranu i ilość kolorów. A jak to zrobić w C ?
 W C wygląda to tak.
#include <stdio.h>
#include <tos.h>
#include <vdi.h>
#include <aes.h>
#include <stdio.h>
#include <stdlib.h>
int work_in[12],     work_out[57];
int handle,    phys_handle;
int gl_hchar,    gl_wchar,    gl_hbox,    gl_wbox;
int main(int argc, char *argv[])
{
    phys_handle = graf_handle( &gl_wchar, &gl_hchar, &gl_wbox, &gl_hbox );
    work_in[0]  = handle = phys_handle;
    v_opnvwk( work_in, &handle, work_out );
    printf("Width: %d\n", work_out[0]);
    printf("Height: %d\n", work_out[1]);
    printf("Colors: %d\n", work_out[13]);
    printf("Palette: %d\n", work_out[39]);
    Cconin();
    //~ v_clsvwk( handle );
    return 0;
}
Napisałem z palca więc może być trochę kulawe.
work_out[0] zwraca szerokośc ekranu pomniejszoną o 1;
work_out[1] zwraca wysokość ekranu pomniejszoną o 1;
work_out[13] zwraca ilość dostępnych kolorów na raz - maksymalnie 256 (również dla trybu HiColor/TrueColor);
work_out[39] zwraca wielkość palety (512, 4096, 0 - dla trybów 256 i HiColor/TrueColor)
Dodatkowo przy pomocy  vq_extnd()  work_out[5] można rozróżnić tryb 256 kolorowy od HiColor/TrueColor
http://www.yardley.cc/atari/compendium/ … .htm#color
Ewentualnie z NVDI możesz użyć funkcji vq_scrninfo która daje szczegółowe informacje o ekranie:
http://toshyp.atari.org/en/Inquire_func … q_scrninfo
						ATW800/2 / Atari V4sa / Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
SUB/AVGcart / FujiNet / DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org