Commit Graph

347 Commits

Author SHA1 Message Date
Carl-Henrik Skårstedt 662982404b Link issues
- Map symbols might not have been updated with their labels
- Relocation index may be off
- Map symbols stored in 16 bits causing truncation of value in symbol
output
- Added a tool to dump the values in object files
2015-10-27 20:57:14 -07:00
Carl-Henrik Skårstedt 74a34585d4 Rastan IIgs builds with x65
- Fixed issue with CPU indexing
- Added missing 65816 jmp (addr,x) and jmp $123456,x and jsl
- Added a method for Merlin style linking to work in x65
- Made low byte / high byte (<, >) very low precedence
- Some more Merlin directives
- Split out some directive code from the huge ApplyDirective function
- Add source lines of keywords and labels to the output listing file
- x65 object file fixes
2015-10-26 20:50:26 -07:00
Carl-Henrik Skårstedt 72b9842354 Leftover fixes
- added -acc=16 and -xy=16 command line options for 65816 immediate mode
instruction size
- added conditional expressions (evaluates to 0 for false and 1 for
true)
- fixed macro substitution to be whole word only
2015-10-25 23:48:35 -07:00
Carl-Henrik Skårstedt c2c6aaef0f Import directive
- IMPORT directive added, works like Kick Assembler
- -endm option also applies to REPT
- REPEAT directive is an alias of REPT
- Merlin macro fix uses ]1, ]2, .. as macro params
- Erroneously flushed local labels when starting to assemble a macro
2015-10-25 14:29:41 -07:00
Carl-Henrik Skårstedt 98886793df 6502 illegal opcodes (-cpu=6502ill)
- Added illegal instructions since it only needed updating of tables.
2015-10-24 15:02:16 -07:00
Carl-Henrik Skårstedt c11b09c123 Update README.md 2015-10-24 14:08:16 -07:00
Carl-Henrik Skårstedt d3c6c31fae More updating of language relating to linking 2015-10-24 13:55:42 -07:00
Carl-Henrik Skårstedt 2b148b5e72 Updating language relating to linking 2015-10-24 13:48:03 -07:00
Carl-Henrik Skårstedt d279d35f7e Alias opcodes
- Added aliases to opcodes
- Fixed XCode warnings
- Revisited outdated comments
- Fixed CPU / PROCESSOR keyword giving an error even if the argument was
valid
- Rearranged switch statements to be in a more logical order
2015-10-24 13:41:11 -07:00
Carl-Henrik Skårstedt 2c07d9285f Revision increment 2015-10-23 23:32:43 -07:00
Carl-Henrik Skårstedt 46cb57f231 65816 documentation
- Starting to scratch the surface of 65816 documentation
2015-10-23 23:31:35 -07:00
Carl-Henrik Skårstedt fa0c6b0187 65816 Added
- Addressing modes
- Opcodes
- Directives
- Cleanup
2015-10-23 22:44:56 -07:00
Carl-Henrik Skårstedt cc99faed16 65C02 CPU added
- Added SAV as a Merlin directive
- cpu command line option to switch CPU target
2015-10-21 22:34:01 -07:00
Carl-Henrik Skårstedt fbade4eb06 Fix negative numbers, Merlin MAC and LUP, endmacro switch
- Could not declare negative numbers
- Support for LUP (Merlin rept) and MAC (Merlin macro)
- Support for endmacro instead of scoped macros
2015-10-20 22:28:53 -07:00
Carl-Henrik Skårstedt 521e3b98a8 Merlin syntax support, symbol file fix, list file fix
- don't allow ! in merlin labels
- don't skip initial : in merlin labels
- symbol files resolves labels from incobj relative sections
- assembler listing skipping disassembly for lines that was not built
from source code
2015-10-19 22:44:02 -07:00
Carl-Henrik Skårstedt d6bc17414a Added updates to readme.md 2015-10-18 19:51:38 -07:00
Carl-Henrik Skårstedt 38e0abcc6e Export now writes all sections instead of just the last fixed one
- Combines all fixed sections into a single binary
- Export directive allows for writing multiple binaries from one source
file
2015-10-18 19:48:03 -07:00
Carl-Henrik Skårstedt 4ce149af26 Adding a note about linking 2015-10-18 12:50:51 -07:00
Carl-Henrik Skårstedt b7d0b195af List file option added
- using -lst the disassembled and assembled source is written out side
by side
- option -opcodes saves out a source file with all opcodes & addressing
modes for testing
- cleaned up opcode table to be simpler and more robust so I can
consider supporting other cpus
- bug fixes
2015-10-18 12:42:10 -07:00
Carl-Henrik Skårstedt c8ceffdbf6 Compile issues fixed for xcode
- Additional stability checks
2015-10-17 12:13:23 -07:00
Carl-Henrik Skårstedt 071d64de80 Object file now protects local labels
- XDEF declares labels as global
- Each incobj file keeps its own protected set of labels for link-time
evalulations
2015-10-16 20:27:56 -07:00
Carl-Henrik Skårstedt 12cfe830f9 Fixes
- Sections got overwritten (reference vs pointer mistake)
- Check that relocs and late evals apply the adjustments within the
existing binary
2015-10-15 20:58:17 -07:00
Carl-Henrik Skårstedt ca604ad81c Export and import of object files
First pass implementation of object files - all imported labels are
currently global.
2015-10-13 19:38:13 -07:00
Carl-Henrik Skårstedt 6962a98419 Renaming asm6502 to x65 2015-10-13 19:25:24 -07:00
Carl-Henrik Skårstedt 3534ee4faa Error Fix IV
- Extraneous conditional expression borked late evaluation of branch
address
2015-10-12 20:51:12 -07:00
Carl-Henrik Skårstedt d17fbfb710 Error Fix III, Switching default section to be relative section
- Merlin support broke colon-overrides-directive-as-label trick, fixed.
- Relative section fixes
- If no section is specified the default section will be relative. If a
binary output is requested the default section is applied to address
$1000
2015-10-12 00:05:06 -07:00
Carl-Henrik Skårstedt 83ffae8812 Some more notes on Merlin syntax support 2015-10-11 15:10:58 -07:00
Carl-Henrik Skårstedt a946243bab Error fix II, debug symbol table rewrite
- Merlin syntax also broke non-merlin local labels starting with a
period
- Symbols in relative sections wouldn't work in the text based map
system so the symbols are now a map instead.
2015-10-11 14:55:55 -07:00
Carl-Henrik Skårstedt db6f6887e5 Error fixes
-Declaring an enum is apparently not proper c++, Visual Studio did not
complain.. Moved the whole EvalOperator enum up to the top of the file
-If a line can't be processed, error out instead of infinite looping
(freeze)
-Kick Assembler syntax for using a macro was broken with recent changes
to support Merlin syntax, colon prefix for using macros is now only
allowed if not specifying -merlin.
2015-10-11 12:04:49 -07:00
Carl-Henrik Skårstedt feb79990ee Export section selection, bug fixes
Picking the most viable section for export for now
cleaning up some Merlin syntax issues
showable version of section and link directives
2015-10-10 20:08:30 -07:00
Carl-Henrik Skårstedt 8f5785702d Bug fixes for link directive
Making sure that relative addresses work in bytes/words/dc.b/dc.w etc.
A few fixes to absolute addresses
Figured out how to safely reloc separate hi byte / lo byte references
Fixed a few instances of reversed byte order
2015-10-10 17:53:15 -07:00
Carl-Henrik Skårstedt 1a192d308a First pass sections
Supports same file relative sections (no object files yet)
Supports relative addresses
Supports absolute addresses
Thinking about high byte / low byte references to absolute addresses
2015-10-10 15:25:08 -07:00
Carl-Henrik Skårstedt dfc0c46160 Apple II Binary and Merlin Assembler compatibility improved
Not fully tested yet
2015-10-07 22:27:03 -07:00
Carl-Henrik Skårstedt ad62e04afb Adding ENUM and assembler directives from LISA and MERLIN assemblers. 2015-10-06 22:42:22 -07:00
Carl-Henrik Skårstedt a4598a5c43 INCDIR, -D, -i, sublime
More stuff for 6502 fun time
2015-10-05 22:45:42 -07:00
Carl-Henrik Skårstedt 00b149a23d Added REPT directive 2015-10-04 16:06:45 -07:00
Carl-Henrik Skårstedt 9af85f3a8a Adding dc.b/dc.w directive documentation 2015-10-04 15:00:54 -07:00
Carl-Henrik Skårstedt f9ac2253a9 Added 'STRUCT' directive, fixed bugs, rearranged functions 2015-10-04 14:05:38 -07:00
Carl-Henrik Skårstedt 30df9409f1 Fixed error obscured by cleanup code 2015-10-02 21:52:55 -07:00
Carl-Henrik Skårstedt a6fc6a1ddc Merge remote-tracking branch 'origin/master'
Conflicts:
	README.md
2015-10-02 20:59:20 -07:00
Carl-Henrik Skårstedt 25396a9983 Cleanup
- Wrapped the conditional assembly logic into functions to make it is a
bit more readable.
- Moved related code closer
2015-10-02 20:57:50 -07:00
Carl-Henrik Skårstedt 34970af7fb Adding a note about conditional assembly 2015-10-01 23:36:09 -07:00
Carl-Henrik Skårstedt d5edf1d593 Label Pools and Conditional Assembly
Awesome stuff added.
2015-10-01 23:16:49 -07:00
Carl-Henrik Skårstedt 80c3016857 Update README.md 2015-09-30 00:01:28 -07:00
Carl-Henrik Skårstedt 433d765403 Fixing a typo 2015-09-30 00:00:33 -07:00
Carl-Henrik Skårstedt 5d9572f0ee Adding the file to github project 2015-09-29 22:07:04 -07:00
Carl-Henrik Skårstedt 81636bbb26 Initial commit 2015-09-29 21:58:50 -07:00