BBC BASIC for Windows
« BBC BASIC for Windows version 6.00a released »

Welcome Guest. Please Login or Register.
Apr 5th, 2018, 9:51pm



ATTENTION MEMBERS: Conforums will be closing it doors and discontinuing its service on April 15, 2018.
Ad-Free has been deactivated. Outstanding Ad-Free credits will be reimbursed to respective payment methods.

If you require a dump of the post on your message board, please come to the support board and request it.


Thank you Conforums members.

BBC BASIC for Windows Resources
Online BBC BASIC for Windows documentation
BBC BASIC for Windows Beginners' Tutorial
BBC BASIC Home Page
BBC BASIC on Rosetta Code
BBC BASIC discussion group
BBC BASIC for Windows Programmers' Reference

« Previous Topic | Next Topic »
Pages: 1  Notify Send Topic Print
 thread  Author  Topic: BBC BASIC for Windows version 6.00a released  (Read 2850 times)
rtr2
Guest
xx BBC BASIC for Windows version 6.00a released
« Thread started on: Jan 1st, 2015, 5:03pm »

Today I have released BBC BASIC for Windows version 6.00a. This version includes the following modifications:
  1. Support for legacy 40-bit (5-byte) floating-point variables has been removed.

  2. 'Suffixless' variables are now always 80-bit (10-byte) variants.

  3. A 64-bit signed integer variable type is introduced, which has a %% suffix.

  4. Strings are no longer limited to a maximum length of 65535 characters.

  5. PTR# and EXT#, which read or write the file pointer and length now return and accept 64-bit values.

  6. The assembler now accepts the FCOMI, FCOMIP, FUCOMI and FUCOMIP instructions.

  7. The command *FLOAT 80 selects that floating-point indirection and numeric data files use 80-bit variants.

  8. A *HEX command controls whether hexadecimal conversion and the bit-shift operators work with 32-bit or 64-bit numbers.

  9. The *FONT command supports the strikeout attribute (Q).

  10. A new compiler directive REM!Fast is implemented.

  11. The manifest includes the Windows 10 compatibility identifier.

  12. A new menu selection Run... Debug and toolbar button are added.

  13. A new Step Line toolbar button is added.

Other components of BBC BASIC for Windows changed in this release are as follows:
  1. Updated Cross Reference, Differences, Module Viewer and Profiler add-in utilities.

  2. Updated CLASSLIB, EVENTLIB, MULTIWIN and SOCKLIB libraries.
To upgrade your copy of BBC BASIC for Windows to version 6.00a, and at the same time update your libraries, utilities, example programs and manual, download and install UPGRADE.EXE from here:

http://www.rtrussell.co.uk/bbcwin/download.html

Please note that version 6.00a is not fully compatible with earlier versions. Ensure that you read the Compatibility considerations section of the documentation before deciding to upgrade.

Sadly, but inevitably, BB4W v6.00a cannot be guaranteed to be as bug-free as its predecessors, because significant modifications have been made and it has not had extensive testing over a long period. Let's hope the Beta Testers have done their job thoroughly!

Richard.

« Last Edit: Jan 1st, 2015, 5:06pm by rtr2 » User IP Logged

David Williams
Developer

member is offline

Avatar

meh


PM

Gender: Male
Posts: 452
xx Re: BBC BASIC for Windows version 6.00a released
« Reply #1 on: Jan 1st, 2015, 9:01pm »

on Jan 1st, 2015, 5:03pm, g4bau wrote:
Today I have released BBC BASIC for Windows version 6.00a.


Well, firstly, Happy New Year to you & Sue.

Thanks for the release of BB4W 6.00a. I expect I'll give it a whirl at some point (but not before reading the compatibility considerations, as you have advised us to do).

I'm pretty much glued to my Android device these days, and rather lacking time for - or interest in - programming, but such interest comes in waves with me. (Like fairly recently when I was learning C just so I could create a DLL to use with BB4W, and also save myself a lot of time writing assembler code.)

on Jan 1st, 2015, 5:03pm, g4bau wrote:
  • A new compiler directive REM!Fast is implemented.


  • This has piqued my interest somewhat.


    Regards,

    David.
    --
    User IP Logged

    rtr2
    Guest
    xx Re: BBC BASIC for Windows version 6.00a released
    « Reply #2 on: Jan 2nd, 2015, 09:20am »

    A couple of things pertinent to the new release:

    Occasionally people report problems with 'truncated downloads', especially at times of net congestion. So you can check whether the file has been received in its entirety here are the correct lengths:

    upgrade.exe: 3,744,224 bytes
    bbcwdemo.exe: 3,652,696 bytes

    If you have persistent download problems try the alternative mirror (so if you were using rtrussell.co.uk try bbcbasic.co.uk and vice-versa).

    Secondly, 'false positives' from virus scanners are occasionally reported. To give you confidence that BB4W v6 is clean, here are the Virus Total reports:

    Virus Total report on bbcwin6.exe
    Virus Total report on bbcwdem6.exe
    Virus Total report on bbcwrun6.exe

    Richard.
    User IP Logged

    TonyTooth
    New Member
    Image


    member is offline

    Avatar




    PM


    Posts: 2
    xx Re: BBC BASIC for Windows version 6.00a released
    « Reply #3 on: Jan 3rd, 2015, 10:42am »

    Hi Richard - I've tried 6.00a. I was a bit apprehensive about what it would mean for my many, many floating-point ASM programs - but suffice to say it just seems a matter of changing all the QWORD loads and stores into TBYTEs. That's quickly done in one go with the EDIT - REPLACE facility in the IDE.
    User IP Logged

    rtr2
    Guest
    xx Re: BBC BASIC for Windows version 6.00a released
    « Reply #4 on: Jan 3rd, 2015, 10:56am »

    on Jan 3rd, 2015, 10:42am, TonyTooth wrote:
    it just seems a matter of changing all the QWORD loads and stores into TBYTEs.

    I think I would have preferred to leave the assembler code unchanged, and simply ensure that all the variables which it references have the proper # suffix (meaning '64-bit double'). That way the programs remain compatible with BB4W v5, which they don't with the changes you propose.

    Of course it's an entirely different matter if you actually want to take advantage of the increased precision of 80-bit floats compared with 64-bit doubles, but I assume you don't.

    Richard.
    User IP Logged

    TonyTooth
    New Member
    Image


    member is offline

    Avatar




    PM


    Posts: 2
    xx Re: BBC BASIC for Windows version 6.00a released
    « Reply #5 on: Jan 3rd, 2015, 11:01am »

    Yes - fair point. I tried that too. Only problem is that it takes forever! It's OK doing it once or twice, but I've probably got over 100 FP ASM facilities.
    User IP Logged

    rtr2
    Guest
    xx Re: BBC BASIC for Windows version 6.00a released
    « Reply #6 on: Jan 3rd, 2015, 12:55pm »

    on Jan 3rd, 2015, 11:01am, TonyTooth wrote:
    I tried that too. Only problem is that it takes forever!

    Fair enough, but I think you were lucky not to have encountered any instructions like:

    Code:
          fadd qword [^var] 

    since in this and similar cases there's no tbyte equivalent, and a search-and-replace approach would give rise to syntax errors probably quite difficult to resolve.

    Richard.
    User IP Logged

    rtr2
    Guest
    xx Re: BBC BASIC for Windows version 6.00a released
    « Reply #7 on: Jan 3rd, 2015, 9:30pm »

    You may have noticed that I've made no mention of the speed of BB4W v6 (or, more precisely, its relative speed compared with v5). This is deliberate, not because I want to withhold the information but because there's no simple answer which wouldn't be misleading.

    The most honest, if not necessarily helpful, answers are "it depends" and "it will probably not be very different from v5". If you search back through the v6 threads you will find some references to speed, in one extreme case noting that it ran at only half the speed of v5.95a. But that really isn't typical.

    If you want a slightly more quantitative answer, my expectation would be that a program running in v6.00a may well run a little slower than it would in v5.95a in the default *FLOAT40 mode, but if you're lucky it might run a little faster than the same program running in *FLOAT64 mode.

    If you're really concerned, check it for yourself. BB4W v5.95a remains available and supported should you decide it is a better choice for your program(s).

    Richard.
    User IP Logged

    DDRM
    Administrator
    ImageImageImageImageImage


    member is offline

    Avatar




    PM

    Gender: Male
    Posts: 321
    xx Re: BBC BASIC for Windows version 6.00a released
    « Reply #8 on: Jan 5th, 2015, 3:28pm »

    Hi Richard,

    Brilliant - thanks!

    Downloaded and installed flawlessly. I've been using the 6 beta for a while with no problems, so I don't expect any now, and it's great to have the help referring to V6.

    As you say in the other thread it is possible to have shortcuts to both versions on the desktop - I didn't even need to fiddle with them after installing.

    Best wishes,

    D
    User IP Logged

    rtr2
    Guest
    xx Re: BBC BASIC for Windows version 6.00a released
    « Reply #9 on: Jan 11th, 2015, 04:38am »

    on Jan 3rd, 2015, 9:30pm, g4bau wrote:
    If you want a slightly more quantitative answer, my expectation would be that a program running in v6.00a may well run a little slower than it would in v5.95a in the default *FLOAT40 mode, but if you're lucky it might run a little faster than the same program running in *FLOAT64 mode.

    I'm always uneasy about speed benchmarks, since their relevance depends on how similar the operations performed in the benchmark program are to those performed in your own program(s).

    However, to put some flesh on the bone I ran this program on the different varieties and configurations of BB4W:

    Code:
          INSTALL @lib$+"ARRAYLIB"
    
          TIME = 0
          DIM A(200,200)
          FOR R% = 0 TO DIM(A(),1)
            FOR C% = 0 TO DIM(A(),2)
              A(R%,C%) = RND(1) * 10^RND(3)
            NEXT
          NEXT R%
    
          PROC_invert(A())
          PRINT TIME 

    The results were as follows when run in the IDE:

    BB4W v5.95a (*FLOAT 40): 610 cs
    BB4W v5.95a (*FLOAT 64): 680 cs
    BB4W v6.00a: 610 cs

    So in this particular case v6.00a ran at the same speed as v5.95a in its default *FLOAT 40 mode, and a little faster than v5.95a in *FLOAT 64 mode. As they say, YMMV.

    Richard.
    User IP Logged

    David Williams
    Developer

    member is offline

    Avatar

    meh


    PM

    Gender: Male
    Posts: 452
    xx Re: BBC BASIC for Windows version 6.00a released
    « Reply #10 on: Jan 30th, 2015, 11:59am »

    Currently working on a BB4W project for which 80-bit floats will be useful and possibly even necessary. Will post something to this forum if I make reasonable progress.

    David.
    --
    User IP Logged

    KenDown
    Full Member
    ImageImageImage


    member is offline

    Avatar




    PM


    Posts: 181
    xx Re: BBC BASIC for Windows version 6.00a released
    « Reply #11 on: Mar 7th, 2015, 4:06pm »

    Is there any way I can install v. 6 without overwriting my v. 5.95a?
    User IP Logged

    rtr2
    Guest
    xx Re: BBC BASIC for Windows version 6.00a released
    « Reply #12 on: Mar 7th, 2015, 4:38pm »

    on Mar 7th, 2015, 4:06pm, KenDown wrote:
    Is there any way I can install v. 6 without overwriting my v. 5.95a?

    v6.00a does not overwrite v5.95a. Because of the potentially incompatible differences I renamed the executables as BBCWIN6.EXE and BBCWRUN6.EXE so they will not overwrite the original (v5) BBCWIN.EXE and BBCWRUN.EXE. On most of my PCs I have desktop shortcuts to both v5 and v6 so I can easily run either.

    The libraries, example programs and add-in utilities will be replaced, but that is usually what you will want (for example the APLIB.DLL which comes with v6.00a is less likely to cause MalwareBytes to report a false positive than the one which comes with v5.95a).

    Also bear in mind that the same Registry entries are used, so things like the 'recent programs' list and the customization settings are shared between v5.95a and v6.00a.

    Richard.
    User IP Logged

    Pages: 1  Notify Send Topic Print
    « Previous Topic | Next Topic »

    | |

    This forum powered for FREE by Conforums ©
    Terms of Service | Privacy Policy | Conforums Support | Parental Controls