tkchia
15955282f6
plat/msdos386: fix some issues in libsys code
...
- ensure es = ds = ss upon exit of each C runtime function
- clear upper 16 bits of ebx before setting them to 0x0021,
when invoking interrupt_ptr to simulate a RM int 0x21
- make _sys_exists use the transfer buffer (which it needs)
- make _sys_rawread properly handle an end-of-file read
(zero bytes read)
- make argument to _sys_seterrno short --- after a failed
int 0x21 call, only the lower 16 bits of eax hold the MS-DOs
error code
- _sys_rawlseek accepts only 3 longword arguments, not 4
(the offset is only 1 longword)
- other minor fixes
2022-08-24 15:17:04 +00:00
tkchia
249e4b9069
plat/msdos386: fix a few more issues with startup and stub code
...
- correctly calculate size of BSS area to clear
- make realloc routine set both ds & es to point to new
data segment
- correctly initialize real mode flags when simulating real
mode interrupt via DPMI
- other minor fixes
2022-08-24 10:17:15 +00:00
tkchia
95ed8ee484
plat/msdos386: fix startup code so that it works under dosemu2
...
- do not try to store data through code segment selectors
- set each segment limit to segment size - 1, not segment size
- get PSP segment while still in real/V86 mode (DPMI host
might choose to return PM selector for int 0x21, ah = 0x62)
- other minor fixes
2022-08-23 14:35:43 +00:00
David Given
0165c07c7b
Merge pull request #269 from davidgiven/dtrg-msdos386
...
Add a plat for 32-bit DOS executables.
2022-08-19 21:00:43 +02:00
David Given
887ec0656e
Update documentation.
2022-08-19 20:08:39 +02:00
David Given
d24c3f8722
Fix typo.
2022-08-19 20:03:48 +02:00
David Given
c37c0e62cc
Remember to actually update the brk position when calling brk.
2022-08-19 20:03:40 +02:00
David Given
dc1f69be83
Most of read and write now works; filename-based operations partially work; but
...
there's a nasty memory corruption somewhere which needs investigating.
2022-08-19 00:08:57 +02:00
David Given
5329c98b81
Simplify and fix reading and writing so they seem to work.
2022-08-18 21:21:33 +02:00
David Given
cc356b5c75
Programs now start up and can write to the console, but crash when reading.
2022-08-18 00:24:08 +02:00
David Given
48398b072a
write() system calls work; start going through the libsys.
2022-08-17 22:34:06 +02:00
David Given
680b6b9857
Marshal the environment, command line and PSP into 32-bit memory.
2022-08-11 23:36:23 +02:00
David Given
1764c6baa2
Made realloc work; the 32-bit process can now be resized to include bss and
...
stack.
2022-08-10 16:14:12 +02:00
David Given
967b46e98e
Hacky workaround to make lar work.
2022-08-10 00:15:40 +02:00
David Given
b868c1ece9
Hacky workaround to make operatings on pointer differences work.
2022-08-10 00:15:28 +02:00
David Given
d464606dd6
We can now load and run 32-bit protected-mode executables. We have not,
...
however, set up the data segment.
2022-08-09 23:49:18 +02:00
David Given
b48b5b13ce
Maybe have a working stub now.
2022-08-09 23:32:41 +02:00
David Given
21b30ccadb
We can now switch to 32-bit mode.
2022-08-08 23:22:00 +02:00
David Given
1e0961c679
Do enough of the boot stub to produce an EXE header and enter DPMI protected
...
mode.
2022-08-08 22:03:12 +02:00
David Given
3716d49cd9
Allow arithmetic on variable values.
2022-08-08 22:02:51 +02:00
David Given
f2a49ff3ab
msdos86 actually emits .COM files.
2022-08-08 00:01:06 +02:00
David Given
b81ac5e2c3
Cut-and-paste the msdos86 libsys so the msdos386 stuff now at least builds.
2022-08-07 22:10:08 +02:00
David Given
00c722d2ef
Merge from trunk.
2022-08-07 22:01:08 +02:00
David Given
a47bb5493d
Merge pull request #268 from tkchia/tkchia/self-host
...
plat/msdos86: add rename( )
2022-08-07 20:42:01 +02:00
tkchia
63f646de78
plat/msdos86: add rename( )
2022-08-07 16:38:31 +00:00
David Given
6d9ac0b182
Add the nonfunctional boilerplate for the MSDOS 386 port.
2022-08-03 20:41:06 +02:00
David Given
a45f1cdd33
Allow stosw, lodsw, scasw.
2022-08-03 20:32:58 +02:00
David Given
86ded9ea2c
Merge pull request #266 from tkchia/tkchia/20220802
...
Fix cpp.ansi crash when stringifying missing macro argument
2022-08-03 14:16:33 +02:00
tkchia
3b1d440d5c
Fix cpp.ansi crash when stringifying missing macro argument
...
Fixes https://github.com/davidgiven/ack/issues/238
2022-08-02 15:28:21 +00:00
David Given
afd6f30812
Merge pull request #265 from davidgiven/dtrg-fixes
...
Make compatible with lua 5.1.
2022-08-01 22:46:02 +02:00
David Given
5dd6e8c856
Make compatible with lua 5.1.
2022-08-01 22:44:31 +02:00
David Given
50d3354ccb
Merge pull request #264 from davidgiven/dtrg-fixes
...
Fix or silence a lot of annoying build warnings.
2022-08-01 22:37:19 +02:00
David Given
d728801f43
Merge pull request #263 from tkchia/tkchia/20220801
...
Fix use-after-free in Modula-2 middle-end's em_m2
2022-08-01 22:34:57 +02:00
David Given
511c3e99ee
Fix a whole bunch of warnings.
2022-08-01 22:08:23 +02:00
David Given
551f666028
Silence an irritating warning.
2022-08-01 22:08:13 +02:00
David Given
fc0cdc0471
Don't dump statistics unless in verbose mode.
2022-08-01 22:01:18 +02:00
David Given
3f64b7c8c1
Don't spam the output with debug information unless -v is set.
2022-08-01 21:58:01 +02:00
tkchia
14c386561a
Fix use-after-free in Modula-2 middle-end's em_m2
...
Partly fixes https://github.com/davidgiven/ack/issues/262
2022-08-01 17:48:54 +00:00
David Given
3757b4ad03
Merge pull request #260 from davidgiven/dtrg-ci
...
Build a Windows installer.
2022-07-20 01:04:58 +02:00
David Given
c295920696
Make the Windows binaries actually run.
2022-07-20 00:25:07 +02:00
David Given
f5acf70911
Typo fix.
2022-07-20 00:24:52 +02:00
David Given
6a3c94a9d0
Better string escaping, but it's still not good enough to support paths
...
with spaces.
2022-07-20 00:24:20 +02:00
David Given
3e394b95e4
Actually make the binaries runnable... and a fraction of the size.
2022-07-19 21:44:34 +02:00
David Given
4555352a18
Build a Windows installer when doing a CI build.
2022-07-19 21:21:48 +02:00
David Given
79aff56b62
Actually honour LDFLAGS.
2022-07-19 21:21:23 +02:00
David Given
33ce9169b4
Merge pull request #259 from davidgiven/dtrg-ci
...
Make work on Windows.
2022-07-18 23:05:01 +02:00
David Given
967ba0f417
Disable appveyor.
2022-07-18 23:03:00 +02:00
David Given
8d51f476b2
Typo fix.
2022-07-18 22:30:23 +02:00
David Given
6cd0c8c958
Properly declare close().
2022-07-18 22:24:41 +02:00
David Given
64c62439cd
Fix a bunch of issues with the new temp file generation.
2022-07-18 22:18:08 +02:00