]> wirehaze git hosting - BOS.git/blobdiff - boot/BOS_boot.asm

wirehaze git hosting

made it assemble under os x, moved loading position of kernel + install script for osx
[BOS.git] / boot / BOS_boot.asm
index c77b7e377b7f3a6bd2e15d2a93cf8ba91553a492..a7a5c1259eafdc5a1ef0287f1d25926fe71e2ff7 100755 (executable)
 ;  0x0000:0x6c00 -> 0x0000:0x7400  IDT, 256 descriptors\r
 ;  0x0000:0x7400 -> 0x0000:0x7c00  GDT, 256 descriptors\r
 ;  0x0000:0x7c00 -> 0x0000:0x7e00  bootsector\r
-;  0x0000:0x7e00 <- 0x0000:0xffff  ~32,5kb stack for boot\r
-;  0x1000:0x0000 -> 0x9000:0xffff  576kb kernel/free space\r
-;  0xa000:0x0000 -> .............  VGA mem etc.\r
+;  0x0000:0x7e00 <- 0x0000:0x8000  512b stack for boot\r
+;  0x0000:0x8000 -> 0x9000:0xffff  608kb kernel/free space\r
+;;;;  0x0000:0x7e00 <- 0x0000:0xffff  ~32,5kb stack for boot\r
+;;;;  0x1000:0x0000 -> 0x9000:0xffff  576kb kernel/free space\r
+;  0xA000:0x0000 -> .............  VGA mem etc.\r
 \r
 use16\r
 org 0x7C00\r
 \r
-boot:    jmp     near start\r
+boot:\r
+         jmp     short start\r
          nop\r
 \r
 ;------------------------------------------;\r
 ;  Standard BIOS Parameter Block, "BPB".   ;\r
 ;------------------------------------------;\r
-         bpbOEM          db  'BOS 0.04'\r
+      bpbOEM          db  'BOS 0.04'\r
          bpbSectSize     dw  512\r
          bpbClustSize    db  1\r
          bpbReservedSec  dw  1\r
-         bpbFats         db  2\r
+         bpbFats             db  2\r
          bpbRootSize     dw  224\r
          bpbTotalSect    dw  2880\r
-         bpbMedia        db  240\r
+         bpbMedia            db  240\r
          bpbFatSize      dw  9\r
          bpbTrackSect    dw  18\r
-         bpbHeads        dw  2\r
+         bpbHeads            dw  2\r
          bpbHiddenSect   dd  0\r
          bpbLargeSect    dd  0\r
      ;---------------------------------;\r
@@ -56,7 +59,7 @@ boot:   jmp     near start
          bpbDriveNo      db  0\r
          bpbReserved     db  0\r
          bpbSignature    db  41                      ; 0 = nothing more. 41 = three more (below)..\r
-         bpbID           dd  1\r
+         bpbID               dd  1\r
          bpbVolumeLabel  db  'BOOT FLOPPY'\r
          bpbFileSystem   db  'FAT12   '\r
 \r
@@ -71,7 +74,7 @@ start:
          mov     ds, ax                              ; registers.\r
          mov     es, ax\r
          mov     ss, ax\r
-         mov     sp, 0xFFFF                          ; Stack..\r
+         mov     sp, 0x8000                          ; Stack..\r
 \r
          mov     [bpbDriveNo], dl\r
 \r
@@ -227,7 +230,7 @@ start:
 ;-----------------------------------;\r
 found:\r
          mov     bp, [bx+26]                         ; bp=cluster number from directory entry\r
-         mov     di, 0x1000                          ; 1000 (segment)\r
+         mov     di, 0x800                           ; 1000 (segment)\r
 \r
      .next_block:\r
          xor     cx, cx\r
@@ -272,7 +275,7 @@ found:
 ;  the file is loaded   ;\r
 ;-----------------------;\r
 quit:\r
-         jmp     0x1000:0x0000                       ; jump to loaded file (64kb in mem)\r
+         jmp     0x0000:0x8000                       ; jump to loaded file (64kb in mem)\r
 \r
 \r
 ;-------------------------------------;\r