MASM32 error while assembling / begin: / end begin

Started by Earnie, July 15, 2010, 06:42:38 PM

Previous topic - Next topic

Earnie

Thank you, dedndave!

I tried your driver and it didn't work either. Then I erased the config.sys, saved the DOS6.22.iso and loaded it into Virtual PC.
Exactly the same outcome as before. Something is very wrong here.

Now it gets interesting. I loaded the DOS6.22.iso into ULTRAISO and erased every file in it.
I saved the file under DOS6.22b.iso and loaded it into Virtual PC.
DOS gets loaded !
And the .iso still has about 1.5 MB. Also when I open it with ULTRAISO is shows 0 MB.   


dedndave

i use 2 freeware programs for working with ISO's

7-zip is a program that i use to extract files from ISO's
it will even create a [boot] folder with the boot-strap code in it
it will not, however, tell you how the boot code is stored - you have to know what type of boot is being used

CdBurnerXP is the program i use for creating ISO's
it should show you how the image is made, and allows you to set up the newly created ISO the same way
i am not familiar with booting into the VM you are using
but, there are at least 4 possible types of bootable images
1) standard bootable CD
2) windows bootable CD - like ms uses on their windows distribution CD's
3) el torito bootable - somewhat similar to a DOS floppy boot, only applies to CD's
4) DOS floppy boot

we could add one more type to the list - the kind that are supposed to boot, but don't - lol
there are many of these CD's floating around out there  :lol

the CdBurnerXP website has the settings for all bootable CD's in their documentation pages
http://cdburnerxp.se/help/Intro/faq
maybe some of that info can help you
another approach would be to use VmWare instead of VirtualPC  :P

when you tried my driver, did you use the .SYS file from the attachment ?

Earnie

Yes, I used your .sys driver file.
And I added changed the config.sys from my DOS6.22.iso to "DEVICE=NULL.sys".

dedndave

that should work, so long as the file was in the root directory   :P
the issue seems to be your setup
keep plugging - i am sure you'll get it

Earnie

The file was in the root directory.
Oh, i'm gonna be so happy when this thing finally works  :dance:

dedndave

in the config.sys file, it is best if you can specify an absolute path for device driver files
device=a:\null.sys

the reason is - if a device driver file is not found, some versions of DOS don't report any error - they just don't load the driver
if you specify an absolute path, you remove any doubt
of course, you have to substitute the appropriate drive letter\path

also, things were a little simpler under win98
you could still use config.sys to load 16-bit drivers
not sure that would work with win2k+  - probably not so well
but, if you have a win98 machine around, you can use it for testing

clive

Quote from: dedndave
also, things were a little simpler under win98
you could still use config.sys to load 16-bit drivers
not sure that would work with win2k+  - probably not so well
but, if you have a win98 machine around, you can use it for testing

No NT, W2K and XP will not touch DOS drivers, NTLDR will pick up custom SCSIPORT driver (NTBOOTDD.SYS) which will take over once the INT13H or EL TORITO BIOS support is not needed/usable.

You can however format DOS boot floppy discs with NT, W2K and XP, the latter being a Win98 Emergency Boot Disc. Check the "Create an MS-DOS startup disk" in the format dialog.

Ok, and the driver works with CONFIG.SYS using the single line "DEVICE=SIMPLE.SYS"

The boot screen (from a USB floppy with boot disc formatted as described above) looks like this :

Starting..

The Waite Group Simple Device Driver!

A:\>
It could be a random act of randomness. Those happen a lot as well.

dedndave

there ya go, Earnie - your driver works   :bg
i think you just made his day, Clive - lol

Earnie

Quote from: dedndave on July 21, 2010, 08:07:35 PM
in the config.sys file, it is best if you can specify an absolute path for device driver files
device=a:\null.sys

the reason is - if a device driver file is not found, some versions of DOS don't report any error - they just don't load the driver
if you specify an absolute path, you remove any doubt
of course, you have to substitute the appropriate drive letter\path

I'm gonna try that tomorrow. Hopefully it'll work or I'll at least have a new error to work with, considering that the file was fine when clive tested it.

Good night everyone, it's sleeping time again in my part of the world 

clive

Not sure what your final application is, there can't be much demand for learning DOS drivers these days. (Perhaps there is a gold mine out there somewhere for DOS, OS2, Windows VxD, PMD, SCSIPORT, filter, drivers. I'd be interested in hearing from anyone with a commercially viable projects/opportunities)

Anyhow I wish you well in your endeavors.

-Clive
It could be a random act of randomness. Those happen a lot as well.

FORTRANS

Hi,

   Not a gold mine, but eCS (eComStation) is the follow-on
to OS/2 and there is some development being done.  I
_think_ some work is being done on device drivers.

Regards,

Steve N.


clive

Then again, I wouldn't have expected to be banging on legacy 68020/68881 code and hardware, and FORTRAN compilers in 2010 either. Or how awful the 68K machine code coming out of the compiler is....
It could be a random act of randomness. Those happen a lot as well.

Earnie

I want to learn it from the bottom up, that's all. I got frustrated with high-level programming and wanted to do something more low-level.

How did you 2 test the simple.sys ? Do you use a DOS emulation ? Perhaps there is an easier way for this.

dedndave

i think Clive tested it with a DOS boot USB floppy

clive

Quote from: Earnie
How did you 2 test the simple.sys ? Do you use a DOS emulation ? Perhaps there is an easier way for this.

I guess emulation might be viable, I just rebooted the machine and it loaded DOS from the boot floppy. In this case a USB floppy, but I have other boxes with floppy drives internally. The machine could also boot for a bootable CD, but that requires more steps.
It could be a random act of randomness. Those happen a lot as well.