Jump to content



0

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


4 replies to this topic

#1 Tjoppen OFFLINE  

Tjoppen

    Chopper Commander

  • 129 posts

Posted Tue Sep 6, 2011 7:20 AM

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.n...ts/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:

Quote

~/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:

Quote

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

#2 barnieg OFFLINE  

barnieg

    Chopper Commander

  • 149 posts
  • Location:Rugby, England

Posted Tue Sep 6, 2011 8:01 AM

It's been a few months since I've done this but I had dasm working from the batari basic binary download which includes the executable, I've not had a chance to play with it since then:

http://bataribasic.com/download.html try the statically linked binary's

Barnie

#3 Joe Musashi OFFLINE  

Joe Musashi

    Space Invader

  • 30 posts

Posted Tue Sep 6, 2011 11:06 AM

View PostTjoppen, on Tue Sep 6, 2011 7:20 AM, said:

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.

#4 esplonky OFFLINE  

esplonky

    Moonsweeper

  • 292 posts
  • Kinetic, Not synthetic.
  • Location:Canyon Lake, TX

Posted Tue Sep 6, 2011 6:24 PM

i'm using fedora and i have no idea where to put my dasm files after i download them~

#5 Tjoppen OFFLINE  

Tjoppen

    Chopper Commander

  • 129 posts

Posted Wed Sep 7, 2011 1:15 AM

View PostJoe Musashi, on Tue Sep 6, 2011 11:06 AM, said:

View PostTjoppen, on Tue Sep 6, 2011 7:20 AM, said:

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.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users