Re: [Tack-devel] [Spam] MINIX 1.5 and ACK
Moved to https://github.com/davidgiven/ack
Brought to you by:
dtrg
From: David G. <dg...@co...> - 2019-03-22 20:26:20
|
I had a play with the code. The Z8000 code generator builds and runs and generates code, but of course I have no idea whether it generates working code. The assembler does not; in common with a lot of the very old architectures it's runs in assembler/linker mode, where it generates non-relocatable binaries rather than .o files which can be linked together. This would need fixing. (I've done it before and it's not a lot of work.) Of course, it still needs a plat with a syscall library, startup code etc before it'll do anything useful. What OS does the M20 run? On Fri, 22 Mar 2019, 18:54 Christian Groessler, <ch...@gr...> wrote: > Not in the way the 8086 did with its segment registers. > > But the CPU has output pins which indicate if a memory access is an > instruction fetch or data access. And the M20 implements (at least) one > segment where this is used. So address X points to different physical > memory, depending on whether it's an instruction or data access. > > regards, > chris > > > On 3/22/19 5:48 PM, David Given wrote: > > Did the Z8000 do split I/D? The 8086 cheated because both code *and* data > got different 64kB address spaces, so you could have 64kB of code and still > have 64kB of data. I don't think you could fit the compiler into a single > 64kB space. > > There is a Z8000 code generator in the ACK but it's based on the old _old_ > code generator model and was last touched in the 1990s, so I don't know > whether it works or what the code quality is like. Plus, of course, then > you need to make it fit. > > > On Fri, 22 Mar 2019 at 14:05 Christian Groessler <ch...@gr...> > wrote: > >> Hi, >> >> On 3/11/19 8:13 AM, Jacobs, C.J.H. via Tack-devel wrote: >> > Good question! I survived, and I produced those binaries back then. But >> this was a very long time ago, >> > and my memory has never been any good... nor are my archiving skills... >> When I find some time, I’ll >> > see if I can do some digging. From what I remember, the only real >> problem was getting the compiler front-end >> > to fit in 64K instruction space and 64K data space. For that, we took >> out the C preprocessor (which was/is built-in >> > into the C frontend) and made it a separate pass, and we also took out >> the floating-point library. Other than that, >> > I don’t remember exactly, but I think it was just a little bit of >> tweaking. >> >> >> It would be great if you would find this version. >> >> I'm toying with the idea to port Minix 1.5 to the Olivetti M20, a Z8000 >> based computer. The Z8000 has 64K segments as well. >> >> regards, >> chris >> >> >> >> _______________________________________________ >> Tack-devel mailing list >> Tac...@li... >> https://lists.sourceforge.net/lists/listinfo/tack-devel >> > |