Forums before death by AOL, social media and spammers... "We can't have nice things"
|    alt.os.development    |    Operating system development chatter    |    4,255 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 2,715 of 4,255    |
|    mutazilah@gmail.com to James Harris    |
|    Re: PDOS/86    |
|    19 Jul 21 03:30:12    |
      From: muta...@gmail.com              On Monday, July 19, 2021 at 2:57:20 AM UTC+10, James Harris wrote:              > > No. On a real 8086. The x'66' will be ignored. So a real       > > 8086 and PM32 will both work, right?       >       > Forgive me for being critical but if I understand what you mean by the       > above (which is by no means certain) I think you are going about this in       > the wrong way and could cause yourself all kinds of problems down the line.       >       > I thought you were writing your code in C (C90 specifically). Well, C is       > designed to be portable so it should let you write code which will run       > on 8086, 80286 and 80386 machines - but the C approach to such       > portability is compilation for the different targets. C provides       > source-code portability, not object-code portability. It is normal with       > C to recompile a piece of source for different targets. An 8086 is a       > different target from 80386, just as it is from 68000.       >       > If you want /binary/ compatibility you might be better writing in Java       > or Pascal.              I am happy to have a separate compilation for 8086       vs 80386. I'm even happy to have separate compilations       for each of the 8086 memory models.              But if there are a variety of CPUs that can run 8086       executables, and some of them address 1 MiB max,       and some of them address 512 MiB max, I would       like to write code to the lowest common denominator       if possible, rather than have 27 sort-of-8086 large       memory model variants.              That's what people do with the x64 too - with AMD and       Intel being slightly different.              If people have a problem with my approach, and they       really want to have an NEC-8086 which is slightly       different from an Intel-8086, the main difference being       the NEC version has one super-duper instruction, and       they're willing to get their compiler to generate that       single instruction, meaning they are tied down to the       NEC, but that gives them a market advantage of 5%,       I say - go for it!              But at the moment I'm only actually willing to generate       a single executable for free for any of my products and       that is a Win32 executable that works on PDOS/386       and basically everywhere else (MSDOS with HX,       Linux with Wine, etc).              So I guess what I look for is whether I can find a VIABLE       lowest common denominator. When it comes to 16-bit       executables, I don't actually know of anything lower than       the 8086, so one large-model executable that works with       the 8086 in 1 MiB and 512 MiB on the 80386 is fine with me.              On the mainframe I produce a single executable that works       in AM24 on the S/370, AM31 on the S/390, and AM32 on       the S/380. I used to have separate compiles for 24 vs 31       until I figured a technique - without kludging which is all       I had been informed about prior to that - that enabled       one binary to handle all modes. I have considered       dropping down one more level and targeting the S/360.       The GCC i370 target targets the S/370, and that is what       I inherited, so that is what my starting point was.              BFN. Paul.              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca