VOGONS

Common searches


DOSBox-X branch

Topic actions

Reply 300 of 2018, by SedrynTyros

User metadata
Rank Member
Rank
Member
TheGreatCodeholio wrote:
New DOSBox-X release! I found some free time this weekend, including time to setup a Windows 7 + VS 2008 workstation and produce […]
Show full quote

New DOSBox-X release! I found some free time this weekend, including time to setup a Windows 7 + VS 2008 workstation and produce a Win32 binary.

- CMOS memory size bugfixes (when mem size is less than 1MB)
- Alternative DOS kernel, VGA BIOS, and UMB allocation support. When selected, the VGA BIOS can shrink down to 12KB, the DOSBox "private area" can move down to conventional memory, and it is now possible for conventional + upper memory to total 820KB. Alternative mapping includes moving DOS segments down as low as 0x50 like MS-DOS does.
- Linewise mode is now default
- PIT hacks for some older Demoscene programs
1. Impact Studio's "Legend" demo will run at half framerate, hack restores full framerate (programmers are using the PC speaker as a timer??)
2. Impact Studio's "Project Angel" has buggy PIT 0 timing that causes the demo to hang at startup, or run at half framerate, or run with VGA tearlines
- Flat Big Real Mode (real mode with 32-bit limits AND the "B" big bit set for the code segment), incorporated from another patch on this forums, which allows "Project Angel" to run
- Visual Studio 2008 Win32 project makefiles including incorporation of libraries ZLIB, libpng, SDL, and SDL-net.
- DOSBox's private area is configurable: you can set it's size, and decide whether it is in upper memory at 0xC800 (like mainline DOSBox does) or down in conventional memory
- Many minor fixes I've already forgotten about

Project location: http://hackipedia.org/Projects/DOSBox-X

Source code: http://hackipedia.org/Projects/DOSBox-X/dosbo … 3e1c-src.tar.xz

Win32 build: http://hackipedia.org/Projects/DOSBox-X/dosbo … 83e1c-win32.zip

Awesome! 😀

Reply 303 of 2018, by valnar

User metadata
Rank Oldbie
Rank
Oldbie
SedrynTyros wrote:

New DOSBox SVN Daum build released this morning that includes the most updated DOSBox-X!!

http://ykhwong.x-y.net/

EDIT: Unfortunately, all of my Windows 95b images crash the emulator during the guest OS boot, so perhaps more work needs to be done on this Daum build. Oh well.

I have the same problem. Since I only had a Win95 image for curiosity, I'm not worrying about it too much.

Reply 304 of 2018, by Dr.Demencio

User metadata
Rank Newbie
Rank
Newbie

Tested the new CDROM support through the latest ykhwong build and I must say I'm very impressed by the work that's been done. I tried running Pitfall by mounting a CD image with compressed audio tracks (OGG) and it worked great. Great job TheGreatCodeholio!

I'm also very pleased with the minimal Windows 95 installation procedure proposed by truth5678. I've always experienced loads of General Protection faults and BSDs with my installations of Windows 95 under DosBox, but the latest one is pretty much rock solid. Thanks a lot.

I can't get the Voodoo card or the 360 pad recognized (oddly, I get a second display adapter detected, but of course it doesn't work) but I assume that's a problem with the current ykhwong's build.

Reply 305 of 2018, by SedrynTyros

User metadata
Rank Member
Rank
Member
Dr.Demencio wrote:

(oddly, I get a second display adapter detected, but of course it doesn't work) but I assume that's a problem with the current ykhwong's build.

FYI, I reported this problem to Taewong as well. The 2nd adapter will show up even if you install Win95 from scratch. It doesn't happen with the vanilla DOSBox-X build TheGreatCodeholio provided so it must have something to do with Taewong's build.

Reply 306 of 2018, by Dr.Demencio

User metadata
Rank Newbie
Rank
Newbie

Thanks for the clarification SedrynTyros.

OFFTOPIC
By the way, I finally got the Voodoo emulation working. I had to ask the Device Manager to list Devices by connection an then the missing PCI adapter showed up (and It allowed me to install the Voodoo driver correctly). Tried Grim Fandango in D3D mode and worked suprisingly great.
The pad was also easy to get working. Turns out it was perfectly explained on the Windows 95 installation guide (Windows 9x DOSBox Guide (Not officially supported)).
/OFFTOPIC

Reply 307 of 2018, by SA1988

User metadata
Rank Member
Rank
Member

for some reason, the 32-bit CDROM access is fine on Win98 on DOSBox Daum but not the 32-bit Hard Disk driver and command.com gives a blank window and of course, switching Audio CDs is fine, but not for Data CDs.

Reply 308 of 2018, by Pus

User metadata
Rank Newbie
Rank
Newbie

Нello.
Just sorry for my english.
Do not know where else to write, so I write here.

Discovered a problem in DOSBox-X version 20140125
When you shut down Win95, when parameter.conf "apmbios = fase", DOSBox-X does not close as it was in previous versions, but remains on the screen, "Now turn off your computer."
And when parameter "apmbios = 1",if DOSBox-X works in full screen mode, when you exit from Win95, DOSBox-X closed with error.

Reply 310 of 2018, by beerbit

User metadata
Rank Newbie
Rank
Newbie

Hi,

Great thanks for your hard work on all these neat features (esp. ATAPI in W95). 😀

I'm trying to get Doxbox W95 to install VBEMP SVGA but can't get this to work beyond 16 colors. machine=vgaonly or is this wrong? Could someone please help as I'm confused? Thank you

edit:
Suggests that VBEMP is 98 or higher. I'm using 95b. So that might be the problem.
http://thecompuwiz.blogspot.com/2013/03/how-t … -in-dosbox.html

Reply 312 of 2018, by SA1988

User metadata
Rank Member
Rank
Member
beerbit wrote:
Hi, […]
Show full quote

Hi,

Great thanks for your hard work on all these neat features (esp. ATAPI in W95). 😀

I'm trying to get Doxbox W95 to install VBEMP SVGA but can't get this to work beyond 16 colors. machine=vgaonly or is this wrong? Could someone please help as I'm confused? Thank you

edit:
Suggests that VBEMP is 98 or higher. I'm using 95b. So that might be the problem.
http://thecompuwiz.blogspot.com/2013/03/how-t … -in-dosbox.html

I've actually tested VBEMP for win9x on one of the earliest beta versions of Win95, that is 122, and it has worked fine (displaying 1152x864x32bit just fine)

Reply 313 of 2018, by beerbit

User metadata
Rank Newbie
Rank
Newbie

I've actually tested VBEMP for win9x on one of the earliest beta versions of Win95, that is 122, and it has worked fine (displaying 1152x864x32bit just fine)

I always get the yellow exclamation mark no matter which vbemp display driver I install. Also tried loading s3 driver first then forcing vbemp upgrade. Still fails.

Oh well. Thanks - keep trying then. Must be doing something wrong. 😀

Reply 315 of 2018, by TheGreatCodeholio

User metadata
Rank Oldbie
Rank
Oldbie
SA1988 wrote:

any progress regarding cdrom data swap?

Yup. I found time this weekend to do some more work on DOSBox-X.

- CD-ROM media change emulation on CTRL+F4. Works so far with both MSCDEX.EXE in DOS mode and Windows 95, though in both cases you have to hit refresh or type DIR to re-enumerate the drive for changes to appear.
- More work has been done to reduce the minimum DOS memory limit. It is now possible to emulate a DOS machine with as little as 16KB, or even 8KB and 4KB in some cases, of system RAM. All issues preventing that have been fixed, as described below.
- Bug fixes to the COM/EXE loading functions. The code assumed that COM type executables could just set the stack pointer to the top of the 64KB segment, which is OK, except when emulating machines with less than 72KB of RAM, where that assumption puts the stack pointer out into unmapped RAM and causes crashes, even when you run DOSBox's internal commands.
- The "BOOT" command for technical reasons now disallows booting a guest OS if the emulated RAM is less than 32KB (booting an OS requires that there is RAM at 0x0000:0x7C00). I looked into reports of early IBM PCs shipping with 16KB of RAM, and it is documented that those systems had only the BASIC interpreter and no floppy drives to boot from, so that limit was not an issue. There are additional notes in the source of testing such low-memory emulation with PC-DOS 1.x and 2.x and how little you can boot them with.

Complete log:

commit 8b61f6a86707f26cf50a731759a204a9cd2b5457
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Mon Mar 24 00:53:19 2014 -0700

IDE ATAPI CD-ROM media change complete. If I do a CTRL+F4 to change CDs,
MSCDEX.EXE is able to pick up that the media changed and show fresh
contents. Windows 95 is able to see the change (not automatically, but
if you hit F5 (refresh) after the change the contents reflect CD media
change).

commit 10eb4326f18c876a01f90f57ac6301eb22af60c7
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 23:47:03 2014 -0700

IDE ATAPI CD-ROM drive emulation now emulated spin up/down times, delays
commands for spinup, and returns appropriate TEST UNIT READY and sense
data for media change and first spinup. Win95 is happy, at least.

commit afe1d0d3ed74718336c2986a92536b8431cbe5ea
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 22:59:22 2014 -0700

OK. great. my timer tick functions work. modified code to print debug
message ONLY if the event is fired late.

commit ee361cea0421698284f830dea9d23d20965cec89
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 20:50:10 2014 -0700

add TODO and comments so far on how much RAM is needed to boot various
versions of PC/MS-DOS.

commit 4802c37c6eb20b3e38b903b6df54eb51f2d82ffb
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 20:26:55 2014 -0700

update code to lower minimum to 4KB.

commit 8c76696489ae541b91bff86a008c48a543c470f7
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 20:23:09 2014 -0700

added sanity check for "mainline compatible mapping" to make sure that
8KB of RAM is present first. Without that check, mainline DOSBox's fixed
segment assignments would reach beyond available memory (if less than
8KB) and crash. added option to specify that DOSBox should allocate all
kernel structures in the UMB private area, leaving as much lower system
RAM available as possible. Doing this makes it possible to set memsize=4
(4KB) and run very small DOS programs.

commit e77d349baa0063672d67454f0ef373244f71f556
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 20:03:45 2014 -0700

whoops. forgot dynamic allocation sanity check for when dynamic
allocation is on, and private pool is NOT stored in UMB

commit b6dedd76a4495d093d974590839191fb69656336
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 19:57:14 2014 -0700
Show last 104 lines

BOOT: some modifications to stack value on setup. change hard-coded
0x7C00 offset to variable that is set to 0x7C00. Add code to refuse
booting a guest OS if less than 32KB of RAM is being emulated (the IBM
PC boot process requires 32KB of RAM). added TODO where the user should
be able to override that lockout if they feel adventerous.

commit 7d297b2b3bc781435ae3fd9f5eb3487be7757cc1
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 19:30:52 2014 -0700

bugfix: calculation needs to subtract one paragraph NOT one page.

commit 05735c0807c841e3881a0c3336b9325733da5169
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 19:28:36 2014 -0700

BOOT: pick a more appropriate segment value than simply assuming 0x7000
to ensure that it points to RAM. Prior to this fix, SS could point to
unassigned RAM if less than about 500KB was allocated for emulation.

commit 654758ea5f89cf0896f302e67994a84d877ca60c
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 19:01:05 2014 -0700

allow 8KB minimum after all.

commit d57b8e9ea328f77d5cbe72f08dde4f75e08f406d
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 18:44:03 2014 -0700

add debug code to show private area vs assignment. modified initial
dynamic private allocation to subtract 1 paragraph from memory total,
because some parts of the emulation use that for UMB linkage. added code
to error out in non-dynamic case if there is insufficient room for the
private area. this fixes cases where random crashes could result from
memsizekb=16 and private area size=16384, for example.

commit 8320c362368be03573062bdb032d36c5103dfba5
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 18:21:37 2014 -0700

fix up DOS execute function to dynamically choose COM stack pointer
value rather than assume 0xFFFE. The choice is based on the size of the
memory block allocated for the image, which means that if there's plenty
of RAM, then SP=0xFFFE anyway, BUT, if the memory block is smaller, the
stack pointer is assigned the largest value (minus 2) that fits within
the memory block. Doing this resolves the random crashes that occured
with most DOS programs, including DOSBox's builtin commands, when less
than 72KB of RAM was assigned. Because of this fix, it is now possible
to assign as little as 16KB of RAM and run without crashing. Programs
that still fit work fine. Programs that are too large silently fail.
Programs that can load, but cannot allocate the memory they need, error
out fine without crashing.

Because of this fix, the check in the DOS memory setup code has been
modified to set the minimum to 16KB instead of 72KB.

commit d8476654ad92dd883c06cccc3fdef3ead9ad3369
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 17:39:02 2014 -0700

add define to debug alloc/free memory allocation. also added code to
disable "minimum memory requirement" error if you do so.

commit 99d57f1a0c3b4983e73b845e01a5d1f76099f7a3
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 16:57:07 2014 -0700

note DOSBox emulator instability below 72KB

commit a6743deb4b09eb25b0c4bdf26cfa940377b324bc
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 16:44:29 2014 -0700

yikes! DOS kernel disable flag was set to TRUE by default! This
prevented the shell from operating.

commit 064295696ef5c997567e3977575a45ef38ba851d
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 16:38:10 2014 -0700

reduce minimum memory size to 72KB, the lowest we can go before the
emulator is unable to boot anything at all. IBM PC-DOS 1.0 apparently
runs in that little memory with no trouble.

commit 250371e11ae3db6d5a0864c9e494f7cb0d04d63d
Author: Jonathan Campbell <jonathan@castus.tv>
Date: Sun Mar 23 16:30:50 2014 -0700

add "dos_kernel_disabled" flag. added code to "BOOT" command to set this
flag so that other parts of the program have a way to know the DOS
kernel is no longer in charge. Added code to Program::SetEnv() and other
environment block code to fail and print a BUG message if emulator code
attempts to modify the environment block if the DOS kernel is disabled,
since, once the guest OS boots, that environment block is probably long
gone by then and overwritten. This fixes a bug I found where if you set
the memory size to 246KB or less, boot PC-DOS 1.0, and then hit CTRL+F9
to terminate the emulator, the emulator will instead run through
thousands of "illegal memory read" messages as code within the emulator
does a string scan from what is obviously now unmapped or overwritten
memory.

Update: OK, with Windows 95 at least, hitting CTRL+F4 is halfway successful at triggering Windows 95's auto insert detection. It seems to work best if you have a Windows Explorer shell window open on the CD-ROM drive, and it only seems to work if the CD-ROM label changes.

Last edited by TheGreatCodeholio on 2014-03-24, 09:13. Edited 1 time in total.

DOSBox-X project: more emulation better accuracy.
DOSLIB and DOSLIB2: Learn how to tinker and hack hardware and software from DOS.

Reply 316 of 2018, by TheGreatCodeholio

User metadata
Rank Oldbie
Rank
Oldbie

Download links:

Source code:

http://hackipedia.org/Projects/DOSBox-X/dosbo … c0da-src.tar.xz

Win32 binary:

http://hackipedia.org/Projects/DOSBox-X/dosbo … 7c0da-win32.zip

DOSBox-X project: more emulation better accuracy.
DOSLIB and DOSLIB2: Learn how to tinker and hack hardware and software from DOS.

Reply 317 of 2018, by SA1988

User metadata
Rank Member
Rank
Member
TheGreatCodeholio wrote:
Download links: […]
Show full quote

Download links:

Source code:

http://hackipedia.org/Projects/DOSBox-X/dosbo … c0da-src.tar.xz

Win32 binary:

http://hackipedia.org/Projects/DOSBox-X/dosbo … 7c0da-win32.zip

GREAT! you'are awesome!