T.R | Title | User | Personal Name | Date | Lines |
---|
1544.1 | I've used TRS80 basic, ibm vsbasic,vmsbasic | PLDVAX::JANZEN | Tom 296-5421 LMO2/O23 | Fri Jul 15 1988 12:04 | 40 |
| Hi
I am using Amiga BASIC to play with graphics and sound until I get
a C compiler. It it just a BASIC. It has a subroutine command,
does not require line numbers, has labels (for GOTO etc.), and
one-line function definition, and can apparently call libraries
and external machine code routines.
Its default is a 4-color screen, but can create screens. However,
I ran into trouble that may be memory problems when I tried to create
32 color screens. Maybe I made some other resolution mistake.
I have programs that create 16 color screens slightly smaller than
the whole screen because it won't accept a bigger screen.
It has window commands separate from screen commands. It has
a line command that will draw a line from point to point, or
draw an empty or a filled rectangle between the two points.
It can interogate the mouse and keyboard or a joystick.
I have used graphic arrays to make animation, but I ran out of
memory unless I had only 6 screens about 1/6 of the total screen
in only 4 colors.
It has a simple sound command that works quite well.
SOUND frequency, duration, loudness, voicenumber(1-4) or something.
It can play with sprites etc. It can set up an acceleration field
for each sprite or whatever separately. I made a program in which
one ball is bouncing off the ceiling and one bounces off the floor.
at the same time.
You can set these objects into motion at a velocity with an
acceleration and can detect that they collide with one another or
a wall (of the window). You can edit sprites with one of the BASIC
demo programs.
You can change colors with the palette command, per red-green-blue
values.
YOu can play music and have graphics at the same time.
You can detect events like interrupts.
Otherwise it is just a basic BASIC.
BASIC is not too hard, but if you're new to BASIC you may also
want a separate book about BASIC. I think the BASIC reference
manual, which is pretty well written and with examples,
comes with the computer,.
TOm
|
1544.2 | It's a Mac port. | LEDS::ACCIARDI | I Blit, therefore I am... | Fri Jul 15 1988 12:33 | 22 |
|
AmigaBASIC is basically (sorry, couldn't resist) a port of MicroSoft
BASIC for the Mac. It supports additional Amiga features like sprites
and BOBS (Blitter Objects), and two-button mouse logic.
It is brain-damaged in two important regards... it does not use
SmartRefresh to repaint windows after they've been moved, so window
updating is painfully slow. SmartRefresh is a system call that
uses the blitter to move a window and it's contents at warp speed.
I'm told there's no equivelant on the Mac (programs must refresh their
own windows).
The second brain damaged area is the use of 24 bit addressing, so
AmigaBASIC will not run in 32 bit memory. There is a way to patch
this so that it will run in a 68020 Amiga.
MicroSoft was very lazy in doing this port, and CBM was very lax
for not jumping all over them.
If these two problems were fixed, it would be a very nice Basic.
Ed.
|
1544.3 | Up With C! Down With Heinous BASIC! | NITMOI::WITHERS | | Fri Jul 15 1988 12:48 | 5 |
| Just a small note (though it isn't the thrust of the note) ... get
a C compiler. To truly access the graphics and sound of the Amiga
you should use C (and pick up some books, I use the Sybex Programmers
guide to the Amiga and ... guide to C). AmigaBASIC isn't evil but
it doesn't give you the power that C does.
|
1544.4 | | 29904::BUSCH | | Fri Jul 15 1988 13:42 | 13 |
| < Note 1544.2 by LEDS::ACCIARDI "I Blit, therefore I am..." >
< It is brain-damaged in two important regards... it does not use
< SmartRefresh to repaint windows after they've been moved, so window
< updating is painfully slow. SmartRefresh is a system call that
< uses the blitter to move a window and it's contents at warp speed.
I/m still new to the Amiga but I worked on a basic graphics program a couple of
days ago and in defining a window (or was it a screen?), by adding 16 to the
type (I think) it would keep the contents of the window after moving it. Is this
what you're talking about?
Dave
|
1544.5 | | LEDS::ACCIARDI | I Blit, therefore I am... | Fri Jul 15 1988 14:08 | 13 |
|
No, the brain damage that I am talking about is totally invisible
to the user. It just results in painfully slow window updating.
I'd have to recheck my manual for details on opening custom screens
and windows. I don't remember the syntax.
In fact, although I DO use AmigaBASIC (I couldn't tell C from Sankrit)
I write programs that are generic enough to run on VAXBasic. So
I've never done custom screens or color changes, or even mouse support
for that matter.
Ed.
|
1544.6 | Try True BASIC instead | PNO::SANDERSB | a belagana | Fri Jul 15 1988 14:47 | 25 |
|
If you are serious about BASIC then you should check into True
BASIC. It is available for the Amiga, Atari ST, MacIntosh, and
IBM-PC. In its most simple form, any program written in it will
run on any of the above systems.
There are also Machine specific additions that can be added to it
(called Developers kits), as well as additional functional
libraries for doing things such as sorts, string searchs and the
like.
True BASIC also supports the ability to call C and Assembly
routines from a True BASIC program. It also allows you to write
your own libraries and call them.
If you want stand-alone applications, there is a runtime kit
available. (No roalyties for distributing freeware. However
commerical programs will have to have royalites paid fro the use
of True BASIC).
The True BASIC package comes complete with graphics, sound
generation, file management (stream, byte, and record), and
simple windows. (along with the standard editor and debugger.)
|
1544.7 | GFA basic (soon?) | LEDS::ACCIARDI | I Blit, therefore I am... | Fri Jul 15 1988 14:59 | 17 |
|
.6 forgot to add that True basic is published by the original authors
of the langauge at Dartmouth 20 odd years ago, so it's about as
scholarly as you can get.
Somewhere on the net here is a version of Boulderdash for the Amiga
that was compiled under True Basic. It's a great arcade game; very
fast and colorful.
Another contender is GFA basic. Currently available for the Atari
ST (and announced for the Amiga) this is a very fast interpreter.
I've seen benchmarks for the Atari that compared well to C
implementations of the standard Sieve. GFA basic on the Atari was
exactly twice as fast as Amigabasic on the Amiga. i don't know
what it will sport for bells and whistles, though.
Ed.
|
1544.8 | pet peeve of mine | BAGELS::BRANNON | Dave Brannon | Fri Jul 15 1988 18:30 | 26 |
|
AmigaBasic is a Microsoft Basic. In other words it is missing a
lot of the nice features of 8-bit Atari Basic. I tried programming
in AmigaBasic, got too frustrated. It's use of windows is awful.
For every syntax error, you have to mouse click the OK box on the
warning. Has a separate window for the program, another for commands,
and usually another for output. All needing mouse clicks.
Maybe that's fun on a MAC where you have the "one standard interface
that thou shalt use" :-), but on an Amiga I want support for the CLI
environment (i.e, no mousing). A C compiler gives you that.
re: player-missle graphics
most everything is a system call, you just need to figure out how
to do the calling and the order you need to do the calls. Thanks
to Jay Miner, there is a great deal of similarity in system
capabilities between the 8-bit atari and the Amiga. Things like
display lists, hardware sprites as tall as the screen, dual playfields,
etc. Plus lots of new toys. And a blue screen with white letters
as a default.
-dave
p.s. I've seen rumors that Microsoft is working on AmigaBasic for
the 1.3 release of the OS. I hope CBM realizes how important a
good Basic is for the Amiga 500 market. But then I remember all
those pokes & peeks that make up the traditional C64 Basic program.
|
1544.9 | Macs: Slow & inconvenient | TLE::RMEYERS | Randy Meyers | Fri Jul 15 1988 20:29 | 35 |
| Re: .4
>I/m still new to the Amiga but I worked on a basic graphics program a couple
>of days ago and in defining a window (or was it a screen?), by adding 16 to
>the type (I think) it would keep the contents of the window after moving it.
>Is this what you're talking about?
Sounds like it (although that isn't exactly how you do it from C). When
you create a window, you tell Intuition what type of window it is with
regards to refresh.
The types are roughly:
simple refresh -- the application will redraw the window whenever
it is moved, gets bigger, or is uncovered.
smart refresh -- the system will redraw the window automatically
whenever it is moved or is uncovered. If the
window gets bigger, the application will redraw
it.
super bitmap -- The program will maintain its own bitmap for the
window that the system can use to automatically
redraw the window whenever it is moved, gets
bigger, or uncovered.
There is also variations involving no one bothering to update the window
if it needs to be redrawn. For example, CLI windows are smart refresh
(so the system redraws them when they are uncovered) but the console
manager doesn't bother to redraw them if you make them smaller and then
bigger.
The reason for having all these different models for window refresh
is that it allows tradeoffs between programmer convenience, use of
system memory, and speed of update. The Mac has chosen the model
that is inconvenient for programmers, slow, but doesn't use much
memory (a relic of the days of 128K unexpandable Macs).
|
1544.10 | nothing comes to mind... | GUCCI::HERB | AL | Fri Jul 15 1988 21:45 | 8 |
| I would like a basic that lets you use the full capabilities. Have
they came out with something like that yet??(or must I use C)
M.A.H
|
1544.11 | call Intuition | YIPPEE::GOULNIK | OogaboogaBox type | Mon Jul 18 1988 06:25 | 10 |
| > I would like a basic that lets you use the full capabilities. Have
> they came out with something like that yet??(or must I use C)
AmigaBasic does, in a way, by allowing you to call system library
routines. So if you're not content with the built-in graphic
primitives, you can still resort to calling Intuition directly.
Something you won't be able to do though is recursive subroutines.
Iv
|
1544.12 | Program memory | YIPPEE::GOULNIK | OogaboogaBox type | Tue Jul 19 1988 08:58 | 17 |
|
Another problem I came across with AmigaBasic is program size
limitations. I wrote a 2000 lines program (to model Chinese Abacus
arithmetic) and towards the end of the development, the following
happened:
I edited a version of the program, the way I usually did for major
modifications, then loaded it with AmigaBasic, did some minor changes
and saved it, compressed. Then I exited Basic, and after a while
called it again and tried to load the above mentionned program.
No way! The thing came back with the 'Out of Memory' box and wouldnt
load. The only way I could get it to work was edit the source and get
rid of most comments. There might be a work around with CLEAR but the
sure thing is I had more than enough main memory (1 Meg).
Iv
|
1544.13 | More advertising for True BASIC... | PNO::SANDERSB | a belagana | Tue Jul 19 1988 19:41 | 9 |
|
You don't have that kind of problem with True BASIC. Comments
are comments, not part of the executable code.
Also, True BASIC comes with built in 2-D graphics (not Sprites,
they are part of the developers package), menu (simple) library,
and advanced math library, along with some nice "DO" utilities
for formating code.
|
1544.14 | Works OK for What I Try to Do with It | DRUMS::FEHSKENS | | Fri Jul 22 1988 18:16 | 8 |
| re .1 - Tom, I've used AmigaBasic on my .5M 1000 and had no trouble
doing full size 16 color 640*400 screens, and full size 32 color
320*200 screens.
Also, nobody's mentioned (I think) the ACBasic compiler.
len.
|