Hallo. Hat jemand von euch ein Multiboot-kompatibles Betriebssystem geschrieben? Ich hab versucht, Delta Multiboot-konform zu machen, ich kriege die GRUB-Meldung: 13: Unsupported executable format. Ich habs mit ELF, A.OUT, COFF, PE und sonstwas probiert. Müsste mit bin eigentlich gehen! Hier mal der Code von nc_init.asm:
;=======================================\
;   Delta Nanocore Project              |
;                                       |
;    Nanocore Main Core                 |
;=======================================/
%define dnc_version 'Delta Nanocore v0.0.0-14012005-deca1',dnc_arch,dnc_tag,' compiled with nasm-',__NASM_VER__  ;Nanocore version information
%define dnc_arch '-x86-32-grub'
%define dnc_tag '-epsilon15' ;Place your name here if you edited the file
;Functions in this file:
;IM, BF nanocore_entry:
;Start of Nanocore. Gets memory size and initializes the core
;IM, BF nanocore_hangup:
;Used to kill the computer by infinite loop
;IM, BF debug_print:
;Clears the first line of the screen and prints a 0-terminated String at DS:ESI
;IM, BF nanocore_getmemsize:
;BUG: This doesn't work uin VMware
;Counts the amount of memory installed in the computer
bits 32
org 0x100000
jmp nanocore_entry
;Multiboot Header
nmh_magic dd 0x1BADB002
nmh_flags dd 0x00000000
nmh_checksum dd 0xE4524FFE
nmh_header_addr dd nmh_magic
nmh_load_addr dd 0x100000
nmh_load_end_addr dd nanocore_end_kernel
nmh_bss_end_addr dd 0
entry_addr dd nanocore_entry
;Nanocore's Entry Point
nanocore_entry:
    mov esp,0x200000
    call nanocore_getmemsize
    cmp ax,0x10
    
    jl nanocore_entry.toolessmem ;comment this out if you build for VMWare
    
    jmp nanocore_entry.enoughmem ;enough...
    
    nanocore_entry.toolessmem:
    mov esi, msg_memtooless
    call debug_print ; And tell the user
    jmp nanocore_hangup ; And hang up ;)
        
    ;Here we go:
    nanocore_entry.enoughmem:
    mov esi, msg_memenough
    call debug_print
    mov esi, msg_version
    call debug_print
    
    ;call nanocore_init_mods
nanocore_hangup:
    jmp nanocore_hangup
    
debug_print:
	mov edi, 0xB8000
	mov ecx, 80*2*25
	xor eax, eax
	rep stosb
	mov edi, 0xB8000
	debug_print.1:
	lodsb
	or al, al
	jz debug_print.2
	stosb
	mov al, 12
	stosb
	jmp debug_print.1
	debug_print.2:
	ret
nanocore_getmemsize: 
    push ebp
    mov ebp, esp
    push edx
    mov eax, 0
    mov edx, 0x1EFFFC
    nanocore_getmemsize.1:
    inc eax
    mov DWORD [edx], 0xAAAAAAAA
    mov ebx, [edx]
    add edx, 0x100000
    cmp ebx, 0xAAAAAAAA
    je nanocore_getmemsize.1
    pop edx
    mov esp, ebp
    pop ebp
    ret 
nanocore_data:
    msg_version db dnc_version,0
    msg_memenough db 'nanocore:You have enough RAM',0
    msg_memtooless db "nanocore:FATAL:You don't have enough RAM! Note: if you have more than 16 MB RAM, you are possibly running Delta Nanocore on VMWare. Either get the VMWare-compatible kernel or use Bochs as a virtual machine or use it on a real computer. If you still get this message, something is terribly wrong i.e., Nanocore doesn't fit your system.",0
    
    
    
    
nanocore_end_kernel: