Commit graph

8094 commits

Author SHA1 Message Date
David Given 0ecad6c860 Warning fix. 2019-06-17 23:29:41 +02:00
David Given c9d14f6c9e Cause B programs to fail on startup if they detect alignment issues. 2019-06-17 22:27:13 +02:00
David Given 94867d24b7 Ensure that procedure labels are word aligned (required by the EM spec). 2019-06-17 22:26:31 +02:00
David Given ec9b5f5fcd Disable rck test on i80, which doesn't support it. 2019-06-17 19:53:12 +02:00
David Given 585e035c14
Merge pull request #197 from davidgiven/dtrg-cpm
Overhaul the CP/M libsys.
2019-06-17 01:25:27 +02:00
David Given 2c8498cf87 I managed to break the test system... somehow. Fix. 2019-06-17 00:52:09 +02:00
David Given 402468f6fd Bugfix the CP/M FCB parser, and add a test for it. 2019-06-17 00:41:49 +02:00
David Given 6531850462 Oops, forgot to turn the other plats on before checking in. 2019-06-17 00:40:01 +02:00
David Given 97e6d8f66a Update README. 2019-06-16 20:10:13 +02:00
David Given 2b013c34dc Some byte shaving; lseek returns the offset. 2019-06-16 20:04:07 +02:00
David Given 01fdfef8c0 Merge from trunk. 2019-06-16 19:50:53 +02:00
David Given 50dca8b954 First at-least-slightly working version of the CP/M read/write stuff. Not as
bad as I expected, but far too big.
2019-06-16 19:04:17 +02:00
David Given 3131dc9915 Partially working port of stdio to CP/M. I'm not sure this will work; it's
getting way too complicated (stdio is horribly subtle). I think I need to
rethink things.
2019-06-15 22:22:01 +02:00
David Given 47660c178a
Merge pull request #196 from ccodere/carl-ansi-part1
Carl ansi part1
2019-06-15 22:11:49 +02:00
carl 0223069d29 Cleanup of modified code fixing several overflow checking issues. 2019-06-16 01:27:49 +08:00
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