David Given
020e910560
Remember that we need to update the generated file in LLgen, as it's not
...
self-bootstrapping...
2019-02-10 12:38:33 +01:00
David Given
dd35aa3eef
We don't need depth 10 in the travis checkout.
2019-02-10 12:35:18 +01:00
David Given
65e544c35a
Don't prototype strcpy as it makes OSX sad.
2019-02-10 12:28:42 +01:00
David Given
7cdd0cd5c0
Merge from default.
2019-02-10 12:22:59 +01:00
David Given
aa6aefdaa0
Add missing header.
2019-02-10 00:45:09 +01:00
David Given
39acc01862
Merge pull request #150 from davidgiven/dtrg-windows
...
Don't run the floating point tests on i80.
2019-02-09 17:43:19 +01:00
David Given
810afbb5b9
Don't run the floating point tests on i80.
2019-02-09 14:24:31 +01:00
David Given
74f0eb90fa
Merge pull request #148 from davidgiven/dtrg-windows
...
Make the ACK build on Windows again.
2019-02-09 14:15:38 +01:00
David Given
39eb8a85f5
Don't run the tests in Appveyor.
2019-02-09 13:59:37 +01:00
David Given
bcc9c16bf7
More z80ex removal.
2019-02-09 13:42:09 +01:00
David Given
ada4d0806b
Merge pull request #149 from davidgiven/dtrg-arraysizes
...
i80: more code size improvements.
2019-02-09 13:40:36 +01:00
David Given
343cdf7983
Remove stray z80ex reference.
2019-02-09 13:30:29 +01:00
David Given
10b509d6b6
Add rst 3 to get the address of a frame variable; lots of rule overhaulage.
...
Reduces Star Trek from 41821 to 41055 bytes.
2019-02-09 13:29:41 +01:00
David Given
f9a3baeaf7
Ugh, typo fix.
2019-02-09 12:25:27 +01:00
David Given
6c146e8c05
Maybe the setup script is somewhere else?
2019-02-09 12:23:42 +01:00
David Given
e62b113b0a
Try to install cygwin packages.
2019-02-09 12:17:57 +01:00
David Given
369e3300ac
Another try at an AppVeyor build script.
2019-02-09 12:04:42 +01:00
David Given
27b8312598
Add experimental appveyor file.
2019-02-09 00:07:33 +01:00
David Given
9e2d45b301
Rename all files called 'aux.*' to something else; Windows can't handle them.
2019-02-09 00:02:41 +01:00
David Given
857f6a6646
Merge pull request #147 from davidgiven/dtrg-arraysizes
...
i80: better and, or, xor, sign extension code.
2019-02-08 23:19:08 +01:00
David Given
0de5001f82
Make sign extension much less horrible.
2019-02-08 23:16:57 +01:00
David Given
0ac145a0d1
Add tests for simple and, or, and xor; drastically improve the i80 code
...
generation for these.
2019-02-08 22:38:07 +01:00
David Given
996188d20a
Merge pull request #145 from davidgiven/dtrg-arraysizes
...
Experimentally use rst 1 to optimise frame variable loads.
2019-02-08 21:53:56 +01:00
David Given
19f5ee3399
CP/M sbrk now handles overflow correctly.
2019-02-08 21:43:52 +01:00
David Given
a91ab5c599
Somehow the implementation of rst 2 got lost, with hilarious results. Also fix
...
some register corruption issues (I hope).
2019-02-08 21:35:14 +01:00
David Given
22032575c5
Add a 'disassemble' command to the CP/M emulator.
2019-02-08 20:54:44 +01:00
David Given
d319c7d679
Fix swapped bytes in probyte which was causing junk stack frames.
2019-02-08 08:09:55 +01:00
David Given
b47d59aa4a
Merge from default.
2019-02-07 23:45:47 +01:00
David Given
1982301639
Merge pull request #146 from davidgiven/dtrg-cpmemu
...
Add a CP/M i80 emulator, and enable the cpm tests
2019-02-07 23:45:08 +01:00
David Given
8876ddcad2
Build the CP/M tests (which got turned off accidentally). Add a disassembler to
...
the emulator debugger.
2019-02-07 23:36:45 +01:00
David Given
80bfbd17b7
Add missing file.
2019-02-07 23:01:10 +01:00
David Given
7473601172
Add the cpm emulator from Cowgol, modified to work with an 8080 emulator rather
...
than libz80ex; enable tests for cpm.
2019-02-07 22:39:57 +01:00
David Given
a5bf2932c8
Add rst 1 to store frame variables. Reduces Star Trek from 42339 to 41821
...
bytes.
2019-02-07 09:31:38 +01:00
David Given
67a9be26d1
Fix warnings.
2019-02-07 09:09:31 +01:00
David Given
9d8ea79c7f
rst 1 now takes an eight-bit parameter, not a 16 bit one. Reduces Star Trek
...
again from 43205 to 42339 bytes.
2019-02-07 08:45:20 +01:00
David Given
5ac280026e
Experimentally use rst 1 to optimise frame variable loads. Reduces Star Trek
...
from 43892 to 43205 bytes.
2019-02-07 00:06:32 +01:00
David Given
a6b8ae66d7
Merge pull request #144 from davidgiven/dtrg-arraysizes
...
i80: use a helper function for cai.
2019-02-06 21:31:29 +01:00
David Given
08b92153a0
Use a helper function for cai --- only saves two bytes per invocation, but is
...
much less embarassing.
2019-02-06 20:36:23 +01:00
David Given
3d5977b93b
Merge pull request #142 from davidgiven/dtrg-arraysizes
...
i80: factor out function prologue boilerplate
2019-02-06 16:15:53 +01:00
David Given
2b0629f87f
Common out boilerplate function prologue code; shrinks Star Trek from 44256 to
...
43892 bytes.
2019-02-06 16:06:07 +01:00
David Given
b77f616598
Run through clang-format before editing.
2019-02-06 11:50:05 +01:00
David Given
73fab341f5
Merge pull request #141 from davidgiven/dtrg-stray
...
Install the cpp.ansi man page.
2019-02-06 11:30:56 +01:00
David Given
7563ac46a7
Merge pull request #140 from davidgiven/dtrg-arraysizes
...
CPM: Move the standard ret boilerplate into a helper procedure.
2019-02-06 07:43:16 +00:00
David Given
02779325ab
Move the standard ret boilerplate into a helper procedure, to save a little
...
space.
2019-02-06 08:08:11 +01:00
David Given
24ffbe086a
Install the cpp.ansi man page. #82 .
2018-12-22 23:47:49 +01:00
David Given
2e71c027a3
Merge pull request #136 from kernigh/kernigh-led-malloc
...
Fewer calls to brk() and sbrk()
2018-11-20 10:52:44 +01:00
George Koehler
33c0573598
Remove code to calculate memory usage with sbrk().
...
In many systems, malloc() can allocate outside the brk area. The
calculation with sbrk() misses those allocations. When LLgen or ncgg
reported the memory usage, the value was probably too low.
2018-11-14 16:13:54 -05:00
George Koehler
1c8434e33a
Switch led to malloc() and realloc().
...
Add USEMALLOC and enable it by default. You can switch back to brk()
by removing `#define USEMALLOC` in memory.c.
USEMALLOC tells the allocator to use malloc() and realloc(), not
brk(). This might help systems where brk() doesn't work, or where
malloc() can allocate outside the brk area.
My build shows no changes in share/ack/examples (except hilo_bas.*).
2018-11-14 15:15:45 -05:00
George Koehler
4fdfa3177e
Fix em_led -u name when memory allocator moves ALLOMODL.
...
Option -u was passing an offset from modulptr(0) in ALLOMODL to the
string in argv. If entername() would move ALLOMODL to make room in
ALLOGCHR, then the offset would become invalid, so the string would
get lost. This fix copies the string into ALLOMODL.
This was often not a problem because the initial size of ALLOGCHR in
mach.h is probably large enough for -u. This became a problem when I
caused the initial allocations to fail, and then only because the B
runtime uses -u.
2018-11-14 12:35:38 -05:00
George Koehler
f09f14cd4d
Switch from long to size_t when allocating memory.
...
Also move the declarations of `incore` and `core_alloc` to "memory.h".
Also correct SYMDEBUG to SYMDBUG. (I don't know if SYMDBUG works
because our build system never defines it.)
ind_t becomes an alias of size_t. ind_t becomes unsigned, so I edit
some code that was using negative ind_t. Some casts disappear, like
(long)sizeof(...) because the size is already a size_t. There are
changes to overflow checks. Callers with a size too big for size_t
must check it before calling the memory allocator. An overflow check
of BASE + incr in memory.c sbreak() now happens on all platforms, not
only when a pointer is smaller than a long.
My build shows no changes in share/ack/examples (except hilo_bas.*
changing with every build).
2018-11-14 12:33:25 -05:00