Will BlitzMax run on the Rasperry Pi????

BlitzMax Forums/BlitzMax Beginners Area/Will BlitzMax run on the Rasperry Pi????

andy_mc(Posted 2012) [#1]
http://www.raspberrypi.org/

Will BlitzMax run on this? It's an ARM based PC running Linux.


Htbaa(Posted 2012) [#2]
Unless BlitzMax can compile for ARM, not likely. For what I know BlitzMax uses FASM (http://flatassembler.net/) which is an assembly language compiler for x86 and x86-64 processors.

BlitzMax did support PPC on older Mac's right? Was that also FASM?

Edit: Looks like it could be possible http://arm.flatassembler.net/. Not sure if all required libraries are available for ARM as well.

Last edited 2012


*(Posted 2012) [#3]
Would be an excellent opportunity :D


andy_mc(Posted 2012) [#4]
It's completely sold out in the first few minutes of today. There's not much information on programming languages available for it, But there's a huge market for a free or affordable language to flourish on it. It's quite capable with games, being able to run Quake 3 at 1080p resolution with 3x anti-aliasing. It can also decode full 1080p video.


Htbaa(Posted 2012) [#5]
I believe GCC and the likes are all available, as well as several scripting languages such as Perl and Python. It really is just a Linux computer, but with a different architecture.

It's unbelievable how fast the first batch of 10.000 units was sold out. I woke up half an hour when they started selling them. Both distributors websites were down at that time and when I got through it was all sold out already :-P. I can wait though.


Mahan(Posted 2012) [#6]
Since the BlitzMax compiler (to my knowledge) generates x86 assembler code, porting to another plattform would mean a complete rewrite of the backend which would probably mean similar effort porting to arm as to for instance to x64.


Htbaa(Posted 2012) [#7]
I think that's where FASMARM comes into the picture.


Mahan(Posted 2012) [#8]
Judging from their homepage that's an ARM cross-assembler. Unless ARM has a very similar instruction set to X86 the compiler backend still needs a rewrite even if FASMARM might be a good tool to get it assembled.

Assembler is a very different beast than all other languages, because it follows the target architectures instruction set judicially and only adds abstractions such as macros and labels.

Typically each assembler directive (mnemonic) is translated to 1 specific operation or opcode in the target processor. Now architectures vary very much between processor architectures. The number and size of registers vary, the stack size and how the stack pointers work vary and also addressing modes vary a whole lot and also how flags interact with conditional branching, interrupts etc.

As i wrote in the last comment:


[...]probably mean similar effort porting to arm as to for instance to x64.




FASM works with x64 also, and yet we haven't got 64-bit BMX probably because the conversion would amount to quite a substantial lot of work.


xlsior(Posted 2012) [#9]
...Unfortunately, since a x64 version would be much appreciated as well. :-?


Nigel Brown(Posted 2012) [#10]
The RPi foundation I am sure would welcome another language be made available, the education version of RPi will not be available until Q4 and still offers a lot of time for developers. I would pay up front for an ARM version.


Baley(Posted 2012) [#11]
To my knowledge, I don't think a new assembler for ARM would be the most difficult part... Actually I think the biggest work would be to re-write all the modules for a different operating system.


boomboom(Posted 2012) [#12]
If it can get running on the RaspPI, and BRL made a free educational version then I will defiantly use it as the main language for teaching kids in my school how to code.

I would make these resources freely available also, so BRL would get a lot of schools take it up. Balls in your court :)


SLotman(Posted 2012) [#13]

To my knowledge, I don't think a new assembler for ARM would be the most difficult part... Actually I think the biggest work would be to re-write all the modules for a different operating system.



I may be completely wrong here, but since bmax already runs on Linux, and it's Linux running in the Raspberry Pi, the libs and APIs should be the same, so that shouldn't be something to worry about.

About FASM for ARM, a quick Google search revealed this: http://arm.flatassembler.net/
(Ah, I see someone mentioned it already in this thread... ^_^)