Skip to content

Commit

Permalink
Заготовка для порта DOOM
Browse files Browse the repository at this point in the history
  • Loading branch information
0Nera committed Sep 17, 2024
1 parent fb2effa commit 7631e05
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 0 deletions.
2 changes: 2 additions & 0 deletions modules/doom/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
PureDOOM.h
*.wad
20 changes: 20 additions & 0 deletions modules/doom/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#/bin/sh
echo "Название: DOOM"
echo "Лицензия: Публичное достояние"

CC=${CC:-gcc}
ARCH_FLAGS="-fno-stack-protector -ffreestanding -O0 -g -fPIC -static -nostdlib "

if [ -d "../../sdk" ]; then
CC="../../sdk/bin/x86_64-elf-gcc"
fi

wget https://github.com/Daivuk/PureDOOM/raw/refs/heads/master/PureDOOM.h
wget https://github.com/Daivuk/PureDOOM/raw/refs/heads/master/doom1.wad

$CC $ARCH_FLAGS -I../../modlib -finput-charset=UTF-8 -fexec-charset=cp1251 -c main.c -o doom.o
$CC $ARCH_FLAGS -Wl,--entry=init,--build-id=none -T ../link.ld doom.o -L../../modlib/lib/ -lmod -o doom.ko

cp doom.ko ../bin/
cp doom1.wad ../bin/
echo "Сборка завершена, файл: doom.ko"
27 changes: 27 additions & 0 deletions modules/doom/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#include "PureDOOM.h"
#include <system.h>

static const char name[] = "[APP]DOOM";
static const char message[] = "DOOM :)";

static int app_main( ) {
log_printf("[%s]\n", message);
return 2 + 2;
}

void __attribute__((section(".minit"))) init(env_t *env) {
init_env(env);
env->ret = &((module_info_t){ .name = (char *)&name,
.message = (char *)&message,
.type = 0,
.data_size = 0,
.data = (void *)&app_main,
.err_code = 0,
.module_id = 0,
.irq = 0,
.irq_handler = 0,
.get_func = 0,
.after_init = 0 });
mod_update_info(env);
delete_thread( );
}

0 comments on commit 7631e05

Please sign in to comment.