initializing
- Troy Martin
- Member
- Posts: 1686
- Joined: Fri Apr 18, 2008 4:40 pm
- Location: Langley, Vancouver, BC, Canada
- Contact:
Re: initializing
The NMI normally doesn't fire that often, but if the computer has some weird hardware or BIOS crap, that might be an issue.
Re: initializing
Hi,
1 - Im booting from a cd-rw.
2 - I try to disable the NMI, didnt work.
3 - I put the code, from wiki, to enable A20 and the computer start to beep!
4 - I put a "breakpoint" on the code and i saw that the code reset after a write to cr0.
Any Ideias?
Thanks,
Ângelo
1 - Im booting from a cd-rw.
2 - I try to disable the NMI, didnt work.
3 - I put the code, from wiki, to enable A20 and the computer start to beep!
4 - I put a "breakpoint" on the code and i saw that the code reset after a write to cr0.
Any Ideias?
Thanks,
Ângelo
- Troy Martin
- Member
- Posts: 1686
- Joined: Fri Apr 18, 2008 4:40 pm
- Location: Langley, Vancouver, BC, Canada
- Contact:
Re: initializing
How old is the computer? If it's over 20 years old, it won't have a 386 or higher, but that's seriously unlikely.
Re: initializing
Hi, its a celeron.
I did the following modifications...it worked...
1- org 0x07c00
2- end_gdt - gdt - 1
3- bits 16 after the start label
4- mov ax, 0x0000
mov ds, ax
mov ss, ax before entering Protected mode.
thanks,
Ângelo
I did the following modifications...it worked...
1- org 0x07c00
2- end_gdt - gdt - 1
3- bits 16 after the start label
4- mov ax, 0x0000
mov ds, ax
mov ss, ax before entering Protected mode.
thanks,
Ângelo
- Troy Martin
- Member
- Posts: 1686
- Joined: Fri Apr 18, 2008 4:40 pm
- Location: Langley, Vancouver, BC, Canada
- Contact:
Re: initializing
That would be the problem, having no segment registers set up. Never assume the BIOS sets them up for you.
Re: initializing
Hi, the biggest problem was in the org directive...and i dont understand why...
When i put org 0x07c0 or 0x7c0 it didnt work, only when i put 0x07c00.
Any ideias?
Thanks,
Ângelo
When i put org 0x07c0 or 0x7c0 it didnt work, only when i put 0x07c00.
Any ideias?
Thanks,
Ângelo
Re: initializing
That's because 0x7c0 and 0x7c00 are different numbers.mobruan wrote:Hi, the biggest problem was in the org directive...and i dont understand why...
When i put org 0x07c0 or 0x7c0 it didnt work, only when i put 0x07c00.
Any ideias?
Thanks,
Ângelo
http://code.google.com/p/rmmtos/ - Real Mode MultiTasking Operating System
Re: initializing
Is your problem a bit solved now or completely?
It's logical that it is only working with 0x7C00 because your bootstrap gets loaded to 0x0000:0x7C00 and not anywhere else.
Maybe some bioses would load it somewhere else, but that's not the point here.
In your posted code, you already had used ORG 0x7C00, why do you changed it?
It's logical that it is only working with 0x7C00 because your bootstrap gets loaded to 0x0000:0x7C00 and not anywhere else.
Maybe some bioses would load it somewhere else, but that's not the point here.
In your posted code, you already had used ORG 0x7C00, why do you changed it?