Tape Creator window
The Tape Creator window is available from the Tools menu.
BASin provides this window as a means to creating and manipulating Spectrum Tape images of your programs and code. These images can be "inserted" into any emulator that supports the .tap and .tzx format, for loading into the emulated Spectrum. Blocks can be created here in this tool, or by using SAVE commands from BASIC whilst Tape Save Streaming is active (see the Options dialog, Files Tab help and the Working with Tape files section for information on setting this up).
The main list in the window contains the blocks that will make up the tape, in the order that they will appear. You should start by either:
- Adding a program block, then adding other blocks for that program to load, or
- Using the File Menu to open an existing tape image.
Adding blocks to a tape image
To add a block, you need to click the "Add" button, or use the "Block" menu item, and choose from the menu that appears:
- From File...
Opens the Windows file requester, from where you can load any one of either .bas files, .bsc files, .bsd files, Snapshots (both .sna and .z80), .scr files, .tzx/.tap files, and raw binary files which will be added as CODE blocks. When you open a .tzx or .tap file, all the compatible blocks found within will be added to the end of the list.
- From Current…
This menu has a set of sub-items which allow you to import from your current program:
- Program
This option will send the current program area (with variables) to the tape creator as a PROGRAM block.
- Screen
This option will send the current screen as a .scr file to the tape creator list. This will be a 6912 byte CODE block, and is a straight memory dump of the emulated screen display.
- Memory Block
This option will open the Add Memory Block window, where you can specify the size and location of the memory block you want to add to the tape as a CODE block.
- Program
As you add blocks, they will appear in the main list. You can get the properties of these blocks by using the Block Menu item, or by clicking the "properties" button below the list.
As blocks are added, you can delete them with the "Delete" button, or move them up/down through the list with the up/down arrow buttons. You can cut, copy and paste the blocks by utilising the Edit Menu.
You can use the Block Menu item to save these blocks out as their corresponding File Formats using the Save As… option.
When you have added all the blocks your program needs, then you can hit the "Build" button to create a tape image. The Windows file requester will appear, prompting you for a filename. The extension you supply dictates the type of file created - a ".tap" filename will create a file of the older "TAP" format, which although less capable than the TZX format, will load into a greater number of emulators. The TZX format is much more flexible, but in BASin has no advantages over the TAP format. You can save files of this type by specifying a ".tzx" extension. The TZX file format is used as a default if you fail to specify an extension, and this format is to be preferred in the interests of phasing out the obsolete TAP format.
The menu strip
The File Menu
The file menu gives you options for loading and saving the tape images you use.
- Open Tape Image…
This will open the standard windows file requester and prompt you to load a new .tzx or .tap file. This will clear any tape image held in memory.
- Add From Image…
Like the Open Tape Image… option, this option will prompt you to load a .tzx or .tap file, but will not clear the current tape image - it will add the blocks from the new file to the end of the current tape file.
- Save Image
Saves any changes you may have made to the current tape image. If this image has not been saved previously, you will be prompted for a filename.
- Save Image As…
Allows you to specify the name that the image will be saved under, which can be useful when editing tapes which you want to make copies of.
- Exit
Closes the Tape Creator tool, but leaves the current tape image intact within memory, for tape streaming purposes.
The Edit Menu
The edit menu gives functionality for copying and pasting blocks, to enable you to manage the list order and content.
- Cut Block
Removes the currently selected block from the image, but takes a copy and places it on the internal clipboard first.
- Copy Block
Takes a copy of the currently selected block and places that copy on the internal clipboard.
- Paste Block
If a copied tape block is currently residing on the internal clipboard, it will be copied and inserted into the tape image at the currently selected tape block position. The block on the clipboard will be left on the clipboard.
- Delete Block
Removes the currently selected block from the tape image, and does not take any copies of that block before it does so. Handle with care.
The Block Menu
The block menu gives you methods of working with the blocks themselves, from adding them through to converting them to files external to the tape image. This can be useful for "ripping" a block out (say for example, a 768 byte font image) for later use in a BASIC program.
- Add From File
Opens the Windows file requester, from where you can load any one of either .bas files, .bsc files, .bsd files, Snapshots (both .sna and .z80), .scr files, .tzx/.tap files, and raw binary files which will be added as CODE blocks. When you open a .tzx or .tap file, all the compatible blocks found within will be added to the end of the list.
- Add From Current…
This menu has a set of sub-items which allow you to import from your current program:
- Program
This option will send the current program area (with variables) to the tape creator as a PROGRAM block.
- Screen
This option will send the current screen as a .scr file to the tape creator list. This will be 6912 bytes long, and is a straight memory dump of the emulated screen display.
- Memory Block
This option will open the Add Memory Block window, where you can specify the size and location of the memory block you want to add to the tape as a CODE block.
- Program
- Save As…
Allows you to save the currently selected block as one of the BASin supported types- for instance, you can save Program blocks as .bas files, Code blocks as .bsc files, and variables as .bsd files. Certain types can also be saved as raw bytes. You will be prompted for a filename to save the block under, and in these circumstances your choice of file extensions will determine what you can save the blocks as.
In particular it is worth mentioning that although every effort to make BASin as stable as possible has been undertaken for these procedures, a lot of the more modern games played fast and loose with the rules of the ROM where memory structure was concerned, and inserted all sorts of fiendish tricks like invalid lines and misleading system variables into their programs. If BASin encounters such a program block, it may well hang or crash BASin when it tries to extract the BASIC from them. You have been warned!
- Move Up
Moves the selected memory block up one place in the list.
- Move Down
Moves the selected memory block down one place in the list.
- Properties
Opens the Block properties dialog where you can set the parameters of each block that appears in your tape image. The options present here are explained in more detail elsewhere in the Tape Block Properties Window help section.
The Streaming Menu
One of BASin's other tape manipulation features is the ability to stream data to your program from tape image files. These options enable or disable this behaviour.
- LOAD/MERGE/VERIFY Commands
When checked, this option instructs BASin that all LOAD, MERGE and VERIFY commands executed by the user are to gather their data not from files on your hard disk, but from the current tape image held in the Tape Creator Window.
- SAVE Commands
When checked, this option instructs BASin that all SAVE commands executed by the user are to send their data not to files on your hard disk, but to the end of the current tape image held in the Tape Creator Window.