Atari Charles Posted April 24, 2004 Share Posted April 24, 2004 Hi, I am trying to open Dasm on my computer which runs Windows XP Pro. When I try and open this program, the screen blinks for a second and then closes. I am opening it is DOS, as I don't have an Amiga or a Mac. What am I doing wrong, or, isn't Dasm compatable with Windows XP pro? Thanks! Quote Link to comment Share on other sites More sharing options...
Ze_ro Posted April 24, 2004 Share Posted April 24, 2004 DASM isn't a graphical program with menus and buttons and such... it's an assembler that takes a specified file containing assembly code, and creates an output binary. You have to run it from the command line. --Zero Quote Link to comment Share on other sites More sharing options...
Atari Charles Posted April 24, 2004 Author Share Posted April 24, 2004 Thanks. I know it is not a graphical program, but should I still be able to click the icon and have it open in DOS? I looked at the properties of this DASM and it can be made compatible for: Windows 95, Windows 98, Windows 2000, and Window NT. I have had the same problem trying to run my 8 bit nintendo emulator on Windows XP. It doesn't work as well. I am really sure it is a compatability issue as Windows XP is not listed is DASM. So is there a DASM that will work with Windows XP? Thanks! Quote Link to comment Share on other sites More sharing options...
bjk7382 Posted April 24, 2004 Share Posted April 24, 2004 Thanks. I know it is not a graphical program, but should I still be able to click the icon and have it open in DOS? You can't just click on the icon, you have to go to the command line and find the folder dasm is in thru dos commands. I love dos and I am sad it ever went away Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted April 24, 2004 Share Posted April 24, 2004 Absolutely right...you need to supply Dasm with the parameters that you want to use...such as the name of the text file it's converting into a binary, the format of the file it creates, and the name of the new file when it gets done. This should resemble the following... dasm source.asm -f3 -obinary.bin After entering that, Dasm will grab the source file (called source.asm in this example), set it's output method (always -f3 for Atari2600 binaries), and translate the text file's contents into a rom file (called binary.bin in this example). The resulting file must be exactly 2048 or 4096 bytes for it to be compatable with the 2600. Larger games require you to compile each "bank" of the memory and then join them together later...like this: dasm part1.asm -f3 -opart1 compiles the first 4k bank dasm part2.asm -f3 -opart2 compiles the second 4k bank copy /b part1+part2 8krom.bin joins them together to create an 8k rom Quote Link to comment Share on other sites More sharing options...
Ze_ro Posted April 24, 2004 Share Posted April 24, 2004 What all of us failed to say so far is that DASM is not an interactive program. When you double click on it, it IS opening a DOS prompt... but all that happens is that DASM displays a message saying you didn't tell it what it's supposed to do, and then the program exits, and Windows destroys the DOS window before you have a chance to read what DASM told you. Remember that command line programs like DASM will almost never ask you what they're supposed to do. You have to tell them what they're supposed to do... and you can't do that by just double clicking on them. --Zero Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted April 24, 2004 Share Posted April 24, 2004 At least most have a help window that pops up that details all of the switches that are used if no parameters are given. Not their fault that Windoze kills it right away Quote Link to comment Share on other sites More sharing options...
Jedd Posted April 25, 2004 Share Posted April 25, 2004 Yeah mine does the same thing. When I double click Dasm, it opens Dos but doesn't actually run. So to assemble something, I open a new window in Dos and use the cd command to get to the directory I want, then invoke (or whatever the word is) Dasm to assemble the file. Unfortunately, Dasm doesn't just open in it's own Dos window when you double-click it. -J Quote Link to comment Share on other sites More sharing options...
Ze_ro Posted April 25, 2004 Share Posted April 25, 2004 Unfortunately, Dasm doesn't just open in it's own Dos window when you double-click it. Well... that's really not the way DOS programs work. It's not DASM's fault that this happens, it's just that Windows does a very bad job of DOS and command line program. You guys have been completely spoiled by graphical interfaces --Zero Quote Link to comment Share on other sites More sharing options...
WarFreak131 Posted October 24, 2004 Share Posted October 24, 2004 I got mine to open through DOS commands. When I put in the "dasm [text file name] -f3 -ordinary," it shows up with this message DASM V2.20.04, Macro Assembler 1988-2003 Warning: Unable to open '[text file name]' Complete. But I dont think it assembled my binary at all. What can I do? Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted October 24, 2004 Share Posted October 24, 2004 Makes sure you have the file in the DASM directory. Quote Link to comment Share on other sites More sharing options...
Dr. Van Thorp Posted November 10, 2004 Share Posted November 10, 2004 I blaim mocrosoft for not making windows work better with old DOS programs. You SHOULD be able to double click on the file, and Windows SHOULDN'T close the DOS window without giving you a chance to read the error messages. That's just laziness and apathy on the part of Microsoft. Quote Link to comment Share on other sites More sharing options...
MayDay Posted March 10, 2005 Share Posted March 10, 2005 I am having this same issue. I dug up this post in attempt to see if the answer(s) had already been posted, and as far as I can tell they have not. Here's my situation to date: I am running XP and downloaded the DASM file into a folder directly on my C drive named DASM. After unzipping the file, it is in another subfolder named dasm22010. Inside that folder is another folder named DASM. Inside THAT folder is a bin folder, then the DOS folder. So far, that would be C://DASM/dasm22010/DASM/bin/DOS/ Inside the DOS folder is what I believe to be the actual "executable" file, dasm. Properties of this file show it as an application, but with no file type. In this same folder, I placed a file named comball (combat variation, I have the original stored elsewhere). The file type is .s; the actual name is comball.s Okay, after I open DOS and get to the C prompt, I try typing the following command: dasm comball.s -f3 -osource.bin I have tried several variations on this input, such as comball.asm and other things, but always get the following message: 'dasm' is not recognized as an internal or external command, operable program or batch file. I have screwed around with this program since I joined the forum a week or so before the end of February, and am terribly frustrated with trying to get it to work. I think I've provided all possible information, but if there is anything else I can provide let me know. Oh, one last thing, I've used Notepad to open/view the source code. My understanding is the command should 1. open dasm, 2. load in comball.s, and 3. output the binary into a file named source.bin. Is this all correct? Any/all suggestions most welcome. Hacking on graphics is okay, but I really need to get into the code! Thanks, Jason Quote Link to comment Share on other sites More sharing options...
s0c7 Posted March 10, 2005 Share Posted March 10, 2005 If you are trying to execute immediately after going to the command prompt it won't work because windows can't find it. You either need to CD to the directory you uncompressed it to or add it to your path or do what I did and create a work directory to store my source and copy the contents of the bindos directory into it. Quote Link to comment Share on other sites More sharing options...
s0c7 Posted March 10, 2005 Share Posted March 10, 2005 BTW - if you do create the work directory and copy everything into it you will still need to CD to that directory when you first drop to the command line. Quote Link to comment Share on other sites More sharing options...
+batari Posted March 10, 2005 Share Posted March 10, 2005 I recommend reading a primer on DOS if you're going to do some serious programming with DASM, namely about directory structure and how to change directories, because the problem is that you're not in the right directory. But for now, if you just want to get it working, there are alternatives if you really want to run dasm from Windows, though. You can create a program information file. I haven't tried this but it should work. To do this, right click on the DASM executable, then go to properties. Click on the "program" tab and first clear the "close on exit" checkbox so it doesn't disappear when there's an error. In the "command line" folder, you can put: dasm dk.asm -odk.bin -f3, or whatever your program is, to change the command-line arguments. To compile different files, you'll have to go back in and change things around. Note that your source file must be in the same folder as dasm or this won't work. But the advantage of all this is you can now run dasm from windows by double-clicking on it without having to figure out DOS. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 10, 2005 Share Posted March 10, 2005 I blaim mocrosoft for not making windows work better with old DOS programs. You SHOULD be able to double click on the file, and Windows SHOULDN'T close the DOS window without giving you a chance to read the error messages. That's just laziness and apathy on the part of Microsoft. Quote Link to comment Share on other sites More sharing options...
MayDay Posted March 10, 2005 Share Posted March 10, 2005 okay... that was helpful, telling me to go to that exact directory. I had been trying it straight from the C (and previously E) drive. Now when I run the comball.s file, it actually runs DASM and gives me the following messages: unable to open vcs.h (x3) then it lists the unresolved symbols, which totals 39. Do I need to find the vcs file and put it in the same directory as dasm itself? I don't want to move it around if I'm not supposed to. -Jason Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 10, 2005 Share Posted March 10, 2005 I recommend reading a primer on DOS if you're going to do some serious programming with DASM, namely about directory structure and how to change directories, because the problem is that you're not in the right directory. But for now, if you just want to get it working, there are alternatives if you really want to run dasm from Windows, though. You can create a program information file. I haven't tried this but it should work. To do this, right click on the DASM executable, then go to properties. Click on the "program" tab and first clear the "close on exit" checkbox so it doesn't disappear when there's an error. In the "command line" folder, you can put: dasm dk.asm -odk.bin -f3, or whatever your program is, to change the command-line arguments. To compile different files, you'll have to go back in and change things around. Note that your source file must be in the same folder as dasm or this won't work. But the advantage of all this is you can now run dasm from windows by double-clicking on it without having to figure out DOS. Something else that just occured to me is that Windows can be set up to make file type extensions invisible (which might mean that your source.s file is really named source.s.txt). Since he mentioned that dasm doesn't show the .exe extension, this might be the case. Open up Explorer, click "tools", then "folder options", select the "view" tab, and UNCHECK "hide file extensions for known file types" and close. This way, you will be shown the full filenames of everything listed in folders. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 10, 2005 Share Posted March 10, 2005 okay... that was helpful, telling me to go to that exact directory. I had been trying it straight from the C (and previously E) drive. Now when I run the comball.s file, it actually runs DASM and gives me the following messages: unable to open vcs.h (x3) then it lists the unresolved symbols, which totals 39. Do I need to find the vcs file and put it in the same directory as dasm itself? I don't want to move it around if I'm not supposed to. -Jason Yup...you are on the right track (finally)...but it's still having problems with your folder layout (when trying to find the files it needs). Make a copy of vcs.h and vcs.c and dump them in the same folder where you are running Dasm and you should be good to go. Quote Link to comment Share on other sites More sharing options...
MayDay Posted March 11, 2005 Share Posted March 11, 2005 Okay... I'm so close I can smell it now. I looked through the DASM stuff I downloaded and wasn't able to find either vcs.h or vcs.c, but did find a file named vcs.h on my hard drive through a desktop search. I put that file in (which when opened, refers to DASM, not sure why it didn't save into folder with everything else?!) with the DASM program which leads me to... [/img] Any idea why the vcs files don't seem to be present/in the folder? Suggestions on where to get a copy of vcs.c? Hopefully if i can find that file and put it in there, i can finally have it running. -JD Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted March 11, 2005 Share Posted March 11, 2005 I don't believe vcs.h is included with dasm, you gotta find it elsewhere. I can't remember where I got it; I think Andrew Davie has the latest copy on his site? I don't think you need vcs.c; I haven't needed it for any of the compiling I've done...? Check the source you are trying to compile, whatever it is trying to 'include' needs to be in the same folder. Regarding the image you posted, that looks like an error in the source code, not missing header (.h) files. Are you sure that is a compilable source? Hmm.... Actually, it so happens that I have what is probably the same source code on my box (combat.s), so I tried to compile it: same error. Here's the problem: BIT PF_PONG BVC BMisDec ; branch if not Pong game (PF_PONG bit 6) AND #$01 ; Upshot of this is, in non-billiard Pong BNE MisDSkp ; game, missiles last about twice as long There is no label BMisDec, so I would say that this source code is screwy. Try this source for battlezone, I just compiled it and it compiles fine. bzonesrc.zip Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted March 11, 2005 Share Posted March 11, 2005 Actually, it so happens that I have what is probably the same source code on my box (combat.s), so I tried to compile it: same error. Here's the problem: BIT PF_PONG BVC BMisDec ; branch if not Pong game (PF_PONG bit 6) AND #$01 ; Upshot of this is, in non-billiard Pong BNE MisDSkp ; game, missiles last about twice as long There is no label BMisDec, so I would say that this source code is screwy. I just took another quick look at the combat source, and here is a bigger snip: MisAge LDA CLOCK ; Missile aging rate depends on type AND #$03 BEQ MisDec ; Only do this test 3/4 of the time BIT BILLIARD BVS MisDSkp ; branch if Billiard (must bounce before hit) BIT PF_PONG BVC BMisDec ; branch if not Pong game (PF_PONG bit 6) AND #$01 ; Upshot of this is, in non-billiard Pong BNE MisDSkp ; game, missiles last about twice as long MisDec DEC MisLife,X ; I'm getting older! MisDSkp LDA #$00 BEQ ResRTS ; Unconditional -- DO NOT Reset missile to tank I think the 'BMisDec' should be 'MisDec' - so you might try changing the line of code: BVC BMisDec to BVS MisDec and see if it works. It should certainly compile if you make that change; I just don't know if the game will run correctly. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 11, 2005 Share Posted March 11, 2005 It's a typo...it should be MisDec, not BMisDec (the label for MisDec is just a couple lines down from there). And yeah, you are correct that vcs.c is not needed by Dasm (it must belong to Distella). I just keep EVERYTHING used by Dasm, Distella, 2600GFX, and Z26 all in the same folder...so I can do everything I need to right from the command prompt without changing directories Quote Link to comment Share on other sites More sharing options...
MayDay Posted March 11, 2005 Share Posted March 11, 2005 vdub- you're my hero. No, I wasn't sure it was a compilable source. I downloaded it off the list of original ROMs, and since it was the only game I knew very well, was trying to run it. I have no idea why it didn't occur to me that it may not be any good... Anyway, I downloaded your battlezone, but it was the bin and not the code. I went back and found the code for INDY500, off the same original ROMs list, and it too would not compile. However, I tried battlezone, and it seemed to work perfectly. Wow... two weeks for that. Homer Simpson said: o/` I am so smart... I am so smart... S..M..R..T... I am so smart! o/` Thanks a ton you guys, no aspirin needed for a couple of days! -JD 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.