roelandjansen / pcmos386v501

PC-MOS/386 v5.01 and up, including cdrom driver sources.
GNU General Public License v3.0
418 stars 60 forks source link

Build fails in mos5src in unterm #4

Closed dcoshea closed 5 years ago

dcoshea commented 7 years ago

The build as performed by MAKEMOS.BAT fails in the make -f maketerm.mak all step in this way (as at 2d19bc1):

masm unterm;
Microsoft (R) Macro Assembler Version 5.10
Copyright (C) Microsoft Corp 1981, 1988.  All rights reserved.

seriomac.inc(51): error A2004: Redefinition of symbol
seriomac.inc(53): error A2004: Redefinition of symbol
[... many more errors follow ...]

The initial error is due to cpuspeed being redefined.

Simply modifying SOURCES/src/mos5src/UNTERM.ASM to change DISABLE_CPUSPEED equ 0 to 1 doesn't help, so it appears that it needs to stay disabled.

SOURCES/src/unterm/UNTERM.ZIP contains a newer version of SERIOMAC.INC than the one in the SOURCES/src/mos5src directory which addresses this issue, but reveals another symbol redefinition problem for the checkspeed symbol. UNTERM.ZIP similarly contains a newer version of CPUSPEED.INC which addresses that problem.

In summary, extracting SERIOMAC.INC and CPUSPEED.INC from SOURCES/src/unterm/UNTERM.ZIP over the top of the existing files in SOURCES/src/mos5src allowed the build to proceed for me.

I have absolutely no idea whether replacing those files results in binaries equivalent to the official v5.01 release. I suppose at a minimum one could check the change logs in those files to see if they are dated before or after the v5.01 release to determine whether they could possibly have been used for v5.01.

I think the build is successful after making those changes, but since it is a .BAT file that doesn't terminate on errors, there could be some other problems I didn't notice. I haven't tried to use the generated binaries either. The sum of my experience with PC-MOS is booting IMAGES/PCMOS386-9-user.img for about a minute, so I probably won't be figuring out if the generated binaries are working very soon.

roelandjansen commented 7 years ago

It is possible that this needs to be done, yes. I took all the sources off the tape unchanged. I don't remember the exact instructions anymore. If it builds and works, I'll certainly change the stucture so that the next git pull/clone works.

I also accept PRs

galazwoj commented 7 years ago

You may want to review https://github.com/roelandjansen/pcmos386v501/commit/833d1a9c3a5cdaed3a08aae281db6672cb01048f

Basically commenting out DISABLE_CPUSPEED in unterm.asm should be enough

stsp commented 7 years ago

I think you are providing the incorrect link, I am surprised it works at all. The correct link to this commit should be: https://github.com/galazwoj/pcmos386v501/commit/833d1a9c3a5cdaed3a08aae281db6672cb01048f

stsp commented 7 years ago

The link is bad as it follows to wrong repo from which you can't fetch the patch or even find it in the commit log.

ghost commented 5 years ago

Stale, closing.