From: Rugxulo <ru...@gm...> - 2013-06-17 08:00:26
|
Hey guys, I'm up late and can't sleep, so I figured i may as well mention a minor issue I discovered. :-) I'm having trouble running XPLIQ.EXE (among other rare ones) from XPL0-30.ZIP in FreeDOS. See http://www.xpl0.org/XPL0-30.ZIP for the file itself. (XPLX.EXE runs fine, which is partially why I've postponed looking into this.) Actually, it seems to run fine in other environments (DOSEMU, DOSBox, DR-DOS), so I halfway think it's a FreeDOS .EXE loader bug. But who knows, it could be a subtle clash with XMGR (due to differing HMA use??) or just FreeDOS treating the (buggy? from buggy linker?) .EXE header differently (too strict? too loose?). All I know for sure is that the .EXE just hangs upon run in certain circumstances. I even hacked it locally to only print "!" via BIOS and then immediately exit, but it didn't even do that, so that makes me think it's an EXE loader bug. Since I don't know directly how to identify the precise cause, I can only experiment with random workarounds. (Perhaps this is a good excuse to start using 386SWAT, but I don't know if that will run well on this machine.) Anyways, here's a few workarounds that I've discovered that make it work correctly (and no, I couldn't rebuild successfully, tried and failed, probably not too hard but original author is ultra busy this week, so he's not much help right now): 1). clean boot (but see below for better ideas) 2). use HIMEMX instead (but I "mostly" really don't think it's explicitly an XMGR bug) 3). "jemm386 load x=test i=test" (works fine then ... but "unload" and it's back!) 4). upx xpliq.exe (this modifies the .EXE header, and then it works fine, oddly) 5). debug xpliq.exe (then 'g' to run, works because this has its own .EXE loader, right??) 6). in CONFIG.SYS, change "DOS=HIGH,UMB" to "DOS=LOW" (but this wastes RAM) I know most people probably don't care or have better things to do, and that's fine. But any further testing or debugging is welcome! |