diff options
Diffstat (limited to 'libgloss/m68k/atari/atari-traps.h')
-rw-r--r-- | libgloss/m68k/atari/atari-traps.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/libgloss/m68k/atari/atari-traps.h b/libgloss/m68k/atari/atari-traps.h new file mode 100644 index 0000000..01edb70 --- /dev/null +++ b/libgloss/m68k/atari/atari-traps.h @@ -0,0 +1,84 @@ +/* + Copyright (C) 2025 Mikael Hildenborg + SPDX-License-Identifier: BSD-2-Clause +*/ + +#ifndef TRAPS_DEFINED +#define TRAPS_DEFINED + +#include "atari-gem_basepage.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* + Only trap calls used by atari libgloss is included here. +*/ + +unsigned int trap1_e(unsigned short bios_drive); + +// Returned drive starts at 0 for A +unsigned short trap1_19(void); + +unsigned short trap1_2a(void); + +int trap1_2b(unsigned short date); + +unsigned short trap1_2c(void); + +int trap1_2d(unsigned short time); + +struct DTA* trap1_2f(unsigned short bios_handle); + +int trap1_39(const char* bios_path); + +int trap1_3a(const char* bios_path); + +int trap1_3b(const char* bios_path); + +int trap1_3c(const char* bios_path, unsigned short bios_attrib); + +int trap1_3d(const char* bios_path, unsigned short bios_mode); + +#define GSH_BIOSCON 0xFFFF +#define GSH_BIOSAUX 0xFFFE +#define GSH_BIOSPRN 0xFFFD +#define GSH_BIOSMIDIIN 0xFFFC +#define GSH_BIOSMIDIOUT 0xFFFB +#define GSH_CONIN 0x00 +#define GSH_CONOUT 0x01 +#define GSH_AUX 0x02 +#define GSH_PRN 0x03 + +int trap1_3e(unsigned short bios_handle); + +int trap1_3f(unsigned short bios_handle, int length, void* buf); + +int trap1_40(unsigned short bios_handle, int length, const void* buf); + +int trap1_41(const char* bios_path); + +int trap1_42(unsigned int file_position, unsigned short bios_handle, unsigned short bios_mode); + +// bios_drive 0 is default drive, and 1 and upwards is A... +int trap1_47(char* buf, unsigned short bios_drive); + +#define PE_LOADGO 0 +#define PE_LOAD 3 +#define PE_GO 4 +#define PE_BASEPAGE 5 +#define PE_GOTHENFREE 6 +int trap1_4b(unsigned short mode, const char* file_name, const char* cmdline, const char* envstring); + +int trap1_56(const char* oldname, const char* newname); + +unsigned int trap14_11(void); + +int trap14_26(int (*callback)(void)); + +#ifdef __cplusplus +} +#endif + +#endif // TRAPS_DEFINED |