View previous topic :: View next topic |
Author |
Message |
quarus n00b
Joined: 12 May 2002 Posts: 39
|
Posted: Sun May 12, 2002 5:20 pm Post subject: zsnes won't compile ? |
|
|
Hi !
Under SuSE Linux i used to play SNES Games with ZNES. However, zsnes won't compile under gentoo.
It quits with the message:
nit.asm:4617: error: symbol `.nextsearch' undefined
(null):1075118344: error: phase error detected at end of assembly.
make: *** [init.o] Error 1
any suggestions ? |
|
Back to top |
|
|
Night Goat n00b
Joined: 19 Apr 2002 Posts: 4
|
Posted: Thu May 16, 2002 9:40 pm Post subject: |
|
|
Are you using emerge to compile it, or are you doing it by hand? I got it to work fine by typing "emerge zsnes" as root. Now, I'm having a blast in Super Mario World |
|
Back to top |
|
|
handsomepete Guru
Joined: 21 Apr 2002 Posts: 548 Location: Kansas City, MO
|
Posted: Sat May 18, 2002 1:20 pm Post subject: |
|
|
The problem disappeared a couple days after it popped up. emerge rsync and try again (if you haven't already). |
|
Back to top |
|
|
kode54 n00b
Joined: 16 May 2002 Posts: 42
|
Posted: Tue May 21, 2002 7:04 am Post subject: |
|
|
It also goes away if you use nasm 0.98 instead of 0.98.08 or newer.
I have the same problem trying to compile zsnes from CVS code, unless I either use 0.98, or 0.98.08 nasmw.exe build with Visual Studio and running through all sorts of bloody script hacking and wine. Odd that GCC or GNU environment breaks nasm 0.98.08 and newer from compiling this code correctly.
Also, when I emerge built stock 1.337 with nasm 0.98.31, there were some errors in the GUI fonts. Example, the little box on the fullscreen button is one line too high, cutting off the top. Also, parenthesis are similarly distorted. Does anyone else experience this?
Currently, I am using the CVS code with my own personal changes (major changes from my personal win32 cvs root) and built with nasmw and a script to call it through winex and move the files correctly. I seem to experience threading/timing problems with the sound, as well as emulated CPU timing problems in certain games, slightly alleviated by using the CVS build. Thus, zsnesw is still my favorite port. |
|
Back to top |
|
|
quarus n00b
Joined: 12 May 2002 Posts: 39
|
Posted: Tue May 21, 2002 7:22 am Post subject: works now ! |
|
|
I waited a few days and emerged it again. It works now !
Thank you all for help ! I'm going to play Yoshis Island now... |
|
Back to top |
|
|
kode54 n00b
Joined: 16 May 2002 Posts: 42
|
Posted: Tue May 21, 2002 2:01 pm Post subject: |
|
|
But are there glitches in the GUI font, as I described? I still see the phase errors when trying to compile the CVS version with 0.98.31-r1. |
|
Back to top |
|
|
quarus n00b
Joined: 12 May 2002 Posts: 39
|
Posted: Tue May 21, 2002 2:37 pm Post subject: |
|
|
@kobe54
I don't have any gui problems. Everything looks fine (to me). |
|
Back to top |
|
|
handsomepete Guru
Joined: 21 Apr 2002 Posts: 548 Location: Kansas City, MO
|
Posted: Tue May 21, 2002 3:17 pm Post subject: |
|
|
The gui looks just fine to me also... |
|
Back to top |
|
|
kode54 n00b
Joined: 16 May 2002 Posts: 42
|
Posted: Wed May 22, 2002 7:29 am Post subject: |
|
|
Meh.. I'll stick with my own build for now. |
|
Back to top |
|
|
kode54 n00b
Joined: 16 May 2002 Posts: 42
|
Posted: Thu May 23, 2002 6:17 am Post subject: |
|
|
Argh. It has to do with an assembler feature, multi-line comments....
Any ; comment line that ends with \ will continue onto the next line, and the phase error ... I guess maybe it only does that on one of the passes, so maybe it's a bug?
Anyway, the font error (parenthesis, fullscreen button, wtf else?) was probably from the same thing. Works fine if I assemble with 0.98. Blah, damn me because I don't like assembling bug reports.
EDIT: There's also a line in gui.asm with a similar comment. The comment in init.asm is fixed in CVS:
Code: |
@@ -4603,5 +4603,5 @@
mov edi,fname+1
mov byte[.cchar],'\'
- ; get position of . or \
+ ; get position of . or \ (You suck nasm)
.nextsearch
cmp byte[edi],0
|
And I'm not sure if gui/gui.asm is patched yet, though.
Code: |
@@ -5281,5 +5281,5 @@
db 00100000b
db 00010000b
- db 00001000b; \
+ db 00001000b; \ (Screw you nasm)
db 10101000b
db 01110000b
|
Yes, the suck comment really is in the current CVS copy of init.asm, but the latter was just made from my own source files. If the line numbers are that far off, bleh, my source has lots of extra crap in it, including things that eliminate the need for protect.c. But it seems my variable sectioning choices seem to go haywire with nasm 0.98.08 and newer, causing odd glitches that disappear if I resection a byte to .data or something... I don't care to file the entire source tree off to the nasm dev team.
EDIT AGAIN: Changed the second patch to reflect the actual CVS code recently committed. |
|
Back to top |
|
|
|