Post by Tom Maneiro on Jul 25, 2006 13:04:03 GMT -5
Wine is getting better with each new version (for those that do not know it, Wine is a emulation layer that allows to run Windows programs under Linux), and now BasiEgaXorz runs under it (as of Wine 0.9.16, and if you have the VB runtimes installed, and a sane Wine registry). Unfortunately, there are a couple of things that do not work yet:
1) the about screen ;D
2) SNASM68K (it's a DOS program, but Wine is not exactly a good DOS emulator).
SNASM68K 2.1D version hangs, and 2.02 version exits with a "Fatal error allocating DOS memory", so Wine is not an option. Unfortunately, there aren't SNASM68K builds for Linux/Unix, and i don't know how exactly BEX programs are assembled (what options are passed to the assembler). However, both SNASM68K versions do run fine under DOSBOX (a DOS emulator)
For now, and taking advantage of a Wine feature that allows to run Linux apps from Windows programs, i've written a simple shell script that runs SNASM68K under DOSBOX, passing all parameters used to call it. It creates a temporary BATch file (since DOSBOX can't pass parameters to emulated executables), and uses it to run SNASM68K under DOSBOX.
Save it as SNASM68K.EXE and make it executable (chmod 755 SNASM68K.EXE). BEX will not see the difference
Unfortunately, it stills does NOT work (BEX still throws a "Unsucessfully compiled" error, and no compiled stuff is written to disk).
UPDATE: modified script (i was "eating" the extra switches because the commandline parameters are passed as an array). Now i got the entire command, but...
A thing that i've noticed is that BEX spawns the compiler, but it continues without waiting the "executable" (our script) to finish (deleting any temporary source file, and throwing the error before SNASM68K does their job, causing it to fail too). Looks like a Wine issue...
1) the about screen ;D
2) SNASM68K (it's a DOS program, but Wine is not exactly a good DOS emulator).
SNASM68K 2.1D version hangs, and 2.02 version exits with a "Fatal error allocating DOS memory", so Wine is not an option. Unfortunately, there aren't SNASM68K builds for Linux/Unix, and i don't know how exactly BEX programs are assembled (what options are passed to the assembler). However, both SNASM68K versions do run fine under DOSBOX (a DOS emulator)
For now, and taking advantage of a Wine feature that allows to run Linux apps from Windows programs, i've written a simple shell script that runs SNASM68K under DOSBOX, passing all parameters used to call it. It creates a temporary BATch file (since DOSBOX can't pass parameters to emulated executables), and uses it to run SNASM68K under DOSBOX.
#!/bin/sh
# rename your original SNASM68K.EXE to LNASM68K.EXE
echo LNASM68K.EXE $1 $2 $3 $4 $5 $6 $7 $8 $9>SNASM68K.BAT
echo exit >>SNASM68K.BAT
dosbox SNASM68K.BAT
rm -f SNASM68K.BAT
exit 0
Save it as SNASM68K.EXE and make it executable (chmod 755 SNASM68K.EXE). BEX will not see the difference
Unfortunately, it stills does NOT work (BEX still throws a "Unsucessfully compiled" error, and no compiled stuff is written to disk).
UPDATE: modified script (i was "eating" the extra switches because the commandline parameters are passed as an array). Now i got the entire command, but...
[tomman@tomman_lp BasiEgaXorz]$ wine basiegaxorz.exe
fixme:ole:CoRegisterMessageFilter stub
[b]Commandline: -p -dmax 18 -e SegaCart;TILE_UNSET=0;TILE_SET=1 basic.s,basic.bin,,basic.txt[/b]
CONFIG: Using default settings. Create a configfile to change them
ALSA:Can't subscribe to MIDI port (65:0)
MIDI:Opened device:oss
fixme:ole:CoRegisterMessageFilter stub
[tomman@tomman_lp BasiEgaXorz]$ cat BASIC.TXT
[b]LNASM68K, version 2.1D, Dec 06 1995, 11:55:16
(c) 1993-95 Cross Products Ltd. All Rights Reserved
Fatal Error 20017 : Source file 'basic.s' not available[/b]
[tomman@tomman_lp BasiEgaXorz]$
A thing that i've noticed is that BEX spawns the compiler, but it continues without waiting the "executable" (our script) to finish (deleting any temporary source file, and throwing the error before SNASM68K does their job, causing it to fail too). Looks like a Wine issue...