Commit graph

  • a12181748b Make ass and int built with clang --- surprisingly easy. David Given 2018-06-09 21:18:50 +0900
  • 59b383afd0 Make the em interpreter build --- again, lots of warnings, so it probably won't work on clang. I have no idea whether it runs or not as building a e.out program is quite hard and needs a special platform. David Given 2018-06-09 21:13:31 +0900
  • d10a594c04 Get ass running --- it's very K&R and almost certainly won't build on clang, but it works on gcc. David Given 2018-06-09 14:10:45 +0900
  • ae3074cd9a
    Merge pull request #93 from davidgiven/dtrg-pc86-2 David Given 2018-06-08 21:40:25 +0900
  • 19cd42124f Rearrange the tests into sets; allow plats to skip sets; pc86 and linux68k now skip the tests which use floating point instructions (as their emulators don't support them). David Given 2018-06-08 15:59:04 +0900
  • b94199aba7
    Merge pull request #92 from davidgiven/dtrg-pc86-2 David Given 2018-06-08 00:18:18 +0900
  • 1d4ddb939d Merge from trunk. David Given 2018-06-08 00:05:50 +0900
  • 37f466a8f4
    Merge pull request #91 from davidgiven/dtrg-m68k David Given 2018-06-07 13:48:06 +0900
  • b9c0e1d964 Dummied out some more system calls --- more tests pass. David Given 2018-06-07 13:12:15 +0900
  • 2682c125e0 More real ELF loading and brk handling; more tests pass. David Given 2018-06-07 13:03:36 +0900
  • 396795105f Beat the 68k simulator into enough shape that at least *some* of the tests pass. David Given 2018-06-06 22:39:43 +0900
  • 4b26f75d23 Hang on, the 68k is big-endian --- I'm extracting words (and bytes) from longs incorrectly. David Given 2018-06-06 12:49:21 +0900
  • 2cf39be752 Get the emulator to the point where it'll start to run code; it then fails, because the version of Musashi I imported doesn't support floating point... David Given 2018-06-05 23:17:22 +0900
  • a8802c934b Enable tests for linux68k. David Given 2018-06-05 23:16:34 +0900
  • 5034ed1c39 Crudely beat the standard Masushi simulator into working in the ACK framework. David Given 2018-06-05 17:45:00 +0900
  • c6b9446722 Check in the x86emu-based emulator. Sadly, just like the 8086tiny-based emulator, FPU instructions aren't supported. David Given 2018-06-04 16:19:45 +0900
  • d908f9cfb2 Modify the pc86 test harness to use 8086tiny instead of qemu. Sadly, some tests fail. David Given 2018-06-03 15:13:43 +0200
  • 0eb89d5d95 Add a clean copy of the Musashi emulator. David Given 2018-06-05 17:04:47 +0900
  • 3f049a4c29 Basic mid now throws an error on out-of-bounds parameters rather than returning an uninitialised pointer (and crashing). David Given 2018-06-05 09:53:56 +0900
  • 9dede01efe Fix bogus test. David Given 2018-06-05 09:41:31 +0900
  • 342a321c87 Fix bogus test. David Given 2018-06-05 09:20:46 +0900
  • d70eb76dbb Modify the pc86 test harness to use 8086tiny instead of qemu. Sadly, some tests fail. David Given 2018-06-03 15:13:43 +0200
  • 9132641100 Add the pc86emu skeleton. David Given 2018-06-03 08:24:21 -0700
  • eb96ea5d28 Add a clean copy of the x86emu library. David Given 2018-06-03 08:06:23 -0700
  • b8cb840c12
    Merge pull request #87 from davidgiven/dtrg-travis David Given 2018-06-02 23:00:48 +0300
  • 5d292a0a36 Typo fix. David Given 2018-06-02 21:48:18 +0200
  • 911ce7ceb5 Crudely tweak some of the prototypes to please clang, which is pickier about K&R C than gcc is. David Given 2018-06-02 21:31:18 +0200
  • 5a886787d3 Honour CFLAGS set in the Makefile. David Given 2018-06-02 21:30:52 +0200
  • deeef55ea9 Try and *actually* use clang for the clang build. David Given 2018-06-02 21:01:03 +0200
  • b85c25e4e5 Fix resource leak. David Given 2018-06-02 20:59:11 +0200
  • d6e65833fb Format. David Given 2018-06-02 20:57:43 +0200
  • d1cbb9cf60 Crudely bounds check some naked fscanf("%s") parsing. Fixes #79, mostly. David Given 2018-06-02 20:51:41 +0200
  • c47661f07e
    Merge pull request #85 from davidgiven/dtrg-ed David Given 2018-06-02 19:23:19 +0300
  • be32d258cb Don't need ed any more in the travis configuration. David Given 2018-06-02 18:08:55 +0200
  • 05ddefad65 Adopt a copy of Minix 2's ed; this allows the ACK's antiquated ed scripts to run with a minimum of tweaking. Rewriting them for modern ed looks really hard. David Given 2018-06-02 18:02:51 +0200
  • f8dfdef974
    Merge pull request #81 from kernigh/kernigh-libfp David Given 2018-05-12 00:59:05 +0200
  • 019c7f9da7 Update cpm/README for console changes, ack -fp. George Koehler 2018-05-07 16:08:44 -0400
  • 43458df777 Build a smaller startrek for CP/M. George Koehler 2018-05-04 18:32:24 -0400
  • 154509038d Enable the line editor in read() for CP/M. George Koehler 2018-05-04 18:21:01 -0400
  • b4be612832 Change readstring() to use buffered input. George Koehler 2018-05-04 18:06:51 -0400
  • 4a3b7be795 Use ack -mcpm -fp for mandelbrot.c, startrek.c George Koehler 2018-04-28 13:18:27 -0400
  • 1df4db99c9 Optimize libfp. Don't lose -O6 in ackcflags. George Koehler 2018-04-25 22:48:28 -0400
  • 93e01eb5d1 Teach i80 ncg to use libfp. Enable ack -mcpm -fp. George Koehler 2018-04-25 16:09:56 -0400
  • b9b3428e01 Build (but don't use) libfp for cpm. George Koehler 2018-04-25 00:17:19 -0400
  • aabf0bdd69
    Merge pull request #73 from kernigh/kernigh-pr David Given 2018-03-13 13:57:28 +0100
  • 85fcbde22f Check LOI expressions to prevent a read after free. George Koehler 2018-03-12 20:58:31 -0400
  • ebba76e08f Don't read INSTR(l) after oldline(l) frees it. George Koehler 2018-03-11 20:10:13 -0400
  • 4cb4bdc85f There are two places where names are added to the global symbol table; one via the -U command line option, and one via file scanning. Turns out only the second would increment the number of global names, so adding names with -U would cause names found via scanning to fall off the end of the list! This wouldn't cause linker errors because fixups don't use the list, but would cause the generated symbol table in the output to be incorrect. David Given 2018-03-11 12:37:23 +0100
  • d5a9f1541a lchar() needs to return the character written. (This happens by magic on 386, but no on PPC.) See #72. David Given 2018-03-11 11:00:35 +0100
  • 12643f1740 Solve some gcc warnings in ego. George Koehler 2018-03-08 18:51:07 -0500
  • 860df1b067 Read from new, not old, buffer after realloc. George Koehler 2018-03-08 12:04:02 -0500
  • 0720671f7a Fix wr_ranlib() for big-endian machines. George Koehler 2018-03-08 11:49:40 -0500
  • b1badf1851 Add instructions like "lwarx". Extend manual. George Koehler 2018-03-07 13:37:31 -0500
  • b1b737ed6c Optimize procedures that do both a / b and a % b. George Koehler 2018-03-05 13:32:06 -0500
  • f26259caac Check AAR earlier to prevent LOI/STI unknown size. George Koehler 2018-03-02 16:06:21 -0500
  • 03386b96f9
    Merge pull request #71 from tkchia/default David Given 2018-03-02 18:48:11 +0100
  • a7bb4ec4b1 Fixes for compiling ego with -DTRACE George Koehler 2018-03-01 13:19:38 -0500
  • 1984f062f1
    Merge pull request #70 from davidgiven/dtrg-pdp11 David Given 2018-02-23 13:50:08 -0800
  • 09e7d8f3d0 I figured out how to get top working. David Given 2018-02-23 22:42:38 +0100
  • 3c55cb8a73 Update README. David Given 2018-02-23 22:36:03 +0100
  • 4b5a7fee14 Made the cgg and the cg code generator work; use this to beat the PDP/11 backend into shape. It now generates binaries --- no idea whether they work or not. David Given 2018-02-23 22:31:46 +0100
  • 0a6d3de7fe Use prototypes in ego/cs, ego/sp. George Koehler 2018-02-05 16:09:30 -0500
  • a60738a50d Don't use '-' in option string to getopt(). George Koehler 2018-02-05 14:55:10 -0500
  • 04ac91889c Only lower "addi sp, sp, X" if X > 0. George Koehler 2018-02-01 12:20:31 -0500
  • 9077b3a5ab Teach mcg to pass our tests. George Koehler 2018-01-30 15:53:26 -0500
  • f7e333a51f Define appropriate macros when building Lua on Linux or OS X. Tee-Kiah Chia 2018-01-29 00:05:17 +0800
  • b3c0a767a5 Sync qemuppc with linuxppc. George Koehler 2018-01-27 21:41:13 -0500
  • b38fcdded3 Add tests for clearing BSS, copying C structs. George Koehler 2018-01-27 20:09:16 -0500
  • cdde55535e For osxppc, change size 8 to alignment 4. George Koehler 2018-01-27 16:35:48 -0500
  • 3dae9e49cc Use subfic (val - reg) and mulli (reg * val). George Koehler 2018-01-27 15:33:43 -0500
  • 7c9c4f82fd Get ack -mosxppc -g to partly work with gdb. George Koehler 2018-01-26 20:08:03 -0500
  • e83aaca3ec Add some comments before I forget how this stuff works. George Koehler 2018-01-24 15:17:32 -0500
  • e3672bd66e Allow sp and fp on the fake stack. George Koehler 2018-01-23 18:18:40 -0500
  • c6ceaac1af Make osx386 and osxppc use _hol0.s like the other platforms. George Koehler 2018-01-23 13:55:39 -0500
  • 66f93f08c5 Add fef 4, fif 4. Improve fef 8, fif 8. Other float changes. George Koehler 2018-01-22 14:04:15 -0500
  • f1304e1a3c Use extended mnemonics and ha16/lo16. George Koehler 2018-01-11 20:04:27 -0500
  • 103d44c27c Rewrite sigaction() to prevent another race. George Koehler 2018-01-11 17:59:02 -0500
  • 2b09d3756c These are EM trap numbers. George Koehler 2018-01-09 00:39:03 -0500
  • de2c7c3f25 Hide some i386 stuff from linux68k, linuxppc. George Koehler 2018-01-08 22:26:24 -0500
  • 64b50b3a45 Shrink .cfu8 George Koehler 2018-01-07 16:03:55 -0500
  • b90c97b00b Teach top to merge or delete "addi sp, sp, X". George Koehler 2018-01-05 17:55:50 -0500
  • 720af48d8a Fix lim. Improve lxl, lxa, lor, str, procs with no locals. George Koehler 2018-01-04 20:40:35 -0500
  • d6938108a6 Add tests for C <setjmp.h> and Modula-2 Semaphores. George Koehler 2018-01-03 14:51:14 -0500
  • 26de4c1ab1 Add test for EM _rck_. Fix traps in PowerPC ncg. George Koehler 2017-12-24 22:37:52 -0500
  • 5f2a7b260f Optimize mr. X, X after some instructions. George Koehler 2017-12-22 22:32:16 -0500
  • c964eeddba Remove INT32 and such. Adjust indentation. George Koehler 2017-12-22 21:18:58 -0500
  • f96f918a29 Generate shorter code for ret 4 and ret 8. George Koehler 2017-12-22 20:37:39 -0500
  • 5867ca2f2c Remove two obsolete patterns. George Koehler 2017-12-22 19:57:42 -0500
  • 2eeee36f78 Add FRAME_V tokens for local variables. George Koehler 2017-12-22 17:04:16 -0500
  • 4bb31c296d Revise the comments in the EM tests. George Koehler 2017-12-21 18:19:26 -0500
  • 787fdeaaa9 Add some tests for Modula-2. George Koehler 2017-12-21 17:44:03 -0500
  • aa9418c029 Pass 4 bytes to fail(uint32_t) George Koehler 2017-12-18 21:58:57 -0500
  • a5e8dc8a06 Simplify code by using cms EM_WSIZE to compare bytes. George Koehler 2017-12-18 21:52:13 -0500
  • a4e6595032 Remove '\0' from output. Fix a compiler warning. George Koehler 2017-12-18 21:17:42 -0500
  • ad47fa5fe3 Add splitting coercions for IND_ALL_D. George Koehler 2017-12-18 20:59:04 -0500
  • 24abaf6a25 Enable conditional expressions in splitting coercions. George Koehler 2017-12-18 20:39:56 -0500
  • 5e99baabdf Rename two tokens. CONST_HZ was not hertz (Hz). George Koehler 2017-12-18 12:36:10 -0500
  • d8fa9d1b2a In coercions, try to reuse a register with the same token. George Koehler 2017-12-17 12:45:27 -0500
  • b0d75fed37 Rename ANY_BHW to INT_W; add FLOAT_W, FLOAT_D. George Koehler 2017-12-14 16:26:19 -0500
  • 5ba83100d6 Delete rules for sti 8 with REG IND_RC_D, with REG IND_RR_D. George Koehler 2017-12-12 13:36:43 -0500