Posts

instructions

1. save my code to a file named c\boot.asm 2. assemble with nasm, nasm -f boot.asm -o boot.bin 3. write to disk on macos, dd=if~/Desktop/example/boot.bin of=~/my-VMs/a.img bs=512b

this is more what a bare boot sector should look like, just add code in the right spots.

 use32 start: jmp code; db 0 'dreamos '; dw 512; ;bytes per sector db 2 ;sectors per cluster dw 0 ;reserved sectors db 1 ;fats on disk dw 1 ;root directory entries dw 20 ;total sectors db 11111110b ;media desciptor dw 20 ;sectors per fat dw 1 ;sectors per track dw 2 ;heads dw 0 ;hidden sectors dd 0; db 0; drive number db 0; db 29h; dd 1; db 'dreamos    '; db 0,0,0,0,0,0,0,0; code: jmp real_start our_section: db 0080 ;our section real_start: jmp lets_exit; try_again: ;base equ $-start base2 equ 510-$; after_code: db base2 dup (0); db 0x55; db 0xaa; next_sector: jmp b_next_sector; blah_sig:  db 'Nick'; b_next_sector: base3 equ 1024-$; db base3 dup (?); lets_exit;

what, just because you people dont know how to acheive your dreams? this is supposed to somehow stop me from achieving mine? fuck off, i'm going to at least starts an alternative o/s i already did

 twerps  

some links, so far, 1

https://stanislavs.org/helppc/

this is the first source code of my o/s i ever posted.. it was originally posted on facebook.

this code doesnt work, but it will boot haha ---assembler with nasm use32 start: jmp code;     use32 start: jmp code; db 0 'dreamos '; dw 512; ;bytes per sector db 2 ;sectors per cluster dw 0 ;reserved sectors db 1 ;fats on disk dw 1 ;root directory entries dw 20 ;total sectors db 11111110b ;media desciptor dw 20 ;sectors per fat dw 1 ;sectors per track dw 2 ;heads dw 0 ;hidden sectors dd 0; db 0; drive number db 0; db 29h; dd 1; db 'dreamos    '; db 0,0,0,0,0,0,0,0; our_section: db 0080 ;our section try_again: mov ah, 0x2; mov al, 2; mov ch, 0; mov cl, 2; mov dl, 0xa; ;lea es, our_section; push our_section pop es mov bx, 0; int 0x13; jc code; jmp try_again; code: push our_section; pop es; mov bx, 0; mov cl, [bx]; cmp cl, 'N' jne lets_exit ;print char mov ah, 0x0a; mov al, 'p'; mov bh, 0; mov bl, 0; mov cx, 8; int 0x10; mov ah, 0x00; int 0x16; ;lea dx, string1; lea ax, string1; ;mov offset,ax ; jmp print; offset dw $; offset2 dw second_pause ;to call th...