As an Amazon Associate I earn from qualifying purchases.
Page last updated on: 2024y_07m_01d_0214t
If you haven't yet, be sure to check out the batari Basic Commands page. That page tells you all about batari Basic. This page only tells you about VbB. In case it's not clear, Visual batari Basic is the IDEIntegrated Development Environment
(Just about everything a bB programmer needs in one place.) for batari Basic. You need batari Basic for Visual batari Basic to work.
Download Visual batari Basic (Build 568)
Download batari Basic (you need this for VbB to work)
Table of Contents, Index, and Useful Page Links
There is a table of contents an index and frequently used links on the right side of this page to help you find what you are looking for as quickly as possible.
This Visual batari Basic Guide contains text from Jeff Wierer (jwierer), the creator of Visual batari Basic, mixed with text from Duane Alan Hahn (Random Terrain), the maintainer of this guide. Some text is also from the batari Basic Commands page.
Links that jump to other places on this page are blue. Links that lead to other pages online are red.
Minimum system requirements: Any dual core system or better, with at least 2GB of RAM.
If you are not running Vista, Windows 7, or beyond, you'll need to make sure the .NET Framework 3.0 is installed.
If you are running Vista or beyond, you may need to Run As Administrator. If you are logged in with admin privileges or have turned off UAC, then it should work just fine.
The Tinkernut guy was trying to be helpful, but he didn't keep his installer updated over the years, so the Tinkernut installer is using old files from 2010. Do not use the Tinkernut installer. Check out the Getting Started section of the batari Basic page. You might also want to read How to 'Install' Visual batari Basic on a Windows PC.
●I'm getting a ton of error messages when starting VbB!
Make sure Load Start Web Page on Open is turned off on the settings page. If you enable it, you'll get a ton of error messages and will probably have to close the program using your computer's Task Manager. Don't try to load any web page with VbB. Use a real browser.
●My .bin file can't be found (default.bas.bin can't be found)
You probably have a space in the name of the path where batari Basic is located. Get rid of the space or spaces and see if it works. I either use no spaces or I use underscores when I want separation between words in all of the bB and VbB-related files and folders that I create.
Bad Example:
C:\Atari 2600\bB\my projects\seaweed assault
Good Example:
C:\Atari2600\bB\my_projects\seaweed_assault
●Compilation completed, but no .bin file
Are you using an antivirus program such as Avast? It's probably blocking VbB. In case you'd like to know, an update to Avast in May of 2018 mangled my Windows 8 system profile. I finally uninstalled Avast in April of 2019, but of course, Avast acted like a virus and blocked the Windows anti-virus from working after Avast was uninstalled. If you want to avoid the problems I had, you might want to stay away from Avast.
●The sprite editor or playfield editor is all black
Does it seem like nothing is happening when you try to draw in the sprite or playfield editors? Right click and make sure the foreground and background colors aren't the same.
If you discover that you can't open a playfield, sprite, or program file, or that they want to open with Notepad, missing registry settings might be causing the problem. Download the fix here. Unzip the file and make sure Visual bB is closed. Also make sure you don't have an anti-virus program blocking registry changes. Double Click the .reg file. If it asks if you want to do this, click yes. Reopen Visual bB. If it doesn't work, you're running something that blocks editing the registry and/or you aren't a local administrator. You may need to enter the values manually. See this post at AtariAge for more information.
●Opening the Music and Sound Editor causes an error
This post at AtariAge might fix the problem for XP users. For everyone else with a more modern operating system who is having a problem, a fix can be found in the first post of the VbB thread under the Prerequisites section. The file msvcr71.zip is probably the fix that you're looking for.
●batari Basic won't work with my 64-bit computer
You're using an old version of bB. Download the latest version of batari Basic.
●VbB is slow or laggy when I work on large programs
The fix for this is usually to disable Syntax Checking under Settings. Syntax Checking is just too slow for long programs.
●There's some weird, random problem not listed above
You're probably using an old version of bB or an old version of VbB or both. Download the latest version batari Basic, then download the latest version of VbB. You might also want to read How to 'Install' Visual batari Basic on a Windows PC.
●None of the fixes above helped!
None of the fixes above helped!
If you are still having trouble, you may want to try a different 2600bas.bat (scroll down to Optional).
If you put the latest version of VbB in a new folder like I do, your bookmarks will disappear. You'll need to copy the file visualvb.mdb from your last VbB folder and paste it into the new folder. That's where your bookmarks are stored. After restarting VbB, your bookmarks should be back to normal.
To save yourself some time and trouble, every new game you make should be in a separate folder. Having a separate folder for each project will keep your files organized. Any sprites and playfields you save will be for that specific project and you won't have a ton of unrelated files to deal with. You do not want to have a folder full of unrelated sprites when you go to use the Sprite Animator since you'd have to browse through a huge list looking for the sprites you need.
The Project Explorer is Your Friend
You'll be opening your project folders in the Project Explorer, so learn to love it because you'll be using it a lot. Double click on a file in the Project Explorer and it will open in the appropriate editor. And when you have a program open in the Code Editor, you can drag sprite or playfield files from the Project Explorer and drop them right into your program. Double clicking and dragging and dropping; it can't get much easier than that.
VbB Isn't Just for Programmers
Your artist friends can use the VbB Sprite Editor to make some cool multicolored sprites. They can then save the sprites and send them to you and all you'll have to do is drag and drop them into your game. No more spending hours trying to recreate sprites by looking at GIFs or PNGs. The same can be done with playfields using the VbB Playfield Editor. Once programmers and artists start using VbB together, a lot of time and energy will be saved.
If you like to create free sprites for the fun of it, instead of only posting images and expecting people to redraw what you have created and guess at the colors you used, please post the sprite files too (you may need to put them in a ZIP file). Then VbB users can download your sprites and either edit them or drag and drop them right into their programs. Over time, sprite artists who love to make free sprites can build up a whole VbB library of sprite files (with corresponding GIF or PNG images). If the sprite files are given good file names, they'll be easy to deal with. For example, instead of this:
walking_tomato_1.spr
You'd use this:
walking_tomato_01.spr (with a two digit number)
If an animation would ever be more than 9 frames, the files would always be in the correct order.
If you are an AtariAge member, instead of attaching files in a big glob at the end of a post, you can use Add to Post to pair up your images with your files. So you'd have an image, the file below it, a couple of blank lines, the next image and file below it, a couple of blank lines, and so on.
Working with Sprites and Playfields
You can add a blank sprite file to a project from the File menu or by right clicking in the Project Explorer and selecting Add > New Item.
So one way to create a sprite file is to click on File from the main menu, go down to Add, then select New Item. Just select the type of file (Sprite in this case), give it a name, and left click the Add button. Now you'll have a blank sprite file to work with that will be sitting in a fake sprite folder in the Project Explorer.
To open your new sprite file, left click on the little plus sign next to the Sprites folder, then double click on the sprite file and it will open in the Sprite Editor.
Once you have a sprite open in the Sprite Editor, you can use Save As to make copies of the sprite. I hardly ever create a blank sprite once I have at least one sprite file in my project folder. Instead, I use Save As frequently (maybe even excessively) to create new sprite files. Save As is especially useful when working on animations.
If you want to insert a sprite into a program, just have a program open in the Code Editor, then drag a sprite file over from the Project Explorer and drop it where you want it to go in your program.
You can add a blank playfield file to a project from the File menu or by right clicking in the Project Explorer and selecting Add > New Item.
So one way to create a playfield file is to click on File from the main menu, go down to Add, then select New Item. Just select the type of file (Playfield in this case), give it a name, and left click the Add button. Now you'll have a blank playfield file to work with that will be sitting in a fake playfield folder in the Project Explorer.
To open your new playfield file, left click on the little plus sign next to the Playfields folder, then double click on the playfield file and it will open in the playfield Editor.
Once you have a playfield open in the playfield Editor, you can use Save As to make copies of the playfield. I hardly ever create a blank playfield once I have at least one playfield file in my project folder. Instead, I use Save As frequently (maybe even excessively) to create new playfield files.
If you want to insert a playfield into a program, just have a program open in the Code Editor, then drag a playfield file over from the Project Explorer and drop it where you want it to go in your program.
How to 'Install' Visual batari Basic on a Windows PC
|
Before using VbB, you might want to try a newer IDE called Atari Dev Studio (a plugin for the popular file editor Visual Studio Code). It comes with batari Basic and the Stella emulator preinstalled. Unlike VbB, Atari Dev Studio runs on Macs as well as Windows machines. As of August 2020 its only embedded tool is a sprite editor, so you may have to look elsewhere for supporting tools for importing graphics or working with sound and music.
|
Step #1: |
Do not use the old Tinkernut installer! Download the latest version of batari Basic instead. Be sure to read the small section about install_win.bat on the batari Basic page.
Note: If you don't already have an Atari 2600 emulator on your computer, be sure to download one and install it. Most people use Stella.
|
Step #2: |
Download the latest version of VbB (Build 568) and put the VbB folder where you want it. I have the bB folder and the VbB folder in a folder called Atari2600 (the actual location on my computer is C:\Atari2600). And since some people have received errors by having spaces in file names, I either use no spaces or I use underscores when I want separation between words in all of the bB and VbB-related files and folders that I create.
|
Step #3: |
Open VbB and run the Configuration Wizard. Now that batari Basic comes with, install_win.bat, do not set the bB Environment Variable or the bB Compiler System Path using VbB. Those settings are no longer needed and could cause problems. (There should not be a check mark next to them on the settings page.) From now on, only use install_win.bat to set the variable and path.
Warning: Make sure Load Start Web Page on Open is turned off on the settings page. If it's enabled, you'll get a ton of error messages and will probably have to close the program using your computer's Task Manager. Don't try to load any web page with VbB. Use a real browser.
|
Step #4: |
When you are done with the Configuration Wizard, close and restart VbB.
Note: If this isn't the first time you've tried to 'install' VbB, and folder locations have changed, be sure to click on the Settings tab and make sure the various paths are pointing to the correct locations. Then close and restart VbB.
|
Step #5: |
Left click on File and select New Project. That will allow you to create a new project folder and default files.
Note: Every game you want to work on should be in its own folder. That way all of the files for that game will be in one place and separate from other game files. You can put your game folders wherever you want. I keep all of my game folders in a folder called My_Projects. (As you might expect, I keep My_Projects in the Atari2600 folder along with the bB folder and the VbB folder.)
|
Step #6: |
Once you've created a new project folder with default files, you should see the default files in the Project Explorer. Double click on a file to open it in the appropriate editor. For example, double clicking on a .bas file will open it in the Code Editor.
|
Step #7: |
When working on a new game, be sure to use Save As and name your .bas file something other than 'default' in case you need to post it in the future. Even if you don't know the name of the game yet, you can always use your username mixed with the type of project. For example, if your username is Mr. Giggle Snort and you're working on an unnamed maze game, you could call it: "giggle_snort_maze_game_2018y_10m_17d_0342t.bas"
See Easy Software Versioning for more information.
|
Step #8: |
Go to the batari Basic Commands page and take advantage of the table of contents and the index. Also be sure to check out the sections: Getting Started, Useful AtariAge Links, New to BASIC and Game Making?, and Parts of a Program. |
Remember, if you ever need to select a new version of the 2600basic.exe bB compiler under the Settings tab, you must double click on the install_win.bat file that came with it.
Below is an introductory video tutorial by Daniel Davis from Tinkernut. He said that he made several mistakes, so be aware of that when you watch it. He also created an installer, but it's outdated. Ignore the installer and read How to 'Install' Visual batari Basic on a Windows PC instead.
Please do not edit the Tinkernut demo program a tiny bit, then present it as your own original work. Remember, it's just a demo to help you learn. Please take the time to make your own game instead of basically just changing the sprites and the colors, then trying to sell your barely changed version of the demo. Messing around with some demo code doesn't magically turn you into the CEO of Microsoft Game Studios. You need to put more work into it.
If you see an Atari 2600 game that looks a lot like the video below, you'll know it's just a lazy, slightly modified version of the Tinkernut demo:
A lot of people seem to use the original Tinkernut World batari Basic program to base their programs on, but that code encourages some bad habits. Instead of trying to fix the same code repeatedly for every new batch of batari Basic users that pop up from time to time, I edited the code and added new features that most people seem to ask for and made various versions called Tinkernut World Deluxe. Please look at those programs instead of using the original.
Allows you to quickly customize VbB to your liking, so you can start having fun. The items on the settings page now have a brief description that pops up if you hover your mouse pointer over them, and if that isn't enough, there is a new Configuration Wizard, so make sure you have downloaded the latest version of Visual batari Basic.
This setting should point to the location of the executable (.exe) of the emulator you would like to run.
Example:
C:\Program Files\Stella\stella.exe
This is required if you want to be able to test your binary after compiling. This will also be used if you are previewing sprites or playfields in those editors. Multiple emulators can be added in case you want to test binaries in different emulators.
Enter the location of 2600basic.exe.
Example:
C:\Atari2600\bB\2600basic.exe
Commands are useful if you want to extend the list of commands which you can access from the Command tab in the Project Explorer pane on the right side. Those commands can literally be anything such as snippets of code that you reuse. You can right click from the commands pane to generate the basic commands.xml file. From there all changes will be saved to that file and reapplied every time you load Visual bB. If you create a custom commands.xml file, it will overwrite any loaded by VbB.
You can leave this blank and use the default command list. It's only necessary if you want to make modifications.
The Dictionary is for custom terms you want to show up with color codes in the Code Editor. Click the dictionary button to see the current list of terms, edit as you choose and then save. It will create an XML file with your settings.
You can leave this blank and use the default dictionary. It's only necessary if you want to make modifications.
This used to be hard to set using the old version of batari basic, so jwierer made the process simple by allowing VbB to set it for you. It's no longer needed since batari Basic now comes with install_win.bat. Remember, this VbB setting could cause a conflict with install_win.bat, so don't use this setting. Use install_win.bat instead.
Add bB Compiler to System Path
This used to be hard to set using the old version of batari basic, so jwierer made the process simple by allowing VbB to set it for you. It's no longer needed since batari Basic now comes with install_win.bat. Remember, this VbB setting could cause a conflict with install_win.bat, so don't use this setting. Use install_win.bat instead.
Save Open File Before Compiling
When checked, this will make sure you're using the latest copy of the source, even if it's currently being edited. If you introduce a bug while editing, you can always use the undo feature in the Code Editor and save again.
Clean Up Post Compilation Files
When you compile, you actually create a set of assembly files that are then assembled and linked into the Atari binary. Most folks aren't going to go back and look at the ASM files, so check the box to have them cleaned up for you. If left unchecked, nothing is removed so you can go back and look at the assembly files.
This will create a backup folder (_BACKUP) where visualbB.exe is located. Any project that is set as the default project will be copied to this folder upon loading so that if something happens during the course of editing, or if you want to revert back to the project source before you started editing it, you'll have a copy. It literally just copies all the project folders.
If checked, the AtariAge batari Basic forum will be displayed on the Start Page when VbB is loaded.
Warning: Never enable this. You'll get a ton of error messages and will probably have to close the program using your computer's Task Manager. Don't try to load any web page with VbB. Use a real browser.
If you're the type of person who doesn't save often enough, you'll probably want to turn this on and choose how often it saves. If you can remember to save frequently, you might want to try using Save As every time you're about to significantly change your code. You could use the name of the program, year, month, day, and military time (the clock on the PC taskbar can be changed to military time for this purpose). Here's an example:
magical_bouncing_doorknob_jelly_2008y_10m_06d_1545t
Then you'll always have a record of how the program evolved and can go back to a specific time before you deleted something or completely mangled the code because you were sleepy.
This *optional* setting will check for proper syntax while you are typing in the editor. Syntax Checking does the following:
Note: Syntax Checking works great with small programs, but if you eventually have so much code that you start to notice lag, disable Syntax Checking and that should speed things up.
Type the number of spaces or tabs you want to use as the default when using Syntax Checking.
If you compile with -O, a peephole optimizer will be invoked which will remove all "CMP #0" and some other things such as loads right after a store to the same variable. If using bB code only, you may use -O without consequences (all CMP #0 are redundant in bB). It's not automatic because the peephole optimizer does not know if it's looking at inline asm. If you use CMP #0 in a non-redundant fashion in your inline asm, it will remove it.
If you're using the original compiler, vbB disables it. Grab the latest and you can turn it on/off.
Color codes your program in the Code Editor so your code is easier to read. If you don't like the default colors, you can change them. Just left click the little button next to Keywords, Compiler Directives, Registers, Comments, or Graphics and select any color you want.
If you'd like to change the font used in the Code Editor, just left click the Select Font button and you can select the font, style, and size.
The main area of the Start Page is the browser where help files and web pages are displayed. There is also a Recent Projects Launch Pad and a Getting Started Launch Pad to the left of the browser.
On the left side of the Start Page browser is the Recent Projects Launch Pad. Once you have created or opened at least one project in the past, you'll be able to left click on a project listed under Recent Projects and it will open in the Project Explorer. There are two buttons near the bottom of the Recent Projects Launch Pad, one to create a project and the other to open a project.
The Getting Started Launch Pad is below the Recent Projects Launch Pad and contains a list of useful links. Left click on a link to open it in the Start Page browser. Right click on a link and you can select Open from the right click menu which opens the link in the Start Page browser. Select Open in Web Browser to open the link in your default Web browser.
The Project Explorer is the pane on the right side of VbB that lists your open project folders. For your convenience, it also displays two fake folders within each project folder that contain any sprite or playfield files you may have.
Double click on a file in the Project Explorer and it will open in the appropriate editor. When you have a program open in the Code Editor, you can drag sprite or playfield files from the Project Explorer and drop them right into your program. It can't get much easier than that.
Right clicking on various types of files or folders brings up different options. Most of the options don't really need an explanation, but there are a few you might want to know a little more about and they are listed below:
This will extract plain and multicolored sprites and playfields from the highlighted batari Basic program in the Project Explorer. Extract items from any older games you might have or from .bas files posted online so you can study their sprites and playfields.
This does not delete a file, it just makes it disappear from the Project Explorer. You can get back any excluded file by right clicking on the project folder it belongs to and selecting Refresh Project. Anything you excluded from that project will be visible again.
If you ever have the need to look at one of your files in Notepad, no problem. Just right click on the file and select Edit in Notepad.
There are no worries when deleting files from the Project Explorer. Deleted files will be sent to the Recycle Bin, so if you make a mistake or change your mind, you can open the Recycle Bin folder and restore any files you deleted and they'll pop right back up in the Project Explorer.
Commands are useful if you want to extend the list of commands. Those commands can literally be anything such as snippets of code that you reuse. You can right click from the commands pane to generate the basic commands.xml file. From there all changes will be saved to that file and reapplied every time you load Visual bB. If you create a custom commands.xml file, it will overwrite any loaded by VbB.
You can easily add, edit, or remove commands and code snippets by right clicking and selecting options from the right-click menu. Change the whole thing to your liking, add every possible bB command that you could ever want to use, or add frequently used code snippets for quick and easy access.
As your code grows, it can be difficult to easily navigate it. Bookmarks provide a convenient way to mark sections of code so you can quickly jump to that location. Here is a quick guide to using bookmarks:
Alternatively, you can manually enter a search term in the text box and use the Add button to add a new bookmark.
Any time you want to jump to a bookmark, just left click on the appropriate Go button in the Bookmarks list. You can also left click on a bookmark term in the Bookmarks list to select it, then right click to bring up a menu that will let you jump to, remove, or reorder that bookmark. You can also move a bookmark up or down the list with keyboard shortcuts. Just left click on a term to highlight it, then hold down the Ctrl key and use the up or down arrow keys to move the bookmark.
Bookmarks are saved so when you reopen a project they will automatically be loaded. Additionally, as you switch between different programs the list of bookmarks will change based on your previous settings. And don't worry, when you use Save As to make a new copy of your program to work on, your bookmarks will be copied along with it.
Note from Random Terrain: I recommend using something unique to start out your bookmarks. For example, I use rem @# to start out my bookmarks since that combination isn't usually found in bB programs and the characters @# are easy to type and easy to find. (They're next to each other on a computer keyboard above the 2 and 3 keys.) The characters also help me identify my bookmarks in case I want to move them (rem @# Current Work Area gets moved around a lot). Of course, you don't have to use what I use, but you'd be wise to use something that stands out from the rest of your code so you won't jump to the wrong spot in your program.
Warning: If you always put the latest version of VbB in a new folder like I do, be sure to copy the file visualvb.mdb from your last VbB folder and paste it into the new folder. That's where your bookmarks are stored.
When not hidden, the Information Pane provides useful behind the scenes data. The Information Pane has two tabs:
Opens a dialog box where you can select a name and a path for your project folder. There are also check boxes for creating default code, sample sprite, and sample playfield.
The Visual batari Basic Code Wizard leads you through a series of steps that should help make it easier to create an initial project. Depending on the options you choose, your program should be ready to compile and run at the end of the wizard.
This wizard will walk you through each setting and help you successfully get started. Once complete, you will be sent to the Settings tab where you can further customize your Visual batari Basic experience. You can choose to cancel the wizard at any time and manually configure VbB settings.
Places a project folder into the Project Explorer.
Allows you to open any .bas file if at least one project is open in the Project Explorer .
You must have at least one project open in the Project Explorer before you can add a new or existing item.
Adds a new .bas file, sprite file, or playfield file to the currently open project in the Project Explorer. Just select the type of file, give it a name, and left click the Add button.
Allows you to import a .bas file into the currently open project in the Project Explorer.
Closes the currently selected open tab.
Closes the current project.
Saves the program, sprite, or playfield that is displayed in the currently open tab.
Brings up the save dialog box so you can either save or the program, sprite, or playfield that is displayed in the currently open tab or save it with a new name to make a copy that you can edit without affecting the original.
This will save all of the files that you have open, so be careful with this. If you have been playing around with some files, but weren't planning to save what you have done, you could end up losing your original content if you click on Save All by mistake. I use Save As often to avoid losing my work because of a stupid mistake.
Sets up how the active tab will print.
Prints the contents of the active tab. Click on the tab you want, whether it's a Code Editor, Sprite Editor, or Playfield Editor and select print. You'll get a nice color printout (depending on your printer).
If you want to print out a program and you normally use a fairly large font, you can avoid wasting a lot of paper by going to the Settings tab and decreasing the font size. If you don't want to waste color ink, remember to disable color coding. After that, you can go back to your program, right click and select Refresh from the right click menu. Then you'll be ready to print.
Shows a list of your recently opened projects. This is the same list you see in the Recent Projects Launch Pad.
Closes VbB.
Allows you to go back a step in the Code Editor, Sprite Editor, or Playfield Editor. When you open a sprite or playfield an "undo/redo queue" is created. The queue is like a LIFO (Last in First Out) stack that will hold the last 50 actions performed. The Code Editor is different and uses the built in redo/undo capabilities of the standard windows rich text editing control. Each tab has its own separate undo/redo, so you don't have to worry about switching between tabs and working on different things at the same time.
Allows you to go forward a step in the Code Editor, Sprite Editor, or Playfield Editor after you have gone back one or more steps.
Highlight something in the Code Editor, Sprite Editor, or Playfield Editor and this will copy what you highlighted and delete it from view. Same as the keyboard shortcut Ctrl + x.
Highlight something in the Code Editor, Sprite Editor, or Playfield Editor and this will copy it. Same as the keyboard shortcut Ctrl + c.
Plops down at the position of the cursor whatever you have cut or copied. Same as the keyboard shortcut Ctrl + v.
Highlight something in the Code Editor, Sprite Editor, or Playfield Editor and this will make it disappear. Same as the delete key on your keyboard.
Highlights everything in the Code Editor, Sprite Editor, or Playfield Editor.
Opens the Find and Replace dialog box. You can search the active Code Editor or search all open documents. If you search all open documents, you should start with the leftmost Code Editor tab and when VbB is done searching the contents of that tab, the next tab to the right will be activated and searched and that will continue until you quit searching or the end of the contents of the rightmost tab is reached. It will also match case and match whole word if you want.
Opens the Find and Replace dialog box. It has the same features as Find, with the addition of a 'replace with' text box, a Replace button and a Replace All button.
Displays the Project Explorer pane on the right side of the VbB window or hides it if it's already there.
Shows or hides the Project Properties pane that displays info for the currently highlighted file in the Project Explorer pane.
Shows or hides the Information pane that displays error messages and how much space is left in your games.
Opens the TIA Color Chart where you can find color values for your games.
Opens the Sprite Animator where you can make an animated sprite and even save it as an animated GIF if you want.
Opens the Image to Code Converter. Create playfields and sprites from animated GIFs.
Opens Tone Toy 2008 by Duane Alan Hahn in the default emulator.
Opens the Music and Sound Editor. Allows you to create music and complicated sound effects for your games.
Opens the Score Editor where you can change the score graphics.
Opens the Title Screen Kernel Editor. Below are related links to jwierer's blog and the official title screen kernel thread:
Using the Title Screen Kernel Editor
Creating a Scrolling Hi-res Title Screen in bB
Creating an Animated Title Screen in in bB
Runs bBlint (a useful tool written by RevEng that checks the syntax of bB programs). You can read more about it in jwierer's blog.
This gets your bB program ready to run in an emulator or on a real Atari 2600.
Runs your bB program in the emulator of your choosing. If your program hasn't been compiled or has been changed since the last time it was compiled, a dialog box will pop up asking if you'd like to recompile the latest version of your program. Left click the Yes button and your program will compile and run in the emulator you have previously chosen.
Displays the batari Basic manual on the Start Page.
Warning: Never use this. You'll get error messages. Don't try to load any HTML pages with VbB. Use a real browser.
Displays the Visual batari Basic Online Guide on the Start Page.
Warning: Never use this. You'll get error messages. Don't try to load any web page with VbB. Use a real browser.
Displays the help page.
Displays version number and copyright info.
TIA Color Chart (found under the View menu)
This is a very quick and easy way to look up color values and track down the perfect colors for your games.
There are a few different ways that you can use the TIA Color Chart. You can hover your mouse pointer over a color and the hex and decimal values will pop up near your mouse pointer. You can left click on a color and the hex and decimal values will be displayed near the top of the chart. You can also move the little blue cursor around with the arrow keys on your keyboard and the hex and decimal values of the color the cursor is sitting on will be displayed near the top of the chart.
The TIA Color Chart also has a drop-down menu where you can switch between NTSC and PAL.
Note: The Sprite Editor and Playfield Editor use a special version of the TIA Color Chart. When the chart is opened, left clicking on a color selects the color and closes the TIA Color Chart.
Sprite Animator (found under the View menu)
The Sprite Animator grabs all of the sprites from the currently loaded projects in the Project Explorer and allows you to select and order the frames that you would like to see animated. The sprite animator will use the first emulator configured in the settings tab.
If you'd like to move a sprite up or down in the list, just left click on the file name, then left click on the Up or Down buttons as many times as it takes to get the sprite into position. Once you have your sprites in the correct order, check the box next to each sprite that you want to include in your animation. Left click the Animate button to see a preview of the animation right there in the Sprite Animator. Left click the Stop button when you're done.
Left click on the Create .bas button to save your animation. Once saved, the file will automatically open in the Code Editor and run in your default emulator.
If you want to show your animated sprite to others, you can left click on the Save GIF button to save your animation as a GIF file. A GIF Settings box will pop up where you can select the speed of the animation (frame time) and make sure the box next to Loop is checked if you want the animation to loop forever. You can then upload it to a forum or put it on your own web site. If you have a GIF editing program such as Microsoft GIF Animator or Easy GIF Animator, you might want to play around with the animation speed or crop it if necessary.
In case you don't know, once you left click on a file name, you can browse through the sprites by using the up/down arrow keys on your keyboard.
Music and Sound Editor (found under the View menu)
The VbB Music and Sound Editor is based on a page I made called the bB Music and Sound Data Creation Toy, but the VbB Music and Sound Editor has more features and it's faster, easier, and more fun to use. If you get an error when you try to run the Music and Sound Editor, see the troubleshooting section.
The VbB Music and Sound Editor has seven tabs: six keyboard tabs and one expert mode tab. The keyboards limit you to acceptable notes so you can make new tunes without worrying about being too far off-key. The Expert Mode tab displays a grid of all Atari 2600 sounds.
Data format and explanation:
V,C,F (Channel 0)
V,C,F (Channel 1)
D
V - Volume (0 to 15)
C - Control [a.k.a. tone, voice, and distortion] (0 to 15)
F - Frequency (0 to 31)
D - Duration
Feel free to edit your data in the Data Work Box by hand and test it as much as you want. Just be careful if you are new to editing data. If you mess up the format, your music or sound effect will not play correctly.
Data Work Box Right Click Menu
Undo
Redo
Cut
Copy
Paste
Delete
Select All
Clear All
Test in Emulator
Sound Preview with Right Click
Move your mouse pointer over the numbered keys on the keyboard images or the numbered boxes under Expert Mode and right click to hear a sound preview. This allows you to hunt for sounds without adding anything to the Data Work Box.
Move your mouse pointer over the numbered keys on the keyboard images or the numbered boxes under Expert Mode and left click to add the data for that note or sound to the Data Work Box. The duration data will match how long you hold down the left mouse button. If you find that the duration isn't quite long enough or short enough for a certain note or sound, edit the duration in the Data Work Box and test it until it sounds right.
Plays the music or sound effect data in the Data Work Box using your favorite emulator.
Saves a working bB program that will play your music or sound effect and opens it in the Code Editor.
This saves your music or sound effect data as a .dat file that you can load back into the Music and Sound Editor at a later time.
Allows you to load a .dat file that you have saved or that someone else has created.
This is for people who just want to copy the data in the Data Work Box and paste it into a program. Clicking on the Add End Data button adds the ending data that tells a program the music or sound effect is finished.
Merges two single channel .dat files. For example, if you have been working on some single channel music or sound effects and saved them, you can click on this button and it will ask you to select the first .dat file, then the second .dat file and they will be merged in the Data Work Box.
Adds empty data to the Data Work Box (all zeros).
This setting is enabled by default. Atari 2600 notes usually sound kind of plain and dry, but the fade effect can help fix that. You have to hold the left button down for more than a short tap to make it work.
Instead of getting something like this using Mono Mode:
8,4,15 32
You'd get this:
8,4,15 32 2,4,15 8
As you can see, the Fade Effect doubles the amount of data, so keep that in mind.
If you know what you are doing, you can enable this setting when you want to add a single line of V,C,F data. Instead of adding two lines of channel data and the duration when you left click on a note or sound, only a single line of V,C,F data is placed in the Data Work Box.
Enable this if you want to work on two channels at the same time. Left click on a note or sound for channel 0 and left click a second time on a note or sound for channel 1, then the data will be added to the Data Work Box.
Mutes the sound in the editor.
If you enable this, the next time you test your data, the code will open in the Code Editor and your favorite emulator will play your music or sound effect.
This is very useful for people who make sound effects or music for only one channel. I use Mono Mode all of the time. (When Mono Mode is enabled, “0,0,0” for the other channel is not added.)
Enable this to use Data instead of Sdata in your code.
When your data is previewed using an emulator, test files are created and they can build up. Enabling this will make sure that test files are deleted after use.
If you need a constant duration instead of the versatile left click duration, enable this and choose the duration you'd like the editor to use.
Select the default volume you'd like the editor to use.
You'll probably only use this if you merge files. If one channel seems to be misaligned and the whole thing needs to be shifted up or down so it will match up with the other channel, just left click on the appropriate button, test in emulator, and repeat until the data is lined up properly.
Score Editor (found under the View menu)
This is a simple GUI for editing the score_graphics.asm file. The Score Editor allows you to create custom fonts for the score across the bottom of your game. You can do more than just make your own numbers. If your game doesn't use a score, you can use the score to display a life bar, items for an adventure game, or anything you can imagine.
The Code Editor is where you'll work on your games. This is one of the best programming editors you'll ever use. Beside being very customizable and having cool features such as Comment/Uncomment, Flip Text, Find Label, Audit Variables, Audit Goto/Gosub, Force Minimum Spacing, and Identify Current Bank, you can drag and drop commands, code snippets, sprites, and playfields into your programs.
If you want to insert a sprite or playfield into your program, just drag a sprite or playfield file over from the Project Explorer and drop it where you want it to go in your program.
Highlight something in the Code Editor and this will copy what you highlighted and delete it from view. Same as the keyboard shortcut Ctrl + x.
Highlight something in the Code Editor and this will copy it. Same as the keyboard shortcut Ctrl + c.
Plops down at the position of the cursor whatever you have cut or copied. Same as the keyboard shortcut Ctrl + v.
All special formatting such as font, bold, italics, colors, and so on are dropped when you use this. If you are copying code from a different editor, you might be using a different font and it would look odd in the Code Editor.
Highlight one or more lines of code, select Comment and a rem statement will be placed at the beginning of each line. A great way to quickly deactivate some code.
Highlight one or more lines that start with rem, select Uncomment and rem will be removed from the beginning of each line. A great way to quickly reactivate some code that you previously deactivated.
Highlight some lines of code, select Flip Text and the order of the lines will be reversed. One use for this would be to temporarily flip sprite data so it's no longer upside down so you can do some quick editing right there in the Code Editor. When you're finished, you can highlight the sprite data again, select Flip Text and the sprite data will be upside down again.
Turns highlighted code into a bookmark. See Bookmarks Tab for more information.
If the programmer was kind and wise enough to use variable aliases (dim) for all variables that are used in the program, all variables that have been used so far will be listed in a pop-up box.
A pop-up box will list the bank and line number of each goto and the bank and line number of the label it jumps to. It also lists the bank and line number of each gosub, the bank and line number of the label it jumps to, and the bank and line number of the return and what type of return was used (thisbank or otherbank).
Why did jwierer add this to VbB? Here's the story: I'm chugging along, thinking everything will fit in one bank, then I realize that the code will have to be split up and put in another bank or two. There must be a faster, more efficient way to check every goto/gosub to make sure everything is pointing to the correct bank instead of slowly going through the code by hand. There are too many chances that something could be overlooked.
Thanks to jwierer, now we can use Audit Goto/Gosub to make sure everything is correct.
Highlight some text, select Find Next then VbB will open the Find and Replace dialog box and start searching from the beginning of the program.
Highlight the name of a label or line number after an if-then, goto, or gosub, select Find Label and the program will hop to the location of that label or line number. This can save you a lot of time when working on a large program or trying to decipher the tangled messes created by other programmers who seem to be allergic to the REM statement.
Highlight some text and use this to change the font color.
Highlight some text and use this to put a yellow background behind the text.
Highlight some text, select Bold/Unbold and it will either increase the thickness of the characters or make them look normal if they are already bold.
Sometimes the color coding can start to look incomplete if you don't hit the Enter key at the end of a line of code. You can use Refresh once in a while to force recoloring of the code to make it easier to read.
Whatever spaces or tabs you used for Auto Indentation on the settings page will be forced on the entire program.
If you're working on a long program and would like to know which bank you're looking at, just left click on the code so the flashing cursor moves to that spot, then select Identify Current Bank from the right click menu. A dialog box will pop up with the bank number. Extremely useful when working on large programs.
Closes the active Code Editor tab.
Closes the active Code Editor tab and saves your program.
Leaves the active tab alone and closes all other tabs except the Start Page and Settings tabs.
Closes all tabs except the Start Page and Settings tabs.
Saves whatever program you have open in the active tab.
Allows you to make a copy of the program you have open in the active tab.
The Sprite Editor is where you can have fun creating sprites for your games. Although you can preview your sprite in an emulator at any time, there is also a little instant preview to the right of the Sprite Editor.
Select the type of sprite you want to work on (lives, player0, player1, player2, player3, player4, player5). Check the box next to Use Player Colors if you want to design a multicolored sprite where each row can be a different color. Check the box next to Use DPC+ Sprites for single-height sprites if you are going to use the DPC+ kernel.
The sprite editor now works more like other graphics programs you may have used before.
Toggle: |
Just hold down the left mouse button and drag your mouse pointer to toggle sprite pixels on or off. It's a quick way to draw or erase.
|
Erase: |
If you want to erase without toggling, hold down the Ctrl key, then hold down the left mouse button and drag your mouse pointer.
|
Draw: |
If you want to draw without toggling, hold down the Alt key, then hold down the left mouse button and drag your mouse pointer.
|
Select: |
To select one or more sprite pixels, hold down the Shift key, then hold down the left mouse button and drag your mouse pointer until the desired number of pixels are selected. Once the pixels are selected, you can release the Shift key and the left mouse button. Remember, you can highlight one sprite pixel, a vertical or horizontal line of sprite pixels, or a chunk of sprite pixels of any number and either:
|
If you want to work on an animation and you've never done it before, here's one way to do it. Create a sprite in the Sprite Editor and save it. Then use Save As to save a copy of it. Open that copy and as you work on that 'frame' of your animation, you can click on the tab for it to make sure it's active and 'flip' between the two sprite editors by using the left/right arrow keys on your keyboard. You can flip back and forth, work on the image some more, flip back and forth and so on until you get it looking perfect. Make sure you save the sprite, then use Save As to save a copy of that sprite. Open that copy and work on it, click on a tab and flip between all three using the left/right cursor keys to see how your animation is progressing. You can keep on with this process until you have perfected your animation. Just remember to save the latest version of all of your 'frames' and you'll be ready to use the Sprite Animator.
How to Cut, Copy, and Paste with Keyboard Shortcuts
VbB allows you to cut, copy, and paste using the usual keyboard shortcuts. To copy and paste in the sprite editor, just highlight the part you want to copy, hit Ctrl + c to copy (pay attention to where the top left highlighted pixel is), then left click at the spot in the current editor or another editor where you want to paste (the spot you select will be where the top left corner of what you copied will start) and hit Ctrl + v. You can also cut by hitting Ctrl + x.
When you save a sprite, choose a file name that would make a good label if you want to save time, since VbB will use that filename as the label for it. Although you can always change the label in your program, it's just faster to pick a useful file name from the start that can be used as a label. Another reason to have a file name that would make a good label is that you cannot preview the sprite in an emulator unless it has a label-like file name. See Preview in Emulator for more information about labels.
If you want to insert a sprite into a program, just have a program open in the Code Editor, then drag a sprite file over from the Project Explorer and drop it where you want it to go in your program.
Highlight some pixels in the Sprite Editor and this will copy what you highlighted and delete it from view. Same as the keyboard shortcut Ctrl + x.
If you use the right click menu to cut, remember to right click outside of the drawing area. Right clicking inside of the drawing area allows you to instantly see the hex color of the row you clicked on and also lets you change the row color without needing to left click on the row first.
Highlight some pixels in the Sprite Editor and this will copy it. Same as the keyboard shortcut Ctrl + c.
If you use the right click menu to copy, remember to right click outside of the drawing area. Right clicking inside of the drawing area allows you to instantly see the hex color of the row you clicked on and also lets you change the row color without needing to left click on the row first.
Plops down at the position of the cursor whatever you have cut or copied. Same as the keyboard shortcut Ctrl + v.
Deletes everything in the Sprite Editor.
Copies the Player Color data and the sprite data.
Copies only the Player Color data.
Copies only the sprite data.
Sprite Actions (Sprite Toolbox)
Flips a sprite in the up/down direction.
Flips the sprite in the left/right direction.
Pixels that were on will be switched off and pixels that were off will be switched on.
Spins the sprite clockwise by 90 degrees.
Decreases the size of a sprite by one pixel horizontally and vertically. Simple objects retain more of their original shape. Remember to resize the editor back to a width of 8 pixels so the sprite will work properly in your program.
Increases the size of a sprite by one pixel horizontally and vertically. Simple objects retain more of their original shape. Remember to resize the editor back to a width of 8 pixels so the sprite will work properly in your program.
Change the width or height of the Sprite Editor.
Right click on the row you want to change, select Set Color, type in a hex number in the box that appears on the right side of the row and hit the enter key when you're done.
The number next to Set Color in the right click menu shows the hex value of the current default pixel color or row color at the location of the cursor.
Choose Color (Select Row Color from TIA Chart)
Right click on the row you want to change and select Choose Color. The TIA chart will open and the TIA Chart cursor will jump to the current color of the row so you don't end up selecting the same color by mistake. Select a color from the TIA chart by left clicking on the color you'd like to use.
Set Player Color (Foreground Color)
Uses the TIA Color Chart to set the default color of the pixels in the Sprite Editor. It does nothing to the sprite file you're working on. (The foreground color of the Sprite Editor can be different than the foreground color of the Playfield Editor.)
Set Background Color (Shared Background Color)
Uses the TIA Color Chart to set the default background color of the Sprite Editor and Playfield Editor. It does nothing to the sprite file you're working on. Remember that the background color cannot be the same as the foreground color of the Sprite Editor or the Playfield Editor.
Before you can preview, you must make sure that the file name of the sprite would make a proper label. A label can have any combination of letters, numbers, or underscores, even as the first character. A label must not match or begin with a known keyword or any labels internal to bB (like end, kernel, and so on). For example, you cannot name a label next or pfpixel and although you could not use 'scorechange' you could use 'changescore'. If the file name would not make a good label, instead of opening in an emulator, the preview code will open in a Code Editor tab.
Once you are sure the file name would make a good label, select Preview in Emulator and your sprite will open in the default emulator. The background color used will be whatever you have selected using Set Background Color. If you're not using Player Colors to get a multicolored sprite, the color of the sprite will be whatever you have selected using Set Player Color. You can move the sprite around the screen using the joystick controls you have set up in your default emulator.
Closes the active Sprite Editor tab.
Closes the active Sprite Editor tab and saves your sprite.
Leaves the active tab alone and closes all other tabs except the Start Page and Settings tabs.
Closes all tabs except the Start Page and Settings tabs.
Saves whatever sprite you have open in the active tab.
Allows you to make a copy of the sprite you have open in the active tab.
Saves an image of the visible part of the sprite editor.
Show or hide the instant preview on the right side of the sprite editor.
The Playfield Editor is where you can design your playfields and title screens. Although you can preview your playfield in an emulator at any time, there is also a little instant preview to the right of the Playfield Editor.
How the Playfield Editor Works
The playfield editor now works more like other graphics programs you may have used before.
Toggle: |
Just hold down the left mouse button and drag your mouse pointer to toggle playfield pixels on or off. It's a quick way to draw or erase.
|
Erase: |
If you want to erase without toggling, hold down the Ctrl key, then hold down the left mouse button and drag your mouse pointer.
|
Draw: |
If you want to draw without toggling, hold down the Alt key, then hold down the left mouse button and drag your mouse pointer.
|
Select: |
To select one or more playfield pixels, hold down the Shift key, then hold down the left mouse button and drag your mouse pointer until the desired number of pixels are selected. Once the pixels are selected, you can release the Shift key and the left mouse button. Remember, you can highlight one playfield pixel, a vertical or horizontal line of playfield pixels, or a chunk of playfield pixels of any number and either:
|
How to Cut, Copy, and Paste with Keyboard Shortcuts
VbB allows you to cut, copy, and paste using the usual keyboard shortcuts. To copy and paste in the playfield editor, just highlight the part you want to copy, hit Ctrl + c to copy (pay attention to where the top left highlighted pixel is), then left click at the spot in the current editor or another editor where you want to paste (the spot you select will be where the top left corner of what you copied will start) and hit Ctrl + v. You can also cut by hitting Ctrl + x.
If you want to insert a playfield into a program, just have a program open in the Code Editor, then drag a playfield file over from the Project Explorer and drop it where you want it to go in your program.
Check the box next to Use Playfield Colors if you are using the DPC+ kernel or if you want to design a multicolored playfield in the standard kernel where each row can be a different color. See Set Color and Choose Color for more information.
If you are using the DPC+ kernel or you plan to use the standard kernel option background, check the box next to Use Background Colors to have a multicolored background.
Check the box next to Mirrored Playfield if you want to create a playfield that will work with the multisprite kernel. Draw something on either side of the playfield and see the same thing appear on the opposite side.
Check the box next to Playfield Heights if you'd like to change any row heights. There are two ways that you can change the height of a row. The first way is to double click on a numbered box on the left side of the playfield. A box will appear above the numbered boxes in the top left corner of the playfield editor and you can either type in the number or left click on the up/down buttons to increase or decrease the number. The second way you can change the row heights is to hover your mouse pointer over any line that separates the numbered boxes on the left side of the playfield and when the mouse pointer changes from a hand to an up/down arrow, you can left click and drag the line up or down to shrink or stretch the row height.
Highlight some pixels in the Playfield Editor and this will copy what you highlighted and delete it from view. Same as the keyboard shortcut Ctrl + x.
If you use the right click menu to cut, remember to right click outside of the drawing area. Right clicking inside of the drawing area allows you to instantly see the hex color of the row you clicked on and also lets you change the row color without needing to left click on the row first.
Highlight some pixels in the Playfield Editor and this will copy it. Same as the keyboard shortcut Ctrl + c.
If you use the right click menu to copy, remember to right click outside of the drawing area. Right clicking inside of the drawing area allows you to instantly see the hex color of the row you clicked on and also lets you change the row color without needing to left click on the row first.
Plops down at the position of the cursor whatever you have cut or copied. Same as the keyboard shortcut Ctrl + v.
Deletes everything in the Playfield Editor.
Copies the pfcolors data, playfield pixel data and the pfheights data.
Copies only the pfcolors data.
Copies only the playfield pixel data.
Copies only the pfheights data.
As Hex Data Values (with reversed data)
VbB automatically reverses the appropriate numbers so they can be used directly with the standard kernel playfield variables.
For people who want to use the data with pfpixel.
Change the width or height of the Playfield Editor.
Right click on the row you want to change, select Set Color, type in a hex number in the box that appears on the right side of the row and hit the enter key when you're done.
The number next to Set Color in the right click menu shows the hex value of the current default pixel color or row color at the location of the cursor.
Choose Color (Select Row Color from TIA Chart)
Right click on the row you want to change and select Choose Color. The TIA chart will open and the TIA Chart cursor will jump to the current color of the row so you don't end up selecting the same color by mistake. Select a color from the TIA chart by left clicking on the color you'd like to use.
Set Playfield Color (Foreground Color)
Uses the TIA Color Chart to set the default color of the pixels in the Playfield Editor. It does nothing to the playfield file you're working on. (The foreground color of the Playfield Editor can be different than the foreground color of the Sprite Editor.)
Set Background Color (Shared Background Color)
Uses the TIA Color Chart to set the default background color of the Playfield Editor and Sprite Editor. It does nothing to the playfield file you're working on. Remember that the background color cannot be the same as the foreground color of the Playfield Editor or the Sprite Editor.
Displays your playfield in the default emulator.
Standard Kernel: no_blank_lines
Displays your playfield in the default emulator without lines separating the rows.
Displays your mirrored playfield in the default emulator. If you try to display a normal playfield using this, you'll probably get a mangled mess.
Displays your DPC+ playfield in the default emulator.
Closes the active Playfield Editor tab.
Closes the active Playfield Editor tab and saves your Playfield.
Leaves the active tab alone and closes all other tabs except the Start Page and Settings tabs.
Closes all tabs except the Start Page and Settings tabs.
Saves whatever Playfield you have open in the active tab.
Allows you to make a copy of the Playfield you have open in the active tab.
Saves an image of the visible part of the playfield editor.
Show or hide the instant preview on the right side of the playfield editor.
Project Explorer is Your Friend
VbB Isn't Just for Programmers
Working with Sprites & Playfields
How to 'Install' Visual batari Basic
Add bB Compiler to System Path
Save Open File Before Compiling
Clean Up Post Compilation Files
Sprite Actions (Sprite Toolbox)
How the Playfield Editor Works
Set Playfield Color (Foreground)
64-bit Windows Incompatibility Fix
Add bB Compiler to System Path
Clean Up Post Compilation Files
Commands Tab (Project Explorer)
Errors (VbB Not Working Correctly)
Flip Horizontal (Sprite Editor)
How to 'Install' Visual batari Basic
Preview in Emulator: Playfield
Save Open File Before Compiling
Did you know that Trump's rushed Operation Warp Speed rona jab has less than one percent overall benefit? Some people call it the depopulation jab and it has many possible horrible side effects (depending on the lot number, concentration, and if it was kept cold). Remember when many Democrats were against Trump's Operation Warp Speed depopulation jab, then they quickly changed their minds when Biden flip-flopped and started pushing it?
Some brainwashed rona jab cultists claim that there are no victims of the jab, but person after person will post what the jab did to them, a friend, or a family member on web sites such as Facebook and they'll be lucky if they don't get banned soon after. Posting the truth is “misinformation” don't you know. Awakened sheep might turn into lions, so powerful people will do just about anything to keep the sheep from waking up.
Check out these videos:
If You Got the COVID Shot and Aren't Injured, This May Be Why
Thought Experiment: What Happens After the Jab?
The Truth About Polio and Vaccines
What Is Causing the Mysterious Self-Assembling Non-Organic Clots and Sudden Deaths?
Take a look at my page about the famous demonized medicines called The H Word and Beyond. You might also want to look at my page called Zinc and Quercetin. My sister and I have been taking zinc and quercetin since the summer of 2020 in the hopes that they would scare away the flu and other viruses (or at least make them less severe). Here's one more page to check out: My Sister's Experiences With COVID-19.
Some people appear to have a mental illness because they have a vitamin B deficiency. For example, the wife of a guy I used to chat with online had severe mood swings which seemed to be caused by food allergies or intolerances. She would became irrational, obnoxious, throw tantrums, and generally act like she had a mental illness. The horrid behavior stopped after she started taking a vitamin B complex. I've been taking Jarrow B-Right (#ad) for many years. It makes me much easier to live with. I wonder how many people with schizophrenia and other mental mental illnesses could be helped by taking a B complex once or twice a day with meals (depending on their weight)?
Unfermented soy is bad! “When she stopped eating soy, the mental problems went away.” Fermented soy doesn't bother me, but the various versions of unfermented soy (soy flour, soybean oil, and so on) that are used in all kinds of products these days causes a negative mental health reaction in me that a vitamin B complex can't tame. The sinister encroachment of soy has made the careful reading of ingredients a necessity.
I started taking AyaLife (99% Pure CBD oil) as needed in April of 2020. So far it's the only thing that helps my mood when I've mistakenly eaten something that contains soy. AyaLife is THC-free (non-psychoactive) and is made in the USA. I also put a couple dropper fulls under my tongue before leaving the house or if I just need to calm down.
It's supposedly common knowledge that constantly angry Antifa-types basically live on soy products. What would happen if they stopped eating and drinking soy sludge and also took a B complex every day? Would a significant number of them become less angry? Would AyaLife CBD oil also help?
If you are overweight, have type II diabetes, or are worried about the condition of your heart, check out the videos by Ken D Berry, William Davis, and Ivor Cummins. It seems that most people should avoid wheat, not just those who have a wheat allergy or celiac disease. Check out these books: Undoctored (#ad), Wheat Belly (#ad), and Eat Rich, Live Long (#ad).
Negative ions are good for us. You might want to avoid positive ion generators and ozone generators. A plain old air cleaner is better than nothing, but one that produces negative ions makes the air in a room fresher and easier for me to breathe. It also helps to brighten my mood.
Never litter. Toss it in the trash or take it home. Do not throw it on the ground. Also remember that good people clean up after themselves at home, out in public, at a campsite and so on. Leave it better than you found it.
Climate Change Cash Grab = Bad
Seems like more people than ever finally care about water, land, and air pollution, but the climate change cash grab scam is designed to put more of your money into the bank accounts of greedy politicians. Those power-hungry schemers try to trick us with bad data and lies about overpopulation while pretending to be caring do-gooders. Trying to eliminate pollution is a good thing, but the carbon footprint of the average law-abiding human right now is actually making the planet greener instead of killing it.
Eliminating farms and ranches, eating bugs, getting locked down in 15-minute cities, owning nothing, using digital currency (with expiration dates) that is tied to your social credit score, and paying higher taxes will not make things better and “save the Earth.” All that stuff is part of an agenda that has nothing to do with making the world a better place for the average person. It's all about control, depopulation, and making things better for the ultra-rich. They just want enough peasants left alive to keep things running smoothly.
Watch these two videos for more information:
Charlie Robinson had some good advice about waking up normies (see the link to the video below). He said instead of verbally unloading or being nasty or acting like a bully, ask the person a question. Being nice and asking a question will help the person actually think about the subject.
Interesting videos:
Charlie Robinson Talks About the Best Way to Wake Up Normies
Disclaimer
View this page and any external web sites at your own risk. I am not responsible for any possible spiritual, emotional, physical, financial or any other damage to you, your friends, family, ancestors, or descendants in the past, present, or future, living or dead, in this dimension or any other.
The Peephole Optimizer is not a device that allows you to see into female locker rooms. You're not living in a cheesy 1980s movie. Try to be more mature.