Jump to content
IGNORED

My head hurts.


Recommended Posts

OK, I was reading the 2600 101 or whatever its called and I don't quite understand... well, ANY of it. I've never done ANYTHING like programming, Unless you count making mods for TES 3 morrowind. I tried using DASM, which went alright for the most part. but I got as far as "my first program". And I copied the program into a TXT file, and ran the commands in DASM to convert it to BIN. I got that, but when I ran it just beeped a lot. Can anyone spit out programming stuff in ENGLISH? or at least spanglish... heh. I wanted to do pong, but I can't get really understand any of it. Do I need SOME programming experience first? If so, I can't really program now, lol. So yeah, if I need to learn some programming before starting 2600 stuff, I'm gonna go download Vong, unless someone is willing to make me a basic pong, as close to arcade as possible that I can burn to a cart. SOOO... English please? :|

Link to comment
Share on other sites

I got as far as "my first program". And I copied the program into a TXT file, and ran the commands in DASM to convert it to BIN. I got that, but when I ran it just beeped a lot.

When you copy assembly language code from a web page and paste it into a text file, you need to be sure that any indentation is preserved. If the indentation gets messed up when you copy and paste the code, you'll usually get an error message when you try to assemble the code. Hence, you need to make sure that when you compile the code, the output window stays open so you can read any error messages that might occur.

 

Another problem that can occur when trying to assemble a program is that the assembler can't find something it needs, like the source code file that you're telling it to assemble, or an include file that's supposed to be used in conjunction with the source code, or something like that. These types of errors may be caused by not giving the full path to a file, or having a typo in the file name or path name, or not putting the files where they were expected to be, or an include file that you forgot to download and install, or having a space in the file name or path name, or not starting in the correct path, or not setting aome environment variable (like a variable that's supposed to hold a path name), etc. If you're using a batch command file to perform the assembly process, you might be able to enter each command line separately at a command prompt to isolate which command is causing the problem.

 

Or there may be some problems with the command that's supposed to play the ROM image in your emulator, or with the ROM file itself, such as the ROM file is 0 bytes (which would usually be because of a pronlem with the assembly process). If you try to run a 0-byte ROM file in an emulator, or a ROM file that's the wrong size, you may get a lot of noise, so that might be what's happening in your case. How big is the ROM file after you assembled it?

 

Michael

Link to comment
Share on other sites

ok, that sounded KINDA like giberish to me, but surprisingly I understood it for the most part. I gotta go check the indentations, ect. and the size, all were 1kb according to windows. (vista, if it matters...) SOO... I'll gonna check the spaces, ect. OK! I read the code, and it looked ok. I read the error message that the compiler (DOS version of DASM) and it said that it couldn't access VCS.H. Any ideas there??

Link to comment
Share on other sites

I read the error message that the compiler (DOS version of DASM) and it said that it couldn't access VCS.H. Any ideas there??

Yes, VCS.H is the include file that contains all the labels and addresses for the TIA and RIOT chips. If DASM couldn't access that file, there are two possibilities-- (1) the file isn't on your computer at all, or (2) it's on your computer but DASM isn't looking for it in the directory where it's located.

 

First, make sure you have the VCS.H file somewhere on your computer. It comes with the DASM installation package, so if you downloaded and installed DASM as a complete package, then you probably do have it. It's usually in a subdirectory named "machines," and then in another subdirectory under that named "atari2600."

 

If you don't have it, you might want to download the entire DASM package and install (unzip) it. By the way, many Atari 2600 programmers prefer to use an older version of DASM-- version 2.20.07-- so you might want to download that one.

 

Once you've found the VCS.H file, you have three options-- (1) copy and paste the VCS.H file into the same directory where DASM is so DASM will find it; (2) copy and paste the VCS.H file into some other directory of your choice and then tell DASM where to look for it; or (3) leave it where it is but tell DASM where to look for it.

 

One way to tell DASM where to find it is to put the full directory path in the INCLUDE statement in your program. That is, instead of just

 

  INCLUDE "VCS.H"

you could use

 

  INCLUDE "C:\DASM\Machines\ATARI2600\VCS.H"

(or whatever the full directory path is in your setup).

 

Another way to tell DASM where to find it is to add the INCDIR statement to your program, as in the following example:

 

  INCDIR "C:\DASM\Machines\ATARI2600"
  INCLUDE "VCS.H"

This has an advantage over the first method, because if there are other include files in that same directory, then DASM will be able to find them there, too-- otherwise you might need to use the first method for each include file (especially if they're scattered around in different directories).

 

Still another way to tell DASM where to find VCS.H and any other include files (such as MACRO.H) is to add the -Idir switch to the command line that starts up DASM to assemble your program, as in the following example:

 

DASM myprogram.asm -f3 -Idir"C:\DASM\Machines\ATARI2600" -omyprogram.bin

I hope this helps! :)

 

Michael

Link to comment
Share on other sites

START HERE

You'll quickly learn from Andrews tutorials. I have also attached the latest DASM compiler which contains my 2600 Template and batch file for compiling.

 

Double click the 01-Template.asm, windows will ask what program you wish to open this with, so point it to BUILD.bat

The batch file is simple and is setup to only compile if your .asm files resides in the DASM directory.

 

Good luck with your pong game, the 2600 isn't a machine to start learning to program on since it can get complex really fast.

But it really is a fun machine! and it is beneficial to at least understand how a console works at the bit level of things :)

 

--ATTACHMENT--

DASM.rar

Edited by ScumSoft
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...