Hi ECM,

I added XMS support (Extended Memory that isn't lockable,
HMA with A20 always enabled, and UMBs) to 8086tiny.

I do not understand. 8086 only has address lines A0 to A19,
how can XMS, HMA and A20 exist on 8086 hardware at all?

In theory, you could implement something which copies around
memory between the first 640k of memory and the last 384k of
the first megabyte, but most of that will be in use for BIOS
and graphics, or simply not have any usable RAM installed?

A feasible approach might be drivers which use hardware-based
EMS (which *can* be more than 1 MB even on 8086 CPU) as base
of an implementation of the XMS API, and maybe even UMB, but
neither A20 nor HMA could exist on such hardware with 8086?

I found that at the time FreeCOM expected to run on a 186
or 286 when using XMS. (The 286 instructions unrelated to
Protected Mode are all present on the 186 already.)

That makes perfect sense to me. FreeCOM is welcome to make
use of 286 optimizations given that PC which have sensible
amounts of XMS available must be PC which have 286+ CPU.

This may have been fixed since, after I reported it in 2019:
https://github.com/FDOS/freecom/issues/15
Just something to consider when you implement XMS on an 8086.

Regards, Eric





_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to