Your program automatically converts a 6502 program to 65Org16? It sure seems like it does after copying and pasting a short 6502 routine I wrote using MK's assembler.
So if you feed it vanilla 6502 source it will come out as 16-bit code.
Code: Select all
LK65_FLAGS = \
-bss $$00010000-$$EFFFFFFF -code $$FFFFE000-$$FFFFFFFF
Code: Select all
coltable .DB $00,$00,$00,$00,$FF,$FF,$FF,$00,$68,$37,$2B,$00,$70,$A4,$B2,$00 ;4-bit C-64Code: Select all
.BYTE "Hello World",$0D,$0A,0
Code: Select all
.include "header-dev65.asm"
; .include "header-hxa.asm"
Code: Select all
==> header-dev65.asm <==
;; assembly header for Dev65 assembler
;; http://www.obelisk.demon.co.uk/dev65/as65.html
mesg .macro sometext
.byte sometext
.endm
Code: Select all
==> header-hxa.asm <==
;; assembly header for HXA assembler
;; http://home.earthlink.net/~hxa/docs/hxa.htm#l7e
.hexfile
.listfile
.errfile
.cpu T_32_M16
.assume BIT32=1032, BIT32R=3210
.include "i6502.a"
macro mesg, ?sometext
.str ?sometext
.endm
Code: Select all
;; sign extension - will set Z and N, but disturbs C and V
signextend .macro dummy
eor #$80
sec
sbc #$80
.endm
Code: Select all
;; untested! sign extension - will set Z and N, preserve C and V
signextend .macro dummy
php
eor #$80
sec
sbc #$80
sta atemp
plp
lda atemp
.endm
Code: Select all
LDX #0
REPEAT
CPX #10
BREAK EQ
INX
FOREVER
Code: Select all
FFFFF000 00B5E000 : LDA $FFFFE000,X
FFFFF002 00BDE000FFFF : LDA |$FFFFE000,X
FFFFF005 00BDE000FFFF : LDA !$FFFFE000,X