David Given
278ed3cf26
Merge pull request #267 from davidgiven/dtrg-fixes
...
More warning fixes.
2023-01-08 13:02:19 +01:00
dg
f21d256f3f
Update documentation.
2023-01-08 11:27:46 +00:00
dg
42b8c481e3
More warning fixes.
2023-01-08 11:27:36 +00:00
dg
0fe814b530
Merge from master.
2023-01-08 10:35:47 +00:00
David Given
9dfa4a88c5
Merge pull request #276 from davidgiven/dtrg-build
...
Fix some build issues when using the make build backend.
2022-12-30 20:27:54 +01:00
dg
baff578256
Fix some build issues when using the make build backend.
2022-12-30 18:50:16 +00:00
David Given
5b554e8e6e
Merge pull request #274 from tkchia/tkchia/20220920
...
pc86: add degenerate "hard disk partition table" to boot sector
2022-09-21 00:41:40 +02:00
tkchia
b59422a24b
pc86: add degenerate "hard disk partition table" to boot sector
...
This is needed on some PCs to boot the pc86.img as a USB drive.
2022-09-20 16:14:38 +00:00
David Given
8619ce3ada
Merge pull request #272 from tkchia/tkchia/20220826
...
plat/msdos386: refactor, firm up, and optimize
2022-08-26 23:14:26 +02:00
tkchia
247a2bd6ae
plat/msdos386: rename _psp[] to .psp, avoid namespace pollution
2022-08-26 17:32:50 +00:00
tkchia
f8a6f92752
plat/msdos386: fix: RM int 0x21 calls was clobbering high halves
...
of esi and edi registers
2022-08-26 17:32:50 +00:00
tkchia
cba54b205b
plat/msdos386: refactor, firm up, and optimize
...
- refactor code for transfer buffer reads/writes, real mode
int 0x21 calls, and assembler segment declarations
- define transfer buffer size in one place
- beef up error checking for transfer buffer operations
(prevent buffer overflows)
- also optimize such operations to transfer dword by dword
where feasible
2022-08-26 17:31:28 +00:00
David Given
8891fae303
Merge pull request #270 from tkchia/tkchia/20220823
...
Some fixes for msdos386 target platform
2022-08-24 19:13:37 +02:00
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
03420ef4ad
Fix warnings caused by bad prototypes.
2022-08-03 21:13:12 +02: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