Unofficial documentation for the Screen Blaster 3 screen enhancer on Atari Falcon 030 v 0.3 - 2004/10/30 0. Disclaimer This document describes the Screen Blaster 3. This is an unofficial document. The originals authors have nothing in common with this document, except the involved product. This document describes the Screen Blaster 3 as the author understands it. While every effort has been made to ensure that the contents of this document are accurate, the author does not guarantee that any portion of this document is actually correct. In addition, the author cannot be held responsible the consequences of the any use or misuse of the information contained in this document. 1. Introduction Screen Blaster 3 is a screen enhancer for Atari Falcon 030 computers. It can use standard Videl (Atari Falcon video chip) clocks of 25 MHz, 32 MHz and external clock to generate video modes. When run from the AUTO folder, the sb_auto.prg installs a new cookie, plus some new vectors to setup enhanced video modes. 2. The cookie Its name is 'SCPN', and is a pointer in memory to the offset 0x1c of the sb_auto.prg file. It points to this structure: typedef struct { unsigned long magic; /* just a BRA assembler jump */ unsigned short version; void *dummy1; unsigned short ptsout0_1; unsigned short ptsout0_2; unsigned short dummy3; unsigned char date[8]; /* Date of program build */ unsigned char asm[30]; /* 10 times the 'ASM' string */ unsigned short dummy4; screeninfo_t *screen_info; unsigned short dummy6; } scpn_cookie_t; typedef struct { unsigned short virtual_width; /* Virtual screen width */ unsigned short virtual_height; /* Virtual screen height */ unsigned short visible_width; /* Visible width */ unsigned short visible_height; /* Visible height */ unsigned short h_pos; /* Horizontal position in virtual screen */ unsigned short v_pos; /* Vertical position in virtual screen */ unsigned short dummy; unsigned long size; /* Size of screen in bytes */ unsigned short device; /* Device number to find planes = getRez() */ /* 0=1 plane, 1=4 planes, 2=8 planes, 3=16 planes, 4=2 planes, 5=4 planes */ /* 6=1 plane */ } screeninfo_t; 'version' seems to be 0x0110 for version 1.10. 'ptsout0_[1|2]' are 0x00 if ptsout[0] before v_opnwk() is not zero, 0xff otherwise. 3. XBIOS functions The XBIOS VsetScreen() and Vsetmode() functions to change the video mode are disabled. So you can not change the current video mode. -- Patrice Mandin http://membres.lycos.fr/pmandin/