Yabasic on the PS2

  • 2
Apart from stealing cars on GTA I like to dabble with yet another basic on the ps2 demo disc. I'm not a fan of BASIC but since its on the playstation its fun. It comes on the bundled demo disc. I don't think it comes with the newer slim ps2. It's probably the most interesting thing on the ps2 apart from the linux kit. It has no real use other than just fun. According to wiki "This was included in a failed attempt to circumvent a UK tax by defining the console as a "computer" if it contained certain software".

Sadly its impossible to save programs to media other than the memory card. I don't have a memory card reader for the PC. Makes it hard to write anything large and distribute it.

I don't really care to make games on the ps2, if I did would use some C and acquire the Linux kit or just a overpriced ps3. The biggest program I have written is about 30 lines and that was a little drawing program. Move drawn circle around the screen with the keyboard (I could use the control pad if I wanted to).

There is a version of the Yabasic interpreter for Linux and Windows at www.yabasic.de. You can download the ps2's interpreter source code from playstation2-linux.com/projects/yabasic. Example code and reference with the ps2 in mind can be found at members.chello.nl/~a.vanarum8/Yabasic. The ps2 version only came with PAL ps2's.


  1. Yes, this feature has really no more use than a calculator.
    But like a calculator, a lot of problems can be solved with it.
    I'm no great programmer and Yabasic is my speed, but I have
    enough fascination to get head around it and want to do it.
    More than a hundred of my ideas come from solving problems
    or trying to copy something I see, like the Matrix rain from the movie.
    An emulator version has been made for the P.C (go to DBF Interactive website)
    so large programs can be written and distributed.
    DBF cater for a lot of languages and sample programs are loaded to the site.

  2. This is an example of my work.

    open window 640,512
    speed=1 rem 2 is fast
    dim xm(26),xs(26),ym(26)
    for a=1 to 26
    text xm(a)*15+cen,ym(a),mid$(a$,a,1)
    next a
    setdrawbuf vm
    setdispbuf vm
    clear window
    setrgb 1,256,256,0
    fill rectangle 0,0 to 640,512
    if go>20 go=20
    for a=1 to 26
    if speed=1 then
    if xm(a)>xs(a) then
    if ym(a)<222 ym(a)=222
    if xm(a)=xs(a) ym(a)=230
    if xm(a)238 ym(a)=238
    if xm(a)=xs(a) ym(a)=230
    if speed=2 xm(a)=xs(a)
    if and(D,16384)>0 and go=20 then

    for l = 0 to L
    0 xs(l) = int(ran(L))+1
    for a=1 to l
    if (a <> l) and (xs(l) = xs(a)) goto 0
    next a
    next l
    goto fin

    label fin
    setrgb 1,0,0,0
    text xm(a)*15+cen,ym(a),mid$(a$,a,1)
    next a
    until (1=0)