Merge remote-tracking branch 'origin/main' into Windows-Manager

This commit is contained in:
Frater 2026-02-27 15:56:38 +01:00
commit acf04e6d1d
11 changed files with 40 additions and 6 deletions

3
.gitignore vendored
View file

@ -8,5 +8,4 @@ build/
gfx/
roms/
tools/
doc/generated
assets/
doc/generated/

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

View file

@ -12,6 +12,12 @@ Rather than booting an operating system from disk, the PC starts **directly from
![Screenshot 86Box](/doc/assets/Capture-86Box.png)
Screenshot from a CGA Hi res test on 86Box.
![Screenshot QEMU VGA](/doc/assets/Screenshot-VGA.png)
Screenshot from a VGA Hi res test on QEMU with "italic Font".
You may want to get a look at the [Older screenshots](/doc/assets/screenshot.md)
The project is intentionally educational, experimental, and minimalist.
@ -64,6 +70,12 @@ To build and run this project, the following tools and components are required:
- **QEMU VGA BIOS**
The standard QEMU VGA BIOS (`vgabios.bin`) is required to initialize the VGA hardware, allowing the custom BIOS to rely on a known and stable VGA implementation while focusing on its own core logic.
- **VGA Text Font**
You may want to use "custom" font; you can pick any "F08" (8 bytes per character) font from this repo:
https://github.com/viler-int10h/vga-text-mode-fonts
---
### API
@ -98,6 +110,12 @@ Au lieu de charger un système dexploitation depuis un disque, le PC **démar
![Screenshot 86Box](/doc/assets/Capture-86Box.png)
Screenshot d'un EcranCGA Hi res test sur 86Box.
![Screenshot QEMU VGA](/doc/assets/Screenshot-VGA.png)
screenshot d'un ecran VGA Hi res test avec police Italique sur QEMU.
You may want to get a look at the [Older screenshots](/doc/assets/screenshot.md)
---
@ -148,6 +166,12 @@ Utilisé comme émulateur PC principal pour tester et déboguer le BIOS personna
- **BIOS VGA de QEMU**
Le BIOS VGA standard de QEMU (vgabios.bin) est utilisé pour initialiser le matériel vidéo, ce qui permet au projet de se concentrer sur le développement du BIOS sans réimplémenter la logique VGA complète.
- **VGA Text Font**
Vous pouvez utiliser des polices de caractères personnalisées. Vous pouvez choisir n'importe quelle police 'F08' (8 octets par caractère) de ce référentiel:
https://github.com/viler-int10h/vga-text-mode-fonts
----
### API

BIN
src/assets/6X8.F08 Normal file

Binary file not shown.

BIN
src/assets/8X8.F08 Normal file

Binary file not shown.

BIN
src/assets/8X8ITAL.F08 Normal file

Binary file not shown.

BIN
src/assets/8X8THIN.F08 Normal file

Binary file not shown.

BIN
src/assets/CGA-TH.F08 Normal file

Binary file not shown.

BIN
src/assets/FM-T-437.F08 Normal file

Binary file not shown.

View file

@ -21,6 +21,17 @@
; =============================================================================
font8x8:
; on importe uniquement les caractères entre ' ' (0x20) et '~' (0x7E)
incbin "./assets/FM-T-437.F08", 0x20*8, 0x7e*8
;
; https://github.com/viler-int10h/vga-text-mode-fonts
;
; Bien que le fichiers F08 définissent les 256 caractères de la table ASCII,
; on importe uniquement les caractères entre ' ' (0x20) et '~' (0x7E).
; ce choix est fait pour limiter la taille de la police; de même nous ne gérons
; qu'une seule police.
;
; Si l'on désire augmenter le nombre de caratères ou ajouter plusieurs polices, il faudra
; adapter les fonctions "putc" en accord.
;
incbin "./assets/8X8ITAL.F08", 0x20*8, 0x7e*8
; incbin "./assets/FM-T-437.F08", 0x20*8, 0x7e*8
;incbin "./assets/CGA-TH.F08", 0x20*8, 0x7e*8

View file

@ -311,10 +311,10 @@ gui_slider_update_pixels:
.set_min:
; Si la valeur est sous le minimum, on colle au début
movzx ax, word [gs:si + widget.x]
mov ax, word [gs:si + widget.x]
cmp byte [gs:si + widget.attr_mode], 2
jne .force_store
movzx ax, word [gs:si + widget.y]
mov ax, word [gs:si + widget.y]
.force_store:
mov [gs:si + widget.thumb_pos], ax