Yabasic

Last updated
Yabasic
Samegame yabasic example.png
Yabasic running an implementation of SameGame.
Developer Marc-Oliver Ihm
Stable release
2.90.4 [1] / 17 September 2023;16 months ago (2023-09-17)
Platform x86, MIPS (EE)
OS Microsoft Windows, Unix, PS2
License MIT License
Filename extensions .bas,.yab
WebsiteWebsite: www.yabasic.de Repository: github.com/marcIhm/yabasic

Yabasic (Yet Another BASIC) is a free, open-source BASIC interpreter for Microsoft Windows and Unix platforms. [2] Yabasic was originally developed by Marc-Oliver Ihm, who released the last stable version 2.77.3 in 2016. From version 2.77.1, the project has adopted the MIT License as well as the source code being moved to GitHub to encourage others to participate in its development. [3]

Contents

Features

Other versions

Yab

A version optimized for BeOS, ZETA and Haiku. [4]

Flyab

A port of Yabasic to the Fltk toolkit called "Flyab" was under development. It would have been source-compatible with programs written in yab, a variant of Yabasic that enables graphical programs to be written using the BeOS API. After BeOS and its successor ZETA finally were gone, the team members around yab for BeOS decided to move to Linux and therefore chose FLTK to implement the UI parts. Ports for Microsoft Windows, Mac OS X, and Linux would have been possible. Flyab added the ability to Yabasic to create native graphical user interfaces on all supported platforms. Main difficulty was to fully implement the layout commands to FLTK, as used from the BeOS version. [ citation needed ] As of November 2008, the project appears to be halted.

PlayStation 2

Sony also packaged a version of Yabasic for the PlayStation 2 on the demo disc [5] shipped with PS2 consoles in PAL territories so it could be considered a home computer, not just a games machine, thus bypassing European import taxes. [6]

Yabasic 3.0 (Unofficial)

As a continuation of the project prior to new changes by the original author, version 3 was being developed by a team centered on Pedro Sá and Thomas Larsen, but development has halted and the project now appears to be abandoned.[ citation needed ]

Yabasic example

#!/usr/bin/yabasicREM Program Name: cbm-mtudemo.yabREM Author: mtuREM REM Purpose: demonstration for their CBM-PET graphics card 320x200openwindow320,20020P=160:Q=10030XP=144:XR=1.5*3.141592740YP=56:YR=1:ZP=6450XF=XR/XP:YF=YP/YR:ZF=XR/ZP60FORZI=-QTOQ-l70IFZI<-ZPORZI>ZPGOTO15080ZT=ZI*XP/ZP:ZZ=ZI90XL=INT(0.5+SQRT(XP*XP-ZT*ZT))100FORXI=-XLTOXL110XT=SQRT(XI*XI+ZT*ZT)*XF:XX=XI120YY=(SIN(XT)+0.4*SIN(3.0*XT))*YF130GOSUB170140NEXTXI150NEXTZI160PAUSE10END170X1=XX+ZZ+P180Y1=YY-ZZ+Q:Y1=199-Y1190LINEX1,Y1,X1,Y1-1200IFY1=0GOTO220210CLEARLINEX1,Y1+1,X1,199220RETURN

References

  1. "Yabasic, Yet another Basic for Unix and Windows".
  2. Marc-Oliver Ihm. "Yabasic, Yet another Basic for Unix and Windows". Yabasic.de. Retrieved 22 April 2013.
  3. Ihm, Marc (3 April 2020), marcIhm/yabasic , retrieved 21 April 2020
  4. Albrecht, Christian (2 October 2022). "yab Beginners tutorial". BeSly - BeOS, Haiku & Zeta. Translation by Luc Schrijvers (Begasus). Retrieved 25 February 2024.
  5. Archived at Ghostarchive and the Wayback Machine : Cameron Gray (26 February 2018), How/Why Sony Classed the PlayStation 2 as a Home Computer - Demo of Yabasic , retrieved 26 February 2018
  6. Smith, Tony (11 July 2000). "Sony adds Basic to PlayStation to sidestep EC import tax". The Register . Retrieved 8 September 2014.