Burgerlib functions for MSDOS. More...
Classes | |
struct | Burger::MSDos::Regs16_t |
Structure to contain all the registers for calling 80x86 assembly. More... | |
Namespaces | |
namespace | Burger |
namespace | Burger::MSDos |
Functions specific to MS/DOS. | |
Functions | |
BURGER_INLINE uint8_t * | Burger::MSDos::zero_base (void) BURGER_NOEXCEPT |
Obtain the base pointer to the real memory. | |
uint32_t BURGER_API | Burger::MSDos::set_video_mode_int10h (uint32_t uMode) BURGER_NOEXCEPT |
Call interrupt 10H with AL set to the passed value. | |
uint32_t BURGER_API | Burger::MSDos::init_serial_port_int14h (uint32_t uPortFlags, uint32_t uPortNumber) BURGER_NOEXCEPT |
Call interrupt 14H with AL and DX set to the passed values. | |
uint32_t BURGER_API | Burger::MSDos::printer_port_int17h (uint32_t uPrinterCommand, uint32_t uPrinterNumber=0) BURGER_NOEXCEPT |
Call interrupt 17H with AL/AH and DL/DH set to the passed values. | |
int32_t BURGER_API | Burger::MSDos::real_mode_interrupt (uint32_t uInterrupt, const Regs16_t *pInput, Regs16_t *pOutput) BURGER_NOEXCEPT |
Call a MSDOS software interrupt. | |
int BURGER_API | Burger::MSDos::x32_call_real_proc (uint32_t pAddress, const Regs16_t *pInput, Regs16_t *pOutput) BURGER_NOEXCEPT |
Call a real mode function (16 bit) | |
void *BURGER_API | Burger::MSDos::real_to_protected (uint32_t pReal) BURGER_NOEXCEPT |
Convert a real mode address to a flat address. | |
uint32_t BURGER_API | Burger::MSDos::alloc_real (uint32_t uSize) BURGER_NOEXCEPT |
Allocate a chunk of real mode memory. | |
void BURGER_API | Burger::MSDos::free_real (uint32_t pReal) BURGER_NOEXCEPT |
Release real mode memory back to DOS. | |
uint32_t BURGER_API | Burger::MSDos::get_temp_real_buffer (void) BURGER_NOEXCEPT |
Return pointer to shared real buffer. | |
void *BURGER_API | Burger::MSDos::get_temp_protected_buffer (void) BURGER_NOEXCEPT |
Get the pointer to the shared protected memory buffer. | |
void far *BURGER_API | Burger::MSDos::get_interrupt_protected (uint32_t uInterrupt) BURGER_NOEXCEPT |
Call the dos extender to get the current protected mode IRQ vector. | |
void BURGER_API | Burger::MSDos::set_interrupt_protected (uint32_t uInterrupt, void far *pCode) BURGER_NOEXCEPT |
Intercept the protected IRQ vector. | |
uint32_t BURGER_API | Burger::MSDos::get_interrupt_real (uint32_t uInterrupt) BURGER_NOEXCEPT |
Call the dos extender to get the current real mode IRQ vector. | |
void BURGER_API | Burger::MSDos::set_interrupt_real (uint32_t uInterrupt, uint32_t pCode) BURGER_NOEXCEPT |
Intercept the real mode IRQ vector. | |
void BURGER_API | Burger::MSDos::set_interrupt_both (uint32_t uInterrupt, void far *pCode) BURGER_NOEXCEPT |
Intercept both the real the protected IRQ vectors. | |
void *BURGER_API | Burger::MSDos::map_physical_address (void *pInput, uint32_t uLength) BURGER_NOEXCEPT |
Map memory from a device into protected mode. | |
Variables | |
void * | _x32_zero_base_ptr |
Pointer to the MSDOS real memory. | |
uint16_t | _x32_zero_base_selector |
Segment to the MSDOS real memory. | |
Burgerlib functions for MSDOS.
This file is included on MSDOS platforms. It is not included for Windows.
void* _x32_zero_base_ptr |
Pointer to the MSDOS real memory.
On the X32 dos extender, real memory is mapped to an address at runtime. This will retrieve that address.
uint16_t _x32_zero_base_selector |
Segment to the MSDOS real memory.
On the X32 dos extender, real memory is mapped to this segment at runtime. This will retrieve that segment value.