Jump to content
IGNORED

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


Tjoppen

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.

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

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

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