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














