LOADALL for 286 #1562
Replies: 9 comments 3 replies
-
https://www.pcjs.org/documents/manuals/intel/80286/loadall/ wikipedia a bit short on details, this linkk from 0os2 museum comments goes into details |
Beta Was this translation helpful? Give feedback.
-
Hello @Randrianasulu, I'm familiar with the undocumented 286 LOADALL instruction, it essentially performs the same thing as the 386+ does with "unreal mode" by caching a base address greater than 1M for support of more than 20 address lines without having to switch into protected mode. The question is, what exactly are you looking for? ELKS can't use any DOS or Microsoft XMS programs, as ELKS doesn't support DOS in any way. That is, we can't load or use HIMEM.SYS or any of its derivatives within ELKS. ELKS does support using XMS memory though, and uses 386+ unreal mode to directly access XMS memory, which is used to greatly increase the number of system buffers by moving them out of main (address 640kb or less) memory. However, in general, many BIOS's won't support ELKS reloading the segment cache registers, or they reset them themselves. This means we have to use BIOS INT 15h for block copy, which is likely not present in 286 BIOSes (we would need to check). The other bigger issue will be testing LOADALL on 286 - I don't have a 286 development system. Thank you! |
Beta Was this translation helpful? Give feedback.
-
@ghaerr I think this article from os2 museum (linked from wikipedia) says 286 will be seriously incompatible if it omits this instruction http://www.os2museum.com/wp/more-on-loadall-and-os2/ see also errata page in pdf document on pcjs link... For testing - I guess if 86Box in 286 mode can handle OS/2 1.X and/or ms dos's himem.sys you can try this for prototyping. Also, i386/XMS ELKS kernel must be compiled by user right now? |
Beta Was this translation helpful? Give feedback.
-
What feature are you looking for on 286? Just the use of extended buffers, or something else?
Yes. For the v0.6.0 (or was it 0.5.0?) release, an image was produced with XMS turned on, but it wouldn't boot on some systems, due to some incompatibility in A20 line handling, unreal mode used within BIOS vs INT 15, and 386 chip identification working properly, so we took it out. |
Beta Was this translation helpful? Give feedback.
-
I noticed link to this project on VOGONS forum, not quite ibm machine, but author hopes to get dos running there |
Beta Was this translation helpful? Give feedback.
-
https://archive.org/download/DesignOfOS2/Design%20of%20OS2.pdf this was recommended on reddit thread about 286 protected mode programming. |
Beta Was this translation helpful? Give feedback.
-
oh, 500+ pages! |
Beta Was this translation helpful? Give feedback.
-
thread on microcode from 80186 https://forum.vcfed.org/index.php?threads/8088-8086-microcode-disassembly.77933/page-2#post-951895 also, s100 boards site has some info http://www.s100computers.com/My%20System%20Pages/FPGA%2080286%20SBC/80286%20SBC.htm somewhat random link tells us 286 part is obsolete for 6 years already (in 2017). But may be someone will finally implement it in fpga. https://electronics-sourcing.com/2013/05/30/intel-amd-and-nec-x86-processors-re-created/ |
Beta Was this translation helpful? Give feedback.
-
https://rep-lodsb.mataroa.blog/blog/intel-286-secrets-ice-mode-and-f1-0f-04/ |
Beta Was this translation helpful? Give feedback.
-
I recognize it was considered out-of-scope for this project to support 286 specific features, but anyway because wikipedia link to himem 2.06 sources currently not answering and not archived I think I post this link here
https://archives.scovetta.com/pub/power_programming/MICROSFT/
https://archives.scovetta.com/pub/power_programming/MICROSFT/XMS20.ARC
for unpacking I installed unar utility (uses gnustep libs!) in termux, and now after unpacking SECOND arc archive inside I can read said function, even if I do not understand it :) apart from english comments. :)
Beta Was this translation helpful? Give feedback.
All reactions