David Given
511c3e99ee
Fix a whole bunch of warnings.
2022-08-01 22:08:23 +02:00
David Given
9519588f59
Convert all the things to Unix format.
2022-07-16 00:02:46 +02:00
David Given
25b6712e63
Rework all the ackbuilder scripts not to use wildcards, because we can't expand
...
them without luaposix, which isn't available (easily) on OSX or Windows.
2022-07-14 23:57:54 +02:00
David Given
97bed6c0a5
Fix incorrect instruction in the emulator disassembler.
2020-02-05 22:43:27 +01:00
David Given
1101922563
Add the deblocking parameter to cpm_bios_write().
2020-02-05 22:05:03 +01:00
David Given
17fa773f04
Update CP/M libsys.
2019-11-23 11:31:03 +01:00
George Koehler
20a4d401d0
Add first long-long test for linux386.
...
Skip the long-long test set on other platforms, because they don't
have long long. Each platform would need to implement 8-byte
operations like `adi 8` in its code generator, and set long long to
8 bytes in its descr file.
The first test is for negation, addition, and subtraction. It also
requires comparison for equality.
2019-09-05 13:13:02 -04:00
David Given
97d22973ee
Add some BIOS bindings, and a zero-terminated print string routine.
2019-06-24 23:07:17 +02:00
David Given
ac8edcbfc3
Give up trying to make the B tests pass on CP/M.
2019-06-17 23:33:58 +02:00
David Given
97e6baa052
Fix register corruption when incrementing locals; attempt to solve the
...
alignment issue.
2019-06-17 23:31:54 +02:00
David Given
c2f48772e9
Correctly emit \r\n when a \n is written to the console, instead of \n\n...
...
Fixes : #198
2019-06-17 23:31:16 +02:00
David Given
0ecad6c860
Warning fix.
2019-06-17 23:29:41 +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
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
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
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
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
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
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
George Koehler
84f65f7ce3
Raise _XOPEN_SOURCE from 500 to 700
...
In OpenBSD, _XOPEN_SOURCE 500 forces _POSIX_C_SOURCE down to 199506,
which hides the declarations of openat() and fdopendir() and causes
compiler warnings.
Don't set _POSIX_C_SOURCE, because _XOPEN_SOURCE may set
_POSIX_C_SOURCE to a different value.
2019-03-22 14:35:07 -04:00
David Given
79a38ecc08
Instead of using parameterised rsts for stack access, add a huge swathe of
...
automatically built helper tools. Star Trek goes up from 40243 to 40779 bytes,
but should be a lot faster.
2019-02-13 22:45:22 +01:00
David Given
073451dd44
Merge pull request #154 from ccodere/buildfix
...
Bugfix of compilation on gcc 4.8
2019-02-12 21:51:46 +01:00
carl
664338aa49
Fix compilation issue on C90 compilers (gcc 4.8 was failing to compile with default flags) - updated following comment.
2019-02-13 00:17:45 +08:00
carl
c63f527dde
Fix compilation issue on C90 compilers (gcc 4.8 was failing to compile with default flags).
2019-02-12 00:46:09 +08:00
David Given
34e9573929
Merge from default.
2019-02-10 23:40:07 +01:00
David Given
666d9a3edb
Add stray header.
2019-02-10 12:57:00 +01:00
David Given
aa6aefdaa0
Add missing header.
2019-02-10 00:45:09 +01:00
David Given
810afbb5b9
Don't run the floating point tests on i80.
2019-02-09 14:24:31 +01:00
David Given
bcc9c16bf7
More z80ex removal.
2019-02-09 13:42:09 +01:00
David Given
343cdf7983
Remove stray z80ex reference.
2019-02-09 13:30:29 +01:00
David Given
19f5ee3399
CP/M sbrk now handles overflow correctly.
2019-02-08 21:43:52 +01:00
David Given
22032575c5
Add a 'disassemble' command to the CP/M emulator.
2019-02-08 20:54:44 +01:00
David Given
b47d59aa4a
Merge from default.
2019-02-07 23:45:47 +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
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
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
64ae1d7583
Move time() into sys; change the name of the variable which controls it.
2018-06-23 19:40:50 +02:00
David Given
66815ff987
Make linux386 work with the new libc layout.
2018-06-23 12:13:33 +02:00
David Given
32c881474e
Create a basic and probably wrong common unistd.h, which replaces the plat one.
...
Made this work with cpm (but nothing else yet).
2018-06-23 11:46:55 +02:00
David Given
94ffa3ba88
libc floating point and stdio floating point can now be turned on and off using
...
ACKCONF variables.
2018-06-23 00:04:14 +02:00
David Given
9bf1d548fc
Rearrange the libc config files, ready for adding new options.
2018-06-22 23:43:15 +02:00