Started to incorporate notes into this project
This commit is contained in:
parent
1714bd6d8b
commit
72bb6ddc77
|
@ -0,0 +1,48 @@
|
|||
* Platform specific information
|
||||
** 8086
|
||||
*** Default memory map
|
||||
16-bit mem map (seg:off)
|
||||
0x0000:0x0000 -> 0x0000:0x0500 BIOS stuff
|
||||
0x0000:0x0500 -> 0x0000:0x2100 root
|
||||
0x0000:0x2100 -> 0x0000:0x3300 fat
|
||||
0x0000:0x3300 -> 0x0000:0x6c00 14,25kb free space
|
||||
0x0000:0x6c00 -> 0x0000:0x7c00 IDT and GDT (256 desc. eatch)
|
||||
0x0000:0x7c00 -> 0x0000:0x7e00 bootsector
|
||||
0x0000:0x7e00 <- 0x0000:0xffff ~32,5kb stack for boot
|
||||
0x1000:0x0000 -> 0x9000:0xffff 576kb free space
|
||||
0xa000:0x0000 -> ............. VGA mem etc.
|
||||
|
||||
*** Restart code
|
||||
To restart the segment loaded from the bootsector:
|
||||
68007C ; push 7C00
|
||||
C3 ; ret
|
||||
|
||||
For an intersegment restart:
|
||||
6A00 ; push 0
|
||||
68007C ; push 7C00
|
||||
CF ; iret
|
||||
|
||||
* Testing notes
|
||||
** Making blank floppy disk images
|
||||
dd if=/dev/zero of=$filename.img count=1440 bs=1k
|
||||
|
||||
** Changing floppies inside of qemu
|
||||
While qemu is running it is possible to change floppies
|
||||
To achieve this you first must enter the qemu monitor by pressing:
|
||||
Ctrl-Alt-Shift-2
|
||||
|
||||
You then may change the floppy by typing:
|
||||
change $drivename $filename
|
||||
|
||||
for example to use the file blank_floppy.img in the A drive:
|
||||
change floppy0 blank_floppy.img
|
||||
|
||||
** Building binaries for testing
|
||||
*** stage0_monitor
|
||||
There are literally hundreds of ways of building the root bootstrap binary.
|
||||
All that is required is a simply hex compiler written in any language on
|
||||
any system available to the user.
|
||||
This repository contains a hex compiler written for linux in hex and assembly as
|
||||
well as a platform independent C implementation.
|
||||
Then to complete the build process write to the master boot record of a floppy disk.
|
||||
Or should you desire simply use qemu to boot the compiled file directly.
|
Loading…
Reference in New Issue