[NOW WITH LINUX AND MACOS SUPPORT!]
Welcome to the batari Basic Extension for Visual Studio Code which allows users to create games for the Atari 2600 VCS using the batari Basic language. The average person who wants to make an Atari 2600 VCS game no longer has to spend years trying to figure out assembly language thanks to batari Basic!
This extension was created and is maintained by mksmith for the AtariAge community and is free to use. If you have paid for this extension please seek a refund.
Big thanks to everyone who has helped along the way and to the 60+ users who have so far installed the extension!
Atari Dev Studio
My new extension Atari Dev Studio for Homebrew Development is now available for designing homebrew games for the Atari 8-bit systems (Atari 2600 and 7800). Atari Dev Studio is a one-stop-shop for any programmer and includes a number of built-in features to allow you to design, develop and test games for your favourite system. Get started with batari Basic (2600) or 7800basic (7800) using easy to learn BASIC-like languages or go hard-core with assembly using dasm. During development test your creation using the Stella (2600) or A7800 (7800) emulators right from within Atari Dev Studio.
I will continue to do minor updates to this extension for the time being if you wish to continue using this one.
What is batari Basic?
batari Basic created by Fred "batari" Quimby is a BASIC style language used in the creation of Atari 2600 games. batari Basic is compiled to generate a binary file that can by used on actual Atari 2600 VCS hardware via cartridge (such as a Harmony or UNO cart) or by using an Atari 2600 VCS emulator such as Stella.
batari Basic logo created by RevEng (http://atariage.com/...tari-basic-logo).
What is Stella?
Stella is a multi-platform Atari 2600 VCS emulator released under the GNU General Public License (GPL). Stella was originally developed for Linux by Bradford W. Mott, and is currently maintained by Stephen Anthony. Since its original release several people have joined the development team to port Stella to other operating systems such as AcornOS, AmigaOS, DOS, FreeBSD, IRIX, Linux, OS/2, MacOS, Unix, and Windows. The development team is working hard to perfect the emulator and we hope you enjoy our effort.
Stella is included as part this extension with many thanks to Stephen Anthony. Stella is a external project and can be downloaded separately here. If you enjoy using Stella place consider donating to ensure it's continued development.
This release is compatible with Windows, Linux and macOS.
The latest releases of batari Basic (BB.1.1d.reveng41), dasm (2.20.11 - 20171206) and Stella (6.0 - WIndows and Linux only) are included so you can be up and running straight after installing the extension. As noted you can optionally provide links to your own specific releases of batari Basic, dasm and Stella (or other emulators) via the configuration settings.
Installing the extension
The extension can be installed directly within Visual Studio Code. Complete the following:
- Install VS Code onto your Windows machine
- From the menu select View -> Extensions or click the Extensions button on the Activity Bar
- From the Extensions tab, click on the Search Extensions in Marketplace entry box and type batariBasic. Select the extension from the results list and click the Install button.
- Make sure you restart VS Code to ensure the extension is properly installed
Using batari Basic
So you've installed this extension and want to create a new modern day Atari 2600 masterpiece? Help is available here:
Random Terrain has created a very useful getting started page on how to use batariBasic with information about using the language and some great samples explaining key features:
The batari Basic forum at AtariAge is the perfect place to get help and assistance from the community:
This extension includes the following features:
- Syntax highlighting for the batari Basic (.bas) and 6502/7 assembly (.asm, .a, .h) languages
- Compile batari Basic files (.bas) and dasm assembly files (.dasm)
- Optionally launch Stella (or other emulators) after compilation to test your program
- Customised batari Basic snippets containing some useful re-usuable code
- Provide links to your own specific releases of batari Basic, dasm and Stella rather than use the provided ones
A number of extension configuration options are available via the File > Preferences > Settings > Extensions > batari Basic tab allow you to customise your experience.
Compiling your program
To display the available extension features press CTRL+SHIFT+P to display the command palette. From the command palette prompt type bB or dasm to short-list the available options:
- bB: Compile batari Basic source code (CTRL+ALT+N)
- bB: Compile batari Basic source code and run in emulator (CTRL+ALT+M)
- bB: Stop/kill the batari Basic compiler
- dasm: Compile assembly source code
- dasm: Compile assembly source code and run in emulator
- dasm: Stop/kill the assembly compiler
- bB: Open the batari Basic Welcome page (CTRL+ALT+W)
- bB: Open the batari Basic forum at AtariAge (CTRL+ALT+F)
The following batari Basic language snippets are available by entering the snippet prefix and pressing TAB in the code editor:
- bbntsccolors NTSC or bbpal60colors PAL-60 color tables
- bbscorevar output variables to the score for testing purposes (left and/or right)
Note: If you are having trouble using the snippets press CTRL+SHIFT+P to display the command palette and choose the Insert Snippet option.
Please send a PM to mksmith
Debugging the extension
During the development phase of the extension i've added some developer output to assist with any issues that may appear. To view this output, open the Developer Tools using either CTRL+SHIFT+I or Help -> Toggle Developer Tools from the menu and in the debugger window, ensure the Console tab is activated (see image below). This information may help identify the area where the extension is failing to process.
20190418 (Build 0.1.8 )
- Added Stella 6.0 packages for Linux (Debian, 32-bit and 64-bit). macOS will still (for now) be required to provide a path to Stella.
20190416 (Build 0.1.7)
- Fixed issue compiling a file which was located in a subfolder of the open workspace (thanks vbauer!)
20190413 (Build 0.1.5, 0.1.6) - Preliminary Linux and macOS support!
- Fixed issues with chmod permissions for Linux and macOS (hopefully!)
- Added extension support for Linux (and macOS?) users. Linux users on a 64-bit OS will need to ensure they can execute 32-bit applications
- Added dasm executables for Linux and macOS users to compile assembly
- Added message for Linux and macOS user to configure the emulator path when attempting to launch a game
- [Breaking] Updated setting dasm.compilerFolder to dasm.compilerPath so the user can now set the filename (more flexibility)
- Removed setting emulator.use64BitEmulator as the extension will now determine which release to use based on the architecture detected (Windows only for now)
- Removed the bbtemplatedpc starting DPC+ game template snippet as we now have templates available from the Welcome page
20190406 (Build 0.1.4)
- Added new Welcome page (CTRL+ALT+W) to provide quick access to key functionality (in progress)
20190402 (Build 0.1.2, 0.1.3)
- Fixed issue (hopefully!) where the VS Code Workspace folder was not properly determined (thanks TwentySixHundred!)
- Fixed issue launching Stella with a space in the compiled game filename
- Fixed issue validating potential errors from the compiler and is now less strict (thanks Lillapojkenpåön!)
- Updated the debugger output to include information from stdout and stderr pipes to help identify future potential validating issues
Thanks to TwentySixHundred and Lillapojkenpåön for helping with a couple of compiler/launcher problems.
20190331 (Build 0.1.1)
- Added debugging information to all processes. To view this output, open the Developer Tools using either CTRL+SHIFT+I or Help -> Toggle Developer Tools from the menu.
- Added options to Stop/Kill the batari Basic and Dasm compilation process
20190311 (Build 0.1.0) - First public release
Edited by mksmith, Today, 7:32 PM.