Menu

Release 15.08.1

2015-11-15
2017-11-24
  • Rob Hagemans

    Rob Hagemans - 2015-11-15

    Hi all, I've released PC-BASIC 15.08.1. This minor release brings documentation improvements and bugfixes, in particular:

    fix the crash on pressing Enter on an empty line in AUTO mode
    fix the crash on CHDIR and FILES in Windows
    fix INPUT PAST END error on INPUT$ on a keyboard file
    fix monochrome monitor emulation with CGA video
    

    Thanks to everyone who reported bugs!
    Have fun,
    Rob

     
  • Ronald Herrera

    Ronald Herrera - 2015-11-16

    Hi, I was having the same problems, at least with the followings:

    Problems:
    1. When PC-BASIC installs in a folder any than …\AppData\Roaming\pcbasic, it doesn’t create a PCBASIC.INI.
    2. After making a successful mounting (e.g. mount=c:c:\whatever\subs), the command CHDIR works, but the PC-BASIC exit unexpectedly after the FILES command.
    3. Seams that repeating the SOUND statement cause PC-BASIC to crash on Windows 7 causing message: "pcbasic.exe has stopped working

    A problem caused the program to stop working correctly.
    Windows will close the program and notify you if a solution is
    available."

    Piece of code:
    10 REM DAZZLER -- CopyMade Division <(AöC)> Ver. 20151030
    20 'SAVE "DAZZLE04.BAS", A
    30 KEY OFF: SCREEN 7: CLS : ON ERROR GOTO 340
    40 RANDOMIZE TIMER: G = 1.5: H = 1
    50 F = INT(RND * 5000) + 100: C = INT(RND * 15) + 1: I = INT(RND * 3) + 1
    60 A$ = INKEY$: IF A$ = CHR$(27) THEN GOTO 340
    70 IF A$ = " " THEN G = G + .5: IF G = 4.5 THEN G = .5
    80 IF A$ = "B" OR A$ = "b" THEN H = H + 1: IF H >= 5 THEN H = 0
    90 IF I = 1 THEN GOTO 130
    100 IF I = 2 THEN GOTO 200
    110 IF I = 3 THEN GOTO 240
    120 GOTO 50
    130 'RECTANGLES
    140 A = INT(RND * (320 - (H * 2))) + H: B = INT(RND * (200 - (H * 2))) + H
    150 D = INT(RND * (320 - (H * 2))) + H: E = INT(RND * (200 - (H * 2))) + H
    160 IF A > D THEN SWAP A, D
    170 IF B > E THEN SWAP B, E
    180 LINE (A - H, B - H)-(D + H, E + H), 0, BF
    190 LINE (A, B)-(D, E), C, BF: GOTO 330
    200 'CIRCLES
    210 D = INT(RND * (55))
    220 A = INT(RND * (320 - (D * 2))) + D: B = INT(RND * (200 - (D * 2))) + D
    230 CIRCLE (A, B), D, C: PAINT (A, B), C, C: CIRCLE (A, B), D, 0: GOTO 330
    240 'TRIANGLES
    250 A = INT(RND * (320 - (H + H))) + H: B = INT(RND * (200 - (H + H))) + H
    260 D = INT(RND * (320 - (H + H))) + H: E = INT(RND * (200 - (H + H))) + H
    270 J = INT(RND * (320 - (H + H))) + H: K = INT(RND * (200 - (H + H))) + H
    280 L = INT((A + D + J) / 3): M = INT((B + E + K) / 3)
    290 LINE (A, B)-(D, E), C: LINE (D, E)-(J, K), C
    300 LINE (J, K)-(A, B), C: PAINT (L, M), C, C
    310 LINE (A, B)-(D, E), 0: LINE (D, E)-(J, K), 0
    320 LINE (J, K)-(A, B), 0
    330 SOUND F, G: GOTO 50
    340 SCREEN 0: WIDTH 80
    350 IF ERR > 0 AND ERL > 0 THEN PRINT "ERR="; ERR; " ERL="; ERL
    360 END

    P.D. If the SOUND statement in line 330 is remarked or ignored (letting continue with the GOTO 50), PC-BASIC would continue without crashing,

    Ronald.

     
    • Rob Hagemans

      Rob Hagemans - 2015-11-16

      Hi Ronald, thanks for the additional information! I checked this on Windows 7:
      1) PCBASIC.INI is created when you first run the newly installed PC-BASIC. The config file PCBASIC.INI is always stored in …\AppData\Roaming\pcbasic regardless of where the program files have been installed, because this is the standard location for configuration files on Windows.
      2) I believe this has been solved in version 15.08.1. If you still have problems after installing the new version, please let me know.
      3) Thanks for the program, that's very useful. It may well be a segmentation fault in the Pygame library as I have seen those before when using sound. That's something I cannot fix, as I am not well enough acquainted with the Pygame source code, but the good news is that a new version is in the making that uses SDL2 rather than Pygame. SDL2 is being actively developed and fixes many issues with the old SDL that Pygame is based on, so this problem may well go away.

      Rob

       
  • Anonymous

    Anonymous - 2015-11-16

    Very nice, good job btw. I'll be waiting for it, because some of my files contains 3-voice sounds for Tandy/PCjr and like very much to see/hear them running. :-) Any other relaese which fix the problem, please let me know. Ron.

     
    • Rob Hagemans

      Rob Hagemans - 2015-11-16

      It seems the crash happens on one 64-bit Windows 7 box I tried but not on my usual 32-bit Windows 7 VirtualBox VM. I have no idea why - Windows doesn't give much feedback beyond the crash message you posted. Clearly it's related to the sound system. I've had Pygame sound system crashes on Linux before, but they were much rarer. Perhaps I can try to package PC-BASIC with a newer version of Pygame compiled from source, as the binaries the project distributes are out of date, and perhaps SDL2 will save the day. Unfortunately segmentation faults are very difficult to debug.

       
  • Ronald Herrera

    Ronald Herrera - 2015-11-17

    I understand, I tried to run PC-BASIC with a different compatibility mode (e.g. Windows XP) but the result remains the same. I do have a VirtualBox VM for Windows XP, maybe there could be a different effect. Anything else should be a wait for this new library SDL2 for a solution. Thank you! Ron.

     
  • Anonymous

    Anonymous - 2017-11-23

    Any updates? I just downloaded PCBasic, and the first thing I tried was a simple loop like;
    10 for x=100 to 200
    20 sound x,1
    30 next x

    and.. each time I run it, on Win10x64 it kills PCBasic completely, at random times through the run.. very strange..

     
    • Rob Hagemans

      Rob Hagemans - 2017-11-24

      No recent updates, the cause of the intermittent crashes on some 64-bit Windows machines has not been found and the issue was not solved by newer versions of Pygame. However, you can try the development version which uses SDL2 to see if this avoids the problem.

       
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.