John Lee wrote:

> Why not ask the fpc developers (via fpc-devel) for access to the fpc svn for 
> your new code. 

That's not a bad idea, I'll probably do that, I wanted to get an idea of what's 
involved first before going to a lot of trouble.  I wanted to see if I was 
capable first, I have some disabilities that might cause problems.  


I do have one little question, I have Mercurial installed, I can also install 
SVN, and in fact I had it on another machine, and I'm just curious, as to why 
they use SVN over Mercurial, is it just that that was what was available at the 
time and it works satisfactorily enough for the project's purposes, that it's 
better than Mercurial, or that it's just one of those Coke vs. Pepsi 
comparisons, they're (CVS vs. SVN vs. Mercurial) just different ways of doing 
the job like different word processors (or, (say it softly) different 
programming languages!)?


I sometimes wonder if programmers at the Rite Aid or Walgreens drug store 
chains use CVS.  (CVS is a competing drug-store chain in the US as well as the 
name of a source-code repository system.)  Oh well, it was a better joke when I 
thought of it.


I note that my message about adding two new features to the compiler didn't 
show up here, I suspect that since I didn't re-subscribe to this list until 
later, it took it as potential spam so I'll re-submit it.  I'll probably also 
write one up for my IBM 370 port later.  

> This'll have advantage that it'll be easier for the fpc gurus to advise on 
> any changes needed 
> for the new target, and of course it'll make it available to everyone else 
> too. As you probably 
> know fpc has been ported to many different architectures from the original 
> linux & win32 i386, big/little endian, 32/64 bits alpha/sparc etc  -  tho' 
> not such a 
> different architecture as yours maybe ! - so they know quite a bit about the 
> best way to do it.  

On the pages on the Free Pascal Wiki I'm writing on my attempts to port the 
Free Pascal Compiler over to the IBM 370 series machine (known now as zSystem), 
with the initial target being an IBM 370 on OS/VS1, I note the number of many 
differences, considering that the machine is an upgrade of a design developed 
in the late 1970s.  (Some of these aren't listed there, I'm just remembering 
some of them.)
* It's Big Endian (I believe the PDP-11 minicomputer is also.)  Personally as 
far as visualizing data I prefer Big Endian over Little Endian, but as long as 
the processor works accurately it doesn't really matter.
* There are 16 registers of 32 bits but in general practice only about 10 of 
them are available.
* The most you can access at any one point from a register is 4K, whether 
that's a branch in code, or a piece of data.  If you're going to access more 
than 4K, you need to set aside more registers.  If you have very large 
procedures (or a very large main program), or you need to work with very large 
data structures you may have to break it up into smaller ones, or, most likely, 
I'll put in some switches to tell the compiler basically to make all branches 
into potential "long jump-style" ones, where each branch is done similar to a 
procedure call instead of a "local" branch.
* Only 32-bit operations are available.
* Only tables are available, in-line constants are generally not (this is not 
exactly true, but is close)
* It's internal character set is EBCDIC, not ASCII.  Also, the character set is 
not continuous along the alphabet, e.g. doing a test on ['a'..'z'] or 
['A'..'Z'] will fail because it will pick up other non-alphabetic characters.

A lot of these restrictions are lifted on the zSystem which is a 64-bit 
machine, but right now I don't have access to one or the means to test on it (I 
first have to get the compiler to generate on what I can work with.  So as the 
saying goes, let's get to "crawl" first before we try to walk or run!)

Since the machine I have to emulate for targeting the compiler toward is the 
370 architecture (as opposed to the zSystem) using the OS/VS1 non-interactive 
(batch) operating system, I'll target the less capable machine/OS, and have 
(again) more options for things like targeting 64-bit processing, for other 
operating systems than OS/VS1, etc. 


Paul

_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to