MAIN = pacman_6809_Main_Program_101.asm

all:
# To assemble the Pacman Transcoded program for use with MAME as a CoCo 3
	lwasm -9bl -p cd -oNEW.BIN $(MAIN) > listing.txt
	./slz P NEW.BIN new.slz
	cat slzloader.bin new.slz > GO.BIN
	imgtool del coco_jvc_rsdos Disk1.dsk GO.BIN
	imgtool put coco_jvc_rsdos Disk1.dsk GO.BIN GO.BIN

	mame -window -nojoy -debug coco3 -flop1 Disk1.dsk -nothrottle -autoboot_command "\n\nLOADM\"GO\n" -ui_active -debugscript go
#	mame -window -nojoy -debug coco3 -flop1 Disk1.dsk -nothrottle

all_slz:
# To assemble the Pacman Transcoded program for use with MAME as a CoCo 3 compress with SLZ compression
	lwasm -9bl -p cd -oNEW.BIN $(MAIN) > listing.txt
	./slz P NEW.BIN new.slz
	cat slzloader.bin new.slz > GO.BIN
	imgtool del coco_jvc_rsdos Disk1.dsk GO.BIN
	imgtool put coco_jvc_rsdos Disk1.dsk GO.BIN GO.BIN

	mame -window -nojoy -debug coco3 -flop1 Disk1.dsk

test:
# To assemble file and test without debug mode
	lwasm -9bl -p cd -oNEW.BIN $(MAIN) > listing.txt
	./slz P NEW.BIN new.slz
	cat slzloader.bin new.slz > GO.BIN
	imgtool del coco_jvc_rsdos Disk1.dsk GO.BIN
	imgtool put coco_jvc_rsdos Disk1.dsk GO.BIN GO.BIN

	mame -window -nojoy coco3 -flop1 Disk1.dsk

comp:
# To assemble file to test compiling sprites
	lwasm -9bl -p cd -oNEW.BIN pacman_6809_Test_compiled_Sprites_02.asm > listing.txt
	./slz P NEW.BIN new.slz
	cat slzloader.bin new.slz > GO.BIN
#	cat bigloader.bin NEW.BIN > GO.BIN
	imgtool del coco_jvc_rsdos Disk1.dsk GO.BIN
	imgtool put coco_jvc_rsdos Disk1.dsk GO.BIN GO.BIN

	mame -window -nojoy -debug coco3 -flop1 Disk1.dsk -nothrottle -autoboot_command "\n\nLOADM\"GO\n" -ui_active -debugscript go

opt:
# assemble option screen code at $C000 so it can be temporaily moved from $0000 to $C000
	lwasm -9r -p cd -oOptScreen.BIN pacman_6809_Option_Screen_03.asm > listing.txt
joy:
# To assemble file to test joystick on a real coco
	lwasm -9bl -p cd -oNEW.BIN JoyTest.asm > listing.txt
	./slz P NEW.BIN new.slz
	cat slzloader.bin new.slz > GO.BIN
	imgtool del coco_jvc_rsdos Disk1.dsk GO.BIN
	imgtool put coco_jvc_rsdos Disk1.dsk GO.BIN GO.BIN

	rm -f /Volumes/COCOSDC/SDC101.DSK
	cp Disk1.dsk /Volumes/COCOSDC/SDC101.DSK
	diskutil unmount COCOSDC

audio:
# To assemble audio test file
	lwasm -9bl -p cd -oNEW.BIN Samples_8bit_to6bit_01.asm > listing.txt
	cat bigloader.bin NEW.BIN > GO.BIN
	imgtool del coco_jvc_rsdos Disk1.dsk GO.BIN
	imgtool put coco_jvc_rsdos Disk1.dsk GO.BIN GO.BIN

	mame -window -nojoy -debug coco3 -flop1 Disk1.dsk

basic:
# Start MAME in CoCo3 mode with two disk images
	mame -window -nojoy -natural coco3 -flop1 Disk1.dsk -flop2 Disk3.dsk

coco:
# To assemble the Pacman Transcoded program on the CoCo 3 - this code isn't compatible with MAME
	lwasm -9bl -p cd -oNEW.BIN $(MAIN) > listing.txt
	./slz P NEW.BIN new.slz
	cat slzloader.bin new.slz > GO.BIN
	imgtool del coco_jvc_rsdos Disk1.dsk GO.BIN
	imgtool put coco_jvc_rsdos Disk1.dsk GO.BIN GO.BIN

	rm -f /Volumes/COCOSDC/SDC101.DSK
	cp Disk1.dsk /Volumes/COCOSDC/SDC101.DSK
	diskutil unmount COCOSDC

newslz:
# T assemble the newest SLZ loader
	lwasm -9bl -p cd -oPart1.BIN loadm.s
	lwasm -9r -p cd -oPart2.BIN loader.s
	cat Part1.BIN Part2.BIN > slzloader.bin

	cat slzloader.bin new.slz > GO.BIN
	imgtool del coco_jvc_rsdos Disk1.dsk GO.BIN
	imgtool put coco_jvc_rsdos Disk1.dsk GO.BIN GO.BIN

	mame -window -nojoy -debug coco3 -flop1 Disk1.dsk -nothrottle -autoboot_command "\n\nLOADM\"GO\n" -ui_active -debugscript go

clean:
	rm -f P.BIN A.BIN C.BIN M.BIN FIX.BIN GO.BIN

