Welcome, Guest. Please login or register.

Author Topic: Amiga Basic  (Read 5478 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline SamuraiCrow

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 2281
  • Country: us
  • Gender: Male
    • Show only replies by SamuraiCrow
Re: Amiga Basic
« Reply #14 from previous page: July 15, 2007, 09:59:58 PM »
AmosPro version 1.12 was given away on a coverdisk without a manual of any sort.  When you bought the compiler for it it upgraded it to 2.0 but you still needed the manual anyway.
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Amiga Basic
« Reply #15 on: July 15, 2007, 10:02:08 PM »
Quote

Kronos wrote:
@Sidewinter

A "bug" ??????

I wouldn't call the use of 24bit addresses on a CPU designed for 32bit addresses from the very start a bug.


Tsk! If it was good enough for the Mac... :lol:

Yep, a pretty retarded thing to do.
int p; // A
 

Offline LoadWB

  • Hero Member
  • *****
  • Join Date: Jul 2006
  • Posts: 2901
  • Country: 00
    • Show only replies by LoadWB
Re: Amiga Basic
« Reply #16 on: July 15, 2007, 10:02:26 PM »
I swear I recall seeing a patch which catches the bad stuff from Amiga BASIC so it will work on an accelerated Amiga?

I bought GFA BASIC since I programmed in it on my grandfathers 520ST.  But it seems to have some issues on accelerated systems as well.
 

Offline Pertinax

  • Jr. Member
  • **
  • Join Date: Apr 2002
  • Posts: 81
    • Show only replies by Pertinax
    • http://www.heaven-knows.net/
Re: Amiga Basic
« Reply #17 on: July 15, 2007, 10:22:43 PM »
Quote

LoadWB wrote:
I swear I recall seeing a patch which catches the bad stuff from Amiga BASIC so it will work on an accelerated Amiga?


This one: http://aminet.net/dev/misc/PtchAmigaBASIC.lha ?


Jason
 

Offline amigadave

  • Lifetime Member
  • Hero Member
  • *****
  • Join Date: Jul 2004
  • Posts: 3836
    • Show only replies by amigadave
    • http://www.EfficientByDesign.org
Re: Amiga Basic
« Reply #18 on: July 15, 2007, 10:26:10 PM »
How well does AMOS Pro run under WinUAE?  What are the limitations, problems, special settings that work best, etc.???

I think that AMOS Pro, or Blitz Basic might be good starting points for anyone wanting to learn programming on the Amiga.  Any other suggestions on what is the best starting point for Amiga programming and what path of programming languages to take after AMOS Pro (or what ever other starting language)?

What about scripting languages like AREXX, REBOL, JAVA (java not completely implemented on Amiga, right?) PEARL, ..... what was the other one...... PYTHON?

For "Classic" Amiga programs and games I would guess that C, C+, and Assembly are the languages that should be learned to produce the best code and performance on a "Classic" Amiga.  Machine code is too difficult for most, I would imagine.

I know that most "Programmers" don't care about Amiga anymore, so it is harder to get questions like these answered without a lot of off topic opinion, or sarcasm, but some of us still want to learn and program for the Amiga, as we are not looking at it as a way to make an income.  It is a HOBBY for a few of us.  There is still that challenge of how much can be done with the Amiga and perhaps an 030 and up processor with 4mb and up RAM.  That spec meets the minimum of many thousand Amigas still in use, or waiting to be used in many closets around the world.

Opinions on where to start and which programming languages to progress through to reach a good understanding of programming on and for the "Classic" Amiga, with the end programming language being "C", "C++", or "Assembly", to produce the best and fastest results.

I know that "C" or "C++", would be better for portability to other OSes.
How are you helping the Amiga community? :)
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Amiga Basic
« Reply #19 on: July 15, 2007, 10:48:58 PM »
Quote

I know that most "Programmers" don't care about Amiga anymore, so it is harder to get questions like these answered without a lot of off topic opinion, or sarcasm, but some of us still want to learn and program for the Amiga, as we are not looking at it as a way to make an income


Some of them, perhaps but not all. I'd love to actually have more time to indulge the more experimental side of programming on the amiga but I don't. I had a lot of fun mixing stuff together that would give some puritannical coders apoplexy (ANSI C++ with assembler was always good fun).

BASIC languages are good if you want to knock something together quickly but I honestly feel that they can restrict what you learn in the process and teach bad habits that you might find it hard to move away from.

The best all-round programming language for the amiga is probably C but that's not to everybody's taste. I would still recommend it if you are looking to progress beyond the odd bit of dabbling. It's also a lot better supported than most BASICs currently available.
int p; // A
 

Offline SamuraiCrow

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 2281
  • Country: us
  • Gender: Male
    • Show only replies by SamuraiCrow
Re: Amiga Basic
« Reply #20 on: July 16, 2007, 01:56:58 AM »
Quote

amigadave wrote:
How well does AMOS Pro run under WinUAE?  What are the limitations, problems, special settings that work best, etc.???


Use ECS emulation since AGA is not supported by Amos.  Other than that the limitations aren't too bad.

Quote

I think that AMOS Pro, or Blitz Basic might be good starting points for anyone wanting to learn programming on the Amiga.  Any other suggestions on what is the best starting point for Amiga programming and what path of programming languages to take after AMOS Pro (or what ever other starting language)?

What about scripting languages like AREXX, REBOL, JAVA (java not completely implemented on Amiga, right?) PEARL, ..... what was the other one...... PYTHON?


I usually recommend Python to beginners on the PC but it's not so great on the Amiga since there is no version of the PyGame extension for Amiga's implementation of Simple Directmedia Layer (SDL).

Quote

For "Classic" Amiga programs and games I would guess that C, C+, and Assembly are the languages that should be learned to produce the best code and performance on a "Classic" Amiga.  Machine code is too difficult for most, I would imagine.

I know that most "Programmers" don't care about Amiga anymore, so it is harder to get questions like these answered without a lot of off topic opinion, or sarcasm, but some of us still want to learn and program for the Amiga, as we are not looking at it as a way to make an income.  It is a HOBBY for a few of us.  There is still that challenge of how much can be done with the Amiga and perhaps an 030 and up processor with 4mb and up RAM.  That spec meets the minimum of many thousand Amigas still in use, or waiting to be used in many closets around the world.

Opinions on where to start and which programming languages to progress through to reach a good understanding of programming on and for the "Classic" Amiga, with the end programming language being "C", "C++", or "Assembly", to produce the best and fastest results.

I know that "C" or "C++", would be better for portability to other OSes.


Actually, Sidewinder and I am working on a sequel to AmosPro (Mattathias Basic) that will support most of it's features but that's months out at the least.  Furthermore, we're going to try to make a Windows version of it anyway, possibly using C as a backend to compile to different operating systems.  It will also require several extensions to be written for it to support the old AmosPro source codes.

C++ is very lacking on the Classic and next-generation Amigas so you can safely ignore that one for now, Assembly is not portable to the next generation Amigas so it's a complete waste of time now.  C has cumbersome syntax so a wrapper of C like Mattathias seems to be the most promising solution for a beginner soon in the future.  (Of course I'm biased but I think that getting old source codes to run on next-generation hardware can be a profitable venture.)
 

Offline amigadave

  • Lifetime Member
  • Hero Member
  • *****
  • Join Date: Jul 2004
  • Posts: 3836
    • Show only replies by amigadave
    • http://www.EfficientByDesign.org
Re: Amiga Basic
« Reply #21 on: July 16, 2007, 07:43:32 AM »
Thanks SamuraiCrow,

How is Mattathias coming along?  Do you need any beta testers?

Also, why do you say that C++ is lacking on the Classic & Next Generation Amigas?

How are you helping the Amiga community? :)
 

Offline SamuraiCrow

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 2281
  • Country: us
  • Gender: Male
    • Show only replies by SamuraiCrow
Re: Amiga Basic
« Reply #22 on: July 16, 2007, 04:20:47 PM »
@AmigaDave

For more information about Mattathias, consult our Yahoo group.  But as a brief update:  Sidewinder tried to implement AmosPro in a fixed parser created with Flex and Bison (parser generator utilities derived from Unix) but we couldn't implement extensions or many impressive features with the fixed parser.  We've since started over with just the linker library as standard and I've found a promising lead for a dynamic parser at the eXtensible Lanugage and Runtime project on Sourceforge.net .

The reason I say C++ is lacking on the Amiga platforms is that there aren't object-oriented wrappers for most OS functions.  You kind of have to write your own as you go along.  (I'm sure Karlos will offer his services to those wishing to start on C++.  ;-) )  Also, the runtime library for C++ on AmigaOS 4 is single-threaded only at this point.  It might work for beginners, I suppose, but C is still king of AmigaLand as far as I'm concerned.
 

Offline Kronos

  • Resident blue troll
  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 4017
    • Show only replies by Kronos
    • http://www.SteamDraw.de
Re: Amiga Basic
« Reply #23 on: July 16, 2007, 04:46:52 PM »
Quote

SamuraiCrow wrote:
@AmigaDave
[

The reason I say C++ is lacking on the Amiga platforms is that there aren't object-oriented wrappers for most OS functions.


Hmmm yes ...... but why should that stop me from useing C++ ? I mean OO-OS-functions for the GUI would be nice, but there MUI doing just that for you .... o.k. it doesn't use the C++ syntax, but that ain't really a problem. Memory and file-operations can be done via the standard C(++) lib so thats allready OO.

As an example, SteamDraw encapsulates everything into C++ classes except the few MUI costom classes used (about 3% of source I would say).

Every window is a class, offering it's distinct GUI-elements and features to the user, and so is every "Object", be it a layer, rectangle or the whole project.

Doing that in plain C would be a real punishment (and I know what I'm talking about as versions prior to 0.04 were written that way  :roll: ).
1. Make an announcment.
2. Wait a while.
3. Check if it can actually be done.
4. Wait for someone else to do it.
5. Start working on it while giving out hillarious progress-reports.
6. Deny that you have ever announced it
7. Blame someone else
 

Offline AmigaMance

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 1278
    • Show only replies by AmigaMance
Re: Amiga Basic
« Reply #24 on: July 16, 2007, 05:06:19 PM »
@hamtronix
 Hey man. I think it's the Hisoft Basic 2 that you should try to get. Forget AmigaBasic. It runs ok on expanded Amigas, it's a lot faster, less buggy and, unlike the other Basics mentioned here, nearly 100% compatible with AmigaBasic.
A1200 PPC user.
 

Offline SamuraiCrow

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 2281
  • Country: us
  • Gender: Male
    • Show only replies by SamuraiCrow
Re: Amiga Basic
« Reply #25 on: July 16, 2007, 05:11:19 PM »
@Kronos

As an experienced coder, you know how to use your tools to the utmost and the shortcomings of other tools.  It is useful to write object-oriented code most of the time.  On the PC I recommend Python as a starting language because it is more object-oriented than Basic (except for BlitzMax, of course).

I've used Java quite a bit at the university and it's object-oriented to the point of being flawed as a result.  Sure you can make a bunch of static methods and variables to "get around" the object oriented syntax when you don't need it, but that's quite the kludge.  C++ can go either way due to the backward compatibility toward C but it's really not a beginner language at all.

For a beginner, however, I'm not sure what to recommend.  We're going to try to add OO-like syntax constructs to Mattathias although a more flexible option is to make extensions for each class-type and that may be what we end up doing.  See Wikpedia's article on Extensible Programming for more information on what I'm talking about.  Certainly object-oriented programming is the current "in thing" and it is fairly elegant but that doesn't mean that it's the only way to do the same thing.  Extensible programming may help avoid some of the overhead that OOP entails while allowing more control over the way things compile.

As an example, I've seen a fractal generator written in XL that was able to translate X^2 into X*X without operator overloading.  The reduction rule of the parser was designed right into the function call itself.
 

Offline Zac67

  • Hero Member
  • *****
  • Join Date: Nov 2004
  • Posts: 2890
    • Show only replies by Zac67
Re: Amiga Basic
« Reply #26 on: July 16, 2007, 06:05:03 PM »
Quote

Kronos wrote:

A "bug" ??????

I wouldn't call the use of 24bit addresses on a CPU designed for 32bit addresses from the very start a bug.


Of course it's no bug - it's a feature. Because AmigaBasic was hacked up by Microsoft. AFAIK their only piece of software for the Amiga. Fortunately. :lol:

I used it a lot lacking an alternative, but I'd advise to better stay clear of that crap. It's slow, too.