Post
by LameGuy64 » May 1st, 2013, 11:20 am
I'm planning to make a BASIC compiler for the PlayStation to make programming the system easier for beginners and the like. Unlike PSX BASIC which I think is just a lame interpreter or a very limited compiler (like DragonBASIC for the GBA), this compiles your BASIC code into C++ code which is then compiled to a PS-EXE using PsyQ.
So, when it compiles, it turns your BASIC code from this:
Code: Select all
' Some comment
TYPE MyType
Crap AS LONG
CrapStr AS STRING * 20
END TYPE
DIM MyArray(9) AS INTEGER
IF foo = 1 THEN PRINT "foo is 1"
MyArray(0) = MyArray(0) + 1
Into this:
Code: Select all
// Some comment
typedef struct
{
int Crap;
unsigned char CrapStr[20];
} MyType;
short MyArray[9];
if (foo = 1) FntPrint("foo is 1\n");
MyArray[0] += 1;
So the performance will be roughly as fast as C++ only easier to use. All existing PsyQ libraries and structures will be supported along with in-line C++ or ASM support just in case of any compatibility issues so all of the PlayStation's features can be fully utilized probably making this the most powerful BASIC compiler for the PSX. Also, wrapper functions that simplify the syntax for printing text onto screen, loading or playing sounds, and drawing primitive shapes onto the screen will be stored as external C++ modules so the compiler can be easily modified to support other platforms such as the Nintendo DS. And unlike DragonBASIC, this will be 100% free and open source.
I'm not working on this project yet because I'm working on other non-PSX projects right now (which I may port to the PSX) until I'm done with those and there is a sufficient spark of interest to this project but I seriously doubt it because most people here will likely bash this project to death because its BASIC thus, my effort goes to waste. I mean COME ON! What's with all the BASIC hate?!?! It can be as powerful as PsyQ if its designed the right way.
The LameBASIC name is based off of my user name and also by the fact that everyone will most likely hate it. Once people like it and use it, I'll change it to a better name.
Last edited by
LameGuy64 on May 10th, 2013, 1:43 pm, edited 1 time in total.
Please don't forget to include my name if you share my work around. Credit where it is due.
Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.
DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.