diff options
author | Javier <dev.git@javispedro.com> | 2022-04-08 02:17:46 +0200 |
---|---|---|
committer | Javier <dev.git@javispedro.com> | 2022-04-08 02:17:46 +0200 |
commit | 98a343355c3459b892792585788069bac3bc40e7 (patch) | |
tree | 1ff4674815775c323822e03c3c0f05c49204a549 /int33.h | |
parent | db308ca65b8f0ddb61969e7e4b4fb2145d8a27c2 (diff) | |
download | vbados-98a343355c3459b892792585788069bac3bc40e7.tar.gz vbados-98a343355c3459b892792585788069bac3bc40e7.zip |
try to detect video mode changes
Diffstat (limited to 'int33.h')
-rw-r--r-- | int33.h | 28 |
1 files changed, 25 insertions, 3 deletions
@@ -134,12 +134,18 @@ enum INT33_API { * @return ax min_x, bx min_y, cx max_x, d max_y. */ INT33_GET_WINDOW = 0x31, + /** Get pointer to driver's copyright string in es:di. */ + INT33_GET_COPYRIGHT_STRING = 0x4D, + + /** Get pointer to driver's version string in es:di. */ + INT33_GET_VERSION_STRING = 0x6D, + // Wheel API Extensions: INT33_GET_CAPABILITIES = 0x11, // Our internal API functions: - /** Obtains a pointer to the driver's data. */ - INT33_GET_TSR_DATA = 0x7f + /** Obtains a pointer to the driver's data in es:di. */ + INT33_GET_TSR_DATA = 0x73, }; enum INT33_CAPABILITY_BITS { @@ -183,7 +189,7 @@ enum INT33_EVENT_MASK { INT33_EVENT_MASK_ALL = 0xFFFF }; -#pragma aux INT33_CB far loadds parm [ax] [bx] [cx] [dx] [si] [di] +#pragma aux INT33_CB far loadds parm [ax] [bx] [cx] [dx] [si] [di] modify [] static uint16_t int33_reset(void); #pragma aux int33_reset = \ @@ -226,4 +232,20 @@ static uint16_t int33_get_driver_version(void); __value [bx] \ __modify [ax bx cx dx] +static bool int33_get_max_coordinates(int16_t *x, int16_t *y); +#pragma aux int33_get_max_coordinates = \ + "mov ax, 0x26" \ + "mov bx, -1" \ + "int 0x33" \ + "xor ax, ax" \ + "test bx, bx" \ + "jnz error" \ + "mov [si], cx" \ + "mov [di], dx" \ + "mov al, 1" \ + "error:" \ + __parm [si] [di] \ + __value [al] \ + __modify [ax bx cx dx] + #endif /* INT33_H */ |