I consider porting some C compiler to generate PM code. So here are some questions:
- Would you like to use it?
- What features you consider essential? Maybe it will be striped down of some features like float point numbers, no std library etc.
- Do you think that C++ would be actually useful for PM?
C compiler
Re: C compiler
Hi Zoranc, best of luck with your project!
Regarding your questions:
* Yes, I'd definitely use it. Programming in assembly is fun, but for ambitious projects C would make a huge difference.
* Basically everything that either doesn't quite fit in the PM's architecture is probably best left out. Libraries will probably get made soon enough once the basis is solid. Providing proper access to the sprite and bg tile rendering of the Mini does seem essential, though, so that might be worth spending attention on.
* Object orientation seems like so much overhead for such a little machine. I think one step up from asm is quite enough.
Regarding your questions:
* Yes, I'd definitely use it. Programming in assembly is fun, but for ambitious projects C would make a huge difference.
* Basically everything that either doesn't quite fit in the PM's architecture is probably best left out. Libraries will probably get made soon enough once the basis is solid. Providing proper access to the sprite and bg tile rendering of the Mini does seem essential, though, so that might be worth spending attention on.
* Object orientation seems like so much overhead for such a little machine. I think one step up from asm is quite enough.
Re: C compiler
gccPM?
A C compiler is definitely needed for the PM! With a decent library of defines and functions, that would ease development so much, especially for new people and those who don't know ASM (like me).
A C compiler is definitely needed for the PM! With a decent library of defines and functions, that would ease development so much, especially for new people and those who don't know ASM (like me).
Re: C compiler
Personally, I wouldn't use a C compiler for the PM.
I think it's a good idea though; it would really benefit new developers.
I think it's a good idea though; it would really benefit new developers.
Re: C compiler
I would actually pay a small bounty if you would make a working C compiler for the PM.
I already started to look for compilers that should be easy to port. The vbcc compiler looked quite simple to port (but it's still a lot of work).
http://www.compilers.de/vbcc.html
First you'd need to port the assembler (vasm) for PM and integrate the instructions as described in the tech wiki:
http://wiki.sublab.net/index.php/Pokemon_Mini
The best way to program the mini would be a combination of asm+C code.
A basic compiler would also be very much appreciated
Edit: only basic features would be needed. Of course no floating point numbers. Optimization isn't important (fast code should be written in asm). The most important point for a C compiler is to have more readable code than asm.
I already started to look for compilers that should be easy to port. The vbcc compiler looked quite simple to port (but it's still a lot of work).
http://www.compilers.de/vbcc.html
First you'd need to port the assembler (vasm) for PM and integrate the instructions as described in the tech wiki:
http://wiki.sublab.net/index.php/Pokemon_Mini
The best way to program the mini would be a combination of asm+C code.
A basic compiler would also be very much appreciated
Edit: only basic features would be needed. Of course no floating point numbers. Optimization isn't important (fast code should be written in asm). The most important point for a C compiler is to have more readable code than asm.
Re: C compiler
i had similar design targets myself too. make it possible for easier to read projects. easier to write big software projects. no big emphasis on the size and performance of the generated code. also floating point, CLIB and C++ support would be optional.
somehow i draged away from the projects since my idea to combine with another similar project failed. the compilers i was looking into most were EDG and LLVM but i guess they are more complicated than the one you pointed out.
also i lost interest in PM software development, since only flash card that i have doesn't fit the original cart so it's not that portable. besides i have just one of them and would have to keep it only for myself.
this amount of money is atm not very interesting to me. i'd rather put more in the bounty pot myself, of there is someone with more free time and motivation.
somehow i draged away from the projects since my idea to combine with another similar project failed. the compilers i was looking into most were EDG and LLVM but i guess they are more complicated than the one you pointed out.
also i lost interest in PM software development, since only flash card that i have doesn't fit the original cart so it's not that portable. besides i have just one of them and would have to keep it only for myself.
this amount of money is atm not very interesting to me. i'd rather put more in the bounty pot myself, of there is someone with more free time and motivation.
Re: C compiler
Of course i would also add (new) flashcarts and linkers to the bounty pot once i have them ready (i resumed workin on the flashcarts, but i think i will have to revise the design and order new boards)
Re: C compiler
new flash cards! awesome news coming on my birthday!
Re: C compiler
Back to the compiler topic - it seems that vbcc would be great choice for our system. Relatively easy to write an back-end. Flexible design that allows lot of tweaks in the back-end code generation.
I'm also considering to do the port myself. For that I'll need better understanding of the processor capabilities. Some design decisions also have to be made, concerning easier implementation and better performance.
I'm also considering to do the port myself. For that I'll need better understanding of the processor capabilities. Some design decisions also have to be made, concerning easier implementation and better performance.
Re: C compiler
We'll be rooting for you! Actually, even hand-optimizing the ASM wouldn't matter much, just having it generated from something higher-level would be a huge jump in productivity.