Ideka Posted May 23, 2015 Share Posted May 23, 2015 (edited) Hey everybody! Recently I've been looking into programming the Atari 2600, and I think that I'm starting to understand the basics of it thanks to Mr. Andrew Davie's excellent tutorials. But I have met one major roadblock that prevents me from getting into it for real: I can't get DASM to work correctly, and thus I can't even assemble my codes to see what progress I eventually have made. I've been using v. 2.20.11 (which seems to be the latest one according to this page), it seems to assemble everything correctly except that it doesn't seem to recognize neither "VCS.h" nor "MACRO.h" no matter where I place the files. I've heard that DASM can have som issues on Windows 7 (which I have). Might this be the problem? Or is it just me being to simple-minded to figure it out? Any help will be greatly appreciated! EDIT: Here is the code file that I've been using to test DASM (download at the bottom of the first post): http://atariage.com/forums/viewtopic.php?t=27194 And this is the command line I've been in Command Prompt to get DASM to assemble the source code: C:\*PATH* dasm.exe C:\*PATH*kernel.txt -lkernel.txt -f3 -v5 -okernel.bin Edited June 1, 2015 by Ideka Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted May 23, 2015 Share Posted May 23, 2015 You need to be in the directory kernel.asm is located in: c:\path_to_dasm\dasm.exe kernel.asm -f3 -v5 -skernel.sym -lkernel.lst -okernel.bin 1 Quote Link to comment Share on other sites More sharing options...
Ideka Posted May 24, 2015 Author Share Posted May 24, 2015 (edited) Hmm... Although that does seem to change the result to the better, it doesn't seem to be the source of the problem. DASM still doesn't output any file, and by the looks of the message it doesn't even seem to read the file: Maybe it's my version of DASM? All of the topics I've read have pointed me to a domain called http://atari2600.org/dasm, but this link is down and therefore I have no clue on what version I really should download. I'm really sorry for bothering you people so much, but making my own 2600 game has been a dream of mine for a long time. Thanks for understanding! Edited May 24, 2015 by Ideka Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted May 24, 2015 Share Posted May 24, 2015 (edited) Dasm works fine for Windows 7. I added it to the registry as a right-click "open with" option for .asm files. After browsing to and assigning Dasm.exe to .asm normally, I used regedit to change the command data to "C:\Bin\dasm.exe" "%1" -f3 -o"%1".bin -lReport.txtI suggest using the command prompt program (installed in accessories), going directly to the subdirectory you are working in (literally type in cd.. multiple times to get to the root directory, then cd followed by the subdirectory name you are using for Dasm), and trying Dasm there manually to help narrow down what the issue is. Once you discover that, you can automate your process like I did above. Edited May 24, 2015 by Nukey Shay Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted May 24, 2015 Share Posted May 24, 2015 (edited) Was a listing created (that'd be the kernel.lst file)? If so, open it up and search for "error". Also post your kernel.asm file, there might be something wrong with it like having: processor 6502 instead of: processor 6502 The code won't compile if that line is not indented. I believe the current version of DASM is found at http://dasm-dillon.sourceforge.net - that's the link I provide in my presentation about writing 2600 homebrews. Edited May 24, 2015 by SpiceWare Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted May 25, 2015 Share Posted May 25, 2015 There should be an update to DASM in a month or two, bringing together a number of fixes submitted over the years. The atari2600.org domain is/was mine, and unfortunately DASM disappeared from that URL due to actions by Atari's lawyers. I never got around to restoring it. As noted, the source forge location is currently the correct place from which to obtain DASM. Cheers A Quote Link to comment Share on other sites More sharing options...
Ideka Posted June 1, 2015 Author Share Posted June 1, 2015 Thanks for all of these answers, it really helped me a lot! I just wanted to let you know that I've finally solved my issue, which seemed to be a cause of a little mistake in my assembly file (as you people suggested!) and me simply not knowing that DASM actually output any files since they for some reason are placed in a rather obscure directory (the "Users" folder). Nevertheless I'll hopefully be able to start coding some 2600 games soon, thanks to you people! Quote Link to comment Share on other sites More sharing options...
Ideka Posted June 1, 2015 Author Share Posted June 1, 2015 (edited) Thanks for all of these answers, they really helped me a lot! I just wanted to let you know that I've finally solved my issue, which seemed to be a cause of a little mistake in my assembly file (as you people suggested!) and me simply not knowing that DASM actually output any files since they for some reason are placed in a rather obscure directory (the "Users" folder). Nevertheless I'll hopefully be able to start coding some simple 2600 games soon, all thanks to you people! Edited June 1, 2015 by Ideka Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted June 4, 2015 Share Posted June 4, 2015 Glad it's working, but you're still not doing things quite right if output files are going to a different folder. Assuming you are running this from a command line, in the directory where the input files are (which is what you SHOULD be doing) then the output files should be dumped in the same directory you're in. For example... c:\something\something2\dasmlocation\dasm.exe sourcefile.asm -llistingfile.txt -f3 -ssymboltablefile.sym -ooutputfile.bin That should look for the dasm executable in directory "c:\something\something2\dasmlocation\" It should run the executable ("dasm.exe") It will use "sourcefile.asm" as the source file (your assembler code) It will output a listing file to the file "listingfile.txt" in the current directory it will output a symbol table listing to the file "symboltablefile.sym" in the current directory It will create an output binary "outputfile.bin" in the current directory. So, hoping the above is what you see when you follow the instructions carefully. Of course, your file names may vary -- but not the location of the output files!! Remember, you need to run this command from within the directory where your source files are, and dasm can live anywhere but you need to specifically mention its location as in the above. Cheers A Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.