Warsaw BASIC

From C64-Wiki
Jump to navigationJump to search
Stub This article is very short and not very detailed. Please help to improve it.
WarsawBASIC
Start screen & commands
Start screen & commands
Developer Krzysztof Gajewski, Bogusław Radziszewski
Company Commodore
Publisher Fundacja Edukacji Technologicznej
Release 1985-1992
Licence Full version
Platform VIC-20, C64, C128
Genre BASIC Expansion
Operation Keyboard
Media Cartridge Diskette Datassette
Language(s) Language:english Instruction Language:Polish
Information Different versions, actual: V3.2
VIC-20 version also released

Warsaw BASIC (Warsaw is officially the name of the Capital City of Poland) is a BASIC extension for education and science created by the two mathematicians Krzysztof Gajewski and Bogusław Radziszewski from PAN (Polish Academy of Sciences). The initial version was developed for the VIC-20, while the later versions were available for the C64 and C128.

The main goal of the extension, which was to use it in education and science, made it unique in several ways. The most important difference from other BASIC extensions was implementation of some more advanced structural programming features, in particular procedures that can be loaded automatically from a disk (as overlays), making it possible to run a program larger than computer's memory (a similar technique is used in many games, but require the use of assembly). Also, it was distributed with a diskette with procedures for numerical calculations, including operations on matrices, complex numbers and operations like differentiation, integration, solving equations (including differential) or calculating regression.

It also provided access to some special features of the C-64, like high resolution graphics, but it did not add any commands for using sound.

Since it was not meant for creating simple, popular applications (like games), it was moderately popular in Poland (mostly among more advanced users). Elsewhere, it did not gain much attention, mainly due to late introduction - it became more widely available in early 1990s (after the fall of communism), when 8-bit computers were already in decline in Western countries. However, it was distributed until 1994 in Poland and, according to one of the authors (in an interview on YouTube), all of the produced cartriges were sold.


Starting[edit | edit source]

The starting screen and the new "Warsaw BASIC" commands or tokens.

After the loading of Warsaw BASIC from cassette or disk, start the BASIC extension with RUN.

Or plug-in the Warsaw BASIC cartridge in a power off C64 and turn it on.

Now the starting screen appears:

32005 BASIC BYTES FREE

An overview of the round about 45 new BASIC commands you can get with: HELP.


BASIC Extension[edit | edit source]

Warsaw BASIC exists in different versions. The newest is version 3.2.

The following BASIC commands are new or was optimized:

Enhanced BASIC commands[edit | edit source]

Progamming help[edit | edit source]

  • AUTO [start_line][,step] - Auto line with starline and step
  • RENUM [start_line][,step] - Renumber a BASIC program with new startline and step
  • DEL [line]|[[line_start]-[line_end]] - Delete one line or line aera
  • FIND <impression> - Find a word or impression in the BASIC line or program
  • ON ERROR...GOTO
  • RESUME [line]
  • TRACE
  • TRACEOFF
  • DISPOSE [NEXT|RETURN|CLR]

Mathemathics functions[edit | edit source]

  • EVAL(numbers)
  • EXAM()
  • FRAC(decimalnumber) - Show the frac of a decimal number
  • HEEK(memorynumber) - Similair PEEK
  • MAX(x,y,...) Shows the MAX value of a number aera
  • MIN(x,y,...) Shows the MIN value of a number aera
  • ODD(x) Returns back a -1 if the number is odd or a 0 if the number isn't odd.
  • ROUND(decimalnumber) Round a decimal number down (<=4) and up (>=5)

New loops[edit | edit source]

IF...THEN...ELSE, WBIF, WBELSE, WBEND, WHILE...DO, REPEAT...UNTIL

Graphic commands[edit | edit source]

  • COLOUR x - Change the multicolor, x=0-255
  • CURSOR x - Change the text color, x=0-16
  • DOT x,y - Draw a pixel on position x,y
  • DOTOFF
  • DRAW [*|no],x,y - Draw a line
  • GROUND x - Change background color, x=0-255
  • HICOLOUR x,y,z - Sets the colour in HIRES mode (0-16)
  • HIRES - Switch to HIRES screen
  • HIRESOFF - Switch to normal screen
  • LINE x0,y0,x1,y1,z
  • LETTER - Activate small letters
  • LETTEROFF - Activate big letters
  • SDOT x,y,z
  • SDRAW
  • SLINE

Printer and floppy commands[edit | edit source]

CMD PRINT, DOS

It is a feature like DOS Wedge 5.1 inside.

Procedure[edit | edit source]

  • PROCEDURE"/name"(variables) - Definite a procedure
  • PROCEND - End of procedure
  • CALL(variables)"/name",driveno - Call (load) another procedure saving on floppy drive
  • NEWPROC - Starts a new procedure.
  • MERGEPROC"/name",driveno - Merge one or more procedures in the memory
  • ₤variablename - Procedure variables, only this variables can be interreact with other procedures
  • NEW₤ - Starts a new definations of procedure variables

Memory commands[edit | edit source]

  • MOVE
  • SWAP
  • HIMEM page,value - Change the BASIC memory to memory page (0-255)
  • MEM - Shows free memory (overview)
  • HILOAD - Loads code in the high memory
  • HISAVE - Save code from the high memory on floppy disk
  • HIPRINT - Print the high memory

Other Commands[edit | edit source]

  • AXIS, CHAIN, COMMON, CREATE, DEF USR, DEF EXTERN, EXEC
  • BEEP x,y,seconds - Make an individually beep sound (0-255). Lower numbers are given muffled tones and higher numbers are given high tones
  • REVERS
  • SEC x - Waits x=1-255 seconds
  • SLEEP

Warsaw BASIC commands[edit | edit source]

  • HELP - Show all new commands or tokens
  • HELPOFF - Show all BASIC V2 commands or tokens
  • KILL


Links[edit | edit source]

Download