PDA

View Full Version : MIPS



WILL
02-06-2006, 10:26 AM
I would like to get a general idea of who would be interested in adding MIPS archetecture to FPC? And of course the slightly more vital portion of helping to add support. Francesco (Legolas) did a great job with picking up where I started and adding GameBoy Advance support, with the possibility of adding a second Nintendo DS branch in the near future.

The basic ARM instructions were already there before we started, thanks to the Free Pascal Team. But all those MIPS-based platforms that we'd like to develop for unfortunately aren't so lucky.

So... who has the inclination to help Florian and his camp add support for the MIPS architecture?

Legolas
02-06-2006, 10:55 AM
I would like to get a general idea of who would be interested in adding MIPS archetecture to FPC? And of course the slightly more vital portion of helping to add support. Francesco (Legolas) did a great job with picking up where I started and adding GameBoy Advance support, with the possibility of adding a second Nintendo DS branch in the near future.

The basic ARM instructions were already there before we started, thanks to the Free Pascal Team. But all those MIPS-based platforms that we'd like to develop for unfortunately aren't so lucky.

So... who has the inclination to help Florian and his camp add support for the MIPS architecture?

Very good idea, indeed. :D
To be honest, I would like to see implemented an ARM9 compiler, because I haven't been able to compile something for NDS with the current fpc arm compiler.
Now that we know how to make an rtl port, it could be nice to know how to add a new architecture to fpc :)

WILL
02-06-2006, 11:12 AM
Well MIPS, I think, is the last major archetecture besides these crazy new, next-gen processors that are going to be coming about soon enough.

Let me see the list would probably be along the lines of; PlayStations 1 thru 3, PSP and then the Nintendo GameCube & Wii systems?

Cool thing about PS3 is that it's going to support Linux, as mentioned recently by savage, no? :)

savage
02-06-2006, 11:18 AM
Sonys Kutaragi has said that the PS3s HDD will come with Linux installed. Also you can read about IBM's work in this area over @ http://www-128.ibm.com/developerworks/power/library/pa-cell/?ca=dgr-lnxw09SpufsCell where they talk about porting Linux to the Cell processor.

From the above link

The team hopes to integrate most of this into the 2.6.13 kernel release so it will become part of upcoming distribution releases.


I would like to take part, but fear that my lack of knowledge in this are may not prove usefull. Though I'm kean to learn.

Legolas
02-06-2006, 11:19 AM
Surprise! GameCube and Wii have a PowerPC cpu, so fpc should be ready for such a port :D
The only problem is that gamecube isn't emulated, so I'll need a real GC and a way to connect it to pc :)

WILL
02-06-2006, 11:23 AM
Honestly, I think that sometimes thats all you need. You should have seen how 'in over my head' I felt at first when doing the first Mod of FPC4GBA. :? I was half lost. Then with enough time I managed to get the right information from Florian and others and viola! Sure I didn't end up getting to finish it. (Francesco did that for me ;)), but I did manage to start something, so I believe it was worth it. And I learned quite a bit from doing it too.

Though when I finish university look out! :D I'll probalby be making my own versions of FPC with auto-code generation and ANN-based AI incorporated into it. :P

Ultimately, I doubt that any of this is 'hard' per-say. However the knowlage is not yet in our grasp. We have to go get that for ourselves. Or help each other and work together. :)

Anyone know any good source of reference for gathering the opcodes and other information about MIPS? Something like a good solid source of reference. I think there is information on the FPCWiki about adding new archetectures... thats a place to start.

Legolas
03-06-2006, 01:50 PM
Honestly, I think that sometimes thats all you need. You should have seen how 'in over my head' I felt at first when doing the first Mod of FPC4GBA. :? I was half lost. Then with enough time I managed to get the right information from Florian and others and viola! Sure I didn't end up getting to finish it. (Francesco did that for me ;)), but I did manage to start something, so I believe it was worth it. And I learned quite a bit from doing it too.

Though when I finish university look out! :D I'll probalby be making my own versions of FPC with auto-code generation and ANN-based AI incorporated into it. :P

Ultimately, I doubt that any of this is 'hard' per-say. However the knowlage is not yet in our grasp. We have to go get that for ourselves. Or help each other and work together. :)

Anyone know any good source of reference for gathering the opcodes and other information about MIPS? Something like a good solid source of reference. I think there is information on the FPCWiki about adding new archetectures... thats a place to start.

In the wiki I read that a basic port of MIPS is available. It is not enough to build a MIPS compiler, but it is a start :)

savage
03-06-2006, 02:01 PM
The only thing I could find on http://www.freepascal.org/wiki/index.php/Open_tasks was that they would like to create MIPS port for 2.1.x.

Legolas
03-06-2006, 02:08 PM
The only thing I could find on http://www.freepascal.org/wiki/index.php/Open_tasks was that they would like to create MIPS port for 2.1.x.
Look at this page (http://www.freepascal.org/wiki/index.php/Platform_list). :wink:

savage
03-06-2006, 02:12 PM
Great! At least it's a start.

dmantione
04-06-2006, 08:17 AM
Adding an architecture is a very doable job, and the MIPS is a really friendly architecture to implement. It is hard than an OS port though, since you need to get at home with the compiler architecture. The majority of the work to port to a new processor is implementing all abstract methods of the cgobj unit and overriding some parts of the front-end code generator. Because the MIPS is a very regular architecture, overriding the front-end code generator will be unnecessary in most cases.

Legolas
04-06-2006, 12:37 PM
I have made a little research on wikipedia and I have found some interesting infos about console CPU:



-PlayStation MIPS R3000A-compatible (R3051) RISC 33.8688 MHz
-Playstation2 MIPS R5900 CPU core, 64 bit
-Playstation3 PowerPC Cell 3.2 GHz
-PSP MIPS R4000-based
-XBox Intel Coppermine Core 733 MHz
-XBox360 PowerPC Tri-Core "Xenon" 3.2 Ghz
-GameCube PowerPC 750CXe 485 MHz
-Wii PowerPC-based IBM "Broadway"
-DS ARM94E-S and ARM7TDMI


All 7th generation consoles are powered by a PowerPC based CPU, that is supported by FPC. Maybe this could be a beginning of pascal revenge over c :twisted: