1. 03 Jun, 2017 1 commit
    • Jeffrey Lee's avatar
      Add "BASICVFP", a VFP version of BASIC64 · b3332e2b
      Jeffrey Lee authored
      Detail:
        See Doc/BASICVFP for overall design/specification
        File changes:
        - !Mk,fd7, !MkClean,fd7, !MkRom,fd7, Makefile - update build scripts to support BASICVFP target
        - Resources/UK/Messages - Add a few new messages
        - hdr/Definitions - Define BASICVFP register usage and a few utility macros
        - hdr/WorkSpace - Define BASICVFP workspace adjustments. Add a few asserts to check some workspace constraints are maintained.
        - s/* - Lots of changes to add support for BASICVFP variant of the module
      Admin:
        Tested on Raspberry Pi 1/2/3, BB-xM
      
      
      Version 1.67. Tagged as 'BASIC-1_67'
      b3332e2b
  2. 01 Dec, 2013 2 commits
    • Robert Sprowson's avatar
      Have BASIC manage its own messages · eb6ee979
      Robert Sprowson authored
      For the standalone case BASIC[64] will now register its own resources into Resources/BASIC/BASIC[64]Msgs.
      For the ROM case BASIC[64] will share them in Resources/BASIC/Messages as before.
      This ensures that regardless of the order of loading, and the potential that a ROM and standalone version might be mixed, both ends up seeing the messages its expecting to see.
      Tested in a ROM build and softloaded on RISC OS 4.02.
      
      Version 1.57. Tagged as 'BASIC-1_57'
      eb6ee979
    • Robert Sprowson's avatar
      Non functional changes · a9a2b853
      Robert Sprowson authored
      Lined up some comments.
      Changed LNK filenames to be Unix style (thing.s rather than s.thing).
      Tagged as BASIC-1_57-pre2
      a9a2b853
  3. 26 Apr, 2013 2 commits
    • Ben Avison's avatar
      Error handling fix, part 4 · 3c189278
      Ben Avison authored
      Detail:
        The commands TWIN and TWINO are redundant, so have been removed and
        now give a 'Mistake' error. The tokenisation has not been changed. CALLEDNAME
        is now redundant, but the first byte is used as a QUIT flag, so it has not
        been changed. BasicTrans was also changed to remove references to TWIN, and
        say 'This command is no longer available'. Fixes line number of error when
        TWIN entered after Fix 1.
      Admin:
        Changes by Martin Avison
      
      Version 1.53. Not tagged
      3c189278
    • Ben Avison's avatar
      Additional comments and whitespace changes · 82fdbef1
      Ben Avison authored
      Admin:
        Provided by Martin Avison, as part of his error handling changes in the
        following commits. This particular commit should build as binary identical
        to version 1.53.
      
      Version 1.53. Not tagged
      82fdbef1
  4. 18 Sep, 2012 2 commits
    • Robert Sprowson's avatar
      Correction to RMEnsure · 077e12aa
      Robert Sprowson authored
      Neither the module title nor the filename turned out to be right.
      Retagged as BASIC-1_53.
      077e12aa
    • Robert Sprowson's avatar
      Add an attempt to load ArmBE when EDIT keyword is used · 7d5192d5
      Robert Sprowson authored
      It may fail if not available, but so did 'EDIT'. This way if it is available at least the 'EDIT' command enters the editor.
      Note: this replaces the recommendation to load from ADFS::0.$.Modules.BasicEdit in the chapter "Editing BASIC files under RISC OS 2" in the BBC BASIC reference manual (!).
      
      Version 1.53. Tagged as 'BASIC-1_53'
      7d5192d5
  5. 11 Dec, 2011 1 commit
  6. 17 May, 2009 1 commit
    • Ben Avison's avatar
      Unaligned load optimisations · e80de2b3
      Ben Avison authored
      Detail:
        * Uses global LDW macro instead of locally-defined LOAD macro (or longhand
          implementations)
        * Some other cases of unaligned loads for v6+ added in places that didn't
          lend themselves to the LDW macro
        * 5-byte (FP) load operation now macroised - the macro skips the unnecessary
          BIC when assembling only for pre-v6 CPUs, or uses unaligned loads for
          v6+ CPUs (unless NoUnaligned global flag is set)
      Admin:
        Tested on a rev B7 beagleboard.
      
      Version 1.43. Tagged as 'BASIC-1_43'
      e80de2b3
  7. 10 May, 2009 1 commit
    • Jeffrey Lee's avatar
      Fix BASIC to handle ARMv6/ARMv7 unaligned loads · 79c70c8d
      Jeffrey Lee authored
      Detail:
        s/Command - LOADFILETOKENCOPY now uses compile-time architecture flags to decide how to handle the potential unaligned load while copying data
        s/ModHead - Include Hdr:CPU.Arch to get architecture flags
      Admin:
        Tested on rev C2 beagleboard. Untested on Tungsten/IOMD, but should be fine.
      
      
      Version 1.42. Tagged as 'BASIC-1_42'
      79c70c8d
  8. 24 Apr, 2009 1 commit
    • Steve Revill's avatar
      Lots of code improvements but no changes to the built binary. · b55421a9
      Steve Revill authored
      This update replaces lots of hard-wired definitions of things such as SWI
      names with the ones from the main exports in the build environment. It
      should build a binary-identical module to the previous revision.
      
      Author: Rob Sprowson
      
      Version 1.40. Tagged as 'BASIC-1_40'
      b55421a9
  9. 02 Dec, 2002 1 commit
    • Ben Avison's avatar
      Bugfix: the TITLE routine was stacking and unstacking R13. This is defined as... · 2d2ce762
      Ben Avison authored
      Bugfix: the TITLE routine was stacking and unstacking R13. This is defined as UNPREDICTABLE in the ARM ARM, and while it seems to have been harmless on older ARMs, the XScale corrupts R13 - in this case, it was always loaded with the value &80F0. This meant that you couldn't load untokenised BASIC programs via the *BASIC command because TOP was already above the bottom of the stack!
      
      Also optimised a non-aligned data copy routine a little bit.
      
      Version 1.34. Tagged as 'BASIC-1_34'
      2d2ce762
  10. 23 Apr, 2002 1 commit
    • Steve Revill's avatar
      * Performance tweaks. · 24b8ea4e
      Steve Revill authored
        * Comments added.
        * Added DIM LOCAL.
      Detail:
        * All of the 408 instances of pushes and pops of a single register
          (i.e. "LDMIA SP!,{PC}") have been replaced with an LDR/STR equivalent,
          which provides a small performance boost on StrongARM-like processors.
        * Some obscure bits of the source have had comments added.
        * The new DIM LOCAL statement has been added:
      
          Syntax: DIM <numeric variable> LOCAL <numeric expression>
      
          DIM LOCAL allocates space from the BASIC stack rather than from the
          heap. This means that the space allocated is automatically freed on
          exit from the PROC or FN in which it was claimed.
      
          As with all LOCAL statements, it must appear in a PROC or FN definition
          and cannot appear inside a structure which uses the stack (i.e. NEXT)
          or after a LOCAL ERROR.
      
          Much like the manner in which "DIM foo% -1" returns the value of FSA
          without allocating space, "DIM foo% LOCAL -1" returns the value of SP
          at the time of the request, without allocating any space from the stack.
          This can be useful in computing the free space between the top of the
          BASIC heap and the bottom of the stack. Of course, the stack is used by
          BASIC while interpreting the program, so the contents of memory below
          foo% should always be treated as undefined.
      
          One caveat of using DIM LOCAL is that the stack cannot be moved while
          there are DIM LOCALs defined. END= will return an error and any
          Service_Memory calls will be claimed for the duration of the DIM LOCAL.
      Admin:
        Builds and tested on RiscPC.
        Requires BASICTrans-2_06.
      
      Version 1.30. Tagged as 'BASIC-1_30'
      24b8ea4e
  11. 14 Mar, 2001 1 commit
    • Steve Revill's avatar
      Improved BASIC build structure. No code change. · a7061208
      Steve Revill authored
      Detail:
        Makefile strips dependencies during the clean phase.
      
        Sources moved into an 's' directory.
      
        All sources reformatted into a more readable layout.
      Admin:
        Builds binary-identical versions of BASIC and BASIC64 modules to
        version 1.22
      
      Version 1.23. Tagged as 'BASIC-1_23'
      a7061208