Commit graph

8179 commits

Author SHA1 Message Date
carl 3133141a08 Interpreter fixes according to EM testsuit. 2019-06-16 01:20:53 +08:00
carl 55eb19acf8 * Fix merge conflict issue. 2019-06-16 01:19:15 +08:00
carl ef246bd8e2 Closes #193 (signed integer shift left does not correctly check overflow in the interpreter when shifting by 0 bits), Closes #192 (integer division overflow is not handled in the interpreter and crashes it) and closes #194 (lar instruction does not accept negative bounds in interpreter when doing array index checking). 2019-06-16 01:03:01 +08:00
carl 1ec55dfc6e bugfixes to make pascal compiler work. 2019-06-16 01:03:01 +08:00
carl f2c8e42f95 shift right cannot cause an overflow. 2019-06-16 01:03:01 +08:00
carl 014c151091 bugfixes to make pascal compiler work. 2019-06-16 01:00:26 +08:00
carl 9fc3102b4d shift right cannot cause an overflow. 2019-06-16 01:00:26 +08:00
carl 08b9482ac7 Merge remote-tracking branch 'upstream/default' into default
Conflicts:
	util/arch/archiver.c
2019-06-15 23:53:35 +08:00
David Given 1387c8713b Now that printf and scanf contain no FILE*-specific code, we can move them into
core (and split them up).
2019-06-15 13:53:20 +02:00
David Given 9109d7af7f First stage in modularising FILE*. Refactor so that printf/scanf don't rely on
FILE* innards; allow plats to replace the entire emulated FILE* system.
2019-06-15 13:07:10 +02:00
David Given 3798673afe
Merge pull request #186 from ccodere/carl-ansi-part1
Carl ansi part1
2019-06-15 12:09:41 +02:00
David Given 3d877ae3f8
Merge pull request #195 from davidgiven/dtrg-cpm
Various CP/M improvement
2019-06-11 23:38:29 +02:00
David Given 784fc67596 Alignment issues mean we can't access 16-bit CP/M structure elements directly. 2019-06-11 22:33:25 +02:00
David Given 0607529df2 Miscellaneous bugfixed and renamings. 2019-06-11 21:33:57 +02:00
David Given 3fe9a05adc Ignore .vscode directory. 2019-06-11 21:33:23 +02:00
David Given a804375560 Miscellaneous byte shaving; you can now choose whether or not you want the CCP
overwritten or not, and cpm_exit() does the right thing.
2019-06-11 20:32:00 +02:00
David Given 3feb79ad0c Simplify the .trp API to make it a bit smaller. 2019-06-11 20:02:03 +02:00
David Given 4e90de00e9 Don't pull in all the trap handlers every time. 2019-06-11 19:47:42 +02:00
David Given f58d7e7d30 Add missing file. 2019-06-11 19:40:46 +02:00
David Given 6948e7cbe1 Allow building one plat at a time. 2019-06-11 00:12:10 +02:00
David Given 48a9c48f56 Generate traps procedurally. For some reason they always keep getting pulled
in, though...
2019-06-11 00:12:00 +02:00
David Given ec2ea1feff Add missing file. 2019-06-10 23:57:43 +02:00
David Given d0967e683b Extend the CP/M libsys with a full set of (hopefully correct) 2.2 BDOS calls. 2019-06-10 23:54:23 +02:00
David Given 3f938d651b EM requires 2-alignment in structures, sadly. 2019-06-10 18:33:04 +02:00
David Given 48480dcae5 Fix a tiny ackbuilder bug where you can't set properties to false. 2019-06-10 16:12:36 +02:00
carl b1f6d5d827 ANSI C compilation fixes 2019-05-14 23:22:38 +08:00
carl 9bb69bbb98 Fix several compiler warnings by adding braces 2019-05-14 23:21:19 +08:00
carl cb65e6426c Memory overflow bugfix 2019-05-14 23:14:59 +08:00
carl 53d2894ed1 ANSI C conversion. 2019-05-11 01:18:01 +08:00
carl 21e15965cc ANSI C conversion and add procedure declarations. 2019-05-11 01:17:40 +08:00
carl 472654c366 ANSI C conversion and add procedure declarations. 2019-05-11 01:17:24 +08:00
carl 0301827482 ANSI C conversion. 2019-05-11 01:15:51 +08:00
carl 970e7da896 Adapt to new object API 2019-05-11 01:15:18 +08:00
carl 16f89747b1 ANSI C conversion. 2019-05-11 01:14:54 +08:00
carl fa2859df79 ANSI C conversion. 2019-05-11 01:14:01 +08:00
carl dfefbcae86 ANSI C conversion. 2019-05-11 01:13:43 +08:00
carl f9916fb680 Fix call to fwrite with proper parameters. 2019-05-11 01:12:48 +08:00
carl de45c1036d ANSI C conversion 2019-05-11 01:11:54 +08:00
carl 708c1ba1b0 ANSI C conversion 2019-05-11 01:11:26 +08:00
carl e6ba8034f0 ANSI C conversion 2019-05-11 01:11:17 +08:00
carl cefebdb5db ANSI C conversion 2019-05-11 01:11:03 +08:00
carl 628dcb3cbf ANSI C conversion 2019-05-11 01:10:47 +08:00
carl 04cb629159 ANSI C conversion 2019-05-11 01:10:12 +08:00
carl e8243402be Move to use C structures instead of typedef to align with other ACK compilers and to avoid forward declaration issues with include files. 2019-05-11 01:09:03 +08:00
carl 72dcbea3c6 Add missing C compiler command line option. 2019-05-11 01:07:33 +08:00
carl e2d2c11a6e Fix some compiler warnings. 2019-05-11 01:07:00 +08:00
carl e533626413 - Remove rcsid tag.
+ ANSI C conversion.
2019-05-11 01:06:36 +08:00
carl 82fddaab77 Fully working implementation for C compiler front-end. 2019-05-11 01:05:34 +08:00
carl 7a642d6df3 Fix some groff warnings. adapt mkdispatch to ANSI C. 2019-05-11 01:05:02 +08:00
carl ccfd8a3e18 rename rd_long/wr_long to rd_int4/wr_int4 for consistency. Align declaration and definition name of parameters and adapt man page accordingly. 2019-05-11 01:03:36 +08:00