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

1.1 KiB

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 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.