Jump to content
IGNORED

Dasm won't open


Recommended Posts

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!

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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 :( :D

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 :P

 

--Zero

Link to comment
Share on other sites

  • 5 months later...

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?

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 months later...

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

 

:lolblue:

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

post-6479-1110501056_thumb.jpg

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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. :)

Link to comment
Share on other sites

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 ;)

Link to comment
Share on other sites

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

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...