Skip to content

Strange output from DOS 6.22's MEM.EXE #94

@johnsonjh

Description

@johnsonjh
$ env EMU2_DOSVER=6.22 EMU2_LOWMEM=1 ./emu2 mem.exe /c

Modules using memory below 1 MB:

  Name           Total       =   Conventional   +   Upper Memory
  --------  ----------------   ----------------   ----------------
  SYSTEM       2,045    (2K)          0    (0K)      2,045    (2K)
  Free       522,128  (510K)          0    (0K)    522,128  (510K)

Memory Summary:

  Type of Memory       Total   =    Used    +    Free
  ----------------  ----------   ----------   ----------
  Conventional         655,360      655,360            0
  Upper                524,173        2,045      522,128
  Reserved                   0            0            0
  Extended (XMS)             0            0            0
  ----------------  ----------   ----------   ----------
  Total memory       1,179,533      657,405      522,128

  Total under 1 MB   1,179,533      657,405      522,128

  Largest executable program size     4,294,967,     (0K)
  Largest free upper memory block        433,136   (423K)
$ env EMU2_DOSVER=6.22 ./emu2 mem.exe /c

Modules using memory below 1 MB:

  Name           Total       =   Conventional   +   Upper Memory
  --------  ----------------   ----------------   ----------------
  SYSTEM       2,045    (2K)          0    (0K)      2,045    (2K)
  Free       653,216  (638K)          0    (0K)    653,216  (638K)

Memory Summary:

  Type of Memory       Total   =    Used    +    Free
  ----------------  ----------   ----------   ----------
  Conventional         655,360      655,360            0
  Upper                655,261        2,045      653,216
  Reserved                   0            0            0
  Extended (XMS)             0            0            0
  ----------------  ----------   ----------   ----------
  Total memory       1,310,621      657,405      653,216

  Total under 1 MB   1,310,621      657,405      653,216

  Largest executable program size     4,294,967,     (0K)
  Largest free upper memory block        564,224   (551K)
$ env EMU2_DOSVER=6.22 ./emu2 mem.exe

Memory Type        Total  =   Used  +   Free
----------------  -------   -------   -------
Conventional         640K      640K        0K
Upper                640K        2K      638K
Reserved               0K        0K        0K
Extended (XMS)         0K        0K        0K
----------------  -------   -------   -------
Total memory       1,280K      642K      638K

Total under 1 MB   1,280K      642K      638K

Largest executable program size         0K (4,294,967,280 by
Largest free upper memory block       551K (564,224 bytes)
$ env EMU2_DOSVER=6.22 EMU2_LOWMEM=1 ./emu2 mem.exe

Memory Type        Total  =   Used  +   Free
----------------  -------   -------   -------
Conventional         640K      640K        0K
Upper                512K        2K      510K
Reserved               0K        0K        0K
Extended (XMS)         0K        0K        0K
----------------  -------   -------   -------
Total memory       1,152K      642K      510K

Total under 1 MB   1,152K      642K      510K

Largest executable program size         0K (4,294,967,280 by
Largest free upper memory block       423K (433,136 bytes)
$ env EMU2_DOSVER=6.22 ./emu2 mem.exe /d

Conventional Memory Detail:

  Segment               Total        Name         Type
  -------          ----------------  -----------  --------
   00000              1,039    (1K)               Interrupt Vector
   00040                271    (0K)               ROM Communication Area
   00050                527    (1K)               DOS Communication Area
   00070           1,039,28 (1015K)  IO           System Data
   0FE2B           4,293,92 (419328  MSDOS        System Data
   00080                 96    (0K)  MSDOS
   00086             88,992   (87K)  MSDOS
   01640            564,224  (551K)  MSDOS        -- Free --

Memory Summary:

  Type of Memory       Total   =    Used    +    Free
  ----------------  ----------   ----------   ----------
  Conventional         655,360      655,360            0
  Upper                655,261        2,045      653,216
  Reserved                   0            0            0
  Extended (XMS)             0            0            0
  ----------------  ----------   ----------   ----------
  Total memory       1,310,621      657,405      653,216

  Total under 1 MB   1,310,621      657,405      653,216

  Memory accessible using Int 15h              0     (0K)
  Largest executable program size     4,294,967,     (0K)
  Largest free upper memory block        564,224   (551K)

EMU2_LOWMEM changes the reported upper memory, not conventional, and largest size is always shown as 0K (4,294,967,280 bytes).

Not sure if this may affect any "real" programs that use similar routines.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions