Are you a fan of PlayBasic? Do you rely on this software for your daily needs? If so, consider supporting its ongoing development by making a donation.
Every donation, no matter how small, can make a big difference in helping to fund the continued development of PlayBasic. From bug fixes and new features to performance improvements, your support can help ensure that this software stays up-to-date and continues to meet the needs of its users.
There are many ways you can donate to support PlayBasic. You can make a one-time contribution, or you can opt for a recurring donation to provide ongoing support. You can also consider setting up a crowdfunding campaign to raise money for the development of the software.
No matter how you choose to contribute, your support can make a real difference in the future of PlayBasic. So if you value this software and want to see it continue to thrive, please consider making a donation today. Together, we can help ensure that PlayBasic remains a valuable tool for years to come.
PlayBasic V1.65C2 _Retail Upgrade_ Now Available (10th July, 2021)
The PlayBasic V1.65C2 package includes updates of PlayBasic Compiler, Release / Debug Runtimes, SLIBS, DOCS & IDE V1.17b.
The V1.65C2 release is the fourth major release of the next generation of the PlayBasic virtual machine. This is a stabilization release, encompassing the last two years of bug fixes into the upgrade.
Reminder: The new runtime doesn't support reading from types that don't exist, which can cause old programs to fail at runtime. For a full V1.65C2 development story read the PlayBasic V1.65 blogs and for V1.65 related errors, post them in the V1.65 bug reporting thread on the forums.
PlayBasic V1.65C _Retail Upgrade_ Now Available (21st Oct, 2018)
The PlayBasic V1.65C package includes updates of PlayBasic Compiler, Release / Debug Runtimes, SLIBS, DOCS & IDE V1.17b.
The V1.65C includes third major release of the next generation of the PlayBasic virtual machine. In this build 100% of the commands now executed on the new VM side, giving much higher execution performance than V1.64 and previous legacy builds. The main objective of V1.65C revision was to catch the last remaining problems or missing functionality from the previous V1.65 releases, which I thing we've about covered now. There's still some features missing from the V1.64 era of the runtime that are not in v1.65c such as sequential type access optimizations, but that will reappear in the later build.
Reminder: The new runtime doesn't support reading from types that don't exist, which can cause old programs to fail at runtme. For a full V1.65B development story read the PlayBasic V1.65 blogs and for V1.65 related errors, post them in the V1.65 bug reporting thread on the forums.
PlayBasic V1.65C BETA #41 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY) (29th July,2018)
V1.65C Beta #41 includes support for building EXE's - thus it includes the release and debug runtimes in the BIN folder. So in order to test, you copy the files into your PlayBasic folder, so that they replace your existing files. You might not want to break your 'official retail install, so what I generally go is just make a clone of my PlayBasic folder somewhere and then drop the beta files into it. This allows me to play without ever worrying about damaging my retail install.
Just wanted to say that this morning the new build process finally sprang to life, after a number of trouble shooting sessions. This means that the current build includes the ironed out new APP format (localized) and it's new startup sequence. Long story short, this mean the runtime can be built into the release and debug editions and thus exe's can be built, but they work.
There's still some missing things from the APP format such as a replacement of the initial properties, which were a binary hunk in the original byte code, but could be replaced with either a text version or default startup function appended to the user code. Something like the latter will need to done at some point, but I'm in no rush with that.
Now what ? Well, it means we head into a clean up phase in order to build a release build from the V1.65C code bases, stuff like cleaning out legacy code & debug code from the runtimes. It'll need some testing in the wild that's for sure and there's some compiler features that are not present in v1.65 at all, but it's working and that's all I care about today...Tomorrow is another day!
PlayBasic V1.65C BETA #20 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY) (29th Dec,2017)
V1.65C Beta #20 virtually concludes the V1.65 clean up. In this build we are running on the new VM only. Which means all new instruction set and all new inner workings of PlayBasic... In this last build we're reconnected the Vm with the legayc debugger, which was previously rigidly hooked to the legacy VM making it break in later builds. In this version is almost back to normal, I say almost as the old interfaces are still there and there many be some routines still using them, but I'll tackle that in the clean up when building a release version in the new year.
The new runtime brings us more number crunching performance, standard instruction set and is now separate from most of the command sets (some are built into the VM.. like strings or array commands) the generally command sets could be swapped without needing to constantly update the runtime. There's some features of V1.64P that are NOT in the new VM, which are mainly some of the compiler optimizations that it would make to user byte code, one that comes to mind is the serialization of the Type / Structure accesses.. Which can give a massive performance benefit in code that focuses it's accessed on one structure of data.. I'm going to include this in V1.65, but wanted to get it working first.. then we can add some of my list of tricks
Anyway, have fun.. there's bound to be some DEBUG messages etc in this.. but it's the future !
PlayBasic V1.65B _Retail Upgrade_ Now Available (23rd, June, 2017)
The PlayBasic V1.65B package includes updates of PlayBasic Compiler, Release / Debug Runtimes, SLIBS, DOCS & IDE V1.17b.
The V1.65B includes the second release of the next generation of the PlayBasic virtual machine. In this build 99.99% of the commands now executed upon the new VM side, giving much higher execution performance. There are still some 'commands' tied to the legacy VM such as the debugger commands and few text commands such as Print and TEXT and the Sync command which is actually a VM TRIGGER, but they'll be moved in the next build..
Performance wise this is easily the fastest edition of PlayBasic to date, even though the runtime is missing some of the byte code optimization modes found in V1.64 builds, which will tackled in the next revision of the 1.65, but for now get stuck into it.
Reminder: The new runtime doesn't support reading from types that don't exist, which can cause old programs to fail at runtme. For a full V1.65B development story read the PlayBasic V1.65 blogs and for V1.65 related errors, post them in the V1.65 bug reporting thread on the forums.
PlayBasic V1.65 _Retail Upgrade_ Now Available (9th, Oct, 2016)
This release updates any version from PlayBasic V1.63w2 to PlayBasic V1.64P4 (retail) to the current retail version of PlayBasic V1.65. If your current version is older than PB1.63W (pre June/July 1997), then you may need to install patch PB1.63w2 prior to this one ! (if you haven't already)
The PlayBasic V1.64P4 package includes updates of PlayBasic Compiler, Release / Debug Runtimes, SLIBS, DOCS & IDE V1.17b.
The PlayBasic V1.65 build introduces the next generation of the PlayBasic virtual machine, so everything on the execution side of the product is new. This new VM gives us better speed (with even more speed to come) but of couse all these changes introduce new gremblins also. So you should expect to find programs that don't compile and simply wont work. Some of these changes occur from compiler / parser side of things, but things like crashes will be either some missing functionality in the new VM or something it used to do, isn't being handled anything, or has changed.