Çekirdek örnekleri: KabaLang Minimal Kernel (MPL-2.0) ve üç küçük çekirdek

KabaLang'ın --yalin kipiyle yazılmış, işletim sistemi olmadan açılan
x86-64 çekirdeği: kesmeler, 100 Hz zamanlayıcı, Türkçe Q klavye,
Türkçe karakterli VGA ekranı, bellek haritası, sayfa ayırıcı, kabuk.
Ek örnekler: merhaba, asal sayılar, VGA renkleri.
This commit is contained in:
2026-10-17 13:09:50 +03:00
parent e0e4a0d6c7
commit c5468f5d0a
24 changed files with 2279 additions and 2 deletions
+34
View File
@@ -0,0 +1,34 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
#
# VGA renkleri: metin kipinde her hücre iki bayttır (karakter + renk).
# Renk baytının üst 4 biti zemin, alt 4 biti yazı rengidir.
VGA = 0xB8000
fonksiyon hucre(satir, sutun, karakter, renk):
bellek_yaz16(VGA + (satir * 80 + sutun) * 2, renk * 256 + karakter)
fonksiyon yaz(m, satir, sutun, renk):
i = 0
iken bayt(m, i) != 0:
hucre(satir, sutun + i, bayt(m, i), renk)
i = i + 1
fonksiyon onaltilik(n, satir, sutun, renk):
RAKAM = "0123456789ABCDEF"
hucre(satir, sutun, bayt(RAKAM, saga_kaydir(n, 4)), renk)
hucre(satir, sutun + 1, bayt(RAKAM, bit_ve(n, 15)), renk)
dongu i icinde 0..80 * 25 - 1:
bellek_yaz16(VGA + i * 2, 0x0720)
yaz("VGA renk tablosu: satir = zemin, sutun = yazi rengi", 0, 2, 0x0F)
dongu zemin icinde 0..7:
dongu yazi icinde 0..15:
renk = zemin * 16 + yazi
onaltilik(renk, 2 + zemin * 2, 2 + yazi * 4, renk)
yaz("Kendi renginizi deneyin: renk baytini degistirip yeniden calistirin.", 19, 2, 0x0B)
dur()