Commit Graph

61 Commits

Author SHA1 Message Date
Kelvin Sherlock 471c4d4151 fixes so omf version 1 support works 2022-12-08 18:37:36 -05:00
Kelvin Sherlock 9ccab300f2 update github action 2022-12-06 23:27:29 -05:00
Kelvin Sherlock 64aa57a9ed support for v1 omf (VER 1). 2022-12-06 23:25:44 -05:00
Kelvin Sherlock ee41a01a5c bump submodule 2020-11-12 21:04:17 -05:00
Kelvin Sherlock f7d70702f9 ORG support. 2020-11-12 19:24:58 -05:00
Kelvin Sherlock 4a05a8687c install brew/apt dependencies. 2020-11-12 17:46:41 -05:00
Kelvin Sherlock a38b2249f2 fix gcc overload ambiguity errors. 2020-11-12 17:38:31 -05:00
Kelvin Sherlock 433529897b add err support, handle it (and ds) via a separate pass over the relocation table. 2020-11-12 17:33:44 -05:00
Kelvin Sherlock d53d07087a add support for DS \ (flag type $cf).
Also adjusted the LEN and POS functionality based on merlin 16+ tests.
2020-11-12 17:33:44 -05:00
ksherlock 0829629715
Create make.yml 2020-11-12 15:26:24 -05:00
Kelvin Sherlock 65f33ceba0 update readme 2020-06-06 12:11:44 -04:00
Kelvin Sherlock ebc350eac0 for command-line links, print the symbol table if -v flag given. 2020-06-06 12:09:55 -04:00
Kelvin Sherlock 41d5186c3f big-endian support. 2020-06-06 12:07:31 -04:00
Kelvin Sherlock f0f87b4868 travis ci fix because travis ci is outdated 2020-06-03 10:57:52 -04:00
Kelvin Sherlock ef618dc449 use ENT opcode to print symbol table. 2020-06-03 10:57:05 -04:00
Kelvin Sherlock 26676ede7d EXD warning support. 2020-06-02 23:33:34 -04:00
Kelvin Sherlock 4f7890c699 Merling DDB support. 2-byte data stored in big-endian format, which requires 2 1-byte relocation records. 2020-06-01 00:15:39 -04:00
Kelvin Sherlock 9723ce1f00 support for linker 3, generate OMF object files. 2020-05-17 17:01:03 -04:00
Kelvin Sherlock 38a61304a5 update readme 2019-12-22 15:00:22 -05:00
Kelvin Sherlock 30d26b7828 merlin uses the same loadname for all segments. 2019-12-22 14:43:12 -05:00
Kelvin Sherlock 5ee80c8b51 small subtlety with the $4f relocation record
the low-byte of the address is stored in the relocation record and needs to be accounted for.
2019-12-21 23:35:56 -05:00
Kelvin Sherlock e52e7921ef fix bug with SUPER skip page calculations.
the page counter is advanced by 1 implicitly when the page finishes. Unless empty, the skip count is thus decreased by 1.
2019-12-21 20:31:42 -05:00
Kelvin Sherlock bf63d70d3b print more info when verbose. 2019-12-21 17:51:15 -05:00
Kelvin Sherlock 3b95cbb475 improved sorting for symbol table printing.
numerical order now prints absolute values first and factors in the segment number (starting at 1) when sorting others.
2019-12-21 17:35:01 -05:00
Kelvin Sherlock 5e6829e9ae fix import segment number 2019-12-21 17:32:06 -05:00
Kelvin Sherlock c85d401fbf add support for $4F relocation record, which is a 1-byte, internal relocation with 8-bit shift. Found via linking marinetti. 2019-12-21 15:07:03 -05:00
Kelvin Sherlock 67f34936c2 check for code segments that exceed the bank size. 2019-12-17 12:43:37 -05:00
Kelvin Sherlock 5269b58365 default merlin kind is 4096 (static code, no special memory) 2019-12-17 12:43:05 -05:00
Kelvin Sherlock 7b059c424b * is only a comment character if first character. 2019-12-16 23:12:53 -05:00
Kelvin Sherlock 4688dbc5c3 half of lib support (untested). library names need to match the symbol (singular) they define. 2019-12-15 13:06:49 -05:00
Kelvin Sherlock dac2be0940 misc cleanup 2019-12-15 13:06:05 -05:00
Kelvin Sherlock 57525d5464 EXT support. 8/16+ added EXT as an operand to import an absolute linker value into the local symbol table. 2019-12-15 13:05:41 -05:00
Kelvin Sherlock 637df6ee33 ORG and LKV 1 support (untested) 2019-12-15 13:04:45 -05:00
Kelvin Sherlock 34523bbecf ALI and DS support 2019-12-15 13:03:43 -05:00
Kelvin Sherlock c341d9a54f allow multiple linker 1 saves. each will generate a new file. 2019-12-14 22:24:24 -05:00
Kelvin Sherlock a64c1ba843 cleanup segment number a bit 2019-12-14 21:56:52 -05:00
Kelvin Sherlock f9ecc984a0 support for Merlin command files. 2019-12-14 19:01:12 -05:00
ksherlock 008862ed92
Create README.md 2019-12-11 10:07:12 -05:00
Kelvin Sherlock 515594346f sort relocation records
fix value for external labels.
2019-12-11 00:27:04 -05:00
Kelvin Sherlock e3aa60be6a requires xcode 10, apparently, for optional. 2019-12-10 23:09:04 -05:00
Kelvin Sherlock 3aab0a4735 fix absolute shifting logic. 2019-12-10 23:00:59 -05:00
Kelvin Sherlock bef129bd8c typo 2019-12-10 22:46:04 -05:00
Kelvin Sherlock 1ac35ec473 workaround missing charconv. also: print ! for missing symbols, ? for unused symbols. 2019-12-10 22:43:11 -05:00
Kelvin Sherlock 6fb0bf8532 try to work around old std libraries. 2019-12-10 22:11:29 -05:00
Kelvin Sherlock 06bdef4d80 fix travis 2019-12-10 21:57:22 -05:00
Kelvin Sherlock debb2aebe9 add support for -D defines
fix segfault (switch id to be 0-based)
handle absolute symbols
2019-12-10 21:39:51 -05:00
ksherlock 43fd7a1b6e
Update .travis.yml 2019-12-10 13:43:49 -05:00
ksherlock 0672111313
Update .travis.yml 2019-12-10 13:33:54 -05:00
ksherlock 0d6d60c6c7
Update link.cpp 2019-12-10 13:27:53 -05:00
ksherlock 6e0bb5345d
missing header 2019-12-10 13:24:56 -05:00