@guard _DATA_DSS_ @export BIOS_API bios_api.dss ## ============================= Memory Mapped Devices and Registers ============================= @group MemoryAddresses MBR 0x1380 INT_VEC 0x1080 DISK_INTERFACE 0x1580 RAM 0x1740 CMOS 0x1000 VGA 0x1600 @end @group CMOS_Settings BOOT_DISK { MemoryAddresses.CMOS + 0x0010 } @end @export_comment /BIOS_API "These are the Hardware Interrupt codes of this machine." @group /BIOS_API HW_Int DISK_INTERFACE_FINISHED 0x80 KEY_PRESSED 0xA0 KEY_RELEASED 0xA1 TEXT_ENTERED 0xA2 @end @export_comment /BIOS_API "\n" @export_comment /BIOS_API "These are the memory-mapped registers used to interact with the video card's interface." @group /BIOS_API VGA_Registers VIDEO_MODE { MemoryAddresses.VGA + 0x0000 } SIGNAL { MemoryAddresses.VGA + 0x0003 } TEXT_SINGLE_CHAR { MemoryAddresses.VGA + 0x0004 } BUFF_START { MemoryAddresses.VGA + 0x00E0 } @end @export_comment /BIOS_API "\n" @export_comment /BIOS_API "These are the different Video Modes that the video card supports." @group /BIOS_API VGA_VideoModes TEXT_SINGLE_COLOR 0x00 @end @export_comment /BIOS_API "\n" @export_comment /BIOS_API "These are signals used to comunicate with the video card's interface, when in TEXT_SINGLE_COLOR mode." @group /BIOS_API Sig_VGA_Text_Single_Color CONTINUE 0x00 PRINT_CHAR 0x02 STORE_CHAR 0x03 PRINT_FLUSH_BUFF 0x04 FLUSH_BUFF 0x05 PRINT_BUFF 0x06 REFRESH_SCREEN 0xE0 CLEAR_SCREEN 0xE1 @end @export_comment /BIOS_API "\n" @define S_REG_1 0x07 @define S_REG_2 0x08 @define S_REG_3 0x09 @define INST_BIOS_NODE_TOGGLE 0x02 ## =============================================================================================== .data $_bios_name "DragonBIOS" $_bios_version_number_maj 0x00, 0x00 $_bios_version_number_min 0x00, 0x03