Yabasic

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Yabasic
Yabasic running an implementation of SameGame.
Yabasic running an implementation of SameGame.
Developer(s)Marc-Oliver Ihm
Stable release
2.87.1 / 7 November 2020; 2 months ago (2020-11-07)
Repositoryhttps://github.com/marcIhm/yabasic
Operating systemWindows, Unix
TypeProgramming
LicenseMIT License
Websitewww.yabasic.de

Yabasic (Yet Another BASIC) is a free, open-source BASIC interpreter for Windows and Unix platforms.[1] 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.[2]

Features[edit]

Other versions[edit]

Flyab[edit]

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. Ports for Windows, Mac OS X, and Linux were planned. Flyab added the ability to Yabasic to create native graphical user interfaces on all supported platforms.[citation needed] As of November 2008, the project appears to be halted.

PlayStation 2[edit]

Sony also packaged a version of Yabasic for the PlayStation 2 on the demo disc[3] 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.[4]

Yabasic 3.0 (Unofficial)[edit]

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[edit]

#!/usr/bin/yabasic

REM Program Name: cbm-mtudemo.yab
REM Author: mtu
REM 
REM Purpose: demonstration for their CBM-PET graphics card 320x200

open window 320, 200

20 P=160: Q=100
30 XP=144: XR=1.5*3.1415927
40 YP=56: YR=1: ZP=64
50 XF=XR/XP: YF=YP/YR: ZF=XR/ZP
60 FOR ZI=-Q TO Q-l
70 IF ZI<-ZP OR ZI>ZP GOTO 150
80 ZT=ZI*XP/ZP: ZZ=ZI
90 XL=INT(0.5+SQRT(XP*XP-ZT*ZT))
100 FOR XI=-XL TO XL
110 XT=SQRT(XI*XI+ZT*ZT)*XF: XX=XI
120 YY=(SIN(XT)+0.4*SIN(3.0*XT))*YF
130 GOSUB 170
140 NEXT XI
150 NEXT ZI
160 PAUSE 10
END
170 X1=XX+ZZ+P
180 Y1=YY-ZZ+Q:Y1=199-Y1
190 LINE X1,Y1,X1,Y1-1
200 IF Y1=0 GOTO 220
210 CLEAR LINE X1,Y1+1,X1,199
220 RETURN

References[edit]

  1. ^ Marc-Oliver Ihm. "Yabasic, Yet another Basic for Unix and Windows". Yabasic.de. Retrieved 22 April 2013.
  2. ^ Ihm, Marc (3 April 2020), marcIhm/yabasic, retrieved 21 April 2020
  3. ^ Cameron Gray (26 February 2018), How/Why Sony Classed the PlayStation 2 as a Home Computer - Demo of Yabasic, retrieved 26 February 2018
  4. ^ Smith, Tony (11 July 2000). "Sony adds Basic to PlayStation to sidestep EC import tax". Retrieved 8 September 2014.

External links[edit]