Jump to content
IGNORED

[SOLVED] Windows 7 (64-bit) bB Compilation Issue


Dragnerok X

Recommended Posts

[sOLVED]: For any of you who are experiencing issues with batari Basic and Windows 7 / 64-bit versions of Windows, I have attached my working bB folder to this post.

 


 

Hello, again, citizens of AtariAge!

 

Now that my college coursework is beginning to die down, with winter break almost here, I thought I would once again fire up batari Basic and take another look at a few of the programs I wrote many (it must have been three, by now) years ago. Of the most noteworthy changes that have happened since then, my computers have seen a shift from Windows XP to Windows Vista in 2007 to Windows 7 this past month, running on a 32-bit Pentium 4 to now a 64-bit Pentium Dual-Core processor. This, I'm afraid, has caused compatibility issues to spring up. After I had settled on the Programmer's Notepad as an IDE and got Stella 3.0 up and running, I noticed that Windows, unable to run 16-bit applications, completely refused to run batari Basic 1.0, giving me:

 

> "C:\Users\Jimmy\Documents\bB\2600bas.bat" C:\Users\Jimmy\Documents\bB\projects\Combat_DX.bas
This version of C:\Users\Jimmy\Documents\bB\2600basic.exe is not compatible with the version of Windows you're running. 
Check your computer's system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, 
and then contact the software publisher.

> Process Exit Code: 255
> Time Taken: 00:05

 

So, after a short search, I stumbled upon the MinGW build recently done by Batari, along with the files from the batari Basic 1.01 update. I then proceded to copy the files from the general update into my bB folder, followed by those in the MinGW build, replacing any duplicates as I went along. Everything seemed to run flawlessly... at first. Once I decided to compile one of my games, Combat DX, I was met with this:

 

> "C:\Users\Jimmy\Documents\bB\2600bas.bat" C:\Users\Jimmy\Documents\bB\projects\Combat_DX.bas
batari Basic v1.01 (C)2005-2007
(347): Error: Unknown keyword: B

Compilation failed.

> Process Exit Code: 0
> Time Taken: 00:00

 

At first I blew this off simply as a syntax error, possibly forgetting to rem a comment on my part. Strangely enough, however, all that line 347 contained was the end of my first data statement...

 

345  data pointerlo
346  $24,$1B,$12,$09,$00,$09,$12,$1B,$24,$2D,$36,$3F,$48,$3F,$36,$2D
347 end

 

I have also noticed this in one of the known-working sample programs, Zombie Chase, which coincidence be, also points me to the first data statement as the source of an "error":

 

> "C:\Users\Jimmy\Documents\bB\2600bas.bat" C:\Users\Jimmy\Documents\bB\samples\zombie_chase.bas
batari Basic v1.01 (C)2005-2007
(542): Error: Unknown keyword: 2

Compilation failed.

> Process Exit Code: 0
> Time Taken: 00:00

540  data gonextlevel
541  1,2,3,4,5,6,7,8,9,$10,$11,$12,$13,$14,$15,$99
542 end

 

I believe I may have found a bug. It appears that I'm not the only one, either. Has anyone else experienced this? Has a fix been released or is there something wrong with my batari Basic installation?

bB Windows 7.zip

Edited by Dragnerok X
Link to comment
Share on other sites

Hello, again, citizens of AtariAge!

 

Now that my college coursework is beginning to die down, with winter break almost here, I thought I would once again fire up batari Basic and take another look at a few of the programs I wrote many (it must have been three, by now) years ago. Of the most noteworthy changes that have happened since then, my computers have seen a shift from Windows XP to Windows Vista in 2007 to Windows 7 this past month, running on a 32-bit Pentium 4 to now a 64-bit Pentium Dual-Core processor. This, I'm afraid, has caused compatibility issues to spring up. After I had settled on the Programmer's Notepad as an IDE and got Stella 3.0 up and running, I noticed that Windows, unable to run 16-bit applications, completely refused to run batari Basic 1.0, giving me:

 

> "C:\Users\Jimmy\Documents\bB\2600bas.bat" C:\Users\Jimmy\Documents\bB\projects\Combat_DX.bas
This version of C:\Users\Jimmy\Documents\bB\2600basic.exe is not compatible with the version of Windows you're running. 
Check your computer's system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, 
and then contact the software publisher.

> Process Exit Code: 255
> Time Taken: 00:05

 

So, after a short search, I stumbled upon the MinGW build recently done by Batari, along with the files from the batari Basic 1.01 update. I then proceded to copy the files from the general update into my bB folder, followed by those in the MinGW build, replacing any duplicates as I went along. Everything seemed to run flawlessly... at first. Once I decided to compile one of my games, Combat DX, I was met with this:

 

> "C:\Users\Jimmy\Documents\bB\2600bas.bat" C:\Users\Jimmy\Documents\bB\projects\Combat_DX.bas
batari Basic v1.01 (C)2005-2007
(347): Error: Unknown keyword: B

Compilation failed.

> Process Exit Code: 0
> Time Taken: 00:00

 

At first I blew this off simply as a syntax error, possibly forgetting to rem a comment on my part. Strangely enough, however, all that line 347 contained was the end of my first data statement...

 

345  data pointerlo
346  $24,$1B,$12,$09,$00,$09,$12,$1B,$24,$2D,$36,$3F,$48,$3F,$36,$2D
347 end

 

I have also noticed this in one of the known-working sample programs, Zombie Chase, which coincidence be, also points me to the first data statement as the source of an "error":

 

> "C:\Users\Jimmy\Documents\bB\2600bas.bat" C:\Users\Jimmy\Documents\bB\samples\zombie_chase.bas
batari Basic v1.01 (C)2005-2007
(542): Error: Unknown keyword: 2

Compilation failed.

> Process Exit Code: 0
> Time Taken: 00:00

540  data gonextlevel
541  1,2,3,4,5,6,7,8,9,$10,$11,$12,$13,$14,$15,$99
542 end

 

I believe I may have found a bug. It appears that I'm not the only one, either. Has anyone else experienced this? Has a fix been released or is there something wrong with my batari Basic installation?

Finally some more people are trying my minGW build. There has been very little feedback on this so far.

 

However, I cannot repeat your problem - everything seems to work fine for me.

 

When updating bB, install all of the other updates first (like SeaGtGruff's fixes) then do the minGW files last and overwrite any existing files.

Link to comment
Share on other sites

Finally some more people are trying my minGW build. There has been very little feedback on this so far.

 

However, I cannot repeat your problem - everything seems to work fine for me.

 

When updating bB, install all of the other updates first (like SeaGtGruff's fixes) then do the minGW files last and overwrite any existing files.

 

That's strange... I tried that, and it's still happening.

 

My Process (Windows 7 Professional x64):

* Drag batari Basic 1.0 files (from your website) into the empty "bB" folder.

* Download "updates_for_bb_2008y_11m_04_0717t.zip", perform a copy and replace

using the updated includes files and the updated 2600bas.bat into the "bB" includes

folder and main "bB" directory, respectively.

* Download "bB_mingw.zip", copy and replace all files into the main "bB" directory.

* Drag the sed.exe file into the main "bB" directory from the sed folder in "bB".

* Try compiling zombie_chase.bas in the samples folder in "bB".

 

Environment Variables:

C:\Users\Jimmy>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Jimmy\AppData\Roaming
bB=C:\Users\Jimmy\Documents\bB\
CLASSPATH=.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=JIMMY-PC
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Jimmy
LOCALAPPDATA=C:\Users\Jimmy\AppData\Local
LOGONSERVER=\\JIMMY-PC
MpConfig_ProductAppDataPath=C:\ProgramData\Microsoft\Microsoft Antimalware
MpConfig_ProductCodeName=Salt Lake City
MpConfig_ProductPath=c:\PROGRA~1\MICROS~3
MpConfig_ProductUserAppDataPath=C:\Users\Jimmy\AppData\Local\Microsoft\Microsoft
Antimalware
MpConfig_ReportingGUID=396D5BB0-51A2-4E75-AC1C-552010D3D984
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32
\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Users\Jim
my\Documents\bB\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 23 Stepping 10, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=170a
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
QTJAVA=C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\Jimmy\AppData\Local\Temp
TMP=C:\Users\Jimmy\AppData\Local\Temp
USERDOMAIN=Jimmy-PC
USERNAME=Jimmy
USERPROFILE=C:\Users\Jimmy
windir=C:\Windows

 

...after further testing, this problem occurs both in the IDE and directly from the command prompt, with or without sed.

Edited by Dragnerok X
Link to comment
Share on other sites

I don't have easy access to a Windows 7 PC to troubleshoot the problem, but it might help if we can figure out if it's the preprocessor or compiler causing the issue.

 

Type preprocess<zombie_chase.bas>zombie_chase.i or something and take a look at the zombie_chase.i file. If you can post the preprocessed output around the data statement, that may reveal something (or rule out the preprocessor.)

 

Anyway, there is also a java bB that I posted, though it's more of an experiment. If you want to give it a go, grab it here:

 

http://www.atariage.com/forums/topic/144671-any-interest-in-web-based-bb2600-asm-ide/page__st__24

 

I would imagine that since it's Java, it will work on anything.

Link to comment
Share on other sites

I don't have easy access to a Windows 7 PC to troubleshoot the problem, but it might help if we can figure out if it's the preprocessor or compiler causing the issue.

 

Type preprocess<zombie_chase.bas>zombie_chase.i or something and take a look at the zombie_chase.i file. If you can post the preprocessed output around the data statement, that may reveal something (or rule out the preprocessor.)

 

Anyway, there is also a java bB that I posted, though it's more of an experiment. If you want to give it a go, grab it here:

 

http://www.atariage.com/forums/topic/144671-any-interest-in-web-based-bb2600-asm-ide/page__st__24

 

I would imagine that since it's Java, it will work on anything.

 

If this means anything to you, I navigated to the samples directory using the command prompt and ran "preprocess<zombie_chase.bas>zombie_chase.i", which produced a file without error or objection. However, it appears that this new file is exactly identical to the zombie_chase.bas file that it processed. Here's the data line:

 

540  data gonextlevel
541  1,2,3,4,5,6,7,8,9,$10,$11,$12,$13,$14,$15,$99
542 end

 

...and so the hunt continues...

Link to comment
Share on other sites

I don't have easy access to a Windows 7 PC to troubleshoot the problem, but it might help if we can figure out if it's the preprocessor or compiler causing the issue.

 

Type preprocess<zombie_chase.bas>zombie_chase.i or something and take a look at the zombie_chase.i file. If you can post the preprocessed output around the data statement, that may reveal something (or rule out the preprocessor.)

 

Anyway, there is also a java bB that I posted, though it's more of an experiment. If you want to give it a go, grab it here:

 

http://www.atariage.com/forums/topic/144671-any-interest-in-web-based-bb2600-asm-ide/page__st__24

 

I would imagine that since it's Java, it will work on anything.

 

If this means anything to you, I navigated to the samples directory using the command prompt and ran "preprocess<zombie_chase.bas>zombie_chase.i", which produced a file without error or objection. However, it appears that this new file is exactly identical to the zombie_chase.bas file that it processed. Here's the data line:

 

540  data gonextlevel
541  1,2,3,4,5,6,7,8,9,$10,$11,$12,$13,$14,$15,$99
542 end

 

...and so the hunt continues...

Can you PM me the actual preprocessed output? There might be something funny about it that is failing in Windows 7. Also, can you include the bB.asm file that is generated?

Link to comment
Share on other sites

Jbs30000, you're using a 64-bit operating system, right? Is there any chance you could try out the instructions I posted above (just move your current bB folder to prevent it from getting erased) to verify that this isn't Windows 7 specific? Ignore this, Batari might be onto something.

Edited by Dragnerok X
Link to comment
Share on other sites

OK, it's not the preprocessor and the compiled output looks fine. It appears that an implicit const statement is passing itself to the keyword parser after the data statement, and that must be failing.

 

I can't test this because everything is working just fine for me, but if you could test this, let me know if it works. This is just the 2600basic.exe file.

2600basic.zip

Link to comment
Share on other sites

OK, it's not the preprocessor and the compiled output looks fine. It appears that an implicit const statement is passing itself to the keyword parser after the data statement, and that must be failing.

 

I can't test this because everything is working just fine for me, but if you could test this, let me know if it works. This is just the 2600basic.exe file.

 

Slightly different results this time. Here's where zombie chase's compilation fails:

 

> "C:\Users\Jimmy\Documents\bB\2600bas.bat" C:\Users\Jimmy\Documents\bB\samples\zombie_chase.bas
batari Basic v1.01 (C)2005-2007
(284): Error: Unknown keyword: C

Compilation failed.

> Process Exit Code: 0
> Time Taken: 00:00

 

282  rem if temp6{0} then AUDC1=3:AUDF1=0 else AUDC1=3:AUDF1=1
283  rem AUDV1=temp6&3
284  if level{3} then temp1=8 else temp1=20
285  AUDC1=temp1
286  if temp6{0} then AUDF1=temp1+4 else AUDF1=temp1+5

 

Interestingly enough, Combat DX fails at the same data statement mentioned before. Attached in the .zip are each game's bB.asm file.

bB Assembly Files.zip

Edited by Dragnerok X
Link to comment
Share on other sites

Well, I am stumped, so I will send you a special debugging version. It simply echoes the contents of the keyword parser and is of no use except for debugging.

 

Anyway, run this, and send me the bB.asm files it produces.

 

Here you are.

Thanks - I guess that didn't do quite what I expected. I realize now that the code I sent will produce output to the screen (through stderr) not to bB.asm. Can you send me the screen output instead?

Link to comment
Share on other sites

Here is another build of 2600basic.exe to try. Let me know if it works.

 

It looks like we have a winner! :)

 

Combat DX compiles and runs fine, and Zombie Chase *almost* compiles, producing what appears to be a minor error, stating:

 

> "C:\Users\Jimmy\Documents\bB\2600bas.bat" C:\Users\Jimmy\Documents\bB\samples\zombie_chase.bas
batari Basic v1.01 (C)2005-2007
2600 Basic compilation complete.
DASM V2.20.07, Macro Assembler (C)1988-2003
     bytes of ROM space left
     91 bytes of ROM space left
     91 bytes of ROM space left
     91 bytes of ROM space left
--- Unresolved Symbol List
mul8                     0000 ????         (R )

Fatal assembly error: Source is not resolvable.

> Process Exit Code: 0
> Time Taken: 00:01

 

Edit: ...which was easily resolved by placing the line "include div_mul.asm" at the beginning of the file.

 

Indeed, it looks like we're in the clear. Thanks for your help.

Edited by Dragnerok X
Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

Here is another build of 2600basic.exe to try. Let me know if it works.

I've come across situations where this compiler doesn't work. For example if I try to compile the attached file with the original compiler it works, but if I use this update I get the following error.

 

DASM V2.20.07, Macro Assembler (C)1988-2003
bytes of ROM space left in bank 1
bytes of ROM space left in bank 2
1469 bytes of ROM space left in bank 1
2386 bytes of ROM space left in bank 2
1469 bytes of ROM space left in bank 1
2386 bytes of ROM space left in bank 2
--- Unresolved Symbol List
pfwidth 	0000 ???? 	(R )

Fatal assembly error: Source is not resolvable.
Errors were encountered during assembly.

I've tried it with your java-based compiler as well with the same result so it seems to be something in your newer source.

 

Here is the .bas source and the resulting .asm files if it helps debug.

 

Horse.bas

Horse_ASM.zip

 

*Update* this updated Kernel fixed it for me.

 

-Jeff

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

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