This shows you the differences between two versions of the page.

Link to this comparison view

people:priestdo:tips:z80asm_in_emacs [2008/02/20 14:02] (current)
Line 1: Line 1:
 +====== Using emacs with z80asm ======
 +First off, I want to state **I am not a lisp podgammer**((yeah,​ I know ain't spelled //that// way.))
 +OK, now that that is out of the way, this is what I added to my .emacs when I started using ''​z80asm''​ to work with z80 assembly code.  It adds ASM to the list of extensions that will put you into asm-mode for editing assembly code and defines the compile command the way I wanted it.  If there is a better way to do these tasks please let me know. 
 +<code lisp>
 +;; mods for z80asm GEP-D 2008-02
 +;; add "​.ASM"​ to asm-mode, does "​.asm"​ already
 +(setq auto-mode-alist (cons '
 +              ("​\\.ASM$"​ . asm-mode)
 +                     auto-mode-alist))
 +;; z80 compile
 +;; if either a "​Makefile"​ or "​makefile"​ exists use it, otherwise
 +;; build a compile command where you get a listing and output such 
 +;; that running it on FILENAME.asm gets you FILENAME.lst and FILENAME.rom
 +;; Then bind it to f5 'cus I'm use to it being there.
 +(add-hook '​asm-mode-hook
 +      (function
 +       (lambda ()
 +         (unless (or (file-exists-p "​makefile"​)
 +                     (file-exists-p "​Makefile"​))
 +           (make-local-variable '​compile-command)
 +           (setq compile-command
 +                 (concat "​z80asm --input="​
 +                         (buffer-file-name) " --output="​ (file-name-sans-extens\
 +ion buffer-file-name) "​.rom  --list="​ (file-name-sans-extension buffer-file-nam\
 +e) "​.lst"​ ))
 +                  (local-set-key [f5] '​compile)
 +                           ))))
 +;; end of z80asm mods
 + --- //​[[priestdo@cs.vassar.edu|Greg Priest-Dorman]] 2008/02/20 13:47//