X-OS 0.3.2
Re:X-OS 0.3.2
Simply, the fault is up to both
(seriously, you SHOULD push and pop eax)
(seriously, you SHOULD push and pop eax)
Re:X-OS 0.3.2
i tried to push/pop eax, and there is no change
i also tried to push/pop all regs and it doesn't work :-\
i also tried to push/pop all regs and it doesn't work :-\
Re:X-OS 0.3.2
This should be:Code: Select all
k_int0: cli call idt_int0 mov al,0x20 out 0x20,al sti iret
Code: Select all
k_int0:
push eax
cli
call idt_int0
mov al,0x20
out 0x20,al
pop eax
sti
iret
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:X-OS 0.3.2
cli and sti are bug-prone and useless in this situation. Drop them. The cpu does save/restore IF for you.
this is the correct stub for "IRQ0"
this is the correct stub for "division by zero exception"
this is the correct stub for "IRQ0"
Code: Select all
k_int0:
pushad
push ds
push es
mov ax,DEFAULT_DATA_SELECTOR
mov ds, ax
mov es,ax
call idt_int0
mov al,0x20
out 0x20,al
pop es
pop ds
popad
iret
Code: Select all
k_int0:
pushad
push ds
push es
mov ax,DEFAULT_DATA_SELECTOR
mov ds, ax
mov es,ax
call idt_int0
pop es
pop ds
popad
iret
Re:X-OS 0.3.2
I think the problem comes from IRQ0 (timer), coze, when I push/pop eax there, the console scrolls correctly, but floppy driver can't fire IRQ6..
so i'll try youre code, hoping it fix my problem...
thank you for help
so i'll try youre code, hoping it fix my problem...
thank you for help
Re:X-OS 0.3.2
Also, the PICs are blocking any IRQ signal too, but using cli/sti doesn't matter.Pype.Clicker wrote: cli and sti are bug-prone and useless in this situation. Drop them. The cpu does save/restore IF for you.
And it isn't causing a bug.
Re:X-OS 0.3.2
it seems that your code works well, but i have the same problem as when i used a simple push/pop eax, my floppy driver can't get IRQ6, the only way to get it is to change eax value returned by IRQ0, is this normal ??
when i use this code
I can't get IRQ6
but when I use this one
it works well ???
when i use this code
Code: Select all
k_int0:
pushad
push ds
push es
mov ax,DEFAULT_DATA_SELECTOR
mov ds, ax
mov es,ax
call idt_int0
mov al,0x20
out 0x20,al
pop es
pop ds
popad
iret
but when I use this one
Code: Select all
k_int0:
pushad
push ds
push es
mov ax,DEFAULT_DATA_SELECTOR
mov ds, ax
mov es,ax
call idt_int0
mov al,0x20
out 0x20,al
pop es
pop ds
popad
or eax, 0x8000
iret
Re:X-OS 0.3.2
hmm the first time I tested it, I got a triple fault in vmware - right after the x-os splash/boot screen.
the second time it hangs, still showing the splash/boot screen. pressing the any key doesn't help, I just get some beeps.
the third try gives an triple fault again..
btw the splash screen "scroll up effect" takes a bit long, doesn't it?..
the second time it hangs, still showing the splash/boot screen. pressing the any key doesn't help, I just get some beeps.
the third try gives an triple fault again..
btw the splash screen "scroll up effect" takes a bit long, doesn't it?..
Re:X-OS 0.3.2
have u tested it on bochs qemu or, a real machine?
how mutch memory have you give it on vmware ?
it works faster on a real PC.
u can disable splash screen by editing boot/setup.asm and comment the call to splash screen function .
thank u 4 testing
how mutch memory have you give it on vmware ?
it's not a scroll up effect, it's because of emulated bios calls under vmware (or any other virtual machine).btw the splash screen "scroll up effect" takes a bit long, doesn't it?.
it works faster on a real PC.
u can disable splash screen by editing boot/setup.asm and comment the call to splash screen function .
thank u 4 testing
Re:X-OS 0.3.2
I ran it under vmware with 32megs of ram.
/* was too lazy to fire up bochs and press the buttons through the textmode config menu */
I'll get virtualpc soon, as it's in the msdnaa for free =)
/* I could have installed it long time ago, but I also was too lazy */
/* was too lazy to fire up bochs and press the buttons through the textmode config menu */
I'll get virtualpc soon, as it's in the msdnaa for free =)
/* I could have installed it long time ago, but I also was too lazy */
Re:X-OS 0.3.2
u can use bochs -q instead/* was too lazy to fire up bochs and press the buttons through the textmode config menu */