I’m working my way through a PDF file of the book ‘Assembly language step-by-step programming with DOS and Linux’ by Jeff Duntemann. The CD that accompanied the book included a DOS NASM Integrated Development Environment written in Borland Pascal titled ‘NASM-IDE’. I was able to find it on github, but, while all the files seem present, there are a few steps that need to occur before it can be used.
According to the author’s instructions, the following steps need be taken…
The NASM-IDE archive is zipped using PKZIP. To use the NASM-IDE source code, create a directory and unzip the entire archive to that directory.
“The source code can be compiled using Borland Turbo Pascal 7.0. The main program file is called NASMIDE.PAS.
Before attempting to run the compiled code, you must do the following:
- Compile and run GENRES.PAS to create the hint line resource file.
- Compile TVHC.PAS to create the help file compiler.
- Run MAKEHELP.BAT to compile the help files.
- Create an INI file (see NASMIDE.SAM).”
The problem I have is that I do not understand how to compile these files correctly. I understand that a Turbo Pascal ‘unit’ is first created and saved with a .pas extension. Compiling such a file will result in a file with a ‘.tpu’ (unit) extension.
The specific problem is that the genres.pas unit references other units itself in its code.
The genres.pas unit has a uses clause that says “uses CRT, OBJECTS, ICONST;”
Compiling it results in the following error…
“Error 15: File not found (IEDIT.TPU).”
The ICONST unit uses the IEDIT unit
The iconst.pas unit has a uses clause that says “uses APP, VIEWS, IEDIT”
Compiling iedit.pas results in the following error…
“Error 15: File not found (IUTILS.TPU)”
The IEDIT.pas unit has a uses clause that says…
Uses DRIVERS, OBJECTS, VIEWS, DIALOGS, IUTILS, SINI, IHELP, IOPT;
The IEDIT.pas unit depends on IUTILS.pas.
This ‘circular reference’ problem continues as I try to compile other units along the chain.
The question is how to compile a unit file with a .pas extension into an actual .tpu unit when the original file depends on other .tpu unit files that cannot be created because they do not exist as .tpu files and cannot be separately compiled because they are called from the original file.
Each compilation effort fails because the dependent .tpu file does not exist; it only exists as a unit source file with a .pas extension.
Borland Pascal is being used in these compilation attempts. It is running natively on a PC running MS DOS v6.22.
I was able to compile about 12 of the files to .tpu format by setting genres.pas as the “Primary file” in the “Compile” menu option and selecting the “Build” option, but this ended with an “Error 26: Type mismatch.” Error on the IMAIN.PAS file.
Any help would be appreciated.