Welcome, Guest. Please login or register.

Author Topic: How to get AmigaBASIC running on Kickstart 3.1?  (Read 10896 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline AmigaClassicRuleTopic starter

  • Hero Member
  • *****
  • Join Date: Oct 2011
  • Posts: 956
    • Show only replies by AmigaClassicRule
How to get AmigaBASIC running on Kickstart 3.1?
« 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.
 

Offline fishy_fiz

  • Hero Member
  • *****
  • Join Date: Jan 2005
  • Posts: 1813
    • Show only replies by fishy_fiz
Re: How to get AmigaBASIC running on Kickstart 3.1?
« Reply #1 on: May 30, 2012, 08:25:01 AM »
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.
Near as I can tell this is where I write something under the guise of being innocuous, but really its a pot shot at another persons/peoples choice of Amiga based systems. Unfortunately only I cant see how transparent and petty it makes me look.
 

Offline LoadWB

  • Hero Member
  • *****
  • Join Date: Jul 2006
  • Posts: 2901
  • Country: 00
    • Show only replies by LoadWB
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: How to get AmigaBASIC running on Kickstart 3.1?
« Reply #3 on: May 30, 2012, 08:53:54 AM »
Quote from: AmigaClassicRule;694671
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.
 

Offline AmigaClassicRuleTopic starter

  • Hero Member
  • *****
  • Join Date: Oct 2011
  • Posts: 956
    • Show only replies by AmigaClassicRule
Re: How to get AmigaBASIC running on Kickstart 3.1?
« Reply #4 on: May 30, 2012, 03:11:02 PM »
Quote from: fishy_fiz;694675
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.
 

Offline AmigaBruno

Re: How to get AmigaBASIC running on Kickstart 3.1?
« Reply #5 on: January 17, 2013, 03:55:54 PM »
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?
« Last Edit: January 17, 2013, 04:02:26 PM by AmigaBruno »
 

Offline ElPolloDiabl

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show only replies by ElPolloDiabl
Re: How to get AmigaBASIC running on Kickstart 3.1?
« Reply #6 on: January 17, 2013, 04:16:12 PM »
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.
Go Go Gadget Signature!
 

Offline danwood

  • Sr. Member
  • ****
  • Join Date: Dec 2004
  • Posts: 485
    • Show only replies by danwood
Re: How to get AmigaBASIC running on Kickstart 3.1?
« Reply #7 on: January 17, 2013, 05:45:43 PM »
So anyone got the original ABasic working? :)
 

Offline olsen

Re: How to get AmigaBASIC running on Kickstart 3.1?
« Reply #8 on: January 17, 2013, 06:23:47 PM »
Quote from: Piru;694678
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.
« Last Edit: January 18, 2013, 09:12:36 AM by olsen »
 

Offline rockersuke

  • Jr. Member
  • **
  • Join Date: Feb 2009
  • Posts: 56
    • Show only replies by rockersuke
Re: How to get AmigaBASIC running on Kickstart 3.1?
« Reply #9 on: January 17, 2013, 06:36:58 PM »
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.

--
« Last Edit: January 17, 2013, 06:42:38 PM by rockersuke »
 

Offline mark_k

  • Jr. Member
  • **
  • Join Date: Nov 2007
  • Posts: 70
    • Show only replies by mark_k
Re: How to get AmigaBASIC running on Kickstart 3.1?
« Reply #10 on: January 19, 2013, 04:24:36 PM »
Quote from: danwood;722940
So anyone got the original ABasic working? :)
If you're talking about Metacomco's ABasiC, then yes. :)
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: How to get AmigaBASIC running on Kickstart 3.1?
« Reply #11 on: January 19, 2013, 04:39:25 PM »
Quote from: mark_k;723195
If you're talking about Metacomco's ABasiC, then yes. :)
And surprisingly, perhaps, the MetaComCo Basic is better than Microsoft's effort...

Offline mark_k

  • Jr. Member
  • **
  • Join Date: Nov 2007
  • Posts: 70
    • Show only replies by mark_k
Re: How to get AmigaBASIC running on Kickstart 3.1?
« Reply #12 on: January 20, 2013, 06:41:03 PM »
Quote from: Piru;694678
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.
 

Offline AmigaBruno

Re: How to get AmigaBASIC running on Kickstart 3.1?
« Reply #13 on: January 22, 2013, 12:50:54 AM »
Quote from: bloodline;723198
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?
 

Offline ChaosLord

  • Hero Member
  • *****
  • Join Date: Nov 2003
  • Posts: 2608
    • Show only replies by ChaosLord
    • http://totalchaoseng.dbv.pl/news.php
Re: How to get AmigaBASIC running on Kickstart 3.1?
« Reply #14 on: January 22, 2013, 04:42:23 AM »
Quote from: AmigaClassicRule;694671
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.
Wanna try a wonderfull strategy game with lots of handdrawn anims,
Magic Spells and Monsters, Incredible playability and lastability,
English speech, etc. Total Chaos AGA