Jonathan Campbell
03c919a51f
incorporated cpu.diff from DOSBox forums to allow B (big) mode real mode
...
DOS demos like Project Angel. To explain: the demo apparently relies on
the same protected mode hack DOS demos usually do to enable Flat Real
Mode, but Project Angel also uses it to enable the B bit to effectively
set up a 32-bit flat real mode (32-bit code in real mode!). At least
that's what I think it's doing. It would explain all the complaints
about not being able to run the demo, and why this patch makes it work.
People (rightfully so) complained that the patch might break virtual
8086 mode emulation. I'm also concerned about whether or not this patch
breaks anything, so the patch is conditional: it's there if you enable
it by setting realbig16=true in the [cpu] section of your dosbox.conf,
otherwise, DOSBox-X retains original behavior of always clearing the BIG
bit in the code segment cache.
2014-01-18 11:44:59 -08:00
Jonathan Campbell
d3033a5f85
force default scaler to normal2x. change memory emu so adapter ROM is
...
0xFF not 0x00 (but only in select areas).
2014-01-16 07:39:48 -08:00
Jonathan Campbell
70c51c4239
rename debug.com image to debugx.exe to avoid conflicting with DOSBox-s
...
debug command.
2014-01-15 23:54:31 -08:00
Jonathan Campbell
48016b028a
add hexmem utility as built-in.
2014-01-15 23:51:55 -08:00
Jonathan Campbell
d32155ec68
incorporate DEBUG.COM (from FreeDOS) as built-in binary image.
2014-01-15 23:38:09 -08:00
Jonathan Campbell
ae0c1003bf
remove unused savestate stuff
2014-01-14 22:33:29 -08:00
Jonathan Campbell
89ba64bf54
remove unused DMA code
2014-01-14 22:32:48 -08:00
Jonathan Campbell
0c84383c0b
disable debug stuff again
2013-12-01 20:05:17 -08:00
Jonathan Campbell
4135ba554c
fix the MODE SENSE reporting format
2013-12-01 19:47:36 -08:00
Jonathan Campbell
e2ecd906e1
more work
2013-12-01 14:18:52 -08:00
Jonathan Campbell
2eac37a643
IDE: remove CD playback from stopping playback when len == 0
2013-12-01 12:56:23 -08:00
Jonathan Campbell
91e441ba74
CD playback---it works!!!!
2013-12-01 12:32:34 -08:00
Jonathan Campbell
e95d1d86e1
mode sense completion
2013-12-01 11:29:31 -08:00
Jonathan Campbell
78df391653
more work. mode sense
2013-12-01 11:11:50 -08:00
Jonathan Campbell
2a067a48e6
ide: add CD audio emulation, work towards getting Win95 to play audio
...
CDs, fixup TOC function to return full TOC
2013-12-01 01:56:18 -08:00
Jonathan Campbell
2da0b80b08
move commands to functions
2013-12-01 00:17:19 -08:00
Jonathan Campbell
29315ee150
ide: autoincrement bugfix for LBA mode. ide command printing now prints
...
lba sector number if lba mode, chs otherwise
2013-11-16 01:04:22 -08:00
Jonathan Campbell
2c8db646a8
ide: update identify
2013-11-16 00:46:31 -08:00
Jonathan Campbell
01c059892f
ide: add code to emulate INITIALIZE DRIVE PARAMETERS
2013-11-16 00:34:50 -08:00
Jonathan Campbell
168c97310e
add "apmbios" configuration option to enable/disable the APM BIOS
...
emulation
2013-11-15 23:39:42 -08:00
Jonathan Campbell
0d6699b956
ide: fire the right IRQ instead of IRQ 14
2013-11-15 21:13:50 -08:00
Jonathan Campbell
d0a9b971e4
ide: add READ VERIFY commands 0x40 and 0x41
2013-11-15 02:03:06 -08:00
Jonathan Campbell
93bc6096d6
ide: add recalibrate command emulation
2013-11-12 19:19:00 -08:00
Jonathan Campbell
cea754dac6
ide: update identify block
2013-11-12 02:22:13 -08:00
Jonathan Campbell
79c2450f76
ide: update DEVICE RESET to zero all but the one specific status bit.
...
added NOP emulation to fail the command in a very specific way required
by the ATA standard.
2013-11-12 01:55:24 -08:00
Jonathan Campbell
3e2e2064ff
BIOS: IRQ 14 and 15 need to be associated with INT 0x76 and 0x77
2013-11-11 02:53:14 -08:00
Jonathan Campbell
b3f1b5a129
IDE: reduce ATA IDENTIFY DEVICE delay to 10us down from 1ms.
2013-11-11 02:36:30 -08:00
Jonathan Campbell
54f76d40fa
ide: change IDE object to have host_reset_begin() and
...
host_reset_complete() to better simulate driver reset via 3F6
2013-11-02 13:37:28 -07:00
Jonathan Campbell
41481b3655
modify config file writer not to print the property name as a comment if
...
there is nothing to say about it.
2013-11-02 13:05:22 -07:00
Jonathan Campbell
6445feb63d
change dosbox property object to store help strings itself instead of
...
through MSG_Add/MSG_Get (what were they thinking?). convert redundant
IDE section code to a loop.
2013-11-02 12:57:16 -07:00
Jonathan Campbell
758a3ac450
ide: do not set any bits in WORD 48, we don't do 32-bit PIO yet
2013-11-02 12:22:59 -07:00
Jonathan Campbell
422a7f7406
remove "initializing vm86 fake I/O" message
2013-10-29 23:38:45 -07:00
Jonathan Campbell
93ff43f83a
CPU normal: modify conditional jump macros to make them atomic--either
...
they load the address and modify reg_eip, or they leave reg_eip as-is.
This seems to resolve some crashes with Windows 98.
2013-10-29 23:22:08 -07:00
Jonathan Campbell
fef86c2b3c
cpu paging: if the pf_queue.used level goes beyond 1, it may be a
...
recursive page fault and it may be a Win98 issue with DOSBox that the
value never goes down.
2013-10-29 23:21:35 -07:00
Jonathan Campbell
1704c607ad
DOSBox paging: error out if page fault queue exceeds array limit. Raise
...
page fault queue limit. Minor cleanup.
2013-10-29 15:21:43 -07:00
Jonathan Campbell
4b0a059f79
IDE: De-clutter I/O by moving C/H/S and LBA auto-increment to one
...
function. Clean up code, fix mistakes, that can cause Windows 9x to
read/write the wrong data if more than one track's worth of data is
operated on.
2013-10-27 22:36:03 -07:00
Jonathan Campbell
860379ae26
IDE: bugfix C/H/S address increment code NOT to assume 16 heads/track
2013-10-27 13:31:32 -07:00
Jonathan Campbell
f2754af41a
IDE: Copy-paste C/H/S out of bounds error message to the other READ
...
command (whoops). Added code to severely reduce ALL IDE delays IF the
command is "faked" by INT 13h (in other words if command was issued by
virtual 8086 mode fake I/O code). Hopefully this will improve Win9x
performance especially during Setup.
2013-10-27 12:58:09 -07:00
Jonathan Campbell
ca5a9f0bb3
IDE: Reduce read/write delays. For multisector (meaning: READ commands
...
with multiple sectors NOT READ MULTISECTOR), use the normal delay for
only the first sector, then use an extremely small delay for the rest of
the command. This makes Win95 OSR2 and Win98 more responsive.
2013-10-27 12:41:56 -07:00
Jonathan Campbell
dac613735a
IDE: remove #if 0 blocks
2013-10-27 12:08:14 -07:00
Jonathan Campbell
e79ea93b32
IDE: change ATA IDENTIFY DEVICE to reflect an older drive
2013-10-27 00:48:37 -07:00
Jonathan Campbell
a051baa72a
IDE: Add fake I/O emulation for INT 13h AH=0x42 extended disk read.
...
Assuming geometries match, this enables 32-bit disk access in Windows 95
OSR2.
2013-10-26 22:40:02 -07:00
Jonathan Campbell
cbbd85c4d2
IDE: Update geometry from BIOS mapping code to warn the user if the
...
geometry chosen cannot match the BIOS geometry cleanly, as that will
prevent Windows 95 from enabling it's 32-bit IDE driver.
2013-10-26 21:33:55 -07:00
Jonathan Campbell
01882c80f3
IDE: If remapping comes out to using 255 heads/track, then use ECHS type
...
mapping instead where we force heads=255 and sects=63 and
cylinders=however many 63*255 blocks are available.
2013-10-26 20:30:16 -07:00
Jonathan Campbell
cacfaf0b4c
INT 13h: disk image code now correctly returns an error code instead of
...
silently failing and returning random garbage if fseek() or fread()
failed.
IDE: more work
2013-10-26 20:19:31 -07:00
Jonathan Campbell
a94e72ee86
ide: compensate for INT 13h code that counts sectors without regard for
...
track boundaries
2013-10-26 19:01:31 -07:00
Jonathan Campbell
5e9476ebbb
add -D_FILE_OFFSET_BITS=64 to enable support for files >= 2GB
2013-10-26 17:08:33 -07:00
Jonathan Campbell
ad41dbfba0
add push-to-hackipedia script
2013-10-26 15:38:51 -07:00
Jonathan Campbell
991ba66e4b
IDE: Don't announce ATA commands if we're sending them to ourself. I
...
want the appearance of "ATA command" debug messages to be one sign that
the OS is doing the IDE commands.
2013-10-26 15:25:34 -07:00
Jonathan Campbell
9e9a6957a5
IDE: add "initialize drive params" emulation (though it doesn't allow
...
changing them)
2013-10-26 15:21:01 -07:00