Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Porting stuff...
#1
Looks like I'm going to port one of my two QB projects, since no matter what I do, it's simply not going to run under the MSDOS VM in XP for some strange reason. Even after reconfiguring the program's properties a dozen times, it still won't work properly. Interesting error message:

Code:
---------------------------
16 bit MS-DOS Subsystem
---------------------------
2LORDS
The system cannot open COM1 port requested by the application. Choose 'Close' to terminate the application.
---------------------------
Close   Ignore  
---------------------------
Naturally, it doesn't even use COM1. After adding some debug code to dump load progress, I discovered that it crashes when it attempts to load the 10th texture. I have no idea why this happens and all I can do is chalk it up to incomplete MSDOS emulation, as it works perfectly fine in real DOS.

So anyways, I am likely going to port this game to Windows, using the ROTL engine. If anyone would like the incomplete yet buggy QB version, let me know. It still has no sound, but it will run great under 98...just wish it worked in XP.

The other QB game I'm working on, King Of QBers 2004, has some problems with palette functions in XP. No idea why though. Probably the same issue...incomplete MSDOS emulation. Although it makes little sense to port this to Windows, it looks like I might have to stick with the standard boring palette to make it work under XP.

EDIT: Woohoo, now lookie here...

Code:
---------------------------
16 bit MS-DOS Subsystem
---------------------------
VDMS Launchpad - 2LORDS
The NTVDM CPU has encountered an illegal instruction.
CS:0310 IP:78dd OP:e9 03 00 e9 30 Choose 'Close' to terminate the application.
---------------------------
Close   Ignore  
---------------------------
This was after installing VDMsound (dunno why, the game has no sound anyways, but I thought maybe it'd perhaps make something work somehow). It seems to me as if it's an error in the RTe code itself and not in my own code. Regardless, it looks like I'm cutting this one loose.
I'd knock on wood, but my desk is particle board.
Reply
#2
In the meantime, couldn't you run it under dosbox or a similar emulator?
It might be a memory limit XP has for DOS programs, or I could be completely off.
Reply
#3
DOS BOX is quite slow as compared to DOS VM.
Reply
#4
On my XP 2000+, I doubt dos box will run too slow to run the game, considering it ran at full framerate on my old 233. Big Grin I'll give it a try. I'm likely releasing the game unfinished into the public domain anyways, as this is an issue that I can't get around. Sad
I'd knock on wood, but my desk is particle board.
Reply
#5
Are you using ds4qb++ for sound? I found this on lithium's site one day that i found interesting...

Quote:Windows 9x and Millennium (Me)
For Windows 9x/Me, DS4QB++ uses what is called "Swap files /w DMA 0 queuing". What does this mean? Simple: the master module creates a swap file and in it places all the information the slave module will need. It then sends a signal through DMA 0. Meanwhile, the slave module has been waiting for the signal to appear. When it does, the slave module reads the information from the swap file, carries out the task at hand, and then clears DMA 0 as a signal to the master module that it is ready for the next command.

This method is quite fast, and can transmit large amounts of data in no time at all.

Windows NT/2k/XP
Unfortunately the DMA 0 "trick" does not work under these operating systems (for a number of reasons). So DS4QB++ uses a slightly different method of communication called "Swap files /w file indicant queuing".

This works in much the same way as the Win9x/Me method, except it uses "file indicants" for queuing. What does this mean? After writing the packet data to the swap file, the master module announces the presence of the packet by creating a file. Meanwhile, the slave module has been waiting for this file to exist. After seeing the file, the slave module performs its task, and then deletes the indicant file as a sign to the master module that it has completed its task. This method is not quite as fast as the Win9X one, but it is still fast, and it gets the job done quite nicely.
Jumping Jahoolipers!
Reply
#6
Hm, doesn't sound like you're having much luck nek.. shame, was looking forward to Two Lords Sad I'd be interested in seeing the QB version though. Got an URL?
In a world without walls and doors, who needs Windows and Gates?
Reply
#7
I stopped using ds4qb++ a long time ago. It caused way too many problems.

Piptol: I'll put it up in a few days. It is entirely possible to play the game...in Windows 98. It has no sound though, which takes half the fun out of it. Sad I was waiting for Blitz's new UGL release but...

The first three levels and the final level are fully playable. The levels are only sparsely decorated, as I had planned on adding more objects later, but they do work. Plenty populated with bad guys though. Big Grin
I'd knock on wood, but my desk is particle board.
Reply
#8
Hey qb is designed to run on a 486 running dos and a sound blaster 1.0, with a video card at 256kb video ram, with 640k of conventional memory. If you want me to run your game ill install dos on my old pc just to run it heh.
Reply
#9
There is a wonderful option called dual boot =P.
Reply
#10
My system is already a dual boot, 98 and XP. The issue is compatability with OTHER people's systems, and since the majority of people nowadays are going XP, it makes no sense to continue developing this in QB if it will not work on a good majority of systems. I think more in the sense of the common user. Big Grin
I'd knock on wood, but my desk is particle board.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)