Jump to content
IGNORED

Trying to compile a file under Tasm with no luck.


Allan

Recommended Posts

I am trying to compile a simple program under Tasm and can't Dos to work right. I've type:

 

tasm -65 -b -fFF -q hello.asm hello.bin

 

at the:

 

C:>

 

prompt and get 'bad command or file name'.

 

Am I suppose to change the C: prompt somehow? Any advise would help.

 

Thanks,

Allan

Link to comment
Share on other sites

Thanks guys for the responses.

 

The first problem is a Dos directory problem and my new problem I suspect is also Dos directory problem. I'm trying to compile a 5200Bas compiled program. 5200Bas outputs Hello.asm (which seems fine), Hello.2 (a pre-include file, don't know what this means), and Hello.1 (a post-include file, don'r know what this means either.) I see the Hello.asm file after running 5200Bas but noth the other two and when I try to compile hello.asm Tasm of course can't find Hello.1 or Hello.2 (they are 'Includes' in Hello.asm.

 

Another thing which may matter is when I run 5200Bas I get a message that's says 'Path not found in Module includeK at address 168B:07B0'

 

thanks,

Allan

Link to comment
Share on other sites

Thanks guys for the responses.

 

The first problem is a Dos directory problem and my new problem I suspect is also Dos directory problem.

 

Make sure that TASM and all its files are in your working directory. You need TASM.EXE and TASM65.TAB, maybe some others?

 

I'm trying to compile a 5200Bas compiled program. 5200Bas outputs Hello.asm (which seems fine), Hello.2 (a pre-include file, don't know what this means),

 

All include files are created in the current directory. The pre-include file has the code that sets up things like the initial display list, VBI, sprite page, etc. This is written as a seperate file afterwards, because these type of settings can be changed anywhere in the program (so it doesn't know until after the .asm file is written what to even put for it)

 

and Hello.1 (a post-include file, don'r know what this means either.)

 

The post-include has the code for all the included functions that were used.. (CLS, LOCATE, PRINT, etc), among other things. This one could have been written into hello.asm. The advantage of the current file breakups is that hello.asm is going to contain pretty much only code that you have written. That way if there is a problem, you aren't wading through a bunch of code that doesn't make any sense.

 

I see the Hello.asm file after running 5200Bas but noth the other two and when I try to compile hello.asm Tasm of course can't find Hello.1 or Hello.2 (they are 'Includes' in Hello.asm.  

 

Another thing which may matter is when I run 5200Bas I get a message that's says 'Path not found in Module includeK at address 168B:07B0'

 

I suspect this is the reason you aren't getting the .1 and .2 files. They are created last so the error probably happens first and then you exit.

 

See this FAQ entry for more information on fixing the error: http://lilly.csoft.net/~jeffryj/5200bas/52...basfaq.html#1_9

 

calamari

Link to comment
Share on other sites

  • 2 weeks later...

Well, I finally had some more time tonight to give 5200Bas another try. I downloaded Winzip AND Winrar and unzipped the 5200Bas zipped file on my PC. Unfortunatelly it does the same thing. It creates the assembly listing but it continues to give me the 'Path not found in Module includeK at address 168B:07B0' message. I tried doing a search to see if it stuck the Hello.1 and Hello.2 files in another folder but no luck. I even tried another simple program but it does the same thing. One thing I just noticed is that in the FAQ is says that if you get a message "Path not found in module INCLUDEJ at address xxxx:xxxx", it may not be creating the directory correctly. My message says 'Path not found in Module includeK at address 168B:07B0'. I would imagine the 'k' and the 'j' are two different things. Other than that I'm just stuck. It's nice seeing the assembly version of the Basic program though. Any help would be appreciated.

 

Thanks,

Allan

Link to comment
Share on other sites

Because 5200BAS got so big, I had to split my compiler into two parts. 5200BASJ.BAS, and INCLUDEJ.BAS (or 5200BASK.BAS and INCLUDEK.BAS for the later version), the J and K are internal version "numbers". Once I got through 0-9 I started with A-Z. I never overwrite my previous version code in case something goes wrong. Therefore the error you are getting and that is the FAQ are really the same.

 

The reason that you get the error is that it cannot find an include file that it needs to put into your program source. For example: if you use the CLS command anywhere in the program, it will need to include CLS.INC, which is in the INC folder. This include file contains 6502 source code for the CLS command. Of course it's not just for CLS-- PRINT, LOCATE, SCREEN,quite a few commands have an associated include file. This is good because the code can be changed if it is slow, if there is a bug, or even if you just want to experiment with the way 5200BAS works.

 

It assumes that the include files are in the INC directory off of the current directory, so in our CLS example it attempts to open CLS.INC and read from it, but for some reason it cannot. The only reasons I can think of for this are 1) The directory doesn't exist, 2) The file doesn't exist, 3) It can't find the directory. It seems like you've taken care of reason 1), reason 2) would probably not give an error (it would create a 0 byte CLS.INC file), so let's check out reason 3).

 

I used a relative path internally.. When telling it how to find CLS.INC, I didn't say C:5200BASINCCLS.INC, I just said INCCLS.INC. That way, you don't have to put the program in a specific place on on a specific drive. However, it does mean that you'll need to run the 5200BAS program from the C:5200BAS directory or it won't know where INCCLS.INC is.

 

Here is an experiment. Go to the place where you have been attempting to compile and type "dir INCCLS.INC". If you are in the wrong directory, you'll get an error from MS-DOS saying "Path not found".

 

If you get that error, do a search for 5200bas.exe (Start : Find : Files or Folders), named 5200BAS.EXE. It will tell you the folder in which it was found. you might find more than one copy of 5200BAS.EXE, in which case you'll want to try the following instructions for each folder:

 

1) Change directory to the folder listed.. for example in my case 5200BAS.EXE was found in C:BC7BIN, so I would type:

 

C:WINDOWS>cd C:BC7BIN

 

That would give me:

C:BC7BIN>

 

2) Try testing for CLS.INC:

C:BC7BIN>dir INCCLS.INC

 

I might get:

Volume in drive C is ---

Volume Serial Number is xxxx-xxxx

Path not found

 

Or I would get:

Volume in drive C is ---

Volume Serial Number is xxxx-xxxx

Directory of C:bc7bininc

 

CLS INC 550 10-12-02 10:14a cls.inc

1 file(s) 550 bytes

0 dir(s) xxx MB free

 

Of course the second one is the one you want. When you find this place, that is the directory you need to be in when you try to compile a 5200BAS program. You might need to copy your game source code to the new directory.

 

If that doesn't work, please private message me here in AtariAge and we'll figure it out.

 

Before I release the next version of 5200BAS, I need to write an installer and have a config file containing the absolute path to the include files. Then this problem should no longer occur. The difficult part of using 5200bas should be associated with writing a good game, not running the compiler. Sorry about that.

 

calamari

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...