ACME Release 0.96: Added experimental support for instruction sets of Rockwell 65C02, WDC 65C02(S), CSG 65CE02 and CSG 4502.

Stack indexing can now be given either as ",s" or as ",sp" (only relevant for 65816 and 65CE02).


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@78 4df02467-bbd4-4a76-a152-e7ce94205b78
This commit is contained in:
marcobaye 2016-12-28 20:32:00 +00:00
parent 681cbda33e
commit 294fe25c36
49 changed files with 810 additions and 416 deletions

View File

@ -817,13 +817,17 @@ Purpose: Select the processor to produce code for. If this PO
the previously chosen CPU value is restored
afterwards.
Parameters: KEYWORD: Currently valid keywords are:
6502 mnemonics and addressing modes of 6502 cpu
65c02 superset of 6502, adds 65c02 extensions
65816 superset of 65c02, adds 65816 extensions
6510 superset of 6502, adds mnemonics for
undocumented opcodes
c64dtv2 superset of 6510, adds mnemonics for DTV2
extensions (BRA/SAC/SIR)
6502 for the original MOS 6502
6510 6502 plus undocumented opcodes
65c02 6502 plus BRA,PHX/Y,PLX/Y,STZ,TRB/TSB
r65c02 65c02 plus BBRx, BBSx, RMBx, SMBx
w65c02 r65c02 plus STP/WAI
65816 65c02 plus 16/24-bit extensions
65ce02 r65c02 plus Z reg, long branches, ...
4502 65ce02 with MAP instead of AUG
c64dtv2 6502 plus BRA/SAC/SIR plus some of the
undocumented opcodes
See "docs/cputypes.txt" for more info.
BLOCK: A block of assembler statements.
Examples: !if cputype = $65c02 {
!cpu 65c02 { ; temporarily allow 65c02 stuff

View File

@ -12,6 +12,16 @@ platform used. There should be another help file in this archive
outlining the platform specific changes.
----------------------------------------------------------------------
Section: New in release 0.96
----------------------------------------------------------------------
Added experimental support for instruction sets of Rockwell 65C02,
WDC 65C02(S), CSG 65CE02 and CSG 4502.
Stack indexing can now be given either as ",s" or as ",sp" (only
relevant for 65816 and 65CE02).
----------------------------------------------------------------------
Section: New in release 0.95.8
----------------------------------------------------------------------

View File

@ -71,6 +71,12 @@ Found new "!for" syntax.
When using the "-Wno-old-for" switch to disable the warning about
the older syntax, the new syntax will trigger this warning.
Found SED instruction for CPU with known decimal SBC bug.
This warning is only ever given for CPU types 65ce02 and 4502,
because they are known to be buggy in decimal mode.
Pavel Zima and Eric Smith found an example where $41 minus $08
gave $39 instead of $33.
Label name not in leftmost column.
A label definition has blanks before the label name.
Imagine this source code:
@ -408,6 +414,10 @@ IllegalBlockTerminator
IllegalOperatorHandle
The expression parser found an operator that does not exist.
IllegalImmediateMode
The mnemonic tree contains invalid info about the size of immediate
arguments.
OperandStackNotEmpty
The expression parser has finished though there are still operands
left to parse.

129
docs/cputypes.txt Normal file
View File

@ -0,0 +1,129 @@
ACME
...the ACME Crossassembler for Multiple Environments
--- cpu types ---
ACME supports the following cpu types:
*** 6502
This is the instruction set of the original NMOS 6502 designed by MOS
(later CSG).
There are 151 documented opcodes.
*** 6510
This is the 6502 variant used in the C64 computer. It uses the same
instruction set as the 6502, but in addition to that, ACME supports
most of the undocumented opcodes as well.
See docs/Illegals.txt for more info.
*** 65c02
This is the CMOS re-design of the 6502. It seems to have also been
available from Rockwell, GTE/CMD and others. Features:
- new instructions:
BRA (branch always)
PHX, PHY, PLX, PLY (push/pull X/Y register)
STZ (store zero, 4 addr modes)
TRB (test and reset bits, 2 addr modes)
TSB (test and set bits, 2 addr modes)
- new addressing modes for existing instructions:
BIT #$12
BIT $12, x
BIT $1234, x
LDA/STA/ADC/SBC ($12) (zp indirect without index)
AND/ORA/EOR/CMP ($12) (zp indirect without index)
INC (increment accumulator)
DEC (decrement accumulator)
JMP ($1234,x) (jump indexed indirect)
- bugfix for flags in decimal mode
- bugfix for JMP($xxff) instruction
- undocumented opcodes are NOPs (although of different lengths)
There are 178 documented opcodes.
*** r65c02
This is a superset of 65c02, probably originally from Rockwell.
- It adds bit manipulation instructions:
BBR0..BBR7 (branch on bit reset)
BBS0..BBS7 (branch on bit set)
RMB0..RMB7 (reset memory bit)
SMB0..SMB7 (set memory bit)
Chips with this instruction set seem to have been available from
Rockwell, GTE/CMD and others.
There are 210 documented opcodes.
*** w65c02
This is a superset of r65c02, originating at WDC.
- It adds the STP and WAI instructions.
There are 212 documented opcodes.
*** 65816
This is a superset of 65c02, originally designed by WDC (it seems to
have been available from GTE/CMD as well). Features:
- register sizes can be changed to 16-bit
- 24-bit address space
- several new addressing modes
- block transfers
There are 256 documented opcodes, but one of them ("WDM") is reserved
for future expansion.
*** 65ce02
This is a superset of r65c02, originating at CSG. Features:
- Z register
- 16-bit stack pointer
- 16-bit branches
- a few 16-bit instructions
- new addressing modes
There is a known bug: SBC does not work corrently in decimal mode.
There are 256 documented opcodes, but one of them ("AUG") is reserved
for future expansion.
*** 4502
This is basically the same as 65ce02, but
- MAP replaces AUG
- EOM is synonymous to NOP
This cpu core can be found in the CSG4510 chip in the C65.
There are 256 documented opcodes.
*** c64dtv2
This is the cpu in version 2 of the C64DTV. It uses a superset of the
6502 instruction set. Features:
- new instructions:
BRA $1234 (branch always)
SAC #$12 (set accumulator mapping)
SIR #$12 (set index register mapping)
- support for some of the undocumented opcodes.

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2009 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Platform specific stuff (in this case, for AmigaOS)

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2009 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Platform specific stuff (in this case, for DOS, OS/2 and Windows)

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2009 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Platform specific stuff (in this case, for DOS, OS/2 and Windows)

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2009 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Platform specific stuff (in this case, for RISC OS)

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2009 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Platform specific stuff (in this case, for RISC OS)

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2009 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Platform specific stuff (in this case, for unknown OSes)

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2009 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Platform specific stuff (in this case, for unknown OSes)

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
//
// This program is free software; you can redistribute it and/or modify

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2014 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Main definitions

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2009 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// CLI argument stuff

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2009 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// CLI argument stuff

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
@ -16,42 +16,50 @@
// constants
static struct cpu_type cpu_type_6502 = {
keyword_is_6502mnemo,
keyword_is_6502_mnemo,
CPUFLAG_INDIRECTJMPBUGGY, // JMP ($xxFF) is buggy
234 // !align fills with "NOP"
};
static struct cpu_type cpu_type_6510 = {
keyword_is_6510mnemo,
keyword_is_6510_mnemo,
CPUFLAG_INDIRECTJMPBUGGY | CPUFLAG_8B_AND_AB_NEED_0_ARG, // JMP ($xxFF) is buggy, ANE/LXA #$xx are unstable unless arg is $00
234 // !align fills with "NOP"
};
static struct cpu_type cpu_type_c64dtv2 = {
keyword_is_c64dtv2mnemo,
keyword_is_c64dtv2_mnemo,
CPUFLAG_INDIRECTJMPBUGGY | CPUFLAG_8B_AND_AB_NEED_0_ARG, // JMP ($xxFF) is buggy, ANE/LXA #$xx are unstable unless arg is $00
234 // !align fills with "NOP"
};
static struct cpu_type cpu_type_65c02 = {
keyword_is_65c02mnemo,
keyword_is_65c02_mnemo,
0, // no flags
234 // !align fills with "NOP"
};
/*
static struct cpu_type cpu_type_Rockwell65c02 = {
keyword_is_Rockwell65c02mnemo,
static struct cpu_type cpu_type_r65c02 = {
keyword_is_r65c02_mnemo,
0, // no flags
234 // !align fills with "NOP"
};
static struct cpu_type cpu_type_WDC65c02 = {
keyword_is_WDC65c02mnemo,
static struct cpu_type cpu_type_w65c02 = {
keyword_is_w65c02_mnemo,
0, // no flags
234 // !align fills with "NOP"
};
*/
static struct cpu_type cpu_type_65816 = {
keyword_is_65816mnemo,
keyword_is_65816_mnemo,
CPUFLAG_SUPPORTSLONGREGS, // allows A and XY to be 16bits wide
234 // !align fills with "NOP"
};
static struct cpu_type cpu_type_65ce02 = {
keyword_is_65ce02_mnemo,
CPUFLAG_DECIMALSUBTRACTBUGGY, // SBC does not work reliably in decimal mode
234 // !align fills with "NOP"
};
static struct cpu_type cpu_type_4502 = {
keyword_is_4502_mnemo,
CPUFLAG_DECIMALSUBTRACTBUGGY, // SBC does not work reliably in decimal mode
234 // !align fills with "NOP"
};
// variables
@ -59,15 +67,17 @@ static struct cpu_type cpu_type_65816 = {
// predefined stuff
static struct ronode *cputype_tree = NULL;
static struct ronode cputype_list[] = {
#define KNOWN_TYPES "'6502', '6510', 'c64dtv2', '65c02', '65816'" // shown in CLI error message for unknown types
#define KNOWN_TYPES "'6502', '6510', '65c02', 'r65c02', 'w65c02', '65816', '65ce02', '4502', 'c64dtv2'" // shown in CLI error message for unknown types
// PREDEFNODE("z80", &cpu_type_Z80),
PREDEFNODE("6502", &cpu_type_6502),
PREDEFNODE("6510", &cpu_type_6510),
PREDEFNODE("c64dtv2", &cpu_type_c64dtv2),
PREDEFNODE("65c02", &cpu_type_65c02),
// PREDEFNODE("Rockwell65c02", &cpu_type_Rockwell65c02),
// PREDEFNODE("WDC65c02", &cpu_type_WDC65c02),
PREDEFLAST("65816", &cpu_type_65816),
PREDEFNODE("r65c02", &cpu_type_r65c02),
PREDEFNODE("w65c02", &cpu_type_w65c02),
PREDEFNODE("65816", &cpu_type_65816),
PREDEFNODE("65ce02", &cpu_type_65ce02),
PREDEFNODE("4502", &cpu_type_4502),
PREDEFLAST("c64dtv2", &cpu_type_c64dtv2),
// ^^^^ this marks the last element
};
const char cputype_names[] = KNOWN_TYPES; // string to show if cputype_find() returns NULL

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
@ -22,6 +22,7 @@ struct cpu_type {
#define CPUFLAG_SUPPORTSLONGREGS (1u << 1) // allow "!al" and "!rl" pseudo opcodes
#define CPUFLAG_8B_AND_AB_NEED_0_ARG (1u << 2) // warn if "ane/lxa #$xx" uses non-zero arg
#define CPUFLAG_ISBIGENDIAN (1u << 3) // for 16/24/32-bit values, output msb first
#define CPUFLAG_DECIMALSUBTRACTBUGGY (1u << 4) // warn if "sed" is assembled
// if cpu type and value match, set register length variable to value.

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2014 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Dynamic buffer stuff

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2014 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Dynamic buffer stuff

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2014 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Character encoding stuff

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2014 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Character encoding stuff

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2014 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Flow control stuff (loops, conditional assembly etc.)

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2015 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// flow control stuff (loops, conditional assembly etc.)

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2009 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Macro stuff

File diff suppressed because it is too large Load Diff

View File

@ -1,30 +1,32 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2009 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Mnemonic definitions
// mnemonic definitions
#ifndef mnemo_H
#define mnemo_H
// Prototypes
// create dynamic buffer, build keyword trees
extern void Mnemo_init(void);
// Check whether mnemonic in GlobalDynaBuf is supported by 6502 cpu.
extern int keyword_is_6502mnemo(int length);
// Check whether mnemonic in GlobalDynaBuf is supported by 6510 cpu.
extern int keyword_is_6510mnemo(int length);
// Check whether mnemonic in GlobalDynaBuf is supported by C64DTV2 cpu.
extern int keyword_is_c64dtv2mnemo(int length);
// Check whether mnemonic in GlobalDynaBuf is supported by 65c02 cpu.
extern int keyword_is_65c02mnemo(int length);
// Check whether mnemonic in GlobalDynaBuf is supported by Rockwell 65c02 cpu.
//extern int keyword_is_Rockwell65c02mnemo(int length);
// Check whether mnemonic in GlobalDynaBuf is supported by WDC 65c02 cpu.
//extern int keyword_is_WDC65c02mnemo(int length);
// Check whether mnemonic in GlobalDynaBuf is supported by 65816 cpu.
extern int keyword_is_65816mnemo(int length);
// check whether mnemonic in GlobalDynaBuf is supported by 6502 cpu.
extern int keyword_is_6502_mnemo(int length);
// check whether mnemonic in GlobalDynaBuf is supported by 6510 cpu.
extern int keyword_is_6510_mnemo(int length);
// check whether mnemonic in GlobalDynaBuf is supported by C64DTV2 cpu.
extern int keyword_is_c64dtv2_mnemo(int length);
// check whether mnemonic in GlobalDynaBuf is supported by 65c02 cpu.
extern int keyword_is_65c02_mnemo(int length);
// check whether mnemonic in GlobalDynaBuf is supported by Rockwell 65c02 cpu.
extern int keyword_is_r65c02_mnemo(int length);
// check whether mnemonic in GlobalDynaBuf is supported by WDC 65c02 cpu.
extern int keyword_is_w65c02_mnemo(int length);
// check whether mnemonic in GlobalDynaBuf is supported by 65816 cpu.
extern int keyword_is_65816_mnemo(int length);
// check whether mnemonic in GlobalDynaBuf is supported by CSG 65ce02 cpu.
extern int keyword_is_65ce02_mnemo(int length);
// check whether mnemonic in GlobalDynaBuf is supported by CSG 4502 cpu.
extern int keyword_is_4502_mnemo(int length);
#endif

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2009 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Platform specific stuff

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2009 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Platform specific stuff

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2014 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// pseudo opcode stuff

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2014 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// tree stuff

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2014 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// type system stuff

View File

@ -1,5 +1,5 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// Copyright (C) 1998-2014 Marco Baye
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
// Type system stuff

View File

@ -1,4 +1,4 @@
// ACME - a crossassembler for producing 6502/65c02/65816 code.
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2016 Marco Baye
// Have a look at "acme.c" for further info
//
@ -7,9 +7,9 @@
#define version_H
#define RELEASE "0.95.8" // update before release (FIXME)
#define RELEASE "0.96" // update before release (FIXME)
#define CODENAME "Fenchurch" // update before release
#define CHANGE_DATE "8 Oct" // update before release
#define CHANGE_DATE "28 Dec" // update before release
#define CHANGE_YEAR "2016" // update before release
//#define HOME_PAGE "http://home.pages.de/~mac_bacon/smorbrod/acme/" // FIXME
#define HOME_PAGE "http://sourceforge.net/p/acme-crossass/" // FIXME