Import backup from 2004-12-16

This commit is contained in:
Josh Holtrop 2004-12-16 22:00:00 -05:00
parent bad7f79ed1
commit 11cc0c87f3
3 changed files with 27 additions and 18 deletions

View File

@ -8,7 +8,7 @@
#define PARALLEL_DEBUG #define PARALLEL_DEBUG
#define HOS_TIMER_FREQ 100 #define HOS_TIMER_FREQ 1000
#define VIRT_OFFSET 0xC0000000 #define VIRT_OFFSET 0xC0000000
#define PHYS_LOAD 0x00108000 #define PHYS_LOAD 0x00108000

View File

@ -5,5 +5,5 @@ default 0
title HOS 0.15 title HOS 0.15
root (fd0) root (fd0)
kernel /kernel.bin kernel /kernel.bin
module /rmmod.bin #module /rmmod.bin

View File

@ -16,6 +16,8 @@
; ecx = where to store real mode parameter table ; ecx = where to store real mode parameter table
; edx = initrd, where to put ram disk ; edx = initrd, where to put ram disk
start: start:
jmp 0:start_refreshed
start_refreshed:
mov ax, cs ; 0 mov ax, cs ; 0
mov ds, ax mov ds, ax
mov es, ax mov es, ax
@ -25,23 +27,27 @@ start:
mov [dat_initrd], edx mov [dat_initrd], edx
mov [dat_retn], ebx mov [dat_retn], ebx
sti
mov ah, 0 ;reset floppy controller mov ah, 0 ;reset floppy controller
mov dl, 0 mov dl, 0
int 0x13 int 0x13
push txt_loading_initrd ;print loading initrd string ; xor ax, ax
push 23*80 ; int 0x16
call putString
add sp, 4
push es ; draw a red bar to fill in ; push txt_loading_initrd ;print loading initrd string
mov ax, 0xb800 ; push 23*80
mov es, ax ; call putString
mov di, 24*160 ; add sp, 4
mov cx, 80
mov ax, 0x04B0 ; push es ; draw a red bar to fill in
rep stosw ; mov ax, 0xb800
pop es ; mov es, ax
; mov di, 24*160
; mov cx, 80
; mov ax, 0x04B0
; rep stosw
; pop es
mov cx, 80 ;80 cylinders to read mov cx, 80 ;80 cylinders to read
xor si, si ;start at cylinder 0 xor si, si ;start at cylinder 0
@ -80,15 +86,18 @@ read_cylinder:
push si push si
mov esi, 0x10000 ;now copy the disk up to where we will keep it mov esi, 0x10000 ;now copy the disk up to where we will keep it
mov cx, 0x2400 mov cx, 0x2400
rep o32 movsb ; rep o32 movsb
pop si ;what cylinder# we are on... pop si ;what cylinder# we are on...
inc si inc si
pop cx pop cx
loop read_cylinder ; loop read_cylinder
aloop: xor ax, ax
jmp aloop int 0x16
mov al, 0xfe
out 0x64, al ;reboot
; putString(int position, char *str) ; putString(int position, char *str)
putString: putString: