Jump to content

mksmith

+AtariAge Subscriber
  • Content Count

    1,152
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by mksmith

  1. Welcome to Atari Dev Studio 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. Requirements 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. Features 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 Use scripting (makefile, batch or shell script files) to build your dasm projects [preview] Optionally launch and test your game using the Stella (2600) or A7800 (7800) emulators Document outline support (batari basic, 7800basic, dasm) Peek/Go to Definition and Reference support (batari basic, 7800basic, dasm) 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. Additional features are planned for the future. At this time the focus is on the core functionality and ensuring full cross-platform support. 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. Note: macOS users will require a 64-bit operating system to fully utilise all features of Atari Dev Studio and will be required to install the SDL libraries on your system to ensure the A7800 emulator 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 provided and you will be notified via VS Code when one has been made available. Once an update has been installed you will generally be prompted to restart VS Code. 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 (Shift+F5) ads: Compile source code and run in emulator (F5) ads: Kill build process ads: Open the Sprite Editor Language Selection 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) To change a language you can click on the Status Bar Language selector and a list will be shown allowing you to choose another language. Optionally in the Settings you will be able to either let the extension choose based on the active language or set a specific language to always compile against. Build scripts [preview] Prefer using scripts to build your dasm games? If you have chosen to override the dasm compiler (select Make via the Settings) , Atari Dev Studio will scan and detect for makefile, batch (makefile.bat) or shell scripts (makefile.sh) files which are located in your root workspace folder to build your game. Note: You are totally responsible to ensure your environment is properly configured to allow you to utilise the tools and applications you will be interacting with. No support will be provided for this feature. Status Bar 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 (Shift+F5) Compile source code and run (F5) 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 console (2600 or 7800), size, region (NTSC or PAL 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, resize and delete Export sprites to batari Basic or assembly source code (2600) Export sprites to .png files (7800) - either selected or all (compatible with 7800basic 3+1 and 12+1 image requirements) Load and save palettes 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. Settings 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). 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. Known Issues 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. Acknowledgements 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 Robert Tuccitto (Trebor). The AtariAge community including Albert, CPUWiz, Random Terrain, Trebor, Synthpopalooza, sramirez2008, Defender_2600, Gemintronic, Karl G, ZeroPage Homebrew, Muddyfunster, TwentySixHundred, Lillapojkenpåön, Andrew Davie, splendidnut, andyjp, sexyUnderwriter, MikeBrownEmplas, Generation2Games, cwieland, slacker Mats Engstrom (SmallRoomLabs) Languages Atari Dev Studio includes the following programming languages: batari Basic (release 1.5 - 20200307) 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.18 - 20210314) 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.14.1 - 20201109) 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. dasm has also been maintained by Andrew Davie (2003-2008) and Peter Froehlich (2008-2015). The DASM team has taken over maintaining and updating dasm since 2019. dasm is an external project and can be downloaded separately here. Emulation Atari Dev Studio includes the following emulators for testing purposes: Stella (release 6.5.3 - 20210421) 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 4.0 - 20200610) 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. POKEY sound emulation improvements. SALLY (CPU) and MARIA (Graphics chip) performance adjustments. Framerate updated to 50Hz/60Hz. Audio indication of no ROM loaded silenced. BIOS files no longer required and made optional. Implementation of XM control registers updated. MAME compatibility and syntax has been maintained, to allow for the reuse of MAME configuration files and front-ends. A7800 is included as part of this extension with many thanks to Mike Saarna (RevEng). A7800 is an external project and can be downloaded separately here. Further information about this release is available here at AtariAge. Releases 20210422 - Build v0.7.1 20210315 - Build v0.7.0 20210305 - Build v0.6.9 / 20210216 - Build v0.6.8 / 20210210 - Build v0.6.7 / 20201124 - Build v0.6.5 / 20201008 - Build v0.6.4 / 20200917 - Build v0.6.3 / 20200915 - Build v0.6.2 / 20200912 - Build v0.6.1 / 20200901 - Build v0.6.0 20200829 - Build v0.5.9 / 20200624 - Build v0.5.8 / 20200622 - Build v0.5.7 / 20200616 - Build v0.5.5 / Build v0.5.6 / 20200608 - Build v0.5.4 / 20200518 - Build v0.5.3 / 20200508 - Build v0.5.2 / 20200429 - Build v0.5.1 / 20200427 - Build v0.5.0 20200415 - Build v0.4.9 / 20200415 - Build v0.4.8 / 20200414 - Build v0.4.7 / 20200409 - Build v0.4.6 / 20200407 - Build v0.4.5 / 20200323 - Build v0.4.4 / 20200321 - Build v0.4.3 / 20200317 - Build v0.4.2 / 20200316 - Build v0.4.1 / 20200314 - Build v0.4.0 20200314 - Build v0.3.9 / 20200312 - Build v0.3.8 / 20200307 - Build v0.3.6/v0.3.7 / 20200305 - Build v0.3.5 / 20200217 - Build v0.3.4 / 20200129 - Build v0.3.3 / 20200128 - Build v0.3.2 / 20200108 - Build v0.3.1 / 20191022 - Build v0.3.0 20190807 - Build v0.2.8 / 20190711 - Build v0.2.7 / 20190614 - Build v0.2.5 / 20190611 - Build v0.2.4 / 20190604 - Build v0.2.3 / 20190528 - Build v0.2.2 / 20190522 - Build v0.2.1 / 20190521 - Build v0.2.0 20190513 - Build v0.1.9 / 20190510 - Build v0.1.8 / 20190506 - Build v0.1.7 / 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 Manual download
  2. Haha! I've certainly been thinking about it as you could get it a lot closer to the PC release visually most likely. We've got the base code there ready to go really (with obviously some changes required) - feel free to make a start if you want! Give me a few weeks to have a play around in 7800basic and I'll get back to you. Collaboration across GitHub would be a fun experience - I remember a long time ago joining into one on the Blitz Basic forum but back then there were no online repository to share code into. Would be very easy today! I'm getting Atari Dev Studio ready for release (very) shortly. Looking forward to having a real play.
  3. @RevEnv and @danwinslow That made all the difference - now working! If others come across this issue (I'm on Ubuntu 18.04.02 x64 [Hyper-V provided install]), I installed the following packages: sudo apt-get install qt5-default sudo apt install libsdl2-ttf-2.0
  4. Great thanks guys. Will give that a try in the morning!
  5. Hi guys, Just trying to get this working on Ubuntu 18.04.02 x64. When I run the emulator I get the following error: /home/mksmith/github/atari-dev-studio/out/bin/emulators/a7800/a7800.Linux.x86_64: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory Any thoughts? Would you suggest attempting to compile my own version to see if that might work? I've got it working no problem on Windows. Also should I be able to take the Windows release and drop the Linux app into the base root folder (along with the Windows .exe)?
  6. A new release is now available (v0.1.8 ) which adds the following: 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. Big thanks to everyone who has helped along the way and to the approximately 60 users who have so far installed the extension! Atari Dev Studio update This is coming along very nicely - really happy with how the code is laid out (very extensible), the options to automatically or manually choose the language to compile against will be great and some new buttons on the Status Bar will give quick access to the core features. Read some more about it here.
  7. Spent some more time today completing out the features. I've just about managed to add everything back in from the batari Basic extension but in a manner which is much more extensible. Compilers the following language compilers are currently available: batari Basic (using Stella for emulation) 7800basic (using A7800 for emulation) dasm (defaults to Stella but can be optionally changed in the settings to A7800 - this may require further work around the 7800 header) Emulators The following emulators are currently available: Stella A7800 Language Selection When you load a file the initial laguage will be chosen based on the file extension. For example: batari Basic (.bas, .bb) 7800basic (.bas, .78b) dasm (.dasm, .asm, .a, .h) In the instance of .bas files this will default to batari Basic. To change a language you can click on the status bar Language selector (see above) and a list will be shown allowing you to choose another language. Optionally in the settings you will be able to either let the extension choose based on the active language or set a specific language to always compile against: I wasn't previous sure how this might work but now that I've had a play around I think this will be the most optimal and easiest way to do what you want. Some people may work exclusively with a particular language so you can force this as required. Status Bar Apart from using the Command Palette to select compilation, I've also added some buttons to the Status Bar (see above) allowing you to: Display the extension version (might be useful at times) Open the Welcome page Compile source code Compile source code and run Hopefully might be able to get this into the VS Code marketplace over the weekend or early next week depending on my workload.
  8. Update: Have compilation of source code going now! And also launching of A7800!
  9. Hi guys, Just wanting to let everyone know after quite a few requests I'm starting a new cross-platform homebrew developer extension in VS Code and it will be including 7800basic - announcement here. This will be a followup to my current extension batari Basic extension for VS Code if you want an idea of the current features. Looking forward to doing some development in 7800basic! Regards, Matt
  10. Hi everyone, As some of you may know I've been working on a extension for batari Basic in Visual Studio Code (VS Code) a cross-platform IDE developed by Microsoft (further information available here) to code and test homebrew games. After starting this I also had some urgings from a few people to also include 7800basic. Now that I've got the bB extension working fully cross-platform (Windows, Linux, macOS) I thought i'd make a start on a new extension to cover off all the homebrew languages available to the Atari 8-bit consoles starting with dasm, bB and 7800basic. Some of the features will include: Syntax highlighting and basic intellisense Compilation of each language and optional launching of Stella (thanks StephenA!) for the 2600 and A7800 for 7800basic. Configurable settings so you can provide your own dasm, bB, 7800basic, Stella and A7800 compiler variants The idea will be to get the basics in providing a one-stop-shop for users of any platform the ability to start creating their homebrew games in their lanuage of choice. Additional features such as color charts, sprite editors etc will hopefully added in the future to extend the fuctionality bearing in mind VS Code is great for cross-platform use but brings a reasonably low-level of extensibility - the only real way to extend is via HTML within a document window. This extension will always be freely available to all developers via the VS Code Marketplace and the source in Github. In my time here the AtariAge community has always been very helpful and supportative and I want to give something back in return.
  11. A new release is now available (v0.1.7) which adds the following: Fixed issue compiling a file which was located in a subfolder of the open workspace (thanks vbauer!)It appears we have now got the extension fully working on Linux and macOS. Thanks again to vbauer (via Github) for his assistance in adding cross-platform. The future I've started working on a new extension called Atari Dev Studio which will include all available dev platforms for the 8-bit family: dasm, batari Basic and 7800basic (anything else??). It will currently work in a similar way to the existing extension but will now be a one-stop-shop from homebrew. I've taken the chance to re-build it again from the ground up making it more flexible internally but also adding auto-determination of what to compile instead of you choosing. I'll still continue to maintain this extension for the time being until the new one is up and running.
  12. Thanks! A good IDE can make all the difference and easy to start coding for newbies. For me I've enjoyed learning to build the extension and also learn some typescript as well. It's a great supportive community here so anything that can help everyone enjoy their time is good motivation to work on things such as this. I just need to ensure it doesn't consume all my (limited) free time which has happened in the past and I don't get any actual programming in!!
  13. Thanks RevEng - as the common convention is currently .bas for both I was really not wanting to change what people are accustomed to if possible. The registration of a language in VS Code requires the file extension to be hard-coded into the language configuration but it is possible to use the same extension for multiple languages - VS Code allows the selection of the language from the status bar (and remembers the last one chosen). What I might do is associate both to .bas but also add .bb and .78b as additional ones so users can still continue to the existing convention but move to the new ones by choice.
  14. Just a quick update that I've had confirmation that the extension runs properly on macOS! Anyone else who can confirm either Linux or macOS would be much appreciated!! I'm also starting to look at 7800basic integretion now that it appears cross-platform is close to complete. I'm considering doing an "Atari Developer Kit" and including everything (assembly, batari Basic and 7800basic) in the same extension so we have a one stop shop for developers. The only issue would be the syntax highlighter as bB and 7800basic share the same extension (.bas) which determines which syntax to use. Any thoughts on this??
  15. A new release is now available (v0.1.6) which adds preliminary Linux and macOS support! The following changes have been made. Fixed issues with chmod permissions for Linux and macOS (hopeully!) 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 I've tested this on Ubuntu 18.04.1 LTS x64 release via Hyper-V but have yet to test on macOS and are assuming some level of issues. For Linux users you will be required to install support for 32-bit applications. I completed the following: sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install lib32ncurses5 lib32z1 NOTE: I've updated the release to include a specific fix for chmod permissions for Linux and macOS - hopefully this fixes the permission denied errors (has in my case)
  16. RevEng, Thanks for the info - in my version of Ubuntu (18.04.1) I was prompted to install lib32ncurses5 and lib32z1 instead after attempting to install ia32-libs (no longer supported). After reading further I also appeared to need to install the i386 architecture as follows: sudo dpkg --add-architecture i386 sudo apt-get update So that didn't work initially Now after chmod 777 each of the executables it appears to now do stuff Now to launch Stella! Success!
  17. I've started working on Linux and macOS support - currently on Ubuntu 18.04.1: It looks like I've managed to work through most of command line issue such as PATH and bB configuration - and I've also had to manually override the permissions on 2600basic.sh with chmod 777 (not sure how that will work rolled out via an update). Next step will be to solve the missing binaries: ### ERROR: couldn't find bB binaries for Linux(x86_64). Exiting. Haven't looked this as yet - compilation of specific binaries (x64 by the looks) might be required not sure... Any help on how this might work would be appreciated!!! Anyway progress!
  18. Gemintronic, Thanks for adding the pic (I've addeded to the main post!). I need to work out how to include images in the read me page so I can incorporate something more visual like this.
  19. With Muddy and Rushjet1 teaming up to add some awesome title screen music for both of Muddy's games don't forget you can also easily incorporate TIATracker into your bB game!
  20. Rushjet1 making some great tunes! So glad we could get the TIATracker mod going for bB. Looking forward to your next release Muddy 😁
  21. A new release is now available (v0.1.4) which adds the following: Added new Welcome page (CTRL+ALT+W) to provide quick access to key functionality (in progress) Make sure you restart VS Code after installing.
  22. Made a start on a batari Basic Welcome page that you can open to help do some of the base stuff you need. It's a bit convoluted to get scripts, styling etc due security requirements (bit of head scratching!!) but managed to finally get the basics done here to capture clicks and respond back to VS Code to do stuff like open files, folder, website etc. Now to add some styling and additional stuff. Hoping I can set this to auto-open (optional) when starting VS Code but not sure if it's possible as you need to do something (ie. compile) before this side of the extension activates. Anyway will see!
  23. DionioD, Yeah I got a little stuck as 2 of my banks are pretty full and I ran out of vars. This is a very busy time for my work which has made it hard to get back to it. Certainly your version is awesome and brings everything I was hoping - I might get back to it one day or do something a little different with the stuff I've built. I've certainly really enjoyed working on the 2600 and as well as doing the TIATracker mod and VS Code extension which I want to continue to build on soon (and do a 7800 extension as well!). Got a couple of blockers cleared on that yesterday so can move forward now. Got some ideas for a couple of other remakes so once my free time returns I might build a concept version first - learning to minimise for the 2600 is certainly an art! Keep up the great work my friend!
  24. Yes for now Kev 😥😥😥 DionioDs version is so good though 👍
  25. Ended up putting qoutes around the filename much like you do for a path. Didn't always appear to be an issue though...
×
×
  • Create New...