mirror of
https://github.com/fadden/6502bench.git
synced 2024-11-18 15:06:07 +00:00
478afa542e
On the 65816, if you say "JSR foo" from bank $12, but "foo" is an address in bank 0, most assemblers will conclude that you're forming a 16-bit argument with a 16-bit address and assemble happily. 64tass halts with an error. Up until v1.55 or so, you could fake it out by supplying a large offset. This no longer works. The preferred way to say "no really I mean to do this" is to append ",k" to the operand. We now do that as needed. I didn't want to define a new ExpressionMode for 64tass just to support an operand modifier that should probably never actually get generated (you can't call across banks with JSR!), so this is implemented with a quirk and an op flag. 64tass v1.56.2625 is now the default. (issue #104)
20 lines
595 B
INI
20 lines
595 B
INI
# 6502bench SourceGen generated linker script for 20052-branches-and-banks
|
|
MEMORY {
|
|
MAIN: file=%O, start=%S, size=65536;
|
|
# MEM000: file=%O, start=$1000, size=11;
|
|
# MEM001: file=%O, start=$440000, size=28;
|
|
# MEM002: file=%O, start=$44ffc0, size=15;
|
|
# MEM003: file=%O, start=$2000, size=32;
|
|
# MEM004: file=%O, start=$543210, size=180;
|
|
}
|
|
SEGMENTS {
|
|
CODE: load=MAIN, type=rw;
|
|
# SEG000: load=MEM000, type=rw;
|
|
# SEG001: load=MEM001, type=rw;
|
|
# SEG002: load=MEM002, type=rw;
|
|
# SEG003: load=MEM003, type=rw;
|
|
# SEG004: load=MEM004, type=rw;
|
|
}
|
|
FEATURES {}
|
|
SYMBOLS {}
|