SWIFT

From Retrosoftware

(Difference between revisions)
Jump to: navigation, search
(Download)
(Introduction)
Line 34: Line 34:
* Code Limits: allows you to set warnings if your grows in size beyond a given memory address.
* 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.
* Supporting windows can all be docked or undocked as required.
 +
* Context sensitive editor pop up menu to allow you to quickly jump to label definitions or find all occurances of labels

Revision as of 11:12, 16 June 2009

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.
  • Context sensitive editor pop up menu to allow you to quickly jump to label definitions or find all occurances of labels



Download

Date: 05-May-2009
Filename: Swift-v4.1_beta3.zip
Filesize: 879kb
Release Notes: NOTE, this is a Beta version.
  • New Pop up menu on code editor. If right click over a label name (not neccasarily a label definition) then you get two options. "Goto Label" and "Find all local references to label". Allowing you to quickly jump to you label definition or list all occurances of your label in your source code.
  • Search enhanced to have additional options :
    • Ignore Comments. Any occurances of your search term will be ignored if within a comment.
    • Matching options, the following options can be used to specify how a match is determined
      • All. Matches the search test anywhere withing the text including within other words.

      • Exact. Only match if no other characters next to word, for example searching for 'tin'
      Matches
      tin
      the tin was kicked

      No match
      tinned
      3tin
      tin%

      • Exact and none alphanumeric. Only match if no alpha numeric characters next to word (excluding white space), searching for "tin"
      Matches
      tin
      the tin was kicked
      tin%
      <tin
      *tin+gold

      No match
      expecting
      tin4
  • Search results now include the line the search term occurs in within

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)