122 lines
No EOL
3.6 KiB
Text
122 lines
No EOL
3.6 KiB
Text
#==========================================================================================================================================
|
|
# Memory Map
|
|
#==========================================================================================================================================
|
|
|
|
|
|
0x0000 BIOS (4096 Bytes)
|
|
0x0FFF
|
|
-------
|
|
0x1000 CMOS (128 Bytes)
|
|
BootDisk: 0x0010
|
|
0x107F
|
|
-------
|
|
0x1080 INTERRUPT VECTOR (512 Bytes)
|
|
Status: 1 Byte
|
|
0xFF: Enabled
|
|
0x00: Disabled
|
|
Handler Address: 2 Byte
|
|
...Repeat...
|
|
0x127F
|
|
-------
|
|
0x1280 KEYBOARD MAPPING (224 Bytes)
|
|
0x135F
|
|
-------
|
|
0x1360 MOUSE MAPPING (32 Bytes)
|
|
0x137F
|
|
-------
|
|
0x1380 BOOTLOADER (512 Bytes)
|
|
0x157F
|
|
-------
|
|
0x1580 DISK INTERFACE (128 Bytes)
|
|
Read/Write:
|
|
Signal: 1 Byte
|
|
0x00: Start Operation
|
|
0x01: Cancel Current Operation
|
|
0xFF: Ignore
|
|
Mode: 1 Byte
|
|
0x00: Read
|
|
0x01: Write
|
|
Disk: 1 Byte
|
|
Sector: 2 Bytes
|
|
Address: 2 Bytes
|
|
DataSize: 2 Bytes
|
|
DataAddress: 2 Byte
|
|
ReadOnly:
|
|
Status: 1 Byte
|
|
0x00: Free
|
|
0x01: Writing
|
|
0x02: Reading
|
|
CurrentDisk: 1 Byte
|
|
CurrentSector: 2 Bytes
|
|
CurrentAddress: 2 Bytes
|
|
RestDataSize: 2 Bytes
|
|
SourceData: 2 Bytes
|
|
Free: 107 Byte
|
|
0x15FF
|
|
-------
|
|
0x1600 VIDEO CARD INTERFACE (256 Bytes)
|
|
0x00: Video Mode (1 Byte)
|
|
0x00: Text Single Color
|
|
# 0x01: Text 16-color
|
|
# 0x02: Text 256-color
|
|
# 0x03: Text True Color Mode
|
|
# 0x04: GFX Single Color
|
|
# 0x05: GFX 16-color
|
|
# 0x06: GFX 256-color
|
|
# 0x07: GFX True Color Mode
|
|
# 0x01: Clear Color (1 Byte)
|
|
# 0x02: Palette (1 Byte)
|
|
0x03: Signal (1 Byte)
|
|
0x00: Continue
|
|
|
|
0x02: Text Single Color - Direct Print Character
|
|
0x03: Text Single Color - Store character in buffer
|
|
0x04: Text SIngle Color - Direct Print buffer & Flush Buffer
|
|
0x05: Text Single Color - Flush Buffer
|
|
0x06: Text Single Color - Print Buffer Without Flushing
|
|
|
|
0xE0: Refresh Screen
|
|
0xE1: Clear Screen
|
|
0x04: Text Single Color Character
|
|
0x16FF
|
|
-------
|
|
0x1700 GENERIC SERIAL INTERFACE (64 Bytes)
|
|
0x173F
|
|
-------
|
|
0x1740 RAM (59583 Bytes)
|
|
0xFFFF
|
|
|
|
|
|
|
|
#==========================================================================================================================================
|
|
# INTERRUPTS
|
|
#==========================================================================================================================================
|
|
|
|
|
|
|
|
|
|
BIOS Specific - Software Interrupts:
|
|
====================================
|
|
0x20: BIOS Interrupt (Uses R10 register for specific functionality)
|
|
0x00: Set Interrupt Handler
|
|
0x01: Clear Interrupt Handler
|
|
0x10: Disk Interface
|
|
0x30: BIOS Video Interrupt (Uses R10 register for specific functionality)
|
|
0x01: Print Char in Text Single Mode (char stored in R9 register)
|
|
0x02: New Line in Text Single Mode
|
|
0x03: Print Null-Terminated String in Text Single Mode (string address stored in R9 register)
|
|
0x04: Print Integer in Text Single Mode (integer stored in R9 register)
|
|
0x05: Store Integer in buffer in Text Single Mode (integer stored in R9 register)
|
|
0x06: Store character in buffer in Text Single Mode (integer stored in R9 register)
|
|
0x07: Print buffer no flush in Text Single Mode
|
|
0x08: Print buffer and flush in Text Single Mode
|
|
0x09: Flush buffer in Text Single Mode
|
|
0x0A: Store Null-Terminated String in buffer in Text Single Mode (string address stored in R9 register)
|
|
|
|
0xE0: Refresh Screen
|
|
0xE1: Clear Screen
|
|
|
|
|
|
Machine Specific - Hardware Interrupts:
|
|
=======================================
|
|
0x80: Disk Interface Finished |