Atari Dev Studio is an extension for Microsoft's cross-platform IDE Visual Studio Code and will run on the Windows, Linux and macOS platforms. The latest releases of batari Basic, 7800basic, dasm, Stella and A7800 are included so you can begin coding straight after installing the extension.
Atari Dev Studio includes the following features:
- Develop your game on Windows, Linux or macOS
- Compile source code for your Atari 2600 or 7800 using batari Basic, 7800basic or dasm
- Optionally launch and test your game using the Stella (2600) or A7800 (7800) emulators
- Built-in Sprite Editor (also suitable for tiles and other objects) [preview]
- Manage your project using the File Explorer or version-control your source code directly with GitHub (and others) using the built-in features of the Visual Studio Code platform.
- Provide references to your own specific releases of each language or emulator rather than use the includes ones via the Settings.
Installing Atari Dev Studio
What is Visual Studio Code?
Visual Studio Code (VS Code) is a streamlined code editor with support for development operations like debugging, task running, and version control. It aims to provide just the tools a developer needs for a quick code-build-debug cycle and leaves more complex workflows to fuller featured IDEs, such as Visual Studio.
Which OSs are supported?
VS Code is a cross-platform application which runs on Windows, Linux and macOS. See requirements for the supported versions.
Note: Linux users on 64-bit systems will be required to install the 32-bit compatibility libraries on your system to ensure everything will run as expected.
Installing the extension
Once you have installed VS Code (available here), open the VS Code program and complete the following:
- From the Activity Bar, click the Extensions button to display the Extensions window.
- From the Extensions window, type Atari into the Search box and press Enter to display the list of available extensions.
- From the list of available extensions, locate Atari Dev Studio and click the green Install button.
Updating the extension
Updates will be regularly made available and will be announced via the AtariAge forum (you will also be notified in VS Code). To update to the latest release:
- From the Activity Bar, click the Extensions button to display the Extensions window.
- From the Extensions window, search the Enabled list, locate Atari Dev Studio and click the Update button.
Using Atari Dev Studio
Compiling your program
To display the available extension features press CTRL+SHIFT+P to display the Command Palette. From the command palette prompt type adv to short-list the available options:
- ads: Open the Welcome page
- ads: Compile source code
- ads: Compile source code and run in emulator
When you load a file the initial language will be chosen based on the file extension. For example:
- batari Basic (.bas, .bb) [Default for .bas files]
- 7800basic (.bas, .78b)
- dasm (.dasm, .asm, .a, .h)
Apart from using the Command Palette to select compilation, there are a number of short-cut buttons on the Status Bar allowing you to:
- Display the extension version (might be useful at times)
- Open the Welcome page
- Open the Sprite Editor
- Compile source code
- Compile source code and run
Note: The short-cut buttons on the Status Bar can be turned off via the Settings.
Sprite Editor [preview]
Atari Dev Studio includes a simple and easy to use Sprite Editor allowing you to create sprites, tiles and other objects for use in your projects. It has the following features:
- New Project wizard allowing you to select the size, region (palette) and total colors of your sprites
- Load and Save projects allowing you to save and come back to on-going work
- Editing features such and palette selector, zoom, pen, eraser, fill and move modes
- Ability to manage your sprites in a sortable list with options to copy, paste, duplicate and delete
- Export sprites to png (compatible with 7800basic 3+1 and 12+1 image requirements)
- More features are planned...
The Sprite Editor is based on Spritemate by Ingo Hinterding (GitHub) and was suggested by RandomTerrain for inclusion in Atari Dev Studio. I have customised the source to provide the required features necessary for editing sprites, tiles and objects for the Atari platforms. This work is currently in preview and will be on-going until all required features have been added.
Note: The Sprite Editor is currently configured for working with 7800basic images.
There are a number of compiler, emulator and editor configuration options available in Atari Dev Studio which can be changed via the Settings (Preferences -> Settings -> Extensions -> Atari Dev Studio).
This is a preview
This software is currently in preview and contains the following missing or untested features:
- [macOS] Stella emulator is missing. You will be required to provide your own path to Stella for the time-being (via the Settings).
- [macOS] 7800basic and the A7800 emulator is untested
- [Linux] Potential for missing packages (On Ubuntu 18.04.02 x64 I have been required to install a number)
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 VS Code Developer Tools by selecting Help -> Toggle Developer Tools from the menu, and in the debugger window ensure the Console tab is activated. This information may help identify the area where the extension is failing to process as expected.
There are currently no known feature issues. If you find a problem please raise an issue on GitHub or contact mksmith at the AtariAge community.
This extension is only available due to the great people of the AtariAge community who have created these tools to help developers build their vision. Special thanks to the following for either allowing the inclusion of their tools or for their ongoing help and encouragement:
- 7800basic - Mike Saarna (RevEng)
- batari Basic - Fred 'batari' Quimby
- dasm - the many contibutors
- Stella emulator - Stephen Anthony (stephena)
- A7800 emulator - Mike Saarna (RevEng) and Trebor
- Muddyfunster, TwentySixHundred, Lillapojkenpåön and vbauer for thier additional testing and bug-reporting of the previous incarnation of this extension for batari Basic.
- Mats Engstrom (SmallRoomLabs) for his valued testing, suggestions and enhancements to Atari Dev Studio
- The AtariAge community including Albert, RevEng, Random Terrain, Gemintronic, Karl G and ZeroPage Homebrew
Atari Dev Studio includes the following programming languages:
batari Basic (release BB.1.1d.reveng41)
batari Basic created by Fred 'batari' Quimby is a BASIC-like 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 is an external project and can be downloaded separately from here. Further information is about this release is available here at AtariAge.
7800basic (release 0.6 Jul 12 2017 22:46:35)
7800basic is a BASIC-like language for creating Atari 7800 games. It is a compiled language that runs on a computer, and it creates a binary file that can be run with an Atari 7800 emulator, or the binary file may be used to make a cartridge that will operate on a real Atari 7800. 7800basic is derived from batari basic, a BASIC-like language for creating Atari 2600 games. Special thanks to the bB creator, Fred Quimby, and all of the the bB contributors!
7800basic is included as part of this extension with many thanks to Mike Saarna (RevEng). 7800basic is an external project and can be downloaded separately here. Further information about this release is available here at AtariAge.
dasm (release 2.20.11 - 20171206)
dasm is a versatile macro assembler with support for several 8-bit microprocessors including MOS 6502 & 6507, Motorola 6803, 68705 & 68HC11, Hitachi HD6303 (extended Motorola 6801), and Fairchild F8. Matthew Dillon started dasm in 1987-1988. Olaf 'Rhialto' Seibert extended dasm in 1995. Andrew Davie maintained dasm in 2003-2008. During all this time, several other versions of dasm sprung up all over the net as well, making the exact chronology quite complicated. Peter Froehlich started maintaining dasm in 2008, hoping (against hope) to unify the various strands of development a little, and to maybe give dasm another 20 years of productive life. :-)
Atari Dev Studio includes the following emulators for testing purposes:
Stella (release 6.0)
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 of this extension with many thanks to Stephen Anthony. Stella is an external project and can be downloaded separately here. If you enjoy using Stella place consider donating to ensure it's continued development.
A7800 (release 188-03)
A7800 is a fork of the MAME Atari 7800 driver, with several enhancements added:
- Support for emulation of Proline Joysticks, VCS Joysticks, Lightguns, Paddles,
- Driving Controllers, Keypads, Trak-Balls, Amiga Mice, and ST Mice.
- Maria DMA timing has been improved further, with the addition of accurate DMA hole penalties.
- Improved saturated/normalized colors with palette selection.
- Streamlined UI including menu options to have an Atari 7800 system focus.
- A bug in the existing RIOT emulation has been fixed.
- MAME compatibility and syntax has been maintained, to allow for the reuse of MAME configuration files and front-ends.
20190522 - Build v0.2.1
- Fixed an issue selecting a palette color
- Indented spinner value on New Project wizard to match combobox
- Updated 7800basic compilation routine to validate for additional errors and added cleanup of 7800hole.x.asm files after compilation
- Changes to RemoveCompilationFilesAsync routine as the CleanUpCompilationFiles flag wasn't working as expected
- Added missing 7800basic keywords: converttobcd, extrawide, joy0fire, joy0fire, joy0any, joy1any
- Added New Project wizard to configure your sprites allowing you to select the size, region (palette) and total colors
- Added additional messaging to status bar when using features
- Fixed issue where toolbar was not updated properly after loading project
- #13 [Done] - SmallRoomLabs updated hover text to markdown format [thanks SmallRoomLabs]
- Updated 7800basic compilation routine to validate for additional errors
- Updated Project area to store loaded file and auto save or prompt
- Added menu bar back to display filename of active file
- Updated Palette selector to display user colors across then down to allow for future expansion
- Changes to file format to allow sprite size to be stored
- Further internal changes
- #12 [Done] - SmallRoomLabs added a process to display hover tooltips to dasm language for 6502 and VCS opcodes [thanks SmallRoomLabs]
- Extended hover tooltip process to work across all languages
- Minor internal changes to Sprite Editor for future enhancements
20190428 - Build v0.1.6
20190425 - Build v0.1.5
20190421 - Build v0.1.2 & v0.1.3
20190420 - Build v0.1.1
20190419 - Build v0.1.0
- Initial release
Edited by mksmith, Today, 3:50 AM.