News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Not able to jmp to kernel at sect2

Started by zak100, November 15, 2009, 03:23:52 PM

Previous topic - Next topic

FORTRANS

Hi,

   Now that the boot sector is behaving "better" on the
DOS machine, I tried again on the Windows 2000 machine.
Unfortunately, no change in symptoms from my first post
in this thread.

   I have some vague memories that M$ may do some
strange things with floppies, but if so, it would apply to
Win ME.  (?)  This was to check for a diskette being
changed in the drive.  So, one or two things to check out.
One is if that M$ change is happening.  Another might be
that there is a check of the strings in the boot sector.
A third thing to try would be combining the two BIN files,
and write two sectors at once.

Regards,

Steve

dedndave

we just need to put the bootloader in the data area, where it belongs - lol
i am almost done disassembling the boot sector (a few comments left, is all)
i think their code is sloppy - lol (as with most MS code i have disassembled)
there is room to make it so the bootloader doesn't have to be in the first data sector, if you wanted to scrunch a little bit

dedndave

here we go - dos 5 boot sector
you can see they get sloppy
to write code for a boot sector, they should have put their "ROM-able code guy" on the job

FORTRANS

Hi,

   Well, Win2K is not altering the diskette that I can tell.
And using the bootsector I posted I can write it to the
diskette, without complaint by CHKDSK et. al.  However
I notice that diskettes formatted by Win2K and MS-DOS
6.20 have a string that is "MSDOS5.0".

Regards,

Steve N.

dedndave

i am pretty sure the win2k+ OS's don't want you messing with the FAT sectors

zak100

Hi,
I have found another command of partcopy:

partcopy -f0 200 200 sect2_2.bin


This has copied the sect2_2.bin to the sector2. However when I booted the system , I am only able to see 'A' and not the kernel message.

Zulfi.

dedndave

don't forget to press a key, Zulfi - lol

zak100

I have pressed the key several times. I know its using int 16h.

Kindly tell me how to handle this prob. Thanks for your continuous efforts and time.

Zulfi.

sinsi

Can you give us the latest code? Or is the previous still valid?
Light travels faster than sound, that's why some people seem bright until you hear them.


zak100

Hi,
Its the same code. I have checked it again.

Zulfi.

FORTRANS

Hi,

   Well, duh.  On the Win 2000 system, I wrote the boot
loader to the second sector (1) without complaint.  Then
wrote the boot sector to the first (0) sector.  And it boots,
shows the "A", and the booting message.  The diskette
is still generating all the errors when examined, but it boots...
Should have thought of that a while back.

   Fnord only knows.

Regards,

Steve N.

zak100

Hi,
I have windows XP professional on my computer. I dont have any access to win 2000. Everywhere its XP.

Zulfi.

dedndave

i use XP Pro also, Zulfi
but that doesn't matter, as i don't have a machine with a floppy that isn't Win98 - lol
later today, i will work on a simple test program for you guys to run for me
it will test writing using INT 13h and INT 26h
it will test sector 2, as well as a valid data sector
once we know what we can use to write to the floppy, we will make a new bootloader

FORTRANS

Hi,

   Windows 2000 and XP are similar "under the hood".  The
last post was to show how I got around the write protect and
other file errors I was seeing.  It should work for Zulfi as well.

   Here is what I ended up doing.


debug bootload.bin
-w CS:100 0 1 1
-q

debug bootsect.bin
-w CS:100 0 0 1
-q


   I looked at Dave's disassembly of the boot sector, and made
one myself with Sourcer.  Nicely done Dave, good comments.
I'll try a few other things to try and find out what Windows does
not like about the new boot sector.  It seems to be following the
rules in the MS-DOS Programmer's Reference.

Regards,

Steve