Jump to content
Sign in to follow this  
Tjoppen

Has anyone gotten DASM to work on Ubuntu or other GNU/Linux system?

Recommended Posts

Has anyone here rolled their own DASM on a GNU/Linux system and gotten it to work properly? Or know of a working binary anywhere?

 

I grabbed the svn repo at http://sourceforge.net/projects/dasm-dillon/ (http://www.atari2600.org/DASM doesn't work any more) and tried both dasm-2.20.11 and trunk, but the resulting binaries seem to have problems with macros.

I simply ran make on both the froehlich/dasm-2.20.11 tag and trunk and used the binaries.

Thinking this was a line ending issue, I also tried "dos2unix *.h *.asm" but to no avail.

 

I'm thinking DASM has a rather serious bug since it produces different errors every run.

Can anyone confirm this? I might open a ticket on the SourceForge page, but I fear it's no longer maintained.

 

Output from attempting to assembly this follows. dasm-2.20.11:

~/vcs/nyan$ ~/dasm-dillon/tags/froehlich/dasm-2.20.11/bin/dasm nyan.asm -f3 -onyan.bin

RAM: $6 bytes left

kernel.asm (50): error: Illegal character ''.

char = '' 1 (-1: 48)

kernel.asm (50): error: Syntax Error ''.

MACRO ERROR: 'SLEEP': Duration must be > 1

kernel.asm (50): error: ERR pseudo-op encountered.

Aborting assembly

 

~/vcs/nyan$ ~/dasm-dillon/tags/froehlich/dasm-2.20.11/bin/dasm nyan.asm -f3 -onyan.bin

RAM: $6 bytes left

kernel.asm (50): error: Illegal character '��'.

char = '�' -111 (-1: 40)

kernel.asm (50): error: Illegal character '�'.

char = '�' -9 (-1: -111)

kernel.asm (50): error: Illegal character ''.

char = '' 1 (-1: -9)

kernel.asm (50): error: Syntax Error ''.

MACRO ERROR: 'SLEEP': Duration must be > 1

kernel.asm (50): error: ERR pseudo-op encountered.

Aborting assembly

 

~/vcs/nyan$ ~/dasm-dillon/tags/froehlich/dasm-2.20.11/bin/dasm nyan.asm -f3 -onyan.bin

RAM: $6 bytes left

kernel.asm (50): error: Illegal character '�'.

char = '�' -28 (-1: 81)

kernel.asm (50): error: Illegal character ''.

char = '' 1 (-1: -28)

kernel.asm (50): error: Syntax Error ''.

MACRO ERROR: 'SLEEP': Duration must be > 1

kernel.asm (50): error: ERR pseudo-op encountered.

Aborting assembly

 

~/vcs/nyan$ ~/dasm-dillon/tags/froehlich/dasm-2.20.11/bin/dasm nyan.asm -f3 -onyan.bin

RAM: $6 bytes left

kernel.asm (50): error: Illegal character ''.

char = '' 2 (-1: 82)

Unrecoverable error(s) in pass, aborting assembly!

 

~/vcs/nyan$ ~/dasm-dillon/tags/froehlich/dasm-2.20.11/bin/dasm nyan.asm -f3 -onyan.bin

RAM: $6 bytes left

kernel.asm (50): error: Illegal character '�'.

char = '�' -19 (-1: 33)

kernel.asm (50): error: Illegal character ''.

char = '' 1 (-1: -19)

kernel.asm (50): error: Syntax Error ''.

kernel.asm (50): error: Syntax Error ''.

MACRO ERROR: 'SLEEP': Duration must be > 1

kernel.asm (50): error: ERR pseudo-op encountered.

Aborting assembly

 

trunk:

~/vcs/nyan$ ~/dasm-dillon/trunk/bin/dasm nyan.asm -f3 -onyan.bin

VCS.H (198): warning: Segments must have a name!

RAM: $6 bytes left

kernel.asm (50): error: Invalid character '�-'!

char = '�' -79 (-1: 48)

kernel.asm (50): error: Invalid character ''!

char = '' 2 (-1: 45)

kernel.asm (50): error: Syntax error!

MACRO ERROR: 'SLEEP': Duration must be > 1

kernel.asm (50): ***panic***: ERR pseudo-op encountered, aborting assembly!

dasm: main.c:1290: exit_handler: Assertion `Ifstack == ((void *)0)' failed.

Aborted

 

~/vcs/nyan$ ~/dasm-dillon/trunk/bin/dasm nyan.asm -f3 -onyan.bin

VCS.H (198): warning: Segments must have a name!

RAM: $6 bytes left

kernel.asm (50): error: Invalid character '��'!

char = '�' -79 (-1: 48)

kernel.asm (50): error: Invalid character '�'!

char = '�' -125 (-1: -79)

kernel.asm (50): error: Invalid character ''!

char = '' 1 (-1: -125)

MACRO ERROR: 'SLEEP': Duration must be > 1

kernel.asm (50): ***panic***: ERR pseudo-op encountered, aborting assembly!

dasm: main.c:1290: exit_handler: Assertion `Ifstack == ((void *)0)' failed.

Aborted

 

~/vcs/nyan$ ~/dasm-dillon/trunk/bin/dasm nyan.asm -f3 -onyan.bin

VCS.H (198): warning: Segments must have a name!

RAM: $6 bytes left

kernel.asm (50): error: Invalid character ':'!

char = '' 17 (-1: 48)

kernel.asm (50): error: Invalid character ':'!

char = ':' 58 (-1: 17)

kernel.asm (50): error: Invalid character ''!

char = '' 2 (-1: 58)

kernel.asm (50): error: Unknown mnemonic ''!

MACRO ERROR: 'SLEEP': Duration must be > 1

kernel.asm (50): ***panic***: ERR pseudo-op encountered, aborting assembly!

dasm: main.c:1290: exit_handler: Assertion `Ifstack == ((void *)0)' failed.

Aborted

 

~/vcs/nyan$ ~/dasm-dillon/trunk/bin/dasm nyan.asm -f3 -onyan.bin

VCS.H (198): warning: Segments must have a name!

RAM: $6 bytes left

kernel.asm (50): error: Invalid character '�'!

char = '�' -77 (-1: 97)

kernel.asm (50): error: Syntax error in '0a�'!

dasm: main.c:1290: exit_handler: Assertion `Ifstack == ((void *)0)' failed.

Aborted

 

I'm using Ubuntu 11.04, though I doubt that's relevant.

Share this post


Link to post
Share on other sites

I'm using Ubuntu 11.04, though I doubt that's relevant.

 

Are you using a 64bit Ubuntu? I think there's a bug in DASM that causes 64bit builds to not work properly. You should however be able to build a working 32bit binary.

 

I used the source from dasm-2.20.11.tar.gz. On Ubuntu 11.01 you just have to

 

- Install the g++-multilib: sudo apt-get install g++-multilib

- Change the DASM Makefile: In src/Makefile replace CC= gcc with CC= gcc -m32

- run the top Makefile

 

The Nyan Cat compiled and ran fine for me with that.

Share this post


Link to post
Share on other sites

I'm using Ubuntu 11.04, though I doubt that's relevant.

 

Are you using a 64bit Ubuntu? I think there's a bug in DASM that causes 64bit builds to not work properly. You should however be able to build a working 32bit binary.

 

I used the source from dasm-2.20.11.tar.gz. On Ubuntu 11.01 you just have to

 

- Install the g++-multilib: sudo apt-get install g++-multilib

- Change the DASM Makefile: In src/Makefile replace CC= gcc with CC= gcc -m32

- run the top Makefile

 

The Nyan Cat compiled and ran fine for me with that.

Thanks, that worked like a charm.

 

If I'm able to fix DASM in 64-bit mode I may send patches to the guy maintaining it.

Ooh, and I also saw dasm2 on sourceforge. Might check that out as well.

Share this post


Link to post
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.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...