%include "../common/x86_vram.asm"

extern rust_entry

section .bss

stack resb 0x1000

section .data

[bits 32]
section .text
global boot

%include "../common/multiboot_header.asm"
%include "../common/x86_vram_functions.asm"

boot:
    mov esp, stack + 0x100
    xor ebp, ebp
    mov eax, 0x55
    jmp main

main:
    push word BG.CYAN | ' '
    call clear
    add esp, 2
    call rust_entry

    push dword BG.BLACK | FG.YELLOW | FG.BRIGHT | 'A'
    push dword 0
    push dword 0
    call write_to_coord
    add esp, 12

loop_label:
    jmp loop_label

halt:
    hlt
    jmp halt
