From 46f405e969566039cc12ac1d961c4186ba245d1c Mon Sep 17 00:00:00 2001 From: Ole Loots Date: Sun, 30 Jan 2011 22:24:07 +0000 Subject: Cleanup of TOS compatibility fixes. svn path=/trunk/netsurf/; revision=11550 --- atari/osspec.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 atari/osspec.c (limited to 'atari/osspec.c') diff --git a/atari/osspec.c b/atari/osspec.c new file mode 100644 index 000000000..2975ce185 --- /dev/null +++ b/atari/osspec.c @@ -0,0 +1,66 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "atari/osspec.h" + +NS_ATARI_SYSINFO atari_sysinfo; +/* +short appl_xgetinfo( int16_t type, int16_t *out1, int16_t *out2, + int16_t *out3, int16_t *out4 ) +{ + bool has_agi; + has_agi = ((app.aes_global[0] == 0x399 && atari_sysinfo.gdosversion == 0x1900) + || (app.aes_global[0] > 0x400) + || ( appl_find("?AGI") >= 0)); + if(has_agi){ + return( mt_appl_getinfo( type, out1, out2, out3, out4, app.aes_global) ); + } else { + return( 0 ); + } +}*/ + +void init_os_info(void) +{ + int16_t out[4]; + atari_sysinfo.gdosversion = Sversion(); + atari_sysinfo.large_sfont_pxh = 13; + atari_sysinfo.medium_sfont_pxh = 6; + atari_sysinfo.small_sfont_pxh = 4; + /* todo: detect if system font is monospaced */ + atari_sysinfo.sfont_monospaced = true; + if( appl_xgetinfo(AES_LARGEFONT, &out[0], &out[1], &out[2], &out[3] ) > 0 ){ + atari_sysinfo.large_sfont_pxh = out[0]; + } + if( appl_xgetinfo(AES_SMALLFONT, &out[0], &out[1], &out[2], &out[3] ) > 0 ){ + atari_sysinfo.small_sfont_pxh = out[0]; + } +} + +int tos_getcookie(long tag, long * value) +{ + COOKIE * cptr; + long oldsp; + + if( atari_sysinfo.gdosversion > TOS4VER ){ + return( Getcookie(tag, value) ); + } + + cptr = (COOKIE*)Setexc(0x0168, -1L); + if(cptr != NULL) { + do { + if( cptr->c == tag ){ + if(cptr->v != 0 ){ + *value = cptr->v; + return( C_FOUND ); + } + } + } while( (cptr++)->c != 0L ); + } + return( C_NOTFOUND ); +} \ No newline at end of file -- cgit v1.2.3