-
Content Count
1,152 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Member Map
Forums
Blogs
Gallery
Calendar
Store
Everything posted by mksmith
-
Hi everyone, I believe I have solved the issue of inserting the tiatracker include into anywhere within your code. An erroneous unused label was causing the problem (tt_Player SUBROUTINE). Let me know if you have any further issues.
-
@Lillapojkenpåön Yeah - thats the issue @Muddyfunster found above. The include currently needs to be at the end of either your code or last bank. Trying to find a solution
-
I didn't get a chance to take a look today (hopefully in the next few days) - I think it might be the asm labels but not sure... Hopefully I can work it out!
-
Pleasure mate - sounds great! Rushjet1 wipped that up very quick! Any secrets?
-
Well done mate - well deserved
-
@Muddyfunster It doesn't appear to like having anything after the include - that appears to be the reason for the errors you encountered. I tried putting the code in bank 3 and call from bank 6 but received this same problem. Might be an interesting issue to fix... I'll add that to the known issues.
-
@Muddyfunster - glad you got it working! I hadn't tried putting the code in another bank - maybe I should give that a try.
-
Congrats Lillapojkenpåön!
-
No probs @RandomTerrain - would like to add the charts if a I can as that little tool does come in handy! Might be in a webview document tab if I can get that going.
-
Well it's been a pretty productive week - been busy working on quite a few projects over this period in the end. Things will slow down a bit now as I get back to work but we'll push on. Tower of Rubble Haven't done as much as I thought I would have but a very special thanks to @cimmerian for not only featuring Tower of Rubble on the his ZeroPage Homebrew show but also for helping me debug a frame overrun issue when starting the game on hardware (still waiting for my Harmony cart). The code for initialisation and beam processing is now nicely spread across many frames (although I did just see a beam one still exists somewhere ). Read more: http://atariage.com/forums/topic/287107-tower-of-rubble-wip/ VS Code extension for batari Basic Was having a few issues with Visual bB whilst editing (the source is getting quite big) which were really starting to annoy me so I thought why not! Lets start another thing. So I've created an extension of batari Basic which gives me syntax highlighting, compilation and optional launching of Stella! Also just added a dasm option which does the same so you can compile assembly directly also. Still doing some testing as a I go - finding the odd issue or compilation error I haven't catered for but working nicely. Hope to release soon for the community. Read more: http://atariage.com/forums/topic/287262-visual-studio-code-extension-for-batari-basic/ TIATracker module for batari Basic So why not just work on 2 things when you can add a 3rd! I saw @Muddyfunster posted on the forum about whether a music sequencer called TIATracker worked for batari Basic. As music a foreign area for me I was intrigued (I need some for Tower of Rubble). After having a play (still learning batari and the joy of assembly) I finally stumbled over a way to incorporate this into batari Basic (mostly automated but some manual editing required). Must say I was pretty happy with myself when I first heard the tune playing. My daughter didn't understand my joy when she came into the office though! Read more: http://atariage.com/forums/topic/287435-tiatracker-module-for-batari-basic/ and about the TIATracker here: http://atariage.com/forums/topic/250014-tiatracker-a-new-sound-routine-and-sequencer-application
-
TIATracker: A new sound routine and sequencer application
mksmith replied to Kylearan's topic in Atari 2600 Programming
I've posted the module here in the batari Basic forum. Thanks to Kylearan for a great program - hopefully a few more people can get cracking on some music for the VCS. I got no idea but hoping I can learn. -
Welcome to the TIATracker module for batari Basic and 7800basic allowing you to play TIATracker music in your Atari console game. What is TIATracker TIATracker is a tool created by Kylearan for making Atari VCS music on the PC and a new sound routine for the VCS. It features ADSR envelopes, up to 7 melodic and 15 percussion instruments, customizable pitch guides for optimizing the number of in-tune notes, a size-optimized and configurable replayer routine and much more. More information is available here Example For a full example of incorporating your TIATracker music into your source check the following depending on your platform: batari Basic - TIATrackerPlayer.bas 7800basic - TIATrackerPlayer.78b Known issues Currently only one track per game can be added. Titlescreen Kernal Has been tested and works with the Titlescreen module Releases 20190926 - 20190926.TIATrackerPlayer.zip Previous Releases 20190125 - TIATrackerPlayer.v1.1.20190125.zip 20190123 - TIATrackerPlayer.20190123.zip Instructions The following outlines how to add the TIATracker module to your source and incorporate your music. If you are having issues refer to the example for assistance. 1. Copy the tiatracker folder into the root of your source folder 2. Copy the content of file tiatracker/tiatracker_variables.bas into your variable definitions of your source. 3. Add the following to your source (either at the bottom of your file or bank depending on your requirements): rem include the tiatracker source asm include "tiatracker/tiatracker.asm" end 4. In the initalisation of your screen add the following to initialise the tracker: rem initialise tiatracker gosub tiatrackerinit 5. In your screen loop, after the drawscreen call add the following: rem play track gosub tiatrackerplay TIATracker 1. Create your music or get someone to do the hard work! 2. Select File > Export track data to dasm... from the menu. On the Save As dialog locate your tiatracker/track folder in your batari Basic game folder, enter a filename of 'track' and click the Save button to export your music. 3. In file tiatracker/track/track_variables.asm remove the Permanent and Temporary variables from the file (otherwise you will receive a compilation error). Note: This will need to be done each time you export your data.
- 34 replies
-
- batari basic
- tiatracker
-
(and 2 more)
Tagged with:
-
TIATracker: A new sound routine and sequencer application
mksmith replied to Kylearan's topic in Atari 2600 Programming
@Muddyfunster Just doing a quick tidy-up with example and instructions. Is actually a reasonably easy process as the module does most of the work but you need to add bB variables (once) to your game and remove the corresponding assembly variables from the track (each new track dump) manually. -
TIATracker: A new sound routine and sequencer application
mksmith replied to Kylearan's topic in Atari 2600 Programming
Well to my absolute shock and amazement I've managed to get this working with batari Basic! Been fumbling around over the past few days trying various ways such as including the asm files directly, creating like a titlescreen kernel etc. Then remembering with Darrell Spice's sfx player you had to register some variables I played around and it started. I'll post up the code in the batari Basic forum once I clean it up. -
Added a dasm compiler into the process as they probably can go hand in hand with developing for the 2600. Re-org'd the code to provide a base compiler class I can override. Back to Tower of Rubble to test the extension!
-
@Muddyfunster Great! I need to look at manual distribution as sometimes when I copy it over to the extension folder it doesn't always run first up. @Gemintronic 7800basic and IntyBASIC look to be very similar (I guess how they all work generally) so some sort of extensions would be do-able certainly. All that is required is a syntax definition and a process to call the compiler (and emulator to test) which I have a basic structure for now. Still I would like to get cross-platform compatibility done before starting other ones. One of the difficulties of building IDEs is always the cross platform nature as people enjoy using their own OSes which thankfully VS Code has the basis to provide the very key features. @Mr SQL VS Code appears to be limited for GUI development currently due to it's cross-platform nature. There is a webview component with which you can access html locally in the tab so that may be able to do something there but have yet to check that out. I'm hoping to maybe one day add a language server to compile as you code for syntax checking and also maybe make the intellisense a little more specific but it's got the main stuff required (apart from cross-platform use which would be high on the list).
-
Awesome thanks will definitely need that for sure! As for the beams I don't believe so...
-
Great - will PM you soon with the details - still working through a few things! Are you on Windows??
-
@Gemintronic - yes you can compile and run if you choose (or just compile). I haven't every looked at 7800bas or IntyBASIC - would need to check those out at some stage.
-
Added some extra stuff in the past day or so including: the ability to open the forums via the command bar snippets (DPC+ kernel template, and the NTSC and PAL60 color tables). cleaned up a couple of existing processes trapped an additional compilation error There doesn't appear to be a lot of additional stuff that can be added via the Activity Bar ATM. There is some sort of webview you can add to show in a tab (local only) so may need to resort to seeing what can be done there. Did some programming tonight for Tower of Rubble in it and its looking and working nicely. Still reaching for F5 out of habit (VS Code debugger) - you need to go via the command bar (Ctrl+Shift+P) to access features but once there in the list they are very accessible.
-
New build up which should now run without any frame overruns as I've split all the game initialisation and beam completion processes over multiple frames. Thanks again to @cimmerian for his testing and identification of these issues. Next up is the horizontal beam which will be very interesting as it will probably involve clearing pf tiles and drawing the background colors to simulate the beam. Once the beam is complete all the tiles above drop down ah-la Tetris style so that's going to be good challenge to program! My harmony cart is in my home city so delivery should be any day now (hooray) as I can't wait to test the game on the real thing. I've also been working on the VS Code extension but a little programming with it tonight is feeling good (I do a lot in Visual Studio for work so a familiar arrangement).
-
@Dionoid - thanks for you kind words mate. Having the same game done in different ways can bring a kind of variation to the game too. As said so looking forward to seeing your version!! Yeah did a frame by frame analysis of the player animation and movement then used that in my little animation engine. @KevKelly - yeah would make a great double-ender! @Muddyfunster - Thanks! I having been thinking about making sure the first beam is not on the player to give you a chance to get into it. Well done on your work also!
-
TIATracker: A new sound routine and sequencer application
mksmith replied to Kylearan's topic in Atari 2600 Programming
Very impressive! So can this be implemented into batari Basic as is? -
@Random Terrain - I'll see what I can add within the confines of what is cross-platform - there are some handy tools in there for sure! I want to add something to the activity bar if I can (the bar down the left side) so things are easily available (just need to look at how) @Albert - No I don't intend to as it should be a community tool Yes definitely can look at cross-platform compilation as it should just be the case of verifying the OS and adjusting the paths according (I'm on Windows ATM so setup for that currently).
-
[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/forums/topic/282960-batari-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. System requirements 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 (thanks Gemintronic) 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: http://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html The batari Basic forum at AtariAge is the perfect place to get help and assistance from the community: http://atariage.com/forums/forum/65-batari-basic Available features 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 Extension settings 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: batari Basic 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 dasm: Compile assembly source code dasm: Compile assembly source code and run in emulator dasm: Stop/kill the assembly compiler General bB: Open the batari Basic Welcome page (CTRL+ALT+W) bB: Open the batari Basic forum at AtariAge (CTRL+ALT+F) Snippets 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. Known Issues 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. Releases 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
- 59 replies
-
- batari Basic
- Compiler
-
(and 1 more)
Tagged with:
