bios-OS/doc/API.md
2026-01-30 20:20:50 +01:00

37 lines
1.1 KiB
Markdown

# API
Le système utilise plusieurs macro *GFX*,*GUI*, etc pour appeler les fonctions du driver via une table de saut.
Les arguments sont passés sur la pile (Convention C : dernier argument empilé en premier, nettoyage par l'appelant géré par la macro).
* [CGA](/doc/CGA.md) controleur graphique
## BDA (Bios Data Area) Custom
Le projet utilise une extension de la BDA standard IBM PC.
Segment BDA Standard : 0x0040 (comme nous appelons le bios VGA, il faut garder cet espace "libre")
Segment Données Custom : 0x0050 (Défini par BDA_DATA_SEG).
## Structure des données (BDA 0x0050)
Les structures sont définies dans bda.asm.
OFFSET 0x0000 (Mouse) : État de la souris, coordonnées (x,y), buffer d'arrière-plan.
OFFSET 0x0034 (Gfx) : Position courante du curseur texte, modes d'affichage.
## Mapping Mémoire Global :
0000:0000 : IVT (Interrupt Vector Table)
0040:0000 : BDA Standard
0050:0000 : Variables Drivers (Souris, Gfx)
0800:0000 : Stack (0x8000 - 0x18000 approx) ou Code (selon boot.asm).
B800:0000 : VRAM CGA.