SWIFT

From Retrosoftware

Jump to: navigation, search

Contents

SWIFT

A BBC Micro Integrated Development Environment, for Windows

Image:Swift-v4.0_ScreenShotThumb.png

Click for larger picture

License

This software is copyrighted freeware and can be used for commercial or non-commercial purposes.

Introduction

Swift is a Project Management tool for handling BBC Micro Machine Code.

These are its main features:

  • Project based (you can have many sources files in your project, assembler,text,sprite collections and raw binary data)
  • Built in code editor
  • Built in Sprite Editor with animation facility
  • Built in hex editor (for raw data files)
  • As many code,sprite and hex windows open as you wish
  • Multiple assemblers can be installed into Swift, although at present only the P65 is tested as working (and is the recommended install)
  • One click assembly (just click a button to get the assembler associated with your project to assemble the source) with all errors and reporting coming back into an error window within the IDE
  • Supports error throwback - double clicking an error opens the appropriate code window and highlights the line
  • All project items have their own properties and you can assign notes to them
  • "Snippets" window to store useful snippets of code to be used across projects, dragging and dropping to/from this window.
  • Multiple emulators can be installed into Swift and each project you have can have a different emulator assigned to it (although only tested and guaranteed to work with BeebEm at present)
  • Assembled code can be written direct to a DFS disk image of your choice (which can be set for individual projects)
  • One Click Testing: you can click one button that will assemble your source code, write it to your projects DFS disk, auto launch the emulator you've chosen for this project, load the disk and, if required, make the emulator run your code ... all in one click from the IDE!
  • Assembler editor windows can be configured for background colour and font
  • Supports extra options for merging various files within your project together to produce one object file, yet allowing you to keep logical parts of your project in seperate files
  • Supports projects where code is placed in seperate areas of the BBC's memory, allowing them to be easily referenced from other code in your project via use of calling labels... no need to remember hex addresses anymore!
  • Search facility for both assembler source and binary files. Allowing searching of all files in project with an easy to access search results window
  • Code Limits: allows you to set warnings if your grows in size beyond a given memory address.
  • Supporting windows can all be docked or undocked as required.



Download

Date: 23-May-2008
Filename: Swift-v4.0_beta3.zip
Filesize: 804kb
Release Notes: NOTE, this is a Beta version.
  • Snippets : There is now a dockable (or not, it's configurable) snippets window, where you can drag highlighted bits of code or text from project item windows to. Once dragged to the snippets window Swift will store this code "snippet" and allow you to drag it back from the snippet window to a source or text window for any project at any time (Snippets live for as long as you wish them to). This allows you to create a library of useful functions available instantly across all your projects. Each snippet can be given a name and using a context sensitive menu you can create unlimitted categories and sub categories to organise your snippets. Categories and snippets can be moved about and re-organised freely by dragging and dropping.
  • The project manager window can now be docked to Swift on the left or right sides, and the display of items and labels swapped between horizontal and vertical. All options can be configured in the settings or changed on the fly from the context sensitive menus.
  • A tab control has been implemented at the top to enable quick switching between project items. Project items can be maximised and switched between easily in a very similer fashion to other popular IDE's
  • Assembly results and search results can now be docked to the Swift window or undocked/re-docked at will and dragged out of the main Swift work area. Again, giving Swift a more familier feel for people using other industry standard IDE's.
  • Indenting/un-indenting shortcut configurable between CTRL+SHIFT+I / CTRL+SHIFT+U and TAB / SHIFT + TAB
  • Configuration option to save all changed files to disk on assembly
  • Keyboard shortcut to save file CTRL+S, F12 to "Save As"
  • Project Item properties show exact disk location of file
  • Progress bar for assembly.
  • Removed adding of files in project properties as this is now handled from project manager.
  • A bug would occur if you tried to include project items from different volumes, this was because Swift uses relative paths and the underlying windows API to get relative paths cannot relate across volumes. Swift will now detect different volumes and if neccasary use the full qualified path if the volume of a project item is different than where the project file is stored.

Previous versions for historical reference can be found here----

Additional Software

You must also install the following software applications/utilities, which complement Swift:




Tutorials

Several tutorial videos are available to guide you through the Swift set up and features of Swift.

NB : Some of these tutorils use older versions of Swift and what you see may not look exactly like the version of Swift you may have.

It is recommended that you download the P65 assembler documentation from http://hkn.berkeley.edu/~mcmartin/P65 as the videos are not really a tutorial in P65 6502 assembler; rather a tutorial in the use of Swift (although some areas of P65 are highlighted).

  • FirstRun (3.5mb zipped)
    How to set up Swift when you run it for the very first time
  • Tutorial 1 (10mb zipped)
    Creating a new project.
    Assembling
    Running and auto booting your code in BeebEm
    Changing "General Settings" - text editor colours and fonts
  • Tutorial 2 (16mb zipped)
    Copying existings files into your project
    Searching files
    Aliases
  • Tutorial 3 (15mb zipped)
    Error Throwback
    Writing more modular code, the "require" pragma statement.
    Label clashes
  • Tutorial 4 (25mb zipped)
    More on writing modular code using extra Swift facilities
    Curing variable name clashes
    The Swift "merge" facility
    Scattering code throughout the BBC's memory map
    Cross referencing labels in other project items and memory locations
    Raw data (binary) files and the Hex editor
    Creating user defined Boot files
    Setting code limits
  • Tutorial 5 (21mb zipped)
    Macros
    Limitations of the Swift "Merge" facility
  • Tutorial 6 (22mb zipped)
    Including Binary (raw data) files in a project
    Indeting code
  • Tutorial 7 (23mb zipped)
    New Project manager window in Swift Ver. 2.0
    Using label values in the BeebEm debugger
    Using Swift with BeebASM 0.6
  • Tutorial 8 (23mb zipped)
    Using the Sprite Editor
  • Tutorial 9 (23mb zipped)
    Using the animation facilities. Other new sprite editing additions.
  • Tutorial 10 (696K zipped)
    Writing BASIC programs and running in emulator.



Feedback

I would be very grateful for any feedback from users of Swift.

To contact me, please leave a message in the appropriate forum on this site or email me, Steve O'Leary, at navalenigma AT hotmail.com

You can also use our Bug Tracker to report a bug or request a new feature for SWIFT.

Links

P65-Ophis Command Reference

Tutorial - although aimed at C64 it might be useful (see it as a supplement to the videos)