[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Wudsn now supports Apple //



Ok, it appears that .dsk image format is automatically supported inside the WUDSN plug-in.
I picked up ACME and compiled it on the mac, and set it up inside Eclipse. By default, files in the project with a ".a" extension will be assembled with ACME. What I couldn't figure out was how to get the project to compile as an Apple2 type. TomCh filled that in with a previous post in this thread (thanks Tom!), by putting in:
;@com.wudsn.ide.asm.hardware=APPLE2 

at the beginning of the source file. Close and reopen the source file, and now the project will compile as an Apple2 file. 

I set up JACE as the default Apple2 program, and when I compiled, a .dsk image appeared in my project, JACE was automatically launched, and the program attempted to run. Double clicking the .dsk image in the project opened up an internal browser that shows 2 files in the DOS 3.3 disk:
HELLO (Basic program that runs first)
WORLD (Binary file that runs from the HELLO file. This is your assembled executable).

My first program actually crashed, but I figured out why. For whatever reason, during the linking/dsk merging process, the 4 bytes used for ADDRESS/LENGTH in DOS 3.3 Binary files aren't set up right, so you need to make room for them in your src file. 

Here's a quick program that I managed to get assembled and run automatically in JACE:
--------
; ACME text conversion table I created for Apple ASCII
!ct "a2txt.bin"

; Origin has to be 4 bytes less, to make room for DOS 3.3 ADDRESS and LENGTH (4 bytes total)
; appended to the BIN file
*=$2000-4

; Add in the header manually for DOS 3.3. Make sure the Origin matches above, but the
; LENGTH is filled in automatically, probably during the copy to dsk image
header		!byte	$00,$20,$ff,$ff
	
; Equates here
cout=$fded
					
			ldx	#$00
loop		
			lda message,x
			beq quit
			inx
			jsr cout
			jmp	loop
quit		
			jmp	$3d0

message		!tx "HELLO WORLD!",$8D,"hello world?",00
-------

Also, for ACME to find the a2txt.bin file, used for text conversion, it also needs to be in the project's main folder/directory (where the source files are as well). As soon as I copied it into that folder, it also got added to the Project.

Hope that helps others get it up and running. I believe the author was using the MADS assembler. I pulled the source down to compile it, but it appears to be in Pascal, which threw me for a loop. I figured it would take me too long to figure out how to get a working Pascal dev environment going, so I tried ACME instead, based on Blurry's recommendation. It compiled cleanly the first time.