doctorclu Posted February 19, 2017 Share Posted February 19, 2017 (edited) I have DASM set up on my Mac enough to complain at me. I have dasm in the "bin" folder. Simply stating "dasm" just brings up a unrecognized file. "open dasm" brings up the list of commands and works, till I try to do a command string, then it just breaks. So I have dasm and the source.asm in the same "bin" directory. I drag dasm into terminal, then I drag the assembly code into terminal, then I type what I believe you should type after that -f3 (format 2600 I presume) then -name.bin for a output binary. And I get this. Can someone help me on what is happening or needs to happen? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Doctors-Air:bin doctorclu$ /Applications/Atari/DASM/bin/dasm /Applications/Atari/DASM/bin/JOUST5JU.asm -f3 -joust.binDASM 2.20.11 20140304Copyright © 1988-2008 by various authors (see file AUTHORS).License GPLv2+: GNU GPL version 2 or later (see file COPYING).DASM is free software: you are free to change and redistribute it.There is ABSOLUTELY NO WARRANTY, to the extent permitted by law.Usage: dasm sourcefile [options]-f# output format 1-3 (default 1)-oname output file name (else a.out)-lname list file name (else none generated)-Lname list file, containing all passes-sname symbol dump file name (else none generated)-v# verboseness 0-4 (default 0)-d debug mode (for developers)-Dsymbol define symbol, set to 0-Dsymbol=expression define symbol, set to expression-Msymbol=expression define symbol using EQM (same as -D)-Idir search directory for INCLUDE and INCBIN-p# maximum number of passes-P# maximum number of passes, with fewer checks-T# symbol table sorting (default 0 = alphabetical, 1 = address/value)-E# error format (default 0 = MS, 1 = Dillon, 2 = GNU)Report bugs to dasm-dillon-discuss@lists.sf.net please! Fatal assembly error: Check command-line format.Doctors-Air:bin doctorclu$ Edited February 19, 2017 by doctorclu Quote Link to comment Share on other sites More sharing options...
doctorclu Posted February 19, 2017 Author Share Posted February 19, 2017 (edited) Doctors-Air:bin doctorclu$ dasm boing26.asm -f3 Complete. -=-=-=-=-=-=-=-=- Fine! Just output it as "a.out". I'll just rename the stink'in file manually. Whatever... Binary compile worked. Edited February 19, 2017 by doctorclu Quote Link to comment Share on other sites More sharing options...
doctorclu Posted February 19, 2017 Author Share Posted February 19, 2017 (edited) Ok, here is a new wrinkle now that I have successfully compiled a 4K image for the first time. Trying to assemble a 8K game -=-=-=-=-=-=-=-=-=-=-=-=- Doctors-Air:bin doctorclu$ dasm joust5ju.asm -f3segment: Bank0 1000 eqm vs current org: e004 Aborting assemblyjoust5ju.asm (350): error: Origin Reverse-indexed.=-=-=-=-=-=-=-=-=-=-=-=-=- Was trying to assemble the assembly code here: Joust (07-05-1983) (Atari - GCC, Mike Feinstein, Kevin Osborn) (CX2691) (Prototype).zip But also found this source as well: VCS_Joust_source.zip Edited February 19, 2017 by doctorclu Quote Link to comment Share on other sites More sharing options...
doctorclu Posted February 19, 2017 Author Share Posted February 19, 2017 (edited) Well on a cool note, I have successfully ran frogs and flies (4K) through DISTELLA, into the decompile, and then recompiled it with DASM. Cool! Now if someone could give some pointers on the Joust code I'd appreciate it. Edited February 19, 2017 by doctorclu Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 19, 2017 Share Posted February 19, 2017 (edited) Use the file in the first zip...the tags and directives have already been fixed by Thomas to work with Dasm. Only 1 issue...the ORG for the "development system" is still getting in the way. So cut the IF ORIGINAL text and paste it a bit higher between the SEG and ORG lines: SEG Bank0 IF ORIGINAL ORG $E000 E000 dc 0 ;STORE 80 IN HERE TO FREEZE E001 dc 0 ;SLOWDOWN SPEED E002 dc 0 ;TEMP E003 dc 0 ;WHEN FROZEN, NUMBER OF FRAMES TO ;ADVANCE BEFORE STOPPING. THE SPEED ;OF ADVANCEMENT IS SET IN E001 ; IF ORIGINAL ORG $E100 Assembles just fine now when ORIGINAL = 0 Edited February 19, 2017 by Nukey Shay 1 Quote Link to comment Share on other sites More sharing options...
doctorclu Posted February 19, 2017 Author Share Posted February 19, 2017 That worked!! What exactly was going wrong there aside from this being out of order? Here is another one I tried out, the Warlords Disassmeble from Spice Ware: Warlords_Source.zip Looks like it is trying to access other files. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Doctors-Air:bin doctorclu$ dasm warlords.asm -f3Warning: Unable to open 'vcs.h'Warning: Unable to open 'graphics.h'Warning: Unable to open 'vcs.h'Warning: Unable to open 'graphics.h'Warning: Unable to open 'vcs.h'Warning: Unable to open 'graphics.h'--- Unresolved Symbol ListzzXXX___XX 0000 ???? (R )zzX_____XX 0000 ???? (R )zz_X____XX 0000 ???? (R )zz______XX 0000 ???? (R )zzXX____XX 0000 ???? (R )NUSIZ0 0000 ???? (R )NUSIZ1 0000 ???? (R )zz_X____X_ 0000 ???? (R )zz______X_ 0000 ???? (R )zzXXX_____ 0000 ???? (R )zzXX______ 0000 ???? (R )zzX_______ 0000 ???? (R )zz_X______ 0000 ???? (R )zz________ 0000 ???? (R )COLUBK 0000 ???? (R )zzXXX____X 0000 ???? (R )zzXX_____X 0000 ???? (R )zzX______X 0000 ???? (R )zz_X_____X 0000 ???? (R )zz_______X 0000 ???? (R )COLUP0 0000 ???? (R )COLUP1 0000 ???? (R )PF0 0000 ???? (R )PF1 0000 ???? (R )PF2 0000 ???? (R )CXCLR 0000 ???? (R )COLUPF 0000 ???? (R )zz__X__X__ 0000 ???? (R )VBLANK 0000 ???? (R )zzXX___XXX 0000 ???? (R )zzX____XXX 0000 ???? (R )zz_X___XXX 0000 ???? (R )zz_____XXX 0000 ???? (R )zz_XX__XX_ 0000 ???? (R )CXM1FB 0000 ???? (R )CXM0FB 0000 ???? (R )AUDF0 0000 ???? (R )AUDF1 0000 ???? (R )AUDC0 0000 ???? (R )AUDC1 0000 ???? (R )CXBLPF 0000 ???? (R )CTRLPF 0000 ???? (R )SELECT_MASK 0000 ???? (R )AUDV0 0000 ???? (R )AUDV1 0000 ???? (R )GRP0 0000 ???? (R )GRP1 0000 ???? (R )zz____XX__ 0000 ???? (R )TIM64T 0000 ???? (R )zzXX__X___ 0000 ???? (R )ZZX___X___ 0000 ???? (R )zz_X__X___ 0000 ???? (R )zz____X___ 0000 ???? (R )HMCLR 0000 ???? (R )VSYNC 0000 ???? (R )CXP1FB 0000 ???? (R )CXP0FB 0000 ???? (R )zzXXXXXX__ 0000 ???? (R )zz_XXXXX__ 0000 ???? (R )zz__XXXX__ 0000 ???? (R )INTIM 0000 ???? (R )HMOVE 0000 ???? (R )zz__XXXXXX 0000 ???? (R )zzXXXXXXXX 0000 ???? (R )zz___XXXXX 0000 ???? (R )zz___XXXX_ 0000 ???? (R )zz__XXXXX_ 0000 ???? (R )zz_XXXXXX_ 0000 ???? (R )zz_X_XX_X_ 0000 ???? (R )zzXXXXX___ 0000 ???? (R )zz___XX___ 0000 ???? (R )INPT0 0000 ???? (R )RESP0 0000 ???? (R )RESP1 0000 ???? (R )zz__XX____ 0000 ???? (R )WSYNC 0000 ???? (R )RESBL 0000 ???? (R )RESM0 0000 ???? (R )RESM1 0000 ???? (R )SWCHA 0000 ???? (R )SWCHB 0000 ???? (R )ENAM0 0000 ???? (R )HMBL 0000 ???? (R )ENAM1 0000 ???? (R )HMP0 0000 ???? (R )HMP1 0000 ???? (R )ENABL 0000 ???? (R )HMM0 0000 ???? (R )HMM1 0000 ???? (R )--- 89 Unresolved Symbols Fatal assembly error: Source is not resolvable. Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted February 19, 2017 Share Posted February 19, 2017 The readme.txt in all the source archives from my Collect tutorial explains compiling with dasm: Collect is a simple Atari 2600 game where the objective is to collect randomly positioned boxes. Use dasm to compile the program. Dasm can be found here: http://dasm-dillon.sourceforge.net The command used to compile is: dasm collect.asm -f3 -v0 -scollect.sym -lcollect.lst -ocollect.bin the options after the source file are: -f3 sets output format to 3, RAW. -v0 sets verboseness. Values are 0-4, see dasm documentation. -s requests a symbol dump, saved to specified file. Stella uses the symbol dump in order to show your variable names in Stella’s debugger. The *.sym filename must match the *.bin filename for this to work. -l requests a detailed listing, saved to specified file. -o specifies the output file. If not specified, the output file will be a.out Besides the source file, only option -f3 is required to build a Atari 2600 program. vcs.h contains the standard definitions for GRP0, WSYNC, etc. while macro.h contains commonly used macro routines like the one for SLEEP. They're included with the source for dasm in the subdirectory machines/atari2600/. graphics.h is something I don't use anymore. I originally used it because I found it significantly easier to see the graphics within the code when represented like this: ShieldGfxRight: .byte zz__XXXX__ ; $3C .byte zz___XXXXX ; $1F .byte zz___XXXXX ; $1F .byte zz___XXXXX ; $1F .byte zz__XXXX__ ; $3C .byte zz________ ; $00 .byte zz________ ; $00 .byte zz________ ; $00 vs when represented like this: ShieldGf1Right: .byte %00111100 ; $3C .byte %00011111 ; $1F .byte %00011111 ; $1F .byte %00011111 ; $1F .byte %00111100 ; $3C .byte %00000000 ; $00 .byte %00000000 ; $00 .byte %00000000 ; $00 I no longer do that because I figured out how to have jEdit colorize the binary values so the graphics pop like this: You can either download graphics.h, or do a find/replace of zz/% _/0 and X/1 to convert all of those to standard binary representation. Only do the find/replace for the byte values though, not the entire file as things like LDX would become LD1 and cause all sorts of compile time errors 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.