From: Frank Kotler on
s_dubrovich(a)yahoo.com wrote:

....
> I like to hear if anyone can boot it off a floppy.

Hi Steve,

Yeah, works for me (HP P-IV - pretty standard stuff). The only things
I've figured out how to do are "hello" and "exit", but both of those
work. :)

I realized that the source was in the image (look at it in a text
editor... scroll down... cut and paste?), but I hadn't gotten as far as
figuring out it was a FAT12 image. That should help. Oh, yeah - "mount"
it and you can see the source! I'm so used to writing "raw" cruft to a
floppy, I never thought to look!

> I dumped the boot sector and verified that the code is the same as
> \SOURCE\boot.asm at the critical point in the source where
> initialization of the stack is commented out...
>
> ..

I ASSume there's the standard FAT12 stuff here? Specifically, a
"canonical" bootsector starts with "jmp short"/"nop" or "jmp near". I
have heard of, but never encountered, a bios that cared about this! I
believe it reported "system disk not found", though - not just reboot.
That sounds almost more like a "pmode thing".

> start:
> xor ax, ax
> mov ds, ax
> mov es, ax
> ;mov ss, ax
> ;mov esp, 7C00h

I wonder why?

> mov cx, 2 ; sector 2
> xor dh, dh ; side 0
> mov bx, LOAD_ADDRESS
> ..
> .. without the stack being setup properly, I doubt it'll boot from
> floppy in any of my systems. The default stack at bootstrap is at the
> top of the IVT, 0000:0400h

I've seen this.

> in most of the rombios's I've been able to
> check, mostly dell's, phoenix bios's. On reboot, there is another
> location, usually, in the same area. These default stack locations
> are too small to depend on.

Yeah... okay "for a little while" maybe. I'm surprised it causes "that
much" trouble - I would expect only low interrupts to be "vital", at
this point. Does commenting it out help? (Fasm *or* Nasm - Mike, you
continue to amaze me!)

Best,
Frank
From: Mike Gonta on
On May 4, 2:21 pm, s_dubrov...(a)yahoo.com wrote:
>
> I like to hear if anyone can boot it off a floppy.
>
I have boot and run successfully by floppy disk from the following
PC's.

Pentium, 75 MHz, 32 Mb, PhoenixBIOS ver 4.04.7 rev 00.00.09 1995

Pentium, 133 MHz, 16 Mb, Phoenix NoteBIOS 4.0 (Notebook PC) ver A04
10/03/96

Pentium 4, 1.4 GHz, 1 Gb, Award Bios v6.00PG 2001

I have boot and run successfully by floppy disk and USB flash drive as
floppy disk BIOS emulation from the following PC's.

Pentium 4, 2.8 GHz, 512 Mb, Award Bios v6.00PG 2003

Pentium D, 3.0 GHz, 512 Mb, AMI Bios P4M890T-M2 07/11/2006

I have boot and run successfully by USB flash drive as hard disk BIOS
emulation from the following PC.

Pentium M, 1.6 GHz, 480 Mb, Phoenix Bios F.14, HP Pavilion dv 1000
Notebook PC


http://mikegonta.com/pdBIOS32

Mike Gonta
look and see - many look but few see
From: Mike Gonta on
On May 4, 5:23 pm, Frank Kotler <fbkot...(a)myfairpoint.net> wrote:

> Yeah, works for me (HP P-IV - pretty standard stuff). The only things
> I've figured out how to do are "hello" and "exit", but both of those
> work. :)

The START monitor reads the start.txt file (a poor man's version of
autoexec.bat) if it exists and loads the file listed on the first
line.
The 32 bit protected mode binary file must have a "bin" extension but
it's not necessary to include it in the file name here or on the
command line.
That file is then loaded to high memory and run. The program has full
access to the motherboard BIOS through the pdBIOS32.
The program returns to the monitor with an int 19h (which the monitor
has hooked for this purpose - similar to DOS int 20h).
"exit" is a built-in function, there is also "cls" which clears the
screen and "ver" which displays the START monitor version.
"time.bin" displays the time in real time, and "cpuid.bin" displays
information from the cpuid instruction.
These are simple 32 bit protected mode programs that run in high
memory with full BIOS access.


http://mikegonta.com/pdBIOS32

Mike Gonta
look and see - many look but few see
From: Mike Gonta on
On May 4, 11:28 am, "Rod Pemberton" <do_not_h...(a)havenone.cmm> wrote:

> Or, use John Fine's partcopy.exe or Linux dd command, etc. to put the image
> to floppy and boot it.

There is also dd for windows.

> I'm not sure how to get Mike's files that way though...

Once it's on the floppy disk it's FAT12.

> Ditto when using QEMU to boot and run.  I think you'd need to
> _not_ boot the image, but read/mount it via DOS, Windows, Linux, etc.

That's the nice thing about qemu, it will emulate the binary code on a
real device such as a floppy disk or USB flash drive.
It will even emulate the boot and run from a flash drive on a PC which
cannot boot from USB.
On winXP I also use Virtual Floppy Drive and qemu for testing as well
the real devices.

In a cmd (batch) file use the line:

qemu -L . -localtime -fda b: -boot a

to boot from the VFD setup as "b:" and:

qemu -L . -localtime -fda a: -boot a

to boot from the real floppy disk


http://mikegonta.com/pdBIOS32

Mike Gonta
look and see - many look but few see




From: Mike Gonta on
On May 4, 2:21 pm, s_dubrov...(a)yahoo.com wrote:

> This image doesn't boot for me on my test laptop, a pentium class mmx
> with 32mb ram.
> From 'power on' boot, my system hangs, from 'reboot' after my test
> bootstrap floppy, it also fails, it enters a reboot cycle, fails,
> attempts reboot, fails, etc.

This might be caused by trying to enable the A20 with the port 92h
fast method.
Apparently some older notebook PC's hang when this port is accessed.
Comment out lines 111 and 112 in rm2pm.asm to bypass this method (and
go straight to the keyboard controller method) and reassemble this
module.
Use the following dd command to replace the second sector on the
floppy disk:

dd.exe if=rm2pm.bin of=\\.\a: seek=1


http://mikegonta.com/pdBIOS32

Mike Gonta
look and see - many look but few see