Tjoppen Posted September 6, 2011 Share Posted September 6, 2011 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. Quote Link to comment Share on other sites More sharing options...
barnieg Posted September 6, 2011 Share Posted September 6, 2011 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 Quote Link to comment Share on other sites More sharing options...
Joe Musashi Posted September 6, 2011 Share Posted September 6, 2011 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. Quote Link to comment Share on other sites More sharing options...
esplonky Posted September 7, 2011 Share Posted September 7, 2011 i'm using fedora and i have no idea where to put my dasm files after i download them~ Quote Link to comment Share on other sites More sharing options...
Tjoppen Posted September 7, 2011 Author Share Posted September 7, 2011 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.