Files
ornekler/cekirdek/minimal-kernel/arayuz.kbl
T
semih c5468f5d0a Ç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.
2026-10-17 13:09:50 +03:00

72 lines
3.3 KiB
Plaintext

# 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/.
#
# KabaLang Minimal Kernel — açılış paneli.
BAR_RENGI = 0x3F # Camgöbeği zemin, beyaz yazı
KART_CERCEVE = 0x1B # Mavi zemin, açık mavi çerçeve
KART_ETIKET = 0x17 # Mavi zemin, açık gri etiket
KART_DEGER = 0x1E # Mavi zemin, sarı değer
ALT_BAR_RENGI = 0x71 # Gri zemin, lacivert yazı
fonksiyon panel_ciz():
ekran.temizle(kabuk.YAZI_RENGI)
# 1. Üst Sistem Durum Çubuğu (Satır 0)
ekran.satir_doldur(0, 0x20, BAR_RENGI)
mb = bellek_oku64(durum.BELLEK_TOPLAM) // 1048576
ekran.yaz_konum(0, 2, "KabaLang Minimal Kernel - açık kaynak (MPL-2.0)", BAR_RENGI)
ekran.yaz_konum(0, 52, f"│ RAM: {mb} MB │ x86-64", BAR_RENGI)
# 2. Sistem Bilgi Kartı (Satır 1..5) - Çift çizgili çerçeve ve dikey bölme
ekran.cerceve(1, 1, 78, 5, KART_CERCEVE)
ekran.dikey_ayrac(1, 5, 40, KART_CERCEVE)
ekran.yaz_konum(1, 28, " [ SİSTEM BİLGİSİ ] ", 0x1F)
# Sol sütun (Sistem)
ekran.yaz_konum(2, 4, "Mimari :", KART_ETIKET)
ekran.yaz_konum(2, 14, "x86-64 Ring 0 Kip", KART_DEGER)
ekran.yaz_konum(3, 4, "Dil :", KART_ETIKET)
ekran.yaz_konum(3, 14, "KabaLang (Natif LLVM)", KART_DEGER)
ekran.yaz_konum(4, 4, "Durum :", KART_ETIKET)
ekran.yaz_konum(4, 14, "Kesmeler Açık (100 Hz)", KART_DEGER)
# Sağ sütun (Kaynaklar & Font)
ekran.yaz_konum(2, 43, "Bellek :", KART_ETIKET)
ekran.yaz_konum(2, 53, f"{mb} MB kullanılabilir", KART_DEGER)
ekran.yaz_konum(3, 43, "Yazı :", KART_ETIKET)
ekran.yaz_konum(3, 53, "UTF-8 & Donanım Fontu", KART_DEGER)
ekran.yaz_konum(4, 43, "Seri :", KART_ETIKET)
ekran.yaz_konum(4, 53, "COM1 günlük çıkışı", KART_DEGER)
# 3. Bölüm Ayracı (Satır 6)
ekran.yatay_cizgi(6, 0, 80, 0x13)
ekran.yaz_konum(6, 3, " [ KABUK ('yardım' yazın) ] ", 0x1E)
# 4. Alt Kısayol Tuşları Barı (Satır 24)
ekran.satir_doldur(24, 0x20, ALT_BAR_RENGI)
ekran.yaz_konum(24, 2, "F1:Panel F2:Zaman F3:Bellek F4:Türkçe F5:Temizle F10:Kapat", ALT_BAR_RENGI)
# İmleci kabuk başlangıç satırına (Satır 7) al
ekran.konumlandir(7, 0)
fonksiyon turkce_vitrin():
ekran.alt_satir()
ekran.renk(0x1F)
ekran.satir(" ╔══════════════════════════════════════════════════════════════════════════╗")
ekran.satir(" ║ Türkçe karakter vitrini (VGA yazı tipi, CP857 yerleşimi) ║")
ekran.satir(" ╚══════════════════════════════════════════════════════════════════════════╝")
ekran.renk(0x1E)
ekran.satir(" Büyük Harfler: Ç, Ğ, İ, Ö, Ş, Ü")
ekran.satir(" Küçük Harfler: ç, ğ, ı, ö, ş, ü")
ekran.renk(0x1A)
ekran.satir(" Pangram Testi: Şık ve özgün çağlayanlarda ılık göller parıldar.")
ekran.satir(" Sayılar & İmler: 0123456789 • “Tırnak” – — 'Tek'")
ekran.renk(kabuk.YAZI_RENGI)
ekran.alt_satir()