Jump to content
IGNORED

atari basic vs commodore


Recommended Posts

Keep in mind the ever increasing inflation (due to debt based currency) and those prices would be 2 to 3 times that in today's money.

Hence the today's dollars comment. I actually looked it up.

Seems it's almost exactly 2.5 times as much, though I did round the number.

Commercial assemblers were expensive. I think ones for the CoCo started at $50.

I remember using a BASIC assembler and disassembler from magazines.

*edit*

That would be about $125 in today's dollars.

Link to comment
Share on other sites

 

Same here. My book even had a type-in Assembler written in basic to help with the task. I wrote several ASM programs with it. But when the programs got too large, it was unmanageable. :) (no macros, no debugging tools, etc..)

The EDTASM+ cart didn't have macros, or conditional assembly either.

I could have never written code like I have now on that.

 

I think the worst part was the built in editors. They only supported the standard 32 column text which was all upper case.

By the time you start putting things in columns with tabs, your comments are half way across the screen and when lines are wrapped, the code becomes unreadable.

*edit*

Imagine trying to program on a VIC 20. 22 characters per line.

Edited by JamesD
Link to comment
Share on other sites

The one extended command I absolutely had to have, though, and the one I never forgave Atari for omitting, was the DIR command. The C64's way of faking a BASIC program for LOAD "*",8 was terribly goofy, but at least they didn't make you reload a DOS menu just to get a directory listing from the disk.

Directory listing from Atari Basic:

 

CL.#1:CLR:DIMF$(18):F$="D:*.*":O.#1,7,0,F$:FOR I=1TO66:IN.#1,F$:?F$:N.I

 

You can store this on a project disk using DOS' copy file...choose E: and D:DIR as the source and destination, type the above listing (with an enter at the end), and hit break to write the file. With the file present on the disk you are working with, you can ENTER"D:DIR" to get a listing whenever you wish.

  • Like 1
Link to comment
Share on other sites

Directory listing from Atari Basic:

CL.#1:CLR:DIMF$(18):F$="D:*.*":O.#1,7,0,F$:FOR I=1TO66:IN.#1,F$:?F$:N.I

You can store this on a project disk using DOS' copy file...choose E: and D:DIR as the source and destination, type the above listing (with an enter at the end), and hit break to write the file. With the file present on the disk you are working with, you can ENTER"D:DIR" to get a listing whenever you wish.

Don't use break, use ctrl-3. If you hit break, it'll never save the file. Ctrl-3 is the proper EOF key.

  • Like 1
Link to comment
Share on other sites

OMG! People keep complaining about the Commodore DOS commands being cryptic, but that one-liner for listing the directory is way beyond cryptic. Good thing you can save it to disk.

 

Ok.. if you spell out the commands CLOSE# OPEN# INPUT# PRINT NEXT perhaps not so bad.

 

IIRC the Enterprise 64/128 BASIC is good but it was awfully delayed so most of the potential customers probably had moved onto other platforms before it was available.

 

In any case, each version of BASIC tends to have its pros and cons and not everyone will agree on which properties are features or bugs, so the discussion could go on for a long while. Some BASICs will allow you to GOTO a line number that doesn't exist and resume execution from the next available line, others will bail out with an error message. Some BASICs will allow you to GOTO a line based on an expression, either in the form of ON n GOTO xxx, xxx or in the form of GOTO 20+n*10. Some BASICs like the Camputers Lynx supports floating point line numbers so you can insert line 10.5 between 10 and 11, and then insert line 10.4 before line 10.5 etc. Good ideas or bad ideas? That is without getting into specific commands to handle graphics, colours, sound, auxillary input and so on.

Edited by carlsson
Link to comment
Share on other sites

OMG! People keep complaining about the Commodore DOS commands being cryptic, but that one-liner for listing the directory is way beyond cryptic.

 

I was thinking the same thing until it all came together with the ENTER "D:DIR". That's not so bad really in and of itself, but the discipline of having it available on every disk is rather inconvenient in a entirely new way.

 

In any case, each version of BASIC tends to have its pros and cons and not everyone will agree on which properties are features or bugs, so the discussion could go on for a long while.

 

Which is kind of the point & precisely why it's an interesting subject for an Internet forum about classic computing/gaming. :)

Link to comment
Share on other sites

The obscure commands certainly created a bit of a steep learning curve for people.
Unless it was in the manual or the dealer you purchased the machine from gave you a cheat sheet, you'd be at a bit of a loss.
And if you bought it from KMart, ToysRUS, Fred Meyer, etc... ?
You have to admit, it must have turned some users off to computers.

Link to comment
Share on other sites

The obscure commands certainly created a bit of a steep learning curve for people.

 

 

The gradient of the curve wasn't equal for all people ;)

I don't recall the exact circumstances but I clearly remember watching a "pre-literate" child (i.e. about 4-5 years old) type something like LOAD "*",8,1 on a C64 as if it were stacking building blocks.

Link to comment
Share on other sites

The gradient of the curve wasn't equal for all people ;)

I don't recall the exact circumstances but I clearly remember watching a "pre-literate" child (i.e. about 4-5 years old) type something like LOAD "*",8,1 on a C64 as if it were stacking building blocks.

Yeah, kids always figure out what they need to. Today's kids can operate every function of a cell-phone but can't figure out 2600 games in those 'react' videos. Today's adults could figure out every aspect of 2600 games, but can't figure out most of the stuff on their cell-phone. :)

  • Like 1
Link to comment
Share on other sites

Today's kids can operate every function of a cell-phone but can't figure out 2600 games in those 'react' videos.

 

My personal observation is that today's kids find many old games either too shallow or too hard or both. The idea of playing on and on and on just to reach another identical (or identical but a bit faster) level seems to bore them (which I can't blame them for as I don't seem to have as much zeal for it as I used to have 30 years ago ;) ). Even if higher levels are different they're not used to not being able to "continue" or start where they left off. With hindsight it's interesting that the "level code" concept was not really invented or at least in widespread use until the 1990s although it would have been much more comfortable on the Ataris with their keyboards than on, say a Jaguar.

Edited by slx
Link to comment
Share on other sites

I was actually wondering if you guys could help me out. i'm practicing programming off of some books from atarimania and the vic20 emulator won't produce any graphics at all. why is this. i'm using sample code from this book:

a beginners guide to real programming for the vic 20. I type in the code on page 75 but it only shows a heart. it says that there's supposed to be a bug but there's nothing there.

Edited by 2600problems
Link to comment
Share on other sites

I was actually wondering if you guys could help me out. i'm practicing programming off of some books from atarimania and the vic20 emulator won't produce any graphics at all. why is this. i'm using sample code from this book:

a beginners guide to real programming for the vic 20. I type in the code on page 75 but it only shows a heart. it says that there's supposed to be a bug but there's nothing there.

 

You might try posting the actual code here, if it isn't too long. There is a better chance of someone looking at it that way.

Link to comment
Share on other sites

That book refers to it as a "bug" (i.e. centipede), because it is made of 5 characters...or segments. How it looks is irrelevant at this stage...it is instructing you how to handle those multiple segments. Redefining the character set (altering the character map to look the way that you want it to look) is covered in chapter 16.

Link to comment
Share on other sites

The program in question begins on page 74, and is then explained on the following pages 75-77. Converted to lower case and control characters converted to CHR$ so it is easier to paste into VICE:

 

10 inputa
20 printchr$(147);
30 forp=1to20
40 fl=int((((p/2)-int(p/2))*2)+0.5)
50 sn=1-2*fl
60 forj=0to21
70 ch=(22*p)+(21*fl)+(j*sn)
80 ifj>=athenpoke7680+(22*p)+((j-a)*sn)+(21*fl),32
90 ifj<athenpoke7680+(22*(p-1))+((a-j)*sn)+(21*fl)-sn,32
100 poke7680+ch,81
110 poke38400+ch,2
120 fort=1to10:next
130 next:next
Anyway, graphics character 81 should be a filled ball, not a heart (83).
Link to comment
Share on other sites

The Vic migrates screen memory to $1000 (4096 decimal) when 8k or more expansion RAM exists. It is $1E00 (7680 decimal) in an unexpanded 5k Vic (or with the 3k "Super Expander" cartridge only). Similarly, color memory moves from $9600 (38400 decimal) when unexpanded to $9400 (37888 decimal) with 8k or more expansion RAM present. IIRC the reason for this change is so that your program would not get clobbered if you scroll a screen. Thanx a lot C=...some superb planning there).

  • Like 2
Link to comment
Share on other sites

The Vic migrates screen memory to $1000 (4096 decimal) when 8k or more expansion RAM exists. It is $1E00 (7680 decimal) in an unexpanded 5k Vic (or with the 3k "Super Expander" cartridge only). Similarly, color memory moves from $9600 (38400 decimal) when unexpanded to $9400 (37888 decimal) with 8k or more expansion RAM present. IIRC the reason for this change is so that your program would not get clobbered if you scroll a screen. Thanx a lot C=...some superb planning there).

 

in english?

The VIC 20 normally sets up screen RAM to start at memory address 7680, and color memory normally starts at memory address 38400.

When you add a RAM upgrade with over 8K, the machine detects the additional RAM and configures the screen to start at memory address 4096, and the color memory to start at address 37888.

This makes more RAM available to BASIC.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...