Richard Smith wrote:
Simon Xin Cheng wrote:
Richard,
Thanks for your suggestions. I tried them, however, the system still hangs when jumping to boot code at 0x7c00.
Right now I suspect that something wrong with loder.s. My question is how to debug loader.s? Thanks again.
The most likely problem is that your shadowing is not working.
Right after loader finishes copying to ram and you have enabled reads to be routed to RAM dump the first few bytes from 0x7c00 and dump them out the seial port and make sure things really got copied to RAM.
Richard,
Thanks for your help on ADLO. I tried to trace loader.s, and have following problems: 1. Before sti jmp 0xFFFF:0x0000 I can print out something. But right after sti, I can not print out anything. So, I am not sure that the code really jumps to the power on entry point.
2. The first 16 bytes after 0xF0000 after shadowing are the same as rombios.bin. However, when I tried to print out more bytes, I can only get 16 output. What is the problem? My code is right after copy bios to 0xF0000:
mov ax, #0x10 mov ds, ax mov eax, #0xF0000 mov esi, eax
mov ecx, #0x30 ; loop counter mov dx, #0x3f8 ; serial port
cld str_loop: lodsb out dx, al loop str_loop
Thanks,
Simon