diff --git a/kernel/hos_defines.h b/kernel/hos_defines.h index 06a9e4d..6abc75b 100644 --- a/kernel/hos_defines.h +++ b/kernel/hos_defines.h @@ -8,7 +8,7 @@ #define PARALLEL_DEBUG -#define HOS_TIMER_FREQ 100 +#define HOS_TIMER_FREQ 1000 #define VIRT_OFFSET 0xC0000000 #define PHYS_LOAD 0x00108000 diff --git a/menu.lst b/menu.lst index 42ccb2e..709d58c 100644 --- a/menu.lst +++ b/menu.lst @@ -5,5 +5,5 @@ default 0 title HOS 0.15 root (fd0) kernel /kernel.bin -module /rmmod.bin +#module /rmmod.bin diff --git a/rmmod/rmmod.asm b/rmmod/rmmod.asm index 1c0931f..9a78e60 100644 --- a/rmmod/rmmod.asm +++ b/rmmod/rmmod.asm @@ -16,6 +16,8 @@ ; ecx = where to store real mode parameter table ; edx = initrd, where to put ram disk start: + jmp 0:start_refreshed +start_refreshed: mov ax, cs ; 0 mov ds, ax mov es, ax @@ -25,23 +27,27 @@ start: mov [dat_initrd], edx mov [dat_retn], ebx + sti mov ah, 0 ;reset floppy controller mov dl, 0 int 0x13 - push txt_loading_initrd ;print loading initrd string - push 23*80 - call putString - add sp, 4 +; xor ax, ax +; int 0x16 - push es ; draw a red bar to fill in - mov ax, 0xb800 - mov es, ax - mov di, 24*160 - mov cx, 80 - mov ax, 0x04B0 - rep stosw - pop es +; push txt_loading_initrd ;print loading initrd string +; push 23*80 +; call putString +; add sp, 4 + +; push es ; draw a red bar to fill in +; mov ax, 0xb800 +; mov es, ax +; mov di, 24*160 +; mov cx, 80 +; mov ax, 0x04B0 +; rep stosw +; pop es mov cx, 80 ;80 cylinders to read xor si, si ;start at cylinder 0 @@ -80,15 +86,18 @@ read_cylinder: push si mov esi, 0x10000 ;now copy the disk up to where we will keep it mov cx, 0x2400 - rep o32 movsb +; rep o32 movsb pop si ;what cylinder# we are on... inc si pop cx - loop read_cylinder +; loop read_cylinder -aloop: - jmp aloop + xor ax, ax + int 0x16 + + mov al, 0xfe + out 0x64, al ;reboot ; putString(int position, char *str) putString: