Commit Graph

58 Commits

Author SHA1 Message Date
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
ksherlock
60ac492cbb
Update Makefile 2019-12-10 13:20:07 -05:00
ksherlock
18c4a4f710
Update .travis.yml 2019-12-10 13:18:36 -05:00
ksherlock
48a21693b0
Update .travis.yml 2019-12-10 13:14:15 -05:00