[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

1544.0. "SHORT QUESTIONS PART2" by GUCCI::HERB (AL) Fri Jul 15 1988 13:25

    Is amiga basic as easy to understand as applesoft or atari 800xl
    basic?? If not is there a basic for the amiga that is very simple
    to use and uses the sound capabilities and graphics of the amiga??
    Also,can the basic be easier to use with player/missle graphics
    then the atari 800xl(if ya know what i mean)?
    
    
    
    
                                                 /------\          
                                                  M.A.H                  
     
T.RTitleUserPersonal
Name
DateLines
1544.1I've used TRS80 basic, ibm vsbasic,vmsbasicPLDVAX::JANZENTom 296-5421 LMO2/O23Fri Jul 15 1988 15:0440
    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.2It's a Mac port.LEDS::ACCIARDII Blit, therefore I am...Fri Jul 15 1988 15:3322
    
    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.3Up With C! Down With Heinous BASIC!NITMOI::WITHERSFri Jul 15 1988 15:485
    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.429904::BUSCHFri Jul 15 1988 16:4213
< 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.5LEDS::ACCIARDII Blit, therefore I am...Fri Jul 15 1988 17:0813
    
    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.6Try True BASIC insteadPNO::SANDERSBa belaganaFri Jul 15 1988 17:4725
        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.7GFA basic (soon?)LEDS::ACCIARDII Blit, therefore I am...Fri Jul 15 1988 17:5917
    .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.8pet peeve of mineBAGELS::BRANNONDave BrannonFri Jul 15 1988 21:3026
    
    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.9Macs: Slow & inconvenientTLE::RMEYERSRandy MeyersFri Jul 15 1988 23:2935
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.10nothing comes to mind...GUCCI::HERBALSat Jul 16 1988 00:458
    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.11call IntuitionYIPPEE::GOULNIKOogaboogaBox typeMon Jul 18 1988 09:2510
>    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.12Program memoryYIPPEE::GOULNIKOogaboogaBox typeTue Jul 19 1988 11:5817

	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.13More advertising for True BASIC...PNO::SANDERSBa belaganaTue Jul 19 1988 22:419
        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.14Works OK for What I Try to Do with ItDRUMS::FEHSKENSFri Jul 22 1988 21:168
    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.