Amiga.org
Amiga computer related discussion => General chat about Amiga topics => Topic started by: AmigaClassicRule on May 30, 2012, 07:44:28 AM
-
Hey,
I am having a problem running AmigaBASIC on OS 3.9 on my Amiga 1200 68030. Is there a patch or a trick that allows me to run AmigaBASIC correctly on my Amiga 1200? Thanks in advance.
-
Yes there is, but Im not telling you where to find it because that would encourage you ro use it. Horrible, horrible BASIC variant :)
Seriously though, yes there is, but Im not sure what the archive is called. Im pretty sure its on aminet though.
Just curious, but is there any reason you want to use Amiga BASIC vs. any one of a number of good BASIC versions the Amiga has? AMOS, Blitz Basic, Hisoft Basic are much, much better options. If memory serves me correctly Hisoft BASIC is even Amiga BASIC (and quick basic) compatible.
-
http://aminet.net/package/dev/misc/PtchAmigaBASIC
-
I am having a problem running AmigaBASIC on OS 3.9 on my Amiga 1200 68030. Is there a patch or a trick that allows me to run AmigaBASIC correctly on my Amiga 1200? Thanks in advance.
IIRC amigabasic uses the upper 8-bit of addresses to store some information. That means it won't work with memory above 24-bit (0xffffff or 16MB). Assuming you apply the patch mentioned earlier and disable all memory above the limit, it could work.
-
Yes there is, but Im not telling you where to find it because that would encourage you ro use it. Horrible, horrible BASIC variant :)
Seriously though, yes there is, but Im not sure what the archive is called. Im pretty sure its on aminet though.
Just curious, but is there any reason you want to use Amiga BASIC vs. any one of a number of good BASIC versions the Amiga has? AMOS, Blitz Basic, Hisoft Basic are much, much better options. If memory serves me correctly Hisoft BASIC is even Amiga BASIC (and quick basic) compatible.
Ooooh I did not know hiSfot is compatible. Any idea where I can find hisoft basic? I have AmiBlitz for Amiga but I just need hisoft basic for something else. Thanks in advance.
-
I started programming in AmigaBASIC when I first got an Amiga in December 1988. I enjoyed using it. It's easy to program using all the Amiga facilities, such as windows, the mouse, pull down menus, bobs, and sprites. I remember using all these facilities in AmigaBASIC programs I wrote. I later got a copy of AMOS, but didn't manage to do much with it. When it comes to C, I remember skimming through someone else's book about C on the Amiga and I told him that there was nothing specific to the Amiga until about 80-90% of the way through the book! I've just bought a DVD ROM from eBay, which contains 78 Amiga books as PDF scans. There are more Amiga books on it than I have ever owned before. I seem to remember that each book would have cost about £25 when published. This makes a total of about £1,950 worth! A lot of, or at least several of these books are about AmigaBASIC. I've decided to get a copy of AmigaBASIC to use on my Amiga A500 Plus, which I'm fairly sure is compatible, but if not, then I'll just run Relokick first. There's no copy of AmigaBASIC on my set of Workbench 2.04 disks. I'm fairly sure this is on the Workbench 1.2 disks, which I think is the version that was first supplied to me. I've only recently heard about ACE BASIC, so I need to look into that. Can someone tell me if 100% of AmigaBASIC programs can be loaded into ACE BASIC and compiled, or what problems are there?
-
I think you should play around with Amiga BASIC. Could you try: Relokick 1.3
Relokick (free download) will allow you to boot into OS 1.3. It writes the 1.3 rom into ram.
If you are like me you will get sick of Amiga BASIC. The IDE is pretty limited.
I think there was a compiler, sorry I don't feel like rooting through Aminet, but someone else will know.
-
So anyone got the original ABasic working? :)
-
IIRC amigabasic uses the upper 8-bit of addresses to store some information. That means it won't work with memory above 24-bit (0xffffff or 16MB). Assuming you apply the patch mentioned earlier and disable all memory above the limit, it could work.
The patch may work on the A1200, but it may not be sufficient for any other Amiga using a CPU with a 32 bit address bus.
The story I heard was that AmigaBASIC was a more or less straight port of MS BASIC for Macintosh. In 1985 the Macintosh exclusively used the 68000 CPU, and its operating system's memory management would use the upper 8 bits of memory pointers for tagging (this is documented in "Inside Macintosh Volume II", on page II-24). Because the 68000 had a 24 bit address bus it would ignore the tag bits in the pointer.
This neat trick would come back to haunt Apple, and for the Macintosh II they had to "cripple" the 68020 to preserve the 24 bit address space which the operating system was made for on the 68000 CPU. The A1200 already has a CPU with a 24 bit address bus, so this may be the only type of "modern" Amiga that might be able to run AmigaBASIC.
Anyway, the AmigaBASIC runtime is likely to use memory tagging itself, because of its roots. The BASIC interpreter itself may have actually been written in p-code, with a p-code interpreter written in 68k assembly language running it. At least for me that would explain why the whole damn thing was so slow: the p-code interpreter running the BASIC interpreter, running the BASIC program. What could possibly go wrong...
I found the Amiga-specific bits and pieces of AmigaBASIC during a spelunking expedition, and these were (curiously) written in 68k assembly language. This is why I suspect that the BASIC interpreter was written in p-code, since the Amiga portions would have to interface to the BASIC runtime. Given how slow that was, I think it's unlikely that it was written in 68k assembly language, too.
-
AmigaBasic works flawlessly in my WinUAE config (A1200, OS31, 8 MB fast RAM) but fails in my real A1200 machine (which has an acelerator card with 64 MB of fast RAM). The IDE will load, but won't do anything useful (can't finf files to load, a simple print statement will just output garbage to the screen, etc...). This seems to confirm Piru's post (EDIT: and Olsen's :-) )and there seem to be no patches around that.
If your project is something for which good old plain BASIC is more than enough, then AmigaBASIC is as good a choice as any other. In such a case I recommend using an emulated Amiga with an AmigaBASIC-friendly configuration to develop and test the program (as AmigaBASIC is interpreted it makes your debugging life easier!) and then compile it with something like Hisoft BASIC to get a standalone executable file that will theorically work in most, if not all, classic Amiga machines. I did just that a few years ago with some text adventures I wrote and it all worked fine.
--
-
So anyone got the original ABasic working? :)
If you're talking about Metacomco's ABasiC, then yes (http://aminet.net/package/dev/basic/ABasiC_patch). :)
-
If you're talking about Metacomco's ABasiC, then yes (http://aminet.net/package/dev/basic/ABasiC_patch). :)
And surprisingly, perhaps, the MetaComCo Basic is better than Microsoft's effort...
-
IIRC amigabasic uses the upper 8-bit of addresses to store some information. That means it won't work with memory above 24-bit (0xffffff or 16MB). Assuming you apply the patch mentioned earlier and disable all memory above the limit, it could work.
If you have a 32-bit CPU there could be problems doing that. Any accesses to addresses above 16MB (as AmigaBASIC may use) could result in a bus error, or at least not return the correct values.
One workaround could be to use SetCPU with its FASTROM option, along with specifying BITS 24. That should (hopefully) cause the MMU to remap all accesses above 16MB to the lower 16MB region.
At least when I tried than in WinUAE with a 68030+MMU config and no RAM above 16MB, all the BASIC demos on the Extras disk seemed to work fine. But having said that, they all seemed to work fine without using SetCPU! But with some Zorro III RAM, on clicking one of the BasicDemos icons, AmigaBASIC just reports file not found. After running NoFastMem, opening the BasicDemos icons did work properly.
Maybe AmigaBASIC sanitises its addresses, i.e. always clears the upper 8 bits before the memory access. So the crucial thing is to have AmigaBASIC only work with memory in the lower 16MB. You could use NoFastMem for that, but if you have some Zorro II fast RAM (or $C00000 slow RAM) that's a waste of chip RAM. If there's a utility like NoFastMem, but which forces all allocations to use the MEMF_24BITDMA flag, you could run that instead before loading AmigaBASIC.
-
And surprisingly, perhaps, the MetaComCo Basic is better than Microsoft's effort...
I've never even owned, let alone used, ABasiC (SP?), by Metacomco. I know that Metacomco was chosen because of their previous work on the 68008 based Sinclair QL computer, though. Is this version of BASIC similar to or the same as SuperBASIC on the Sinclair QL computer?
-
Hey,
I am having a problem running AmigaBASIC on OS 3.9 on my Amiga 1200 68030. Is there a patch or a trick that allows me to run AmigaBASIC correctly on my Amiga 1200? Thanks in advance.
AmigaBASIC is actually M$ Basic. It is the worst basic ever for Amiga and should never be used by anyone for anything.
If you need AmigaBASIC compatibility then you use an AmigaBASIC-compatible compiler. There are a few to choose from. Someone mentioned HiSoft BASIC. A/C Basic is another choice. I think there were others but I never used them so I can't remember their names.
A/C BASIC is like AmigaBASIC on steroids. It is much better than silly 24-bit AmigaBASIC.
Of Course Blitz and AMOS are both widely regarded as being transdimensionally better. But if you just absolutely must have M$-BASIC compatibility then you should definitely try out A/C BASIC.
-
Various books have been written about AmigaBASIC, including some by Data Becker (in German), republished by Abacus (in English). I've just got some scanned versions of them. I'm not aware of many books being published for some other type of BASIC on the Amiga, though. This makes me want to get back into doing some programming in AmigaBASIC or a BASIC which supports the OS and which is 100% compatible with AmigaBASIC.
-
I've never even owned, let alone used, ABasiC (SP?), by Metacomco. I know that Metacomco was chosen because of their previous work on the 68008 based Sinclair QL computer, though. Is this version of BASIC similar to or the same as SuperBASIC on the Sinclair QL computer?
I've never even owned, let alone used, SuperBASIC so can't say how similar or not it is. :)
But if you want to try it, download the ABasiC patch from Aminet (http://aminet.net/package/dev/basic/ABasiC_patch). The readme file lists several URLs where you can download ABasiC from. Also get the user manual and errata from here (http://eab.abime.net/showthread.php?t=63851). There are some ABasiC programs on Aminet (http://aminet.net/package/dev/basic/ABasiC_progs).
-
or a BASIC which supports the OS
Most BASIC programming languages for the Amiga do support the OS. AFAIK there are only 1 or 2 that don't and all the rest do.
-
I'm not aware of many books being published for some other type of BASIC on the Amiga, though.
FYI: There were gazillions of books published about True BASIC back in the 80s and 90s. There are more books about True BASIC than all other versions of BASIC for Amiga put together. Dozens of different books.
And there are lots more books about algorithms which are not about True BASIC per se, but they include True BASIC source code on the accompanying floppy disk. Lots of different science books and algorithm books used that technique so they could support multiple langauges in a single book.
The thing is that True BASIC is a multiplatform language. It is the same language on Amiga, Atari ST, Mac, Windoze and Unix. This is why there were so many books written about it.
It has most of the advantages of JAVA, without all the horrible disadvantages of JAVA, 10 years before JAVA ever even existed. It has write once, run anywhere technology built-in for free. You can compile your programs into byte-code and distribute the byte-code versions. Or you can distribute the source code. Whichever.
-
I've never even owned, let alone used, SuperBASIC so can't say how similar or not it is. :)
But if you want to try it, download the ABasiC patch from Aminet (http://aminet.net/package/dev/basic/ABasiC_patch). The readme file lists several URLs where you can download ABasiC from. Also get the user manual and errata from here (http://eab.abime.net/showthread.php?t=63851). There are some ABasiC programs on Aminet (http://aminet.net/package/dev/basic/ABasiC_progs).
I've just tried a few links where I was supposed to be able to get a copy of the manual, but they're all out of date.
I've never owned or used Sinclair QL SuperBASIC, but I've read various listings in that BASIC dialect. It seems to be like an extended version of Sinclair Spectrum BASIC, including some features such as procedures, which are like BBC BASIC. It has been called similar to COMAL. Here's a link to an introduction to this BASIC dialect https://sites.google.com/site/iwant2learn2/home/superbasic .
Unfortunately, I still haven't found any ABasiC listings or a list of ABasiC commands, but I have read that although it didn't have much support for the Amiga's Intuition features, including windows, it was good at doing Amiga graphics.
-
Most BASIC programming languages for the Amiga do support the OS. AFAIK there are only 1 or 2 that don't and all the rest do.
Lots of people, including me, bought AMOS, but this had its own environment, designed for creating games. When I used to run it, there was no sign on the Amiga Workbench, because I think it totally bypassed it. It was a port of STOS for the Atari ST, so that's not surprising. I'm talking about AMOS, not AMOS Pro. I never got very far with AMOS.
Here's a pic of the AMOS packaging. No sign of the Workbench there!
http://www.triumphoverchallenges.com/wp-content/uploads/2010/11/AMOS-whats-in-the-box.jpg
Here's the main page about AMOS and STOS.
http://www.triumphoverchallenges.com/stos-and-amos-game-creators/
Here's the AMOS program editor screen.
http://agateau.com/2013/01/22/plouf/amos.png
-
FYI: There were gazillions of books published about True BASIC back in the 80s and 90s. There are more books about True BASIC than all other versions of BASIC for Amiga put together. Dozens of different books.
And there are lots more books about algorithms which are not about True BASIC per se, but they include True BASIC source code on the accompanying floppy disk. Lots of different science books and algorithm books used that technique so they could support multiple langauges in a single book.
The thing is that True BASIC is a multiplatform language. It is the same language on Amiga, Atari ST, Mac, Windoze and Unix. This is why there were so many books written about it.
It has most of the advantages of JAVA, without all the horrible disadvantages of JAVA, 10 years before JAVA ever even existed. It has write once, run anywhere technology built-in for free. You can compile your programs into byte-code and distribute the byte-code versions. Or you can distribute the source code. Whichever.
I heard years ago that True BASIC was one of various BASICs available for the Amiga, but I never had a copy of it. I've just done a search on Amazon, but only found a few books available about it. The features such as compiling into byte code and having all the advantages of JAVA sound impressive, though.
-
Lots of people, including me, bought AMOS, but this had its own environment, designed for creating games. When I used to run it, there was no sign on the Amiga Workbench, because I think it totally bypassed it. It was a port of STOS for the Atari ST, so that's not surprising. I'm talking about AMOS, not AMOS Pro. I never got very far with AMOS.
Here's a pic of the AMOS packaging. No sign of the Workbench there!
http://www.triumphoverchallenges.com/wp-content/uploads/2010/11/AMOS-whats-in-the-box.jpg
Here's the main page about AMOS and STOS.
http://www.triumphoverchallenges.com/stos-and-amos-game-creators/
AMOS is pretty powerful, but if you want some serious grunt and full OS compatibility (so you can use intuition etc)... then you have little choice beyond BlitzBasic2 (or amiblitz as I think it is called now).
Give up with AmigaBASIC now, it really is junk.
-
Using WHDLOAD and this installer maybe worth a try http://www.whdload.de/apps/Workbench13.html but I have not tried using it to run AmigaBasic, but it may work and as it should install AmigaBasic from your workbench extra's disk it should be quite easy to test.
-
I've just tried a few links where I was supposed to be able to get a copy of the manual, but they're all out of date.
I've never owned or used Sinclair QL SuperBASIC, but I've read various listings in that BASIC dialect. It seems to be like an extended version of Sinclair Spectrum BASIC, including some features such as procedures, which are like BBC BASIC. It has been called similar to COMAL. Here's a link to an introduction to this BASIC dialect https://sites.google.com/site/iwant2learn2/home/superbasic .
Unfortunately, I still haven't found any ABasiC listings or a list of ABasiC commands, but I have read that although it didn't have much support for the Amiga's Intuition features, including windows, it was good at doing Amiga graphics.
The links for the ABasiC manual and errata shown here (http://eab.abime.net/showthread.php?t=63851) are still valid. I linked to an archive of ABasiC programs (http://aminet.net/package/dev/basic/ABasiC_progs) on Aminet already. :) ABasiC programs are plain text files; you can load them into any text editor.
It looks like QL SuperBASIC is more sophisticated than ABasiC. You can't define your own procedures in ABasiC, for example.
-
After looking at that manual, I can say it seems to contain a mixture of commands from Microsoft BASIC (various, including LOCATE, SCREEN), Sinclair BASIC (PRINT AT, PEN), Commodore BASIC 3.5 (SCNCLR, GETKEY), and uses DRAW instead of LINE. So now I know!