1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-11-12 21:09:29 +00:00
6502bench/SourceGen/SGTestData/Expected
Andy McFadden 99cd0d3ac1 Improve handling of C64 PRG header
C64 PRG files are pretty common.  Their salient feature is that they
start with a 16-bit value that is used as the load address.  The
value is commonly generated by the assembler itself, rather than
explicitly added to the source file.

Not all assemblers know what a PRG file is, and some of them handle
it in ways that are difficult to guarantee in SourceGen.  ACME adds
the 16-bit header when the output file name ends in ".prg", cc65
uses a modified config file, 64tass uses a different command-line
option, and Merlin 32 has no idea what they are.

This change adds PRG file detection and handling to the 64tass code
generator.  Doing so required making a few changes to the gen/asm
interfaces, because we now need to have the generator pass additional
flags to the assembler, and sometimes we need code generation to
start somewhere other than offset zero.  Overall the changes were
pretty minor.

The 20042-address-changes test needed a 6502-only variant.  A new test
(20040-address-changes) has been added and given a PRG header.  As
part of this change the 65816 variant was changed to use addresses
in bank 2, which uncovered a code generation bug that this change
also fixes.

The 64tass --long-address flag doesn't appear to be necessary for
files <= 65536 bytes long, so we no longer emit it for those.

(issue #90)
2020-10-17 16:45:13 -07:00
..
10000-allops-value-6502_64tass.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10000-allops-value-6502_acme.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10000-allops-value-6502_cc65.cfg Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10000-allops-value-6502_cc65.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10000-allops-value-6502_Merlin32.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10001-allops-value-65C02_64tass.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10001-allops-value-65C02_acme.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10001-allops-value-65C02_cc65.cfg Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10001-allops-value-65C02_cc65.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10001-allops-value-65C02_Merlin32.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10002-allops-value-65816_64tass.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10002-allops-value-65816_acme.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10002-allops-value-65816_cc65.cfg Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10002-allops-value-65816_cc65.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10002-allops-value-65816_Merlin32.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10003-allops-value-W65C02_64tass.S Add W65C02S support, part 3 2020-10-11 14:35:17 -07:00
10003-allops-value-W65C02_acme.S Add W65C02S support, part 3 2020-10-11 14:35:17 -07:00
10003-allops-value-W65C02_cc65.cfg Add W65C02S support, part 3 2020-10-11 14:35:17 -07:00
10003-allops-value-W65C02_cc65.S Add W65C02S support, part 3 2020-10-11 14:35:17 -07:00
10003-allops-value-W65C02_Merlin32.S Add W65C02S support, part 3 2020-10-11 14:35:17 -07:00
10010-allops-zero-6502_64tass.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10010-allops-zero-6502_acme.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10010-allops-zero-6502_cc65.cfg Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10010-allops-zero-6502_cc65.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10010-allops-zero-6502_Merlin32.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10011-allops-zero-65C02_64tass.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10011-allops-zero-65C02_acme.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10011-allops-zero-65C02_cc65.cfg Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10011-allops-zero-65C02_cc65.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10011-allops-zero-65C02_Merlin32.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10012-allops-zero-65816_64tass.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10012-allops-zero-65816_acme.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10012-allops-zero-65816_cc65.cfg Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10012-allops-zero-65816_cc65.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10012-allops-zero-65816_Merlin32.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10013-allops-zero-W65C02_64tass.S Add W65C02S support, part 3 2020-10-11 14:35:17 -07:00
10013-allops-zero-W65C02_acme.S Add W65C02S support, part 3 2020-10-11 14:35:17 -07:00
10013-allops-zero-W65C02_cc65.cfg Add W65C02S support, part 3 2020-10-11 14:35:17 -07:00
10013-allops-zero-W65C02_cc65.S Add W65C02S support, part 3 2020-10-11 14:35:17 -07:00
10013-allops-zero-W65C02_Merlin32.S Add W65C02S support, part 3 2020-10-11 14:35:17 -07:00
10022-embedded-instructions_64tass.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10022-embedded-instructions_acme.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10022-embedded-instructions_cc65.cfg Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10022-embedded-instructions_cc65.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10022-embedded-instructions_Merlin32.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10032-flags-and-branches_64tass.S Update expected results for 10032-flags-and-branches 2020-07-30 16:57:33 -07:00
10032-flags-and-branches_acme.S Update expected results for 10032-flags-and-branches 2020-07-30 16:57:33 -07:00
10032-flags-and-branches_cc65.cfg Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10032-flags-and-branches_cc65.S Update expected results for 10032-flags-and-branches 2020-07-30 16:57:33 -07:00
10032-flags-and-branches_Merlin32.S Update expected results for 10032-flags-and-branches 2020-07-30 16:57:33 -07:00
10042-data-recognition_64tass.S Operand for ".enc" should be in double quotes 2020-07-02 08:14:42 -07:00
10042-data-recognition_acme.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10042-data-recognition_cc65.cfg Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10042-data-recognition_cc65.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
10042-data-recognition_Merlin32.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
20000-numeric-types_64tass.S Operand for ".enc" should be in double quotes 2020-07-02 08:14:42 -07:00
20000-numeric-types_acme.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
20000-numeric-types_cc65.cfg Regression test rework, part 1 2020-06-06 14:47:19 -07:00
20000-numeric-types_cc65.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
20000-numeric-types_Merlin32.S Regression test rework, part 1 2020-06-06 14:47:19 -07:00
20010-string-types_64tass.S Operand for ".enc" should be in double quotes 2020-07-02 08:14:42 -07:00
20010-string-types_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20010-string-types_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20010-string-types_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20010-string-types_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20020-operand-formats_64tass.S Operand for ".enc" should be in double quotes 2020-07-02 08:14:42 -07:00
20020-operand-formats_acme.S Split 2002x-operand-formats test 2020-06-08 17:47:26 -07:00
20020-operand-formats_cc65.cfg Split 2002x-operand-formats test 2020-06-08 17:47:26 -07:00
20020-operand-formats_cc65.S Split 2002x-operand-formats test 2020-06-08 17:47:26 -07:00
20020-operand-formats_Merlin32.S Split 2002x-operand-formats test 2020-06-08 17:47:26 -07:00
20022-operand-formats_64tass.S Operand for ".enc" should be in double quotes 2020-07-02 08:14:42 -07:00
20022-operand-formats_acme.S Split 2002x-operand-formats test 2020-06-08 17:47:26 -07:00
20022-operand-formats_cc65.cfg Split 2002x-operand-formats test 2020-06-08 17:47:26 -07:00
20022-operand-formats_cc65.S Split 2002x-operand-formats test 2020-06-08 17:47:26 -07:00
20022-operand-formats_Merlin32.S Split 2002x-operand-formats test 2020-06-08 17:47:26 -07:00
20030-labels-and-symbols_64tass.S Improve Common expression generation 2020-07-02 13:00:02 -07:00
20030-labels-and-symbols_acme.S Improve Common expression generation 2020-07-02 13:00:02 -07:00
20030-labels-and-symbols_cc65.cfg Regression test rework, part 3 2020-06-06 17:06:31 -07:00
20030-labels-and-symbols_cc65.S Regression test rework, part 3 2020-06-06 17:06:31 -07:00
20030-labels-and-symbols_Merlin32.S Regression test rework, part 3 2020-06-06 17:06:31 -07:00
20032-labels-and-symbols_64tass.S Improve Common expression generation 2020-07-02 13:00:02 -07:00
20032-labels-and-symbols_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20032-labels-and-symbols_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20032-labels-and-symbols_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20032-labels-and-symbols_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20040-address-changes_64tass.S Improve handling of C64 PRG header 2020-10-17 16:45:13 -07:00
20040-address-changes_acme.S Improve handling of C64 PRG header 2020-10-17 16:45:13 -07:00
20040-address-changes_cc65.cfg Improve handling of C64 PRG header 2020-10-17 16:45:13 -07:00
20040-address-changes_cc65.S Improve handling of C64 PRG header 2020-10-17 16:45:13 -07:00
20040-address-changes_Merlin32.S Improve handling of C64 PRG header 2020-10-17 16:45:13 -07:00
20042-address-changes_64tass.S Improve handling of C64 PRG header 2020-10-17 16:45:13 -07:00
20042-address-changes_acme.S Improve handling of C64 PRG header 2020-10-17 16:45:13 -07:00
20042-address-changes_cc65.cfg Improve handling of C64 PRG header 2020-10-17 16:45:13 -07:00
20042-address-changes_cc65.S Improve handling of C64 PRG header 2020-10-17 16:45:13 -07:00
20042-address-changes_Merlin32.S Improve handling of C64 PRG header 2020-10-17 16:45:13 -07:00
20050-branches-and-banks_64tass.S Regression test rework, part 4 2020-06-06 17:30:50 -07:00
20050-branches-and-banks_acme.S Regression test rework, part 4 2020-06-06 17:30:50 -07:00
20050-branches-and-banks_cc65.cfg Regression test rework, part 4 2020-06-06 17:30:50 -07:00
20050-branches-and-banks_cc65.S Regression test rework, part 4 2020-06-06 17:30:50 -07:00
20050-branches-and-banks_Merlin32.S Regression test rework, part 4 2020-06-06 17:30:50 -07:00
20052-branches-and-banks_64tass.S Change PLP handling 2020-07-20 11:54:00 -07:00
20052-branches-and-banks_acme.S Change PLP handling 2020-07-20 11:54:00 -07:00
20052-branches-and-banks_cc65.cfg Change PLP handling 2020-07-20 11:54:00 -07:00
20052-branches-and-banks_cc65.S Change PLP handling 2020-07-20 11:54:00 -07:00
20052-branches-and-banks_Merlin32.S Change PLP handling 2020-07-20 11:54:00 -07:00
20062-target-adjustment_64tass.S Operand for ".enc" should be in double quotes 2020-07-02 08:14:42 -07:00
20062-target-adjustment_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20062-target-adjustment_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20062-target-adjustment_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20062-target-adjustment_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20070-hinting_64tass.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20070-hinting_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20070-hinting_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20070-hinting_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20070-hinting_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20081-label-localizer_64tass.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20081-label-localizer_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20081-label-localizer_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20081-label-localizer_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20081-label-localizer_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20090-notes-and-comments_64tass.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20090-notes-and-comments_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20090-notes-and-comments_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20090-notes-and-comments_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20090-notes-and-comments_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20102-label-dp_64tass.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20102-label-dp_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20102-label-dp_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20102-label-dp_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20102-label-dp_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20110-64k-nops_64tass.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20110-64k-nops_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20110-64k-nops_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20110-64k-nops_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20110-64k-nops_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20122-char-encoding-a_64tass.S Operand for ".enc" should be in double quotes 2020-07-02 08:14:42 -07:00
20122-char-encoding-a_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20122-char-encoding-a_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20122-char-encoding-a_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20122-char-encoding-a_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20132-char-encoding-p_64tass.S Operand for ".enc" should be in double quotes 2020-07-02 08:14:42 -07:00
20132-char-encoding-p_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20132-char-encoding-p_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20132-char-encoding-p_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20132-char-encoding-p_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20142-char-encoding-s_64tass.S Operand for ".enc" should be in double quotes 2020-07-02 08:14:42 -07:00
20142-char-encoding-s_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20142-char-encoding-s_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20142-char-encoding-s_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20142-char-encoding-s_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20152-local-variables_64tass.S Operand for ".enc" should be in double quotes 2020-07-02 08:14:42 -07:00
20152-local-variables_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20152-local-variables_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20152-local-variables_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20152-local-variables_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20162-cycle-counts-65816_64tass.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20162-cycle-counts-65816_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20162-cycle-counts-65816_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20162-cycle-counts-65816_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20162-cycle-counts-65816_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20170-external-symbols_64tass.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20170-external-symbols_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20170-external-symbols_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20170-external-symbols_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20170-external-symbols_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20182-extension-scripts_64tass.S Mark flags as indeterminate for inline BRK 2020-08-22 08:56:38 -07:00
20182-extension-scripts_acme.S Mark flags as indeterminate for inline BRK 2020-08-22 08:56:38 -07:00
20182-extension-scripts_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20182-extension-scripts_cc65.S Mark flags as indeterminate for inline BRK 2020-08-22 08:56:38 -07:00
20182-extension-scripts_Merlin32.S Mark flags as indeterminate for inline BRK 2020-08-22 08:56:38 -07:00
20190-non-unique-labels_64tass.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20190-non-unique-labels_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20190-non-unique-labels_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20190-non-unique-labels_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20190-non-unique-labels_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20200-ui-edge-cases_64tass.S Operand for ".enc" should be in double quotes 2020-07-02 08:14:42 -07:00
20200-ui-edge-cases_acme.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20200-ui-edge-cases_cc65.cfg Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20200-ui-edge-cases_cc65.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20200-ui-edge-cases_Merlin32.S Regression test rework, part 2 2020-06-06 15:36:08 -07:00
20212-reloc-data_64tass.S Fix expected values for 20212-reloc-data 2020-07-22 17:25:55 -07:00
20212-reloc-data_acme.S Update relocation data handling 2020-07-10 17:41:38 -07:00
20212-reloc-data_cc65.cfg Update relocation data handling 2020-07-10 17:41:38 -07:00
20212-reloc-data_cc65.S Fix expected values for 20212-reloc-data 2020-07-22 17:25:55 -07:00
20212-reloc-data_Merlin32.S Fix expected values for 20212-reloc-data 2020-07-22 17:25:55 -07:00
20222-data-bank_64tass.S Data Bank Register management, part 6 (of 6) 2020-07-10 15:53:43 -07:00
20222-data-bank_acme.S Data Bank Register management, part 6 (of 6) 2020-07-10 15:53:43 -07:00
20222-data-bank_cc65.cfg Data Bank Register management, part 6 (of 6) 2020-07-10 15:53:43 -07:00
20222-data-bank_cc65.S Data Bank Register management, part 6 (of 6) 2020-07-10 15:53:43 -07:00
20222-data-bank_Merlin32.S Data Bank Register management, part 6 (of 6) 2020-07-10 15:53:43 -07:00
20233-rockwell_64tass.S Add W65C02S support, part 4 (of 4) 2020-10-11 18:43:00 -07:00
20233-rockwell_acme.S Add W65C02S support, part 4 (of 4) 2020-10-11 18:43:00 -07:00
20233-rockwell_cc65.cfg Add W65C02S support, part 4 (of 4) 2020-10-11 18:43:00 -07:00
20233-rockwell_cc65.S Add W65C02S support, part 4 (of 4) 2020-10-11 18:43:00 -07:00
20233-rockwell_Merlin32.S Add W65C02S support, part 4 (of 4) 2020-10-11 18:43:00 -07:00