Blitz3d compiler for xbox360?

Blitz3D Forums/Blitz3D Programming/Blitz3d compiler for xbox360?

Caton(Posted 2015) [#1]
In blitz3d source code how would I write a xbox360 compiler?
and does blitz3d commons use C++ functions in their functions?


Yasha(Posted 2015) [#2]
Not even remotely feasible. Xbox 360 is a PowerPC machine, with its own OS and different interfaces. Blitz3D compiles for x86 desktop Windows.

It would be much, much, much easier to write a completely new compiler and engine from scratch than to port Blitz3D.


Matty(Posted 2015) [#3]
Given you seem to lack sufficient knowledge judging by previous posts to read data from a file i think writing a compiler might just be a bit of a stretch of your abilities. However i think the code archives has a few exples of very simple compilers....if you are keen to learn have a look over them.


Rick Nasher(Posted 2015) [#4]
@Yasha:
Wauw, didn't know that. Had to upgrade my slacking knowledge.. :-)
I thought the whole PowerPC(RISC)idea for PC's died off with the Amiga/Apple PowerPC ditching, RISC mostly used in ARM for smart phones/tablets and specialized ASICS and that the Xbox was basically a Wintel box. The orginal Xbox CPU was a custom 733 MHz Intel Pentium III "Coppermine-based" and the based on the Windows NT architecture(incompatible though).

But as it seems PowerPC was only applied to the Xbox 360.
Xbox One apparently now's back on that original track with an AMD:
Xbox One is powered by an AMD "Jaguar" Accelerated Processing Unit (APU) with two quad-core modules totaling eight x86-64 cores clocked at 1.75 GHz
....
It was reported that 3 GB of RAM would be reserved for the operating system and utility software, leaving 5 GB for games. With DirectX 11.2 as the console's API,[55] the graphics processing unit (GPU) is based on an AMD GCN architecture with 12 compute units, which have a total of 768 cores, running at 853 MHz providing an estimated peak theoretical power of 1.31 TFLOPS.


Here is where it's getting even more interesting:

Xbox One runs two operating systems within a hypervisor; games run within one operating system, while apps and the user interface run within a stripped-down variant of Windows 8. This architecture allows resources to be allocated specifically to different aspects of the console's functions, including multitasking and Kinect processing, ensuring an "absolute guarantee of performance" for games. In January 2015, Microsoft announced that the Xbox One system software would be updated to use a Windows 10-based platform later in the year. The console will gain support for Universal apps that can be compatible across Xbox One, PC, and Windows 10 Mobile.

(source: Wikipedia)

Does this sort of imply that it should theoretically allow for Blitz3D games to run on it or am I mistaken?


Yasha(Posted 2015) [#5]
I thought the whole PowerPC(RISC)idea for PC's died off with the Amiga/Apple PowerPC ditching


I'm no hardware expert, but as far as I understand it these days x86 is actually RISC under the hood - while it presents an instruction set with 8/16 registers and complex instructions to the user, it JITs that down to RISC code using ~200 registers on the actual hardware. I think the assembly no longer bears all that much resemblance to what the machine actually does.

What I do know is that one killer feature of the Xbox 360 was an absolutely vast SIMD capability - 6 x 128 128-bit registers. Way ahead of PCs of the time!

Does this sort of imply that it should theoretically allow for Blitz3D games to run on it or am I mistaken?


TBH probably not. The game-OS won't support Blitz3D since it won't bother supporting the complete set of dated Windows functions it needs. Blitz3D won't run on the Universal Windows Platform. It'd end up being about as much work as the 360 (i.e. lemme guess, Ploppy already has it working...).

UWP does sound like a good target for developing a new miniB3D-like engine or from-scratch Blitz3D clone, though.


Rick Nasher(Posted 2015) [#6]
Ah, would be to good to be true huh? Develop once and run on Win10 PC, Xbox One and Win10 Mobile, but that last one doesn't really interest me that much(and to be honest: who does? :-).


xlsior(Posted 2015) [#7]
I have a feeling that you'll need Microsoft's visual studio in order to create 'universal apps'


feeble1(Posted 2015) [#8]
You can get a project going that is very similar to Blitz3d, in BlitzMax with MiniB3d. And now Brucey's BMX NG allows you to compile your project for different platforms. That is based on Monkey, which is able to compile XNA to run on the 360.

So, it is sort of possible, but would be a lot of headaches.

Good luck


Rick Nasher(Posted 2015) [#9]
Yeah but the 360 is now 'history'(or at least becoming that), so I'm more interested in the 'One' which apparently has moved back to it's original x86-64 base if I may believe Wikipedia.


feeble1(Posted 2015) [#10]
I think this is kind of off-topic, since the OP was specifically talking about the 360. But the Xbox One recently rolled out some backward compatibility. It seems to be an emulation of the 360 and should allow you to make an XNA game that could potentially run on the XBone.


xlsior(Posted 2015) [#11]
It seems to be an emulation of the 360 and should allow you to make an XNA game that could potentially run on the XBone.


Although not as-is it seems, since they are posting lists of particular games that will work, "with more to come". If it was just a generic emulation, everything ought to work at the same time.


feeble1(Posted 2015) [#12]
From what I have heard, the devs can put their games on the list as soon as they are tested on the new hardware.
This makes perfect sense if you have ever tried to run an NES emulator on a pc. There were a few unexpected issues lol.