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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi all, I've released PC-BASIC 15.08.1. This minor release brings documentation improvements and bugfixes, in particular:
Thanks to everyone who reported bugs!
Have fun,
Rob
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.
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
View and moderate all "[CLOSED] General Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
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.
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.
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.
View and moderate all "[CLOSED] General Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
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..
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.