Author Topic: MS-DOS int 21 functions should work under XP!!  (Read 11711 times)

jj2007

  • Member
  • *****
  • Posts: 7554
  • Assembler is fun ;-)
    • MasmBasic
Re: MS-DOS int 21 functions should work under XP!!
« Reply #15 on: July 11, 2012, 05:42:33 AM »
If you want to use Kip's book, check this post about using his library in parallel to the Masm32 SDK.

laskar01

  • Guest
Re: MS-DOS int 21 functions should work under XP!!
« Reply #16 on: July 11, 2012, 06:35:22 AM »
Thank you all.
I am finishing the BIOS chapter now, but neither BIOS is availible running MASM under XP, correct? All I have is a managed "BIOS"?

Lasse

Gunther

  • Member
  • *****
  • Posts: 3515
  • Forgive your enemies, but never forget their names
Re: MS-DOS int 21 functions should work under XP!!
« Reply #17 on: July 11, 2012, 07:23:13 AM »
Lasse,

you should read Hutchs posts very careful. He is absolutely right, but don't forget the excellent AMD manuals. On the other hand, there is a lot of good information and documentation inside the MASM32 package. We have that due to the honest and diligent work of Hutch and the other volunteers - special thanks to all.

Quote
If you want to use Kip's book, check this post about using his library in parallel to the Masm32 SDK.

Good hint, Jochen.

Gunther
Get your facts first, and then you can distort them.

MichaelW

  • Global Moderator
  • Member
  • *****
  • Posts: 1209
Re: MS-DOS int 21 functions should work under XP!!
« Reply #18 on: July 11, 2012, 09:25:46 AM »
I am finishing the BIOS chapter now, but neither BIOS is availible running MASM under XP, correct? All I have is a managed "BIOS"?

Under XP you have access to the BIOS functions through NTVDM. As to whether or not any of the function calls end up being handled by real-mode BIOS code I don’t know, but at many/most of functions will behave as they would under DOS. A small number of the functions will always fail and return an error (for example the BIOS wait functions, Interrupt 15h, functions 83h and 86h), and any attempt by a DOS app to use the BIOS disk functions to access a hard disk will cause the system to terminate the app. And the BIOS will recognize devices that may not exist in hardware. For example, my Windows XP system has one serial port and one parallel port, as reported in the System Information app, but if use the DOS DEBUG program to dump the first 16 bytes of the BIOS data area I get:
Code: [Select]
-d 40:0
0040:0000  F8 03 F8 02 E8 03 E8 02-BC 03 78 03 78 02 C0 9F   ..........x.x...

Which shows that the BIOS POST found the full complement of 4 serial ports and 3 parallel ports. And IIRC I could access these “virtual” ports from a DOS app running under Windows, although obviously I could not attach anything to an external connector to do a function test.

Well Microsoft, here’s another nice mess you’ve gotten us into.

Gunther

  • Member
  • *****
  • Posts: 3515
  • Forgive your enemies, but never forget their names
Re: MS-DOS int 21 functions should work under XP!!
« Reply #19 on: July 11, 2012, 09:42:43 AM »
Hi Michael,

Quote
And IIRC I could access these “virtual” ports from a DOS app running under Windows, although obviously I could not attach anything to an external connector to do a function test.

That's interesting. It could be that this is a remainder for old hardware. For example: some old scanners are using the TWAIN interface. Should be tested.

Gunther
Get your facts first, and then you can distort them.