From 98d6b66e72e4cc6eb686f5eec64ed43408891e1d Mon Sep 17 00:00:00 2001 From: saintfrater <13979047+saintfrater@users.noreply.github.com> Date: Fri, 27 Feb 2026 10:16:33 +0100 Subject: [PATCH 1/4] include fonts --- .gitignore | 3 +-- readme.md | 12 ++++++++++++ src/assets/6X8.F08 | Bin 0 -> 2048 bytes src/assets/8X8.F08 | Bin 0 -> 2048 bytes src/assets/8X8ITAL.F08 | Bin 0 -> 2048 bytes src/assets/8X8THIN.F08 | Bin 0 -> 2048 bytes src/assets/CGA-TH.F08 | Bin 0 -> 2048 bytes src/assets/FM-T-437.F08 | Bin 0 -> 2048 bytes src/gui/lib-logic.asm | 4 ++-- 9 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 src/assets/6X8.F08 create mode 100644 src/assets/8X8.F08 create mode 100644 src/assets/8X8ITAL.F08 create mode 100644 src/assets/8X8THIN.F08 create mode 100644 src/assets/CGA-TH.F08 create mode 100644 src/assets/FM-T-437.F08 diff --git a/.gitignore b/.gitignore index 8970282..7a5bd8d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,4 @@ build/ gfx/ roms/ tools/ -doc/generated -assets/ +doc/generated/ \ No newline at end of file diff --git a/readme.md b/readme.md index edc5c8a..a468a7c 100644 --- a/readme.md +++ b/readme.md @@ -64,6 +64,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 @@ -148,6 +154,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 diff --git a/src/assets/6X8.F08 b/src/assets/6X8.F08 new file mode 100644 index 0000000000000000000000000000000000000000..71a61ad8744184f6a8c427bbe1751d7a58b7e7d2 GIT binary patch literal 2048 zcmX|C9iZ$y5FIQA3k$)*gW|%4V6pJvVsSATcn}O03lECH#l_;{hl`5~7m9&}@0>~Z zO?P`Tlga#Ll8RLFC6`C?LQD@YGL}-j6|r8?kC?DtSt2JmU9c)WN&!EPmCu>{xxK8b z6Q7c|#Yz~0b8aIJ!}lgO`^Up)8@IjeTa=~^CA1B!W=vUmkmMmD=S$ah(hp;2hM|XJ zk@x$fS9D0N& zc8vkMmr_Yd_LTU89EF2jFrXd&jHSrQae<3FPeW}YO?>$c8` zkDN2~Qo84b`dGxc=?n_Wv##X14*q?^JhK|6AJtbFEqNFmfg?j#geL3e9sIG|oD10h znto_VnkS2MP?2fE<|$3a&p~3m-qZaG2_k_1rnxL>xhP*E_M@{*mHe_?xL44Je=8Hj zn3tM=j9LJdQZDiz;?2OSPy5WD{QZgo$c6T>QP(@`Arer4U9^olh6r_y1Bm>|Gk+ip zpnPD#1nut%`V#w&)DV>Z$*><>rY&@b$GJsAaG#Smldy!a-$GK*52%dRBOSOM*dHii z+k)w#SM|ALT(=#F6N^Heac(P42agjqvSSdHVlR7q#vKv;F=75AUugGv{tGMkF`W<6 zFnGvo9kz;t48w44sygO5O+D0YU2y{Y@8Ri&g8Rf5p2+7sKj+Mt()*kt^M|@fU z`fU$CK|DMl&-?4PAeb3VqIH835P3}O6A+FFfkzWieE(Qb&i3%eIDL{L%u$X^ZRA7U6UWnK-!6b^|7R#xer4 z@u%y$j&>QvN$0Cy4!@51H;_?%;{D{sxZej+pTp-tr-LZt9M0W5-j_Y1YzvMb z5nlq_|0Ox=cu*ujZ^Cy3blEV!T9Dvdh;~C~v72!&foU8c(!0L)FD&Pbd&Dm}-+jb| zf%{JHYc?wE=)-=cHQvuSr98hF0nZ)X9JH=ad^+Cx{dnC3KjBvt!IAh?Q6iqPWL+oA R<{iNMwx5E|29OT)^*_7WcV_?q literal 0 HcmV?d00001 diff --git a/src/assets/8X8.F08 b/src/assets/8X8.F08 new file mode 100644 index 0000000000000000000000000000000000000000..b4505de2913a41c9ddfce03398320e18fe1cd3c9 GIT binary patch literal 2048 zcmYLKPix~w6o1`-nuD-&oYo?SvL9fwS|$b$a@j*qy%tJO0+k76jbku0f~cd-tzRJ@ zpqGA!fWeSn1bYn_N>0tClszS;1gpQ_NTE-b-n=(&-k;yR8H;q}uYS9_xxVtg-L{*D z*3b9*eKk3f!z8P-|3$!-8*Nc-CWhWWE}EZ8M1b7GN&R>)WtXP z7l>yOS8FRQK05eJEVd_(E&3V8|5K|1HdNRs!@e%HM*R!QE=T-91U2-OeGdGMMoA^) zDG{%h+DudAt7H=DkE8=&sR_U;Xqgupg8+b6tRVO!P9h5+PKUwY5b`t){zK!*p~{r{ zlKaPH%ma*lE~vjY|5Cw2zm2qTo)Zkzy ziImOrx)i@59y6#rzU(<_33}j><76bT3%E4>I@kr-^>}1Of)tKr*~Z4ZAp=<@qd*6Z59j zEA|a87F;d6rup~wB>7Sn3u+A9zMRp-S zkuEOhXZ<|wm{pe-D&r)G`L#V!=I~Qb!=9+)9M0Y1#|6%nb(O2IgWlod%h8S@2t=)T zA0sOM8Yb93P=?EYy5NN(zUw<5+8QmvQ)SEr&R>jsgMHz*TP%-a@_fzvJJ$)DjD+d% zpiVR=hPbY9JA1(wHxthBXoPBdy1T<`$jAn-6di1bzh=^>}2r!_Fxd@#~J-zRnK>qwvPulN1+o?eJb zN}l}uGHD0{?>CU}Gb2shAu* zdv-7>mM$!PlVw@t20`G8L=2pPl$+-#+y1ui-#<+c?z(4Z?%jj&$t<6pjA^mq5m}y!teHy5pIQ^@Jj*B!f+)+l4yD$S-*evgZ$Ta?6{YE%R-}qliuJG`PGiD8B>~noENp<> zq$R_!vZGDbBhD11U{cdLz2yuZ_|qv}{rd4|hrov8Po}7w>*sior!S+XmP5pAIZ`xX z-^NswI^lRoGb=HYbk*@61~k6{r?AlEQ3frz%aH72_s zPNz9}Dpj6Y7c?S#uGyAoQ zQ-#VdWr#Qz^GuGga=yEZe6#WSc!r9CcOLFN1TMYp4ZqiM`CxNgAl7Syo(tWAtn1Zf z$JT5}+)vo=5-uEEIoRl4uW3@V)81@%?$NM^n+w15y&wMB+4+_X({ycH5%<^YsD!Nb+>$QPs@%o)R*Y0&X?r<25lZ}maCaB|Idc9%txfG`T9`0^)dv9-Vlc+Ns zKGJ)Q|An^QG`*WQJ+p~uqFZ!@8%!pXpc`1W+3a*Wtfz2)Kct0sS3kIRc^wC?E!%B; zkQTGZ6$cdcIk Vqh~W0BN2)-ZI>lnWT2A6`(Ja#IEnxO literal 0 HcmV?d00001 diff --git a/src/assets/8X8THIN.F08 b/src/assets/8X8THIN.F08 new file mode 100644 index 0000000000000000000000000000000000000000..3f9caa3dcb79801e31e3acd9b243224755102c3d GIT binary patch literal 2048 zcmYjSy=xpt6o0HYVv9u@jstITK~B_D-an`q*O#y*B7VIuSsody{)J|Jw7=( zKCPE-ee~h7LF;)+1HNtr;1mYCpF~>_$ScQm-(or=^Sv${j z1D0&p+X*H{SE z9IH4ksTCuyxJ8pBj^kuPChlaN*f=hC?D#kF$Asm@G)-s>P)3Ws?_;58oOIGovPC-* zgn3&}2J0XiZw`B`k9a}K`jfE7c&Kh!+(}*lqwW}=4p3L*Z`Fa>NZbsV4+et=#Go0k zTh4k@uFLY2CI~;zC$!7i`yNf$OfVtQDfZ{f0A34Q82PM7#s=AI8YV+T;9* zp0BRnMFHr+#>VIVBIB4Lby0xQwNWDk#;o2$aF;*0%^wZdK~8QQ@eq|*@{&R!MnZ&` zZ}$eJL9h@6DXnfmm5HmiK6P1!o}z+^qUcfx3FoPF<||;VtmWy9iy23K@?0&n6xxsV zc}1D0Gmf2O*R9-lbxCJfqtUp}qKFkW{FO38yhQiIwc-)AlVVyFU!xx}&h@daqOiXl zh8%^k*m8{XIw-cQlgL6I4}xxxD7jLz_t z{{gxzXD(pnk|%?lT_M`|W*4=U+D*YwwDGWr<&3deKy52$d$;-3ylv+bwS~jiR-b2G z&&FBKnC*H+Hn9Bww9Utn0b{_MPFvu*vt9}8iB9#4BVUW0Q~E-qwd^;i?q8L@~z zFK4tgBbGV!m0>Yl;q6}P5-VtQ4kB86%w7OxBsCVCy8V7X#da%-U-EpH?r-pcLZ#qN z5T$Kv^q+0RWE6+caM2wd9gVPW@bkm}2n~rF|052{5=-3&-b)cl`$A6ar~=s!`}z-E Cg^Z*C literal 0 HcmV?d00001 diff --git a/src/assets/CGA-TH.F08 b/src/assets/CGA-TH.F08 new file mode 100644 index 0000000000000000000000000000000000000000..0abea4efce7a0add962df1672e26eb910d67cdea GIT binary patch literal 2048 zcmYjSy=xpt6o0HYVv9u@jstITrx&GpRun~^2ogzdagrxR@sCJ^Wr&0*P%0oQ%ZpR!m!!6}-d0qe9-o{X zpO#CvKKb?F;9#n>)+#W;+VYx|-s zATTP37$~CI>(|d4jRtkMk}OO9o^rIt7^?@h65(tLfjEWOy zfTHbkI|AnT3*ag}EGiHQQX@g^l_81@o``~Os+=4KCqH}QPLJY#{KMhl3;2^(Pe|C8 zf~4>~k9k>ABpF0PH!j3bX^w*MU$u#ccLxY zkpS%5dNNoC&}3uSV}16gqrm!;u!s2dP~Eb0CwdMVbw^&a0qTnUAqFU7BVp5HJQxff z5);jE-D1|8ab1>YG)4GnI;CCC-gRioX1pnhPPRWk2H;ZI+Av2sUA;zQDetYU++$j& z@VDSNk9xhwmNux9->@?P`b(~OK9+Y^!*GJmiEaK4??9kq$pyG$xm*{b7l?NN{Nn_P zSbLlg(X-XnyC?uX9E~2hi%f@1QWpitt2S!*ps}m>2)N20*yfLh>ma8}j(CW29C=Q@ z5Mv>H?6$GW;D&d%f5c!YA|^;_UnB7 zIz9|V<=6GB9n>qwf*y=)>yqLkVUGAVB7}|VO70VYNmE8-90y^)>wozCtKZxD-SEQ~ zKkYlL$Y()~s2??;g>Td+3JXBxu-Xj?wpyUm~GZM&bSEh_rj z>hrGaTF!i?*-o>0ZTal2qMOaiFKAe|{_MVHvu*vtA2VTp9#6ZLm%toV6&EtIdaMa< z4b0-@WerO;Ft1Wy8D_&39`{`5I6s}2vRJ!X6sU+qSLI!k;eNbQiyTH7Ad^;P$ z5aVVtxNjO<^a_rS#+V!Y`QiTvjmfhd+n{VF%&ivqE^%~!b%H74<=Y|d3puq?1+WYI F`47z0jJ5y( literal 0 HcmV?d00001 diff --git a/src/assets/FM-T-437.F08 b/src/assets/FM-T-437.F08 new file mode 100644 index 0000000000000000000000000000000000000000..9883a718990159bb25c1e8f5733af59abbec095b GIT binary patch literal 2048 zcmYLKQES{r5S}P%ycZ5zF(%xDu;uI09DceQV=hMM6d?|sInoelDaIvm1Sim!dupyh ztZ@ECen4OP7fPP|Gy2vV{8swt2jlDa&Fbh#Xm)02XJ)^dU5R*dm%m+p`F!cz>d)2H z&C2yZG))#8F>$6mj+^FZld0UqnMmqDsjRLpL02nD3lQZmpsUr^!>^u~BQ8)D>mj@er&ECcX_&+e_AU1uH^kqDqKJRoo za6g+o1HyMy>~imCZq6MZw0VO0%J%M%HWIwy}J6G{@nL6it`&#(ms%GT~NL6^+J zQ?DlyU}cg^&jL2v6Vn^OL56(>ae{=wy8*Tvc6Y1`LveW>P{w3UoSQ-;6L!AjSrCrk zU$>#0aTx@;L3Ww|a%E)oA4w!}|MZ7hvdcUiGLgF9Py78Edf?WNWoc0dyF~naNgzGX zb^ayhu}0ScOHeGEAqaIZ%4$)S1Z(7w$d`BxPPC=ksEI4jnQ;{2(})6q6H`U7kvJJE~D}$Vao;Q8-e2#5dAI__*cOFwe{C)%#Ml z)QfzWg23S)_VmyFQ=Xp#06CdVPJ)0k@es)XKrIo&ZFeEVT=M`&zlhM?G4%vM=dm6R z9RP5$8AVAHZL$wZvM?qzW+8_&n3AGF`RUXBy3U43(tl{ug8NJhk4FjQh)WWAZd$p; z2iD%672`VCDKA<)(!%2s8P5yfXwsuSa0rb2~aA&Q@mfw z&}*KN@%b`u?)#E(s=enXn^sfaJFM5Qzo0*M^d73wZsnWu;iC@DXEnt6@cRne{J4Mm z30wcbivLaO`yk;h1j;0 z-G({7wi0<#`se%K{qxTs{?V$npIha(h8*{ky>2h5JLPNrbx8f1MDAMoI=n+T>d6hf z+=7$5Ut_i~W{8z)MOGRQdT^?!*Ll@%sh<9x@nfGQV_i2+ynLhfTy@jVQ%{+Gti4e^ zqj}j{a-Cnt({}{5ARq!cPQODEo6<@qec0aQ;&+^6g8e+nB7Mna1CrIG4PPti6!UCnojw z$9hhKFg<;pCiyPz?;Q87wk!Gyp7r&=i%f7?;dcI?Kk9Va-GSlXgR9R8{~tWbco(l0 i7%Qn3BQ4sN8N46#jQsevEK4XyxE0u?IJY1j=;uE>0A+gs literal 0 HcmV?d00001 diff --git a/src/gui/lib-logic.asm b/src/gui/lib-logic.asm index 3fab1b0..dbfeebd 100644 --- a/src/gui/lib-logic.asm +++ b/src/gui/lib-logic.asm @@ -308,10 +308,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 From c278f13a50a66107d2cbf2eef91f35febff910a1 Mon Sep 17 00:00:00 2001 From: saintfrater <13979047+saintfrater@users.noreply.github.com> Date: Fri, 27 Feb 2026 10:23:36 +0100 Subject: [PATCH 2/4] Add info about fonts --- src/common/chartable.asm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/common/chartable.asm b/src/common/chartable.asm index 32f132f..833a262 100644 --- a/src/common/chartable.asm +++ b/src/common/chartable.asm @@ -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 \ No newline at end of file From fbfa0226c1bb8729fcad641763e728674e18902a Mon Sep 17 00:00:00 2001 From: saintfrater <13979047+saintfrater@users.noreply.github.com> Date: Fri, 27 Feb 2026 10:32:11 +0100 Subject: [PATCH 3/4] update Readme --- doc/assets/Screenshot-VGA.png | Bin 0 -> 8696 bytes readme.md | 8 ++++++++ 2 files changed, 8 insertions(+) create mode 100644 doc/assets/Screenshot-VGA.png diff --git a/doc/assets/Screenshot-VGA.png b/doc/assets/Screenshot-VGA.png new file mode 100644 index 0000000000000000000000000000000000000000..a34746ea149b6c597d16e20eacae8f5d77337b7d GIT binary patch literal 8696 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 Date: Fri, 27 Feb 2026 10:32:47 +0100 Subject: [PATCH 4/4] typo --- readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/readme.md b/readme.md index 50eb1dd..ce02a66 100644 --- a/readme.md +++ b/readme.md @@ -11,9 +11,11 @@ This project aims to design and implement a **PC-compatible BIOS/ROM from scratc Rather than booting an operating system from disk, the PC starts **directly from the ROM** into a **minimalist graphical interface**, using **CGA High-Resolution Monochrome (640×200)** mode. ![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) @@ -107,9 +109,11 @@ Au lieu de charger un système d’exploitation 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)