Jump to content



3

I want to learn how to program


19 replies to this topic

#1 gamer2 OFFLINE  

gamer2

    Chopper Commander

  • 131 posts

Posted Sun Sep 26, 2010 4:41 PM

But I don't know where to start, like what language to learn, what programs to use, etc.

Can someone help me get started, and some tips?

#2 108 Stars OFFLINE  

108 Stars

    Dragonstomper

  • 603 posts
  • Location:Frankfurt, Germany

Posted Sun Sep 26, 2010 6:00 PM

I am no programmer myself, but my brother is one, having made his doctor degree in informatics. He recommended the Microsoft Visual studio to me. Itīs only for Windows programs, but pretty comfortable and easy to use. I am now starting with Visual C Sharp, you might try that or Visual Basic.

#3 Animan OFFLINE  

Animan

    River Patroller

  • 2,124 posts
  • I'm a guy... I just happen to like Sailor Moon.

Posted Sun Sep 26, 2010 8:32 PM

BASIC is always a good language to learn from.

While many will say Visual Basic is the best one for learning, and it is a good one, but I personally recommend QBASIC. Yes, it is dirt old, but it can get you through all the basics slightly easier (but that's my opinion).

Just never give up, and you will succeed! Just have patience.

Edited by Animan, Sun Sep 26, 2010 8:32 PM.


#4 BigO OFFLINE  

BigO

    River Patroller

  • 2,939 posts
  • Location:Phoenix, AZ

Posted Sun Sep 26, 2010 8:45 PM

C#, Visual Studio, Visual Basic, etc. are not generally going to play well with the 2600. For that, you will need to use 6502 assembler or batari Basic. There are programming threads here that cover everything you need to know.

The Atari 2600 Programming forum is a good place to start:
http://www.atariage....00-programming/

The 2600 Programming for Newbies sub-forum is absolutely loaded with detailed information:
http://www.atariage....5-batari-basic/

Once you have some idea what it means to program for the 2600, checkout the batari Basic programming language in the batari Basic sub-forum. It's probably the best thing for a beginner: http://www.atariage....5-batari-basic/

Edited by BigO, Sun Sep 26, 2010 8:46 PM.


#5 gamer2 OFFLINE  

gamer2

    Chopper Commander

  • 131 posts

Posted Sun Sep 26, 2010 9:39 PM

View PostBigO, on Sun Sep 26, 2010 8:45 PM, said:

C#, Visual Studio, Visual Basic, etc. are not generally going to play well with the 2600. For that, you will need to use 6502 assembler or batari Basic. There are programming threads here that cover everything you need to know.

The Atari 2600 Programming forum is a good place to start:
http://www.atariage....00-programming/

The 2600 Programming for Newbies sub-forum is absolutely loaded with detailed information:
http://www.atariage....5-batari-basic/

Once you have some idea what it means to program for the 2600, checkout the batari Basic programming language in the batari Basic sub-forum. It's probably the best thing for a beginner: http://www.atariage....5-batari-basic/

I tried using the Batari software, and it didn't work.

Maybe I should have stated, I am running Windows 7 64 bit

#6 SeaGtGruff OFFLINE  

SeaGtGruff

    River Patroller

  • 4,544 posts
  • Location:Georgia, USA

Posted Sun Sep 26, 2010 10:02 PM

View PostAniman, on Sun Sep 26, 2010 8:32 PM, said:

I personally recommend QBASIC. Yes, it is dirt old, but it can get you through all the basics slightly easier (but that's my opinion).
Actually, I thnk FreeBASIC would be better than QBASIC, because FreeBASIC is backwards-compatible with QBASIC (but not 100% so; you might need to adjust certain commands), and it also supports programming for Windows, plus it's free and is still maintained.

Michael

#7 gamer2 OFFLINE  

gamer2

    Chopper Commander

  • 131 posts

Posted Sun Sep 26, 2010 11:09 PM

View PostSeaGtGruff, on Sun Sep 26, 2010 10:02 PM, said:

View PostAniman, on Sun Sep 26, 2010 8:32 PM, said:

I personally recommend QBASIC. Yes, it is dirt old, but it can get you through all the basics slightly easier (but that's my opinion).
Actually, I thnk FreeBASIC would be better than QBASIC, because FreeBASIC is backwards-compatible with QBASIC (but not 100% so; you might need to adjust certain commands), and it also supports programming for Windows, plus it's free and is still maintained.

Michael

I cant get any of the software to run on windows 7 64bit. I'll try doing linux on my laptop and setting up on there.

#8 Sub(Function(:)) OFFLINE  

Sub(Function(:))

    Moonsweeper

  • 357 posts
  • Location:Athens, Greece

Posted Mon Sep 27, 2010 12:22 AM

View Postgamer2, on Sun Sep 26, 2010 11:09 PM, said:

View PostSeaGtGruff, on Sun Sep 26, 2010 10:02 PM, said:

View PostAniman, on Sun Sep 26, 2010 8:32 PM, said:

I personally recommend QBASIC. Yes, it is dirt old, but it can get you through all the basics slightly easier (but that's my opinion).
Actually, I thnk FreeBASIC would be better than QBASIC, because FreeBASIC is backwards-compatible with QBASIC (but not 100% so; you might need to adjust certain commands), and it also supports programming for Windows, plus it's free and is still maintained.

Michael

I cant get any of the software to run on windows 7 64bit. I'll try doing linux on my laptop and setting up on there.

If you are going the linux route, I would suggest you try either ruby or python, both are scripting languages so you can get very quick feedback in your programming cycle. Both are free (usually come pre-installed on linux), both have LOTS of free tutorials on the net. There are also a lot of paid books available.

The other useful feature is the skills you learn can still be used as they are both modern languages.

Thinking about is even if you stay with windows x64, you could still give these languages a try ;)

#9 gamer2 OFFLINE  

gamer2

    Chopper Commander

  • 131 posts

Posted Mon Sep 27, 2010 1:25 AM

View PostSub(Function(':)'), on Mon Sep 27, 2010 12:22 AM, said:

View Postgamer2, on Sun Sep 26, 2010 11:09 PM, said:

View PostSeaGtGruff, on Sun Sep 26, 2010 10:02 PM, said:

View PostAniman, on Sun Sep 26, 2010 8:32 PM, said:

I personally recommend QBASIC. Yes, it is dirt old, but it can get you through all the basics slightly easier (but that's my opinion).
Actually, I thnk FreeBASIC would be better than QBASIC, because FreeBASIC is backwards-compatible with QBASIC (but not 100% so; you might need to adjust certain commands), and it also supports programming for Windows, plus it's free and is still maintained.

Michael

I cant get any of the software to run on windows 7 64bit. I'll try doing linux on my laptop and setting up on there.

If you are going the linux route, I would suggest you try either ruby or python, both are scripting languages so you can get very quick feedback in your programming cycle. Both are free (usually come pre-installed on linux), both have LOTS of free tutorials on the net. There are also a lot of paid books available.

The other useful feature is the skills you learn can still be used as they are both modern languages.

Thinking about is even if you stay with windows x64, you could still give these languages a try ;)

I need a program that I can use to program Atari 2600 games, that works on windows 7 and on a 64bit architecture. My laptops hard drive is dead.

#10 Sub(Function(:)) OFFLINE  

Sub(Function(:))

    Moonsweeper

  • 357 posts
  • Location:Athens, Greece

Posted Mon Sep 27, 2010 1:53 AM

View Postgamer2, on Mon Sep 27, 2010 1:25 AM, said:



[...snip...]

I need a program that I can use to program Atari 2600 games, that works on windows 7 and on a 64bit architecture. My laptops hard drive is dead.

Then look at using an virtual machine solution, virtual PC for windows 7 is free I think. You can run 32bit windows as a virtual machine, and then you have all the usual suspects available to you (batari basic, dasm assembler and stella emulator etc.)

#11 gamer2 OFFLINE  

gamer2

    Chopper Commander

  • 131 posts

Posted Mon Sep 27, 2010 3:25 AM

View PostSub(Function(':)'), on Mon Sep 27, 2010 1:53 AM, said:

View Postgamer2, on Mon Sep 27, 2010 1:25 AM, said:



[...snip...]

I need a program that I can use to program Atari 2600 games, that works on windows 7 and on a 64bit architecture. My laptops hard drive is dead.

Then look at using an virtual machine solution, virtual PC for windows 7 is free I think. You can run 32bit windows as a virtual machine, and then you have all the usual suspects available to you (batari basic, dasm assembler and stella emulator etc.)

ok using virtual PC, I have FreeBasic and BATARI working, I dont know where to actually write the program because the cmd line boxes that pop up just repeat what ever I type. Cant I just make the program in notepad and then run Batari or Freebasic to compile it to a rom?

#12 Sub(Function(:)) OFFLINE  

Sub(Function(:))

    Moonsweeper

  • 357 posts
  • Location:Athens, Greece

Posted Mon Sep 27, 2010 11:59 AM

I think you normally need some sort of text editor, yes. there are plenty to out there, most of the free ones will do fine:
sciedit ?
notepad++
editpad lite
notepad2
the list goes on and on (and every one has there favorite holy grail)


I have had no experience with Freebasic, but this looks like a tool to write Windows apps. This is not what you wanted, correct?

Regarding Batari basic, then you need to read the tutorial this should get you started.

have fun ;)

#13 gamer2 OFFLINE  

gamer2

    Chopper Commander

  • 131 posts

Posted Mon Sep 27, 2010 2:22 PM

View PostSub(Function(':)'), on Mon Sep 27, 2010 11:59 AM, said:

I think you normally need some sort of text editor, yes. there are plenty to out there, most of the free ones will do fine:
sciedit ?
notepad++
editpad lite
notepad2
the list goes on and on (and every one has there favorite holy grail)


I have had no experience with Freebasic, but this looks like a tool to write Windows apps. This is not what you wanted, correct?

Regarding Batari basic, then you need to read the tutorial this should get you started.

have fun ;)

I am using a BASIC guide I got with my Vic20 to try writing some simple programs.

#14 Sub(Function(:)) OFFLINE  

Sub(Function(:))

    Moonsweeper

  • 357 posts
  • Location:Athens, Greece

Posted Mon Sep 27, 2010 3:01 PM

View Postgamer2, on Mon Sep 27, 2010 2:22 PM, said:



I am using a BASIC guide I got with my Vic20 to try writing some simple programs.

This is possible not going to help that much with the 2600.

The architectures of the two systems are too different.

#15 gamer2 OFFLINE  

gamer2

    Chopper Commander

  • 131 posts

Posted Tue Sep 28, 2010 3:57 PM

View PostSub(Function(':)'), on Mon Sep 27, 2010 3:01 PM, said:

View Postgamer2, on Mon Sep 27, 2010 2:22 PM, said:



I am using a BASIC guide I got with my Vic20 to try writing some simple programs.

This is possible not going to help that much with the 2600.

The architectures of the two systems are too different.

So regular basic in the sense of

10 print"What?"
20 go to 10

will not work on 2600?

#16 Sub(Function(:)) OFFLINE  

Sub(Function(:))

    Moonsweeper

  • 357 posts
  • Location:Athens, Greece

Posted Wed Sep 29, 2010 1:26 PM

No. As I understand the 2600 has no idea of characters or strings such as "What?". If you want to put something like this on the screen you would have to draw it as graphics. Maybe Bb has something that can do this for you "auto-magically", I have never used it so cannot say.

Also a 2600 program will have to execute a loop that constantly draws the display screen in realtime, you as the programmer will have to do this.





#17 Animan OFFLINE  

Animan

    River Patroller

  • 2,124 posts
  • I'm a guy... I just happen to like Sailor Moon.

Posted Sat Oct 9, 2010 5:54 PM

View Postgamer2, on Tue Sep 28, 2010 3:57 PM, said:

View PostSub(Function(':)'), on Mon Sep 27, 2010 3:01 PM, said:

View Postgamer2, on Mon Sep 27, 2010 2:22 PM, said:



I am using a BASIC guide I got with my Vic20 to try writing some simple programs.

This is possible not going to help that much with the 2600.

The architectures of the two systems are too different.

So regular basic in the sense of

10 print"What?"
20 go to 10

will not work on 2600?

The 2600 is a very different system from almost anything else. bB doesn't even have a feature to do that. Even though it is based off of BASIC, it has its own quirks that need to be learned.

But it's shouldn't be too hard to learn, though. In fact, I always found bB easier to use than most other BASIC's.

Edited by Animan, Sat Oct 9, 2010 5:54 PM.


#18 doppel OFFLINE  

doppel

    Star Raider

  • 65 posts

Posted Tue Nov 9, 2010 6:06 AM

Feel free to disagree with me, everybody, but I kinda feel like programming the 2600 in anything but good ol' 6502 assembly is kind of missing the point. Sure, you can argue that batari Basic makes doing so easier, that it takes the labor of writing a completely new graphics engine for every single game out of the hands of the programmer, and many other points. But I feel that it's more of a learning experience to control the 2600 directly, and that tackling those challenges is the whole point. Just thought I'd throw in my 2 cents worth, for what it's worth. :-)

#19 SeaGtGruff OFFLINE  

SeaGtGruff

    River Patroller

  • 4,544 posts
  • Location:Georgia, USA

Posted Tue Nov 9, 2010 10:04 PM

View Postdoppel, on Tue Nov 9, 2010 6:06 AM, said:

Feel free to disagree with me, everybody, but I kinda feel like programming the 2600 in anything but good ol' 6502 assembly is kind of missing the point. Sure, you can argue that batari Basic makes doing so easier, that it takes the labor of writing a completely new graphics engine for every single game out of the hands of the programmer, and many other points. But I feel that it's more of a learning experience to control the 2600 directly, and that tackling those challenges is the whole point. Just thought I'd throw in my 2 cents worth, for what it's worth. :-)
That's true only if you use batari Basic's builtin kernels. You can still write your own kernels in assembly to use with batari Basic, either by using inline assembly or making custom include files. You can even write a custom kernel *using* batari Basic statements instead of assembly, although doing that imposes certain limitations, such as timing issues (because of the way batari Basic statements might be compiled into assembly), or the lack of certain addressing modes (such as indexed,Y), or not being able to load and store the X and Y registers. So you wouldn't really want to use batari Basic statements to write a complex custom kernel, although the exercise of doing so can help beginners learn the basics of how to construct a kernel. So my 2 cents is that batari Basic can let programmers enjoy the best of both worlds-- using high-level batari Basic statements to make a program look more understandable to us poor humans, and using low-level inline assembly statements to seize direct control of the 2600. Shoot, even the high-level statements can take direct control of the 2600. For example, if you want to turn on blanking, VBLANK=2 works just as well as LDA #2 and STA VBLANK. Need to strobe WSYNC? Use WSYNC=0. Want to get 3 copies of player0? Try NUSIZ0=3. :)

But if you want absolute, total control of the 2600, then yes-- getting down to the assembly (or machine code) level is definitely and undeniably the way to go!

Michael

#20 Trekker_1138 OFFLINE  

Trekker_1138

    Stargunner

  • 1,978 posts
  • Location:Ohio, USA

Posted Tue Dec 7, 2010 1:04 AM

View PostSeaGtGruff, on Tue Nov 9, 2010 10:04 PM, said:

But if you want absolute, total control of the 2600, then yes-- getting down to the assembly (or machine code) level is definitely and undeniably the way to go!

Michael

Computer Science curriculums always start with some high level language like BASIC, then go lower with C++, then assembly/machine later. Maybe they should start lower with assembly/machine, so students can learn how computers work at the lowest levels -- bits. I listen to the Security Now podcast with Steve Gibson. He programs his utilities and freeware in Assembly, so his programs are only like 120KB! Pretty cool.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users