Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
blog:pc98_djgpp_patchnotes [2020/08/12 19:52] – john | blog:pc98_djgpp_patchnotes [2020/08/12 19:54] (current) – john | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== NEC PC-98 - DJGPP 2.03 Patch for PC-98 ====== | ||
+ | |||
+ | This is a machine-translated version of the notes included with the patch against DJGPP v2.03 to target PC-98 runtime environment. | ||
+ | |||
< | < | ||
=================================================== ============================ | =================================================== ============================ | ||
Line 10: | Line 14: | ||
=================================================== ============================ | =================================================== ============================ | ||
- | This package is a collection of patches to make libc.a of djgpp v2.03 compatible with DOS/V environment of PC-AT successor and PC-9800 Series. It contains both source and binary differences. | + | This package is a collection of patches to make libc.a of djgpp v2.03 compatible with DOS/V |
+ | environment of PC-AT successor and PC-9800 Series. It contains both source and binary differences. | ||
- | Originally, djgpp v2 startup only recognized PC-98, and from v2.02, conio also includes the code for DOS/V environment, | + | Originally, djgpp v2 startup only recognized PC-98, and from v2.02, conio also includes the code |
+ | for DOS/V environment, | ||
- | Rebuilding with this patched library should produce a binary that works on both PC-AT inheritors and PC-9800 unless you have written a direct dependency (...maybe (^^ ;;) | + | Rebuilding with this patched library should produce a binary that works on both PC-AT inheritors |
+ | and PC-9800 unless you have written a direct dependency (...maybe (^^ ;;) | ||
However, please note that this does not correspond to Japanese, so it is not. | However, please note that this does not correspond to Japanese, so it is not. | ||
Line 20: | Line 27: | ||
For the original djgpp, see the original author DJ Delorie | For the original djgpp, see the original author DJ Delorie | ||
http:// | http:// | ||
- | Look at Also, the original distribution of djgpp should be mirrored in simtelnet all over the world, so please obtain it from a place close to the network. | + | Look at Also, the original distribution of djgpp should be mirrored in simtelnet all over the |
+ | world, so please obtain it from a place close to the network. | ||
=================================================== ============================ | =================================================== ============================ | ||
Line 52: | Line 60: | ||
・__Crt0_mtype | ・__Crt0_mtype | ||
- | Store the model in int __crt0_mtype in crt1.c of startup, and all the operations after that are branched by this. | + | Store the model in int __crt0_mtype in crt1.c of startup, and all the operations |
+ | after that are branched by this. | ||
・Executable file size | ・Executable file size | ||
Line 60: | Line 69: | ||
・Src\libc\bios\*.c | ・Src\libc\bios\*.c | ||
- | I am trying to emulate a PC-AT BIOS, but none of them are perfect. Also, I don't emulate the DISK BIOS because it doesn' | + | I am trying to emulate a PC-AT BIOS, but none of them are perfect. Also, I don' |
+ | emulate the DISK BIOS because it doesn' | ||
・Src\libc\crt0\crt1.c | ・Src\libc\crt0\crt1.c | ||
Line 67: | Line 77: | ||
・Src\libc\dos\dos\delay.c | ・Src\libc\dos\dos\delay.c | ||
- | For models without a time stamper, the method using horizontal frequency is used, but there is a considerable error under Windows. | + | For models without a time stamper, the method using horizontal frequency is used, |
+ | but there is a considerable error under Windows. | ||
・Src\libc\pc_hw\co80\*.c | ・Src\libc\pc_hw\co80\*.c | ||
- | It is trapping a function that includes all TVRAM access. There are some unimplemented functions. | + | It is trapping a function that includes all TVRAM access. There are some unimplemented |
+ | functions. | ||
・Src\libc\pc_hw\kb\*.c | ・Src\libc\pc_hw\kb\*.c | ||
Line 98: | Line 110: | ||
There is a clock.c in the source of djgpp libc. | There is a clock.c in the source of djgpp libc. | ||
- | However, NEC NEC MS-DOS 6.2 or earlier cannot create a file called clock.* because there is a CLOCK device. This limitation becomes an issue when making libc. | + | However, NEC NEC MS-DOS 6.2 or earlier cannot create a file called clock.* because there |
+ | is a CLOCK device. This limitation becomes an issue when making libc. | ||
- | So I wrote a program that solves this problem by renaming the CLOCK device to CLOCK$. The source is attached as RENCLOCK.LZH. It is a COM/DEVICE type program that can be executed by both device driver and command line. | + | So I wrote a program that solves this problem by renaming the CLOCK device to CLOCK$. The |
+ | source is attached as RENCLOCK.LZH. It is a COM/DEVICE type program that can be executed by | ||
+ | both device driver and command line. | ||
[Execution method] | [Execution method] |