Using UltraEdit + Kick Assembler + Vice for C64 development

This a re-post of old information that I’ve previously posted somewhere back in 2018 but I wanted it here too for easy linking. It should still be valid in MacOs Big Sur and an slightly updated UltraEdit (I use Version: 16.10.0.22) as I used it as late as yesterday for programming som small stuff.

I followed the instructions at https://goatpower.org/projects-releases/sublime-package-kick-assembler-c64/ in order to set up my development system on Mac OS (High Sierra). But with one major difference. I had a fully licensed UltraEdit that I have been using since many years.

So this is how I set up the UltraEdit editor to use the compiler in a similar way to Sublime3:

1. Entered Tool Configuration and configured it as:

Command Line:

export PATH=$PATH:/Applications/VICE/X64.app/Contents/MacOS/ && export CLASSPATH=$CLASSPATH:/Applications/KickAssembler/KickAss.jar && mkdir -p bin && java cml.kickass.KickAssembler '%n%e' -log 'bin/%n_BuildLog.txt' -o 'bin/%n_Compiled.prg' -vicesymbols -showmem -symbolfiledir bin && x64 -moncommands 'bin/%n.vs' 'bin/%n_Compiled.prg'

You probably want to save the file before running the assembler:

And show the Terminal/Console for any assembler output:

2. Assigned a new hotkey for ‘User Tool 1’ in the preferences for keybindings, I picked F7.

3. Installed the following as mos6502.uew (Preferences → Display → Syntax Highlightning)

/L99"MOS6502 Assembly" Line Comment Num = 2// Block Comment On = /* Block Comment Off = */ String Chars = " File Extensions = asm
/Colors = 0,8421376,8421376,8421504,0,
/Colors Back = 16777215,16777215,16777215,16777215,16777215,
/Colors Auto Back = 1,1,1,1,1,
/Font Style = 0,0,0,0,0,
/C1"MOS6502 OpCodes" Colors = 16711680 Colors Back = 16777215 Colors Auto Back = 1 Font Style = 0
adc ahx alr anc anc2 and arr asl axs
bcc bcs beq bit bmi bne bpl bra brk bvc bvs
clc cld cli clv cmp cpx cpy
dcp dec dex dey
eor
inc inx iny isc
jmp jsr
las lax lda ldx ldy lsr
nop
ora
pha php pla plp
rla rol ror rra rti rts
sac sax sbc sbc2 sec sed sei shx shy sir slo sre sta stx sty
tas tax tay tsx txa txs tya
xaa
/C2"Registers" Colors = 255 Colors Back = 16777215 Colors Auto Back = 1 Font Style = 0
x
y
(
)
*
/C3"KickAss Directives" Colors = 33023 Colors Back = 16777215 Colors Auto Back = 1 Font Style = 0
.align .assert .byte .const .enum .error .eval .fill .for .function .if .import .macro .pc .print .pseudocommand .pseuodpc .return .struct .text .var .word
:BasicUpstart 
*Matrix *Vector
abs acos add asin asmCommandSize atan atan2 AT_ABSOLUTE AT_ABSOLUTEX AT_ABSOLUTE_Y AT_IMMEDIATE AT_INDIRECT AT_IZEROPAGEX AT_IZEROPAGEY AT_NONE author
BF_BITMAP_SINGLECOLOR BF_C64FILE BF_FLI BF_KOALA binary BLACK BNE_REL BLUE BROWN
c64 cbrt ceil copyright cos cosh CYAN
DARK_GRAY
else exp expm1
floor
get getData getMulticolorByte getPixel getSinglecolorByte getType getValue getX getY getZ GRAY GREEN
Hashtable height hypot
IEEEremainder init
JMP_IND
keys
LoadPicture LDA_ABS LDA_ABSX LDA_ABSY LDA_IMM LDA_IND LDA_IZPX LDA_IZPY LDA_ZP LDA_ZPX LDA_ZPY List LIGHT_BLUE LIGHT_GRAY LIGHT_GREEN LIGHT_RED LoadBinary location log log10 log1p
Matrix max min mod MoveMatrix
name
ORANGE
PerspectiveMatrix play pow PURPLE put
random RED remove round RotationMatrix RTS
ScaleMatrix set shuffle signum sin sinh size songs source sqrt startSong
tan tanh toDegress toRadians text
Vector
WHITE width
YELLOW
{
}
/C4"C64 Custom Regs" Colors = 32768 Colors Back = 16777215 Colors Auto Back = 1 Font Style = 0
$d000 $d001 $d002 $d003 $d004 $d005 $d006 $d007 $d008 $d009 $d00a $d00b $d00c $d00d $d00e $d00F $d010 $d011 $d012 $d013 $d014 $d015 $d016 $d017 $d018 $d019 $d01a $d01b $d01c $d01d $d01e $d01F $d020 $d021 $d022 $d023 $d024 $d025 $d026 $d027 $d028 $d029 $d02a $d02b $d02c $d02d $d02e $d400 $d401 $d402 $d403 $d404 $d405 $d406 $d407 $d408 $d409 $d40a $d40b $d40c $d40d $d40e $d40F $d410 $d411 $d412 $d413 $d414 $d415 $d416 $d417 $d418 $d419 $d41a $d41b $d41c $dc00 $dc01 $dc02 $dc03 $dc04 $dc05 $dc06 $dc07 $dc08 $dc09 $dc0a $dc0b $dc0c $dc0d $dc0e $dc0F $dd00 $dd01 $dd02 $dd03 $dd04 $dd05 $dd06 $dd07 $dd08 $dd09 $dd0a $dd0b $dd0c $dd0d $dd0e $dd0f $fffe $ffff

And that was it. Make some code in UltraEdit and hit F7 to compile and run it in Vice. Very Neat!