Marius Posted August 25, 2013 Share Posted August 25, 2013 Hi! If I compile a few of my favorite Basic Games to XEX with the MMG compiler, I get games that run perfect, but far too fast. Ofcourse I could built in slow down routines, but it would be more convenient if there was an option in the compiler to maintain the 50 or 60Hz speed that Basic is running in. I like Nerm of Bemer, Risky Rescue... that kind of games. They are very nice, and I would like to be binaries. Thanks! Quote Link to comment Share on other sites More sharing options...
feather Posted August 25, 2013 Share Posted August 25, 2013 BCOM - BASIC converts the COM. http://atarionline.pl/v01/index.php?ct=utils&sub=4.+Programowanie&tg=BCOM#BCOM http://atarionline.pl/forum/comments.php?DiscussionID=1624&page=1#Item_12 Quote Link to comment Share on other sites More sharing options...
+CharlieChaplin Posted August 25, 2013 Share Posted August 25, 2013 (edited) Well, there are several programs that will convert *.BAS into *.COM/*.XEX files, however Atari Basic is still required to load these files and they do not get faster. If the Basic program requires 30-60 seconds for initializing (thanks to many Data lines), the COM/XEX file still requires the same time. First there is BCOM or BAS2COM by Raster, second there is BAS2BIN from Antic or Analog (which I never got working, the BIN file did not load) and third there is Atari Basic Loader by Stefan Meyer. Whatever converter you use, you should always keep the original file, in case the COM/XEX file does not work (which happens often with BCOM, not so often with AB Loader). Next, its my advice to add one or two lines to the original file, e.g. something like: 0 ? "ESC-Control-CLEAR":CLR:? CHR$(125):REM to clear the screen, etc. 1 Graphics 0:Poke 580,1:REM to setup a Gr. 0 screen and make sure Reset=coldstart Not all Basic programs clear the screen or setup a Gr. 0 screen (some programs are lazy, because Atari Basic always starts with a Gr. 0 screen and thus the command is not set in the program). But for these Basic to COM/XEX converters it is nescessary to clear the screen and setup a Graphics command. BCOM/BAS2COM will only convert Basic files with a max. size of 28kbytes, if you choose the correct option, the COM/XEX file can be stopped by BREAK or Reset key and then listed (there is also an option to protect against Break or Reset). But most of the time the D: device is then gone, so SAVE"D:Filename.BAS" will not work when you have loaded and then listed such a COM/XEX file - however CSAVE or Save"C:" will still work... AB Loader will convert Basic files with a length of up to 32kbytes without problems, Break or Reset does not stop the COM/XEX program, so there is no chance to list it after it has been converted into COM/XEX (so as said before, always keep a backup *.BAS file)... BAS2BIN / BAS2ML creates obscure files, I do not know what to do with them, nor how to load them (no COM-file header, etc.), so I do not use it anymore... (There is also a BAS2EXE.EXE program for the PC by Fandal, it will convert any Atari Basic file into a *.EXE file, but alas, these EXE-Files use $0700-$xxxx and RUN $0700 - they work under emulation, but they will not work with most DOS or gamedos versions on the real A8. Fandal has many such converted Basic programs on his webpage and I always have to "relocate" them first so they work with DOS or gamedos on the real A8.) The first three programs are attached here in the BAS2COM.zip file or BAS2COM ATR-image... ----------------------------- There are other options as well. OSS once created Basic XL on a cart. and err, for those who do not own the cart, but still want to run Basic XL programs, there is the Basic XL Runtime. The name is confusing, because one must not compile Atari Basic or Basic XL files to execute them with the Basic XL Runtime. The only thing the BXL Runtime does is to run BXL files without the cart (one cannot list nor edit these files, only run / execute them). Of course one can also use this BXL Runtime to execute Atari Basic files, some will work, some will not - some are a little faster than normal, some are not. All you have to do is rename the Runtime into Autorun.SYS and rename your Atari Basic program into Autorun.BXL and try out if it works... Next, there is Fast Basic or CTH FastBasic by Tom Hunt. It will run Atari Basic programs a little faster than normal. FastBasic does not contain any new or additional commands, unlike BXL or TB XL it does NOT use RAM under the OS, it just runs AB files a little faster. The original version just displayed "CTH FastBasic" when executed and you had to run your AB program manually. A few days ago I asked Homesoft if he could patch FastBasic for me, so that it automatically executes a file named Autorun.FBA and he did. I have not had the time to test this patched version yet, but hopefully it works as it should (if there is no Autorun.FBA file it will show a black/blank screen and the computer seems to hang). So rename FastBas.COM into Autorun.SYS and your AB program into Autorun.FBA and see if it works... -Andreas Koch. BAS2COM.zip BXLRUNT.zip FASTBAS.zip Edited August 26, 2013 by CharlieChaplin 2 Quote Link to comment Share on other sites More sharing options...
Roydea6 Posted August 25, 2013 Share Posted August 25, 2013 With MMG compiler are you compiling with Integer or Floating point. I think Floating point is slower. Also I have used the BCOM file suggested above by feather Quote Link to comment Share on other sites More sharing options...
Marius Posted August 27, 2013 Author Share Posted August 27, 2013 @Andreas: Wow what a reply! Thanks a lot man! I have to check those suggestions out, but now I don't have time... but thanks! Quote Link to comment Share on other sites More sharing options...
baktra Posted September 10, 2013 Share Posted September 10, 2013 There is also another possibility on PCs. Recently released jbxex 1.1 Java applet/application that can embed multiple ATARI BASIC files at once. Source code is available (the applet and ATARI BASIC activation routine skeleton in 6502 assembly) Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted September 10, 2013 Share Posted September 10, 2013 Isn't a more universal method to calibrate a game_speed variable at startup and then code around that? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.