SDL-1.2: atari:video:xbios: fix crash when calling VsetScreen(CMD_GETINFO)

From ea50fa47456d9651f43b11d9182743b2e5d0433f Mon Sep 17 00:00:00 2001
From: Miro Kropacek <[EMAIL REDACTED]>
Date: Mon, 11 Dec 2023 21:12:22 +0100
Subject: [PATCH] atari:video:xbios: fix crash when calling
 VsetScreen(CMD_GETINFO)

The struct has actually two more members. Not sure whether this had been added by the author of CTPCI TOS or it's present also in Milan TOS.
---
 src/video/xbios/SDL_xbios_milan.h | 48 ++++++++++++++++++++-----------
 1 file changed, 31 insertions(+), 17 deletions(-)

diff --git a/src/video/xbios/SDL_xbios_milan.h b/src/video/xbios/SDL_xbios_milan.h
index bed5dc762..c1a383825 100644
--- a/src/video/xbios/SDL_xbios_milan.h
+++ b/src/video/xbios/SDL_xbios_milan.h
@@ -155,30 +155,34 @@ typedef struct screeninfo {
 	unsigned long	pagemem;	/* needed memory for one page */ 
 	unsigned long	max_x;		/* max. possible width */ 
 	unsigned long	max_y;		/* max. possible heigth */ 
+
+	/* CTPCI only? */
+	unsigned long refresh;		/* refresh in Hz */
+	unsigned long pixclock;		/* pixel clock in pS */
 } SCREENINFO; 
 
 typedef struct _scrfillblk {
-	long size;	/* size of structure           */
-	long blk_status;/* status bits of blk          */
-	long blk_op;	/* mode operation              */
-	long blk_color;	/* background fill color       */
-	long blk_x;	/* x pos in total screen       */
-	long blk_y;	/* y pos in total screen       */
-	long blk_w;	/* width                       */
-	long blk_h;	/* height                      */
+	long size;		/* size of structure           */
+	long blk_status;	/* status bits of blk          */
+	long blk_op;		/* mode operation              */
+	long blk_color;		/* background fill color       */
+	long blk_x;		/* x pos in total screen       */
+	long blk_y;		/* y pos in total screen       */
+	long blk_w;		/* width                       */
+	long blk_h;		/* height                      */
 	long blk_unused;
 } SCRFILLMEMBLK;
              
 typedef struct _scrcopyblk {
-	long size;	/* size of structure            */
-	long blk_status;/* status bits of blk           */
-	long blk_src_x;	/* x pos source in total screen */
-	long blk_src_y;	/* y pos source in total screen */
-	long blk_dst_x;	/* x pos dest in total screen   */
-	long blk_dst_y;	/* y pos dest in total screen   */
-	long blk_w;	/* width                        */
-	long blk_h;	/* height                       */
-	long blk_op;	/* block operation */
+	long size;		/* size of structure            */
+	long blk_status;	/* status bits of blk           */
+	long blk_src_x;		/* x pos source in total screen */
+	long blk_src_y;		/* y pos source in total screen */
+	long blk_dst_x;		/* x pos dest in total screen   */
+	long blk_dst_y;		/* y pos dest in total screen   */
+	long blk_w;		/* width                        */
+	long blk_h;		/* height                       */
+	long blk_op;		/* block operation		*/
 } SCRCOPYMEMBLK;
 
 typedef struct _scrtextureblk {
@@ -209,4 +213,14 @@ typedef struct _scrlineblk {
 	long blk_pattern;	/* pattern (-1: solid line)     */
 } SCRLINEMEMBLK;
 
+typedef struct _scrclipblk {
+	long size;		/* size of structure            */
+	long blk_status;	/* status bits of blk           */
+	long blk_clip_on;	/* clipping flag 1:on, 0:off    */
+	long blk_x;		/* x pos in total screen        */
+	long blk_y;		/* y pos in in total screen     */
+	long blk_w;		/* width                        */
+	long blk_h;		/* height                       */
+} SCRCLIPMEMBLK;
+
 #endif /* _SDL_xbios_milan_h */