From 3fbcf3d4fd7695e81287e3ac2a862a883f6eeab4 Mon Sep 17 00:00:00 2001 From: boreddevnl Date: Sun, 8 Mar 2026 19:23:22 +0100 Subject: [PATCH] New image decoder --- .DS_Store | Bin 10244 -> 10244 bytes Makefile | 32 +- boredos.iso | Bin 13133824 -> 20637696 bytes build/cmd.o | Bin 279912 -> 279824 bytes build/explorer.o | Bin 258912 -> 260816 bytes build/idt.o | Bin 46808 -> 46960 bytes build/main.o | Bin 31304 -> 31488 bytes build/nanojpeg.o | Bin 53400 -> 0 bytes build/nj_kernel.o | Bin 6504 -> 0 bytes build/ps2.o | Bin 55536 -> 55504 bytes src/.DS_Store | Bin 6148 -> 6148 bytes src/kernel/.DS_Store | Bin 12292 -> 14340 bytes src/kernel/dns.c | 137 ----- src/kernel/explorer.c | 13 +- src/kernel/http.c | 59 -- src/kernel/icmp.c | 153 ----- src/kernel/images/.DS_Store | Bin 6148 -> 8196 bytes src/kernel/images/gif/giphy-2.gif | Bin 0 -> 4428040 bytes src/kernel/images/gif/giphy-3.gif | Bin 0 -> 2185103 bytes src/kernel/images/gif/giphy.gif | Bin 0 -> 307878 bytes src/kernel/interrupts.asm | 16 + src/kernel/main.c | 1 + src/kernel/nanojpeg.c | 968 ------------------------------ src/kernel/nanojpeg.h | 10 - src/kernel/nj_kernel.c | 28 - src/kernel/process.c | 44 +- src/kernel/process.h | 6 +- src/kernel/stb_image.c | 29 + src/kernel/syscall.c | 13 +- src/kernel/syscalls.asm | 8 + src/kernel/tcp.c | 207 ------- src/kernel/userland/Makefile | 12 +- src/kernel/userland/browser.c | 243 ++++++-- src/kernel/userland/libc/string.h | 6 + src/kernel/userland/nanojpeg.c | 967 ----------------------------- src/kernel/userland/nanojpeg.h | 10 - src/kernel/userland/settings.c | 21 +- src/kernel/userland/stb_image.c | 5 + src/kernel/userland/stb_image.h | 14 + src/kernel/userland/viewer.c | 225 ++++--- src/kernel/wallpaper.c | 58 +- src/kernel/wm.c | 51 +- test.gif | 0 43 files changed, 582 insertions(+), 2754 deletions(-) delete mode 100644 build/nanojpeg.o delete mode 100644 build/nj_kernel.o delete mode 100644 src/kernel/dns.c delete mode 100644 src/kernel/http.c delete mode 100644 src/kernel/icmp.c create mode 100644 src/kernel/images/gif/giphy-2.gif create mode 100644 src/kernel/images/gif/giphy-3.gif create mode 100644 src/kernel/images/gif/giphy.gif delete mode 100644 src/kernel/nanojpeg.c delete mode 100644 src/kernel/nanojpeg.h delete mode 100644 src/kernel/nj_kernel.c create mode 100644 src/kernel/stb_image.c delete mode 100644 src/kernel/tcp.c create mode 100644 src/kernel/userland/libc/string.h delete mode 100644 src/kernel/userland/nanojpeg.c delete mode 100644 src/kernel/userland/nanojpeg.h create mode 100644 src/kernel/userland/stb_image.c create mode 100644 test.gif diff --git a/.DS_Store b/.DS_Store index 40b373002eef6ebaad155e995a2533d240277be8..33e6b8a75f951c758744a28a92f7c1fbb92d4d95 100644 GIT binary patch delta 233 zcmZn(XbG6$&uF+YU^hRb;btCzf6T0z48;ujlO+V?C;t$BAk4{-#8AqR$&ka4!k`Bv z^BK}7-xQXgd_%-hz%wU5IVmSUiGhJZfPsPO(c+&XY?Fn=gc#W;#|cF9b8^NDNK{vw znwaY-7@3$)?iaJ)yiGcjNt=VAgdr7ZO9{}#bfDR3s0J|y0S(mq4+a|x)fhLkEBsIZ|Nj60lfe}fv#}NH0#O1Ur~m)} diff --git a/Makefile b/Makefile index aa8801f..700d63c 100644 --- a/Makefile +++ b/Makefile @@ -17,9 +17,7 @@ ISO_DIR = iso_root KERNEL_ELF = $(BUILD_DIR)/boredos.elf ISO_IMAGE = boredos.iso -# Exclude old network stack files -OLD_NET_SOURCES = $(SRC_DIR)/dns.c $(SRC_DIR)/http.c $(SRC_DIR)/icmp.c $(SRC_DIR)/tcp.c -C_SOURCES = $(filter-out $(OLD_NET_SOURCES), $(wildcard $(SRC_DIR)/*.c)) \ +C_SOURCES = $(wildcard $(SRC_DIR)/*.c) \ $(wildcard $(SRC_DIR)/lwip/core/*.c) \ $(wildcard $(SRC_DIR)/lwip/core/ipv4/*.c) \ $(SRC_DIR)/lwip/netif/ethernet.c \ @@ -39,7 +37,6 @@ LDFLAGS = -m elf_x86_64 -nostdlib -static -pie --no-dynamic-linker \ NASMFLAGS = -f elf64 -# Limine Version LIMINE_VERSION = 10.8.2 LIMINE_URL_BASE = https://github.com/limine-bootloader/limine/raw/v$(LIMINE_VERSION) @@ -47,12 +44,10 @@ LIMINE_URL_BASE = https://github.com/limine-bootloader/limine/raw/v$(LIMINE_VERS all: $(ISO_IMAGE) -# Ensure build directories exist $(BUILD_DIR): mkdir -p $(BUILD_DIR) mkdir -p $(BUILD_DIR) -# Download Limine Binaries via Git limine-setup: @if [ ! -f limine/limine-bios.sys ]; then \ echo "Limine binaries missing or invalid. Cloning v$(LIMINE_VERSION)-binary..."; \ @@ -66,18 +61,15 @@ limine-setup: @echo "Building Limine host utility..."; \ $(MAKE) -C limine -# Compile C Sources $(BUILD_DIR)/%.o: $(SRC_DIR)/%.c | $(BUILD_DIR) limine-setup mkdir -p $(dir $@) $(CC) $(CFLAGS) -c $< -o $@ -# Assemble ASM Sources $(BUILD_DIR)/%.o: $(SRC_DIR)/%.asm | $(BUILD_DIR) $(NASM) $(NASMFLAGS) $< -o $@ -# Assemble test files specifically if they get missed $(BUILD_DIR)/test_syscall.o: $(SRC_DIR)/test_syscall.asm | $(BUILD_DIR) $(NASM) $(NASMFLAGS) $< -o $@ @@ -87,20 +79,16 @@ $(BUILD_DIR)/user_test.o: $(SRC_DIR)/user_test.asm | $(BUILD_DIR) $(BUILD_DIR)/process_asm.o: $(SRC_DIR)/process_asm.asm | $(BUILD_DIR) $(NASM) $(NASMFLAGS) $< -o $@ -# Link Kernel $(KERNEL_ELF): $(OBJ_FILES) $(LD) $(LDFLAGS) -o $@ $(OBJ_FILES) $(MAKE) -C $(SRC_DIR)/userland -# Create ISO $(ISO_IMAGE): $(KERNEL_ELF) limine.conf limine-setup rm -rf $(ISO_DIR) mkdir -p $(ISO_DIR) mkdir -p $(ISO_DIR)/EFI/BOOT - # Copy Kernel and Config cp $(KERNEL_ELF) $(ISO_DIR)/ - # Build ISO limine.conf natively with modules cp limine.conf $(ISO_DIR)/ mkdir -p $(ISO_DIR)/bin @for f in $(SRC_DIR)/userland/bin/*.elf; do \ @@ -111,7 +99,6 @@ $(ISO_IMAGE): $(KERNEL_ELF) limine.conf limine-setup fi \ done - # Copy README and WAD @if [ -f README.md ]; then cp README.md $(ISO_DIR)/; fi @if [ -f $(SRC_DIR)/userland/doom/doom1.wad ]; then \ mkdir -p $(ISO_DIR)/Library/DOOM; \ @@ -119,7 +106,6 @@ $(ISO_IMAGE): $(KERNEL_ELF) limine.conf limine-setup echo " module_path: boot():/Library/DOOM/doom1.wad" >> $(ISO_DIR)/limine.conf; \ fi - # Copy Wallpapers mkdir -p $(ISO_DIR)/Library/images/Wallpapers @for f in $(SRC_DIR)/images/wallpapers/*.jpg; do \ if [ -f "$$f" ]; then \ @@ -130,16 +116,22 @@ $(ISO_IMAGE): $(KERNEL_ELF) limine.conf limine-setup done @if [ -f splash.jpg ]; then cp splash.jpg $(ISO_DIR)/; fi - # Copy Limine Bootloader Files (flat structure in binary branch) + mkdir -p $(ISO_DIR)/Library/images/gif + @for f in $(SRC_DIR)/images/gif/*.gif; do \ + if [ -f "$$f" ]; then \ + basename=$$(basename "$$f"); \ + cp "$$f" $(ISO_DIR)/Library/images/gif/; \ + echo " module_path: boot():/Library/images/gif/$$basename" >> $(ISO_DIR)/limine.conf; \ + fi \ + done + cp limine/limine-bios.sys $(ISO_DIR)/ cp limine/limine-bios-cd.bin $(ISO_DIR)/ cp limine/limine-uefi-cd.bin $(ISO_DIR)/ - # Create EFI Boot Files cp limine/BOOTX64.EFI $(ISO_DIR)/EFI/BOOT/ cp limine/BOOTIA32.EFI $(ISO_DIR)/EFI/BOOT/ - # Copy Fonts mkdir -p $(ISO_DIR)/Library/Fonts @for f in $(SRC_DIR)/fonts/*.ttf; do \ if [ -f "$$f" ]; then \ @@ -149,14 +141,12 @@ $(ISO_IMAGE): $(KERNEL_ELF) limine.conf limine-setup fi \ done - # Generate ISO - $(XORRISO) -as mkisofs -b limine-bios-cd.bin \ + $(XORRISO) -as mkisofs -R -J -b limine-bios-cd.bin \ -no-emul-boot -boot-load-size 4 -boot-info-table \ --efi-boot limine-uefi-cd.bin \ -efi-boot-part --efi-boot-image --protective-msdos-label \ $(ISO_DIR) -o $(ISO_IMAGE) - # Install Limine to ISO (for BIOS boot) ./limine/limine bios-install $(ISO_IMAGE) clean: diff --git a/boredos.iso b/boredos.iso index ffa5ab12dbe7793bd9ffb58c91a2787411d0059e..20605098da72ddbaed25a48b7270de5d7355c7ff 100644 GIT binary patch delta 8479629 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