wmt029 Posted February 21, 2021 Share Posted February 21, 2021 I'm thinking about converting my simple space shooter to the Atari 8 bit line. I'm not sure I want to take the time to learn Assembly language. What do people thing about using Turbo Basic? I vaguely remember that it was possible to compile Turbo Basic programs. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 21, 2021 Share Posted February 21, 2021 Depends on how complex it is. Compiled TBXL is quite capable, but there are limitations. A lot of limitations can be overcome with readily available machine language subroutines, though. Quote Link to comment Share on other sites More sharing options...
baktra Posted February 21, 2021 Share Posted February 21, 2021 If the shooter is to be written from scratch, FastBASIC, CC65, Mad Pascal, or KickC are better options. 1 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 21, 2021 Share Posted February 21, 2021 (edited) 14 minutes ago, baktra said: If the shooter is to be written from scratch, FastBASIC, CC65, Mad Pascal, or KickC are better options. I'm not sure that's true for a simple shooter (depending on how simple of course). Don't forget, TBXL now has the ability to be easily cross-developed using DSMC's BASIC/TBXL Parser -- which enables working without line numbers and diminishes the output program size (if desired) significantly (including disappearing "REM" lines). A rather formidable development combination -- especially when used with a good PC editor and quality language definition files. Development is quite quick using it; and when less time is spent on general development, more time can be devoted to optimizations, if needed. Edited February 21, 2021 by MrFish 2 Quote Link to comment Share on other sites More sharing options...
Sikor Posted February 21, 2021 Share Posted February 21, 2021 1 hour ago, MrFish said: TBXL now has the ability to be easily cross-developed using DSMC's BASIC/TBXL Parser Where I find it with compiler? All statement of TB XL are implemens? 4 hours ago, wmt029 said: I'm thinking about converting my simple space shooter to the Atari 8 bit line. I'm not sure I want to take the time to learn Assembly language. What do people thing about using Turbo Basic? I vaguely remember that it was possible to compile Turbo Basic programs. Can you show us your shooter? All is depend of complexity of your game. And Yes, Turbo Basic XL is simply language to learn to peoples, who know BASIC dialects. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 21, 2021 Share Posted February 21, 2021 31 minutes ago, Sikor said: Where I find it with compiler? All statement of TB XL are implemens? It doesn't compile. You still have to do that with TBXL. No big deal, because compiling is usually just something you do at the end, or from time to time when testing out the speed of things. BASIC/TBXL Parser does shorten your source to the most compact possible tokenized or ATASCII form, though, giving you a lot of memory use reduction. It's Windows command line, so you can execute from any good IDE (Notepad++ works great with it). All TBXL statements are implemented. I've been using it for years now with great success. The latest version can always be found here: TBXL / Atari BASIC Parser It's by user @dmsc here; the same guy who developed fastBasic. 2 1 Quote Link to comment Share on other sites More sharing options...
dmsc Posted February 21, 2021 Share Posted February 21, 2021 Hi! 5 hours ago, MrFish said: It doesn't compile. You still have to do that with TBXL. No big deal, because compiling is usually just something you do at the end, or from time to time when testing out the speed of things. BASIC/TBXL Parser does shorten your source to the most compact possible tokenized or ATASCII form, though, giving you a lot of memory use reduction. It's Windows command line, so you can execute from any good IDE (Notepad++ works great with it). All TBXL statements are implemented. I've been using it for years now with great success. The latest version can always be found here: TBXL / Atari BASIC Parser It's by user @dmsc here; the same guy who developed fastBasic. Yes, FastBasic started as my attempt at writing a new compiler for TBXL, and realizing that changing the language would be easier and produce faster results. And that link above reminds me, it has been 1.5 years since last release of the tbxl-parser, I should prepare a new release with all the changes already included in the source - specially the added support for Atari BASIC output. Have Fun! 3 1 Quote Link to comment Share on other sites More sharing options...
wmt029 Posted February 21, 2021 Author Share Posted February 21, 2021 11 hours ago, Sikor said: Where I find it with compiler? All statement of TB XL are implemens? Can you show us your shooter? All is depend of complexity of your game. And Yes, Turbo Basic XL is simply language to learn to peoples, who know BASIC dialects. Here is my itch.io: https://wayneoxfordgames.itch.io/ (Sorry it's an ugly page at the moment) It's the game called 'Tunnel Vision'. There are screenshots and a Windows download. Quote Link to comment Share on other sites More sharing options...
wmt029 Posted February 21, 2021 Author Share Posted February 21, 2021 Hmm I guess I'll also chech out FastBasic and MadPascal, I think I've seen other games written in MadPascal that looked pretty nice. Quote Link to comment Share on other sites More sharing options...
Sikor Posted February 21, 2021 Share Posted February 21, 2021 @MrFish: Thanks. It will be useful for me, I think. @wmt029: I look at screens. I think, that it is possible to write it in Turbo Basic XL. Quote Link to comment Share on other sites More sharing options...
wmt029 Posted February 22, 2021 Author Share Posted February 22, 2021 First stab at emulating the screen layout. No sprites or actual game yet. Text layout needs more polish, just a first swing. Left is the the full Windows version of the game (built in GameMaker Studio 2), right is Turbo Basic version in progress. Basically it draws a random starfield then the lines (it'd be neat if I could somehow imitate the parallax star scrolling effect of my Windows game but I think that's asking a lot of a Basic program). Next up will be figuring out the sprites/player missile graphics. 1 Quote Link to comment Share on other sites More sharing options...
zzip Posted February 22, 2021 Share Posted February 22, 2021 On 2/20/2021 at 10:30 PM, wmt029 said: I'm thinking about converting my simple space shooter to the Atari 8 bit line. I'm not sure I want to take the time to learn Assembly language. What do people thing about using Turbo Basic? I vaguely remember that it was possible to compile Turbo Basic programs. Yes, although "compiled" TB programs still need to be distributed with a runtime. Compiled TB was much faster than Atari Basic, and has lots of useful commands Atari BASIC doesn't have One possible drawback is because of how TB memory is mapped, TB programs will only work on systems with 64K RAM or more Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted February 22, 2021 Share Posted February 22, 2021 fast basic? perhaps Quote Link to comment Share on other sites More sharing options...
Sikor Posted February 22, 2021 Share Posted February 22, 2021 1 hour ago, zzip said: Yes, although "compiled" TB programs still need to be distributed with a runtime. Compiled TB was much faster than Atari Basic, and has lots of useful commands Atari BASIC doesn't have Can you try anyway use LINKER? My programs was made usually with Turbo Basic XL and usually I made one file (xex) running standalone without any extended runtime. And yes, runtime is in it and it took about 16Kb RAM ? I red about version of TB XL for Atari 800 (48K), but I never try it in real machines and I don't know if runtime works for 800. In attachment is my old text game written in Turbo Basic XL. Tajemniczy Zamek 2 (2011)(Sikor Soft)(PL)[en].xex Quote Link to comment Share on other sites More sharing options...
wmt029 Posted February 22, 2021 Author Share Posted February 22, 2021 6 hours ago, zzip said: Yes, although "compiled" TB programs still need to be distributed with a runtime. Compiled TB was much faster than Atari Basic, and has lots of useful commands Atari BASIC doesn't have One possible drawback is because of how TB memory is mapped, TB programs will only work on systems with 64K RAM or more Oh that's too bad. I would like it to be able to run on an Atari 400/800. I'll look into something else. Quote Link to comment Share on other sites More sharing options...
wmt029 Posted February 22, 2021 Author Share Posted February 22, 2021 4 hours ago, Sikor said: Can you try anyway use LINKER? My programs was made usually with Turbo Basic XL and usually I made one file (xex) running standalone without any extended runtime. And yes, runtime is in it and it took about 16Kb RAM ? I red about version of TB XL for Atari 800 (48K), but I never try it in real machines and I don't know if runtime works for 800. In attachment is my old text game written in Turbo Basic XL. Tajemniczy Zamek 2 (2011)(Sikor Soft)(PL)[en].xex 46.44 kB · 5 downloads Thanks! I suppose I could test in an emulator in Atari 800/48k mode. Quote Link to comment Share on other sites More sharing options...
zzip Posted February 22, 2021 Share Posted February 22, 2021 2 minutes ago, wmt029 said: Oh that's too bad. I would like it to be able to run on an Atari 400/800. I'll look into something else. Yeah the plus side is TB gives the programmer more memory to work with than Atari BASIC does despite all the additional features, but the downside is it can't be used on 400/800 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 23, 2021 Share Posted February 23, 2021 (edited) 2 hours ago, zzip said: Yeah the plus side is TB gives the programmer more memory to work with than Atari BASIC does despite all the additional features, but the downside is it can't be used on 400/800 To be more specific, it's Turbo-BASIC XL 1.5 that's not compatible with 400/800 machines (only XL/XE) -- due to memory layout. Turbo-BASIC 1.4 is compatible with 400/800 machines -- and I believe compatible with XL/XE machines too (not entirely sure; haven't tested it much); but it doesn't include a compiler (and I'm pretty sure won't work with the Turbo-BASIC XL 1.5 compiler either; but I could be wrong about that; never have tested it). Here's the 400/800 compatible version. Turbo-BASIC 1.4.atr Edited February 23, 2021 by MrFish Quote Link to comment Share on other sites More sharing options...
Sikor Posted February 23, 2021 Share Posted February 23, 2021 (edited) 7 hours ago, MrFish said: Here's the 400/800 compatible version. Ok, I tried it - I attach disk with simple test programs. I compile it under TBC.COM and link with linker. And yes, i can'y run it in altirra 400 os (compiled and compiled and linked), but I think - good compiler and linker, wchich can attach ony used commands woul'd be solution for Atari 800 (48Kb). Anyway - can anyone try it on real hardware (800)? - from this disk (run test.tb source, try brun test.ctb compiled and run test.com - compiled and linked - load from other dos and run it (test.com) standalone? - load from other dos TB XL 1.4 and brun compiled test.ctb? Turbo-BASIC 1.4.atr Edited February 23, 2021 by Sikor more info 1 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 23, 2021 Share Posted February 23, 2021 (edited) Alright, that's good to know. I'm surprised there's not much information about using this version (1.4). Maybe its time has finally come. Edited February 23, 2021 by MrFish Quote Link to comment Share on other sites More sharing options...
wmt029 Posted February 23, 2021 Author Share Posted February 23, 2021 11 hours ago, MrFish said: To be more specific, it's Turbo-BASIC XL 1.5 that's not compatible with 400/800 machines (only XL/XE) -- due to memory layout. Turbo-BASIC 1.4 is compatible with 400/800 machines -- and I believe compatible with XL/XE machines too (not entirely sure; haven't tested it much); but it doesn't include a compiler (and I'm pretty sure won't work with the Turbo-BASIC XL 1.5 compiler either; but I could be wrong about that; never have tested it). Here's the 400/800 compatible version. Turbo-BASIC 1.4.atr 90.02 kB · 3 downloads Thanks! I'll need to test it. I think I'd want to be able to compile the game into an executable. Maybe I'll take a look at FastBasic or MadPascal. Does anyone happen to know if those platforms work with the 400/800? Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 23, 2021 Share Posted February 23, 2021 6 hours ago, wmt029 said: Thanks! I'll need to test it. I think I'd want to be able to compile the game into an executable. As you can see from @Sikor's post, you can compile v1.4 sources with the compiler that is part of v1.5, and then link the runtime to the compile sources to output a single binary executable file. His example is simple though. So, I'd say a little more thorough testing is needed to ensure full compatibility between 1.4 and the compiler. 6 hours ago, wmt029 said: Maybe I'll take a look at FastBasic or MadPascal. Does anyone happen to know if those platforms work with the 400/800? I don't think there are any restrictions that prevent MadPascal or FastBasic from working with 400/800 machines. Quote Link to comment Share on other sites More sharing options...
+CharlieChaplin Posted February 23, 2021 Share Posted February 23, 2021 Well, every compiled TB XL program requires a Runtime and afaik, the Runtime for CTB programs uses RAM under the OS, so it is XL/XE compatible only and will not run on 400/800 machines. (And the CTB-linker simply links runtime+CTB into one single file, which then of course still requires RAM under the OS and therefore does not run on 400/800 machines.) If you want to create a compiled executable, try standard Atari Basic and then ABC/MMG compiler or better use Fast Basic. (Never used Advan Basic, so I do not know if its compiler produces a stand-alone executable or if it produces a compiled program that requires a separate runtime. The next Abbuc magazine will maybe tell us more...) 1 Quote Link to comment Share on other sites More sharing options...
Sikor Posted February 23, 2021 Share Posted February 23, 2021 1 hour ago, CharlieChaplin said: the Runtime for CTB programs uses RAM under the OS, so it is XL/XE compatible So, Question is: is it possible write new runtime, maybe relocated? I dream about compiler integrated with runtime, wchich can be add to compiled programs only used instruction set... Yes, I know, is only dream... Nobody makes it ? Quote Link to comment Share on other sites More sharing options...
baktra Posted February 24, 2021 Share Posted February 24, 2021 15 hours ago, Sikor said: So, Question is: is it possible write new runtime, maybe relocated? I dream about compiler integrated with runtime, wchich can be add to compiled programs only used instruction set... Yes, I know, is only dream... Nobody makes it ? It would be possible, however the RAM available for the compiled program would be reduced significantly. Using RAM under ROM is one of the key contributors to TBXL's success. Since FB cross compiler is a transpiler to CC65, it benefits from its linker LD65 and only includes used parts of the runtime library. 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.