VOGONS

Common searches


Search results

Display options

Guide to the DOSBox debugger

Introduction to the built-in DOSBOX debugger This guide explains how to activate the DOSBOX debugger and use the various commands it offers. This guide is not for the average DOSBOX user! If you do not know how to compile DOSBOX from the sources have knowledge about assembler have experience in …

Re: Prehistoric 2 unstuck with debug

Here's a way to run the game properly: As soon as the level starts, enter debug mode, then enter the command SM 9a:62c8 50 After you have done that, you can jump, attack etc. without crashes. I am not sure why the game changes the code in the first place. It seems like Prehistorik 2 believes that we …

Re: Prehistoric 2 unstuck with debug

Reason why the game is stuck: The Video BIOS ROM (located at c000:0000) is supposed to start with EE AA followed by one byte that stores the size of the ROM (in 512 bytes-blocks). This third byte is [es]:0002 in above case. So what the game does: It tries to find out how big the ROM (and therefor …

Re: Wing Commander 2, DosBox CVS-20040116

528591985: CPU:GRP6:Illegal call 6 This means that WC2 tries to execute a CPU command that does not exists. I looked into the official Intel documentation and there is no entry for that opcode. 528592392: IO:Writing 8A to undefined port 003F 528592434: IO:ReadB:Out or range read from port 5CFE …

Re: Captive and "slightly" annoying blinking

Found the bug: The values 0x00 and 0x01 of the "Memory Map Select" bits of the Miscellaneous Graphics Register (Index 06h) of the Graphics Registers (Port 0x3CE/0x3CF) are treated as the same although they are different. Well, Sourceforge's CVS does not like me today, so no diff. In vga_memory.cpp …

Re: Captive and "slightly" annoying blinking

This bugfix actually breaks the 0x0C and 0x0D functions in a way that the start of the display is always zero: Initial value: vga.config.display_start = 0 Programs calls 0x0C with parameter 0x40: vga.config.display_start=(vga.config.display_start & 0x0000FFFF)| (val << 8 ) = (0x0 & 0x0000FFFF) | ( …

Re: Captive and "slightly" annoying blinking

Switch is done at 007B:0000087E. Captive contacts the VGA CRCT there and tells him to set the display start to either 0x0000 or 0x4000 (port 0x3D4/0x3D5, functions 0x0C+0x0D). When the display start is set to 0x0000, an image is shown. 0x4000 => Black. So Dosbox should switch between the content of …

Re: some testing with current CVS

could you make (in the future) a unified diff ? cvs diff -u Sure.. :) Another update: In the normal core, I replaced all E_Exit and Log calls related to undefined opcodes by a macro. UDEXCEPTION will throw a #UD exception if the program overwrote the INT6 vector (and therefore expects some opcodes …

Re: some testing with current CVS

Found a tiny bug in BatchFile::Goto: If a label is followed by spaces, you cannot jump there with "goto". DOS just ignores the extra spaces. This small bugfix will take care of that: Index: shell_batch.cpp =================================================================== RCS file: /cvsroot/dosbox/ …

FPU: FPATAN incorrectly implemented

Hi.. :) The C-equivalent to FPATAN is atan2() and not atan(). This bug will break e.g. games that uses this instruction to calculate the angel between two points A and B so they know how to move a sprite from A to B. Replacing the following line in fpu_instructions.h fpu.regs[ST(1)].d = atan(fpu. …

Page 3 of 4