dosbox, now with 100% less drama

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

Post Reply
andrewwan1980
Posts: 38
Joined: Fri Oct 05, 2007 1:31 am

Post by andrewwan1980 »

Has anyone got http://browser.arachne.cz/ DOS web browser working? I just tried it in native DOSBox and it's FANTASTIC! I can browse an offline website files and also see the graphics/pictures too!

Just managed to install Arachne successfully on PSP DOSBox. When you get to the screen setup and you see this:

VESA compatible card or driver (DEFAULT)
VGA 640x480 256 KB 16 colors
VGA 640x480 256 KB grayscale
TRIDENT (or PROVGA_VC510S)
TSG3 (Tseng ET3000, MDB10)
OAK
REALTEK (RTVGA)
TSG4 (Tseng ET4000)
M1 (OCTEK, graphic chip MX86010)
TAMARA (Tamarack TDVGA-3588, Cirrus, Paradise, AST-PLUS)

640x480 1 MB HiColor
800x600 1 MB HiColor (DEFAULT)
1024x768 2 MB HiColor
640x480 256 KB 256 colors
640x480 512 KB 256 colors
800x600 512 KB 256 colors
1024x768 1 MB 256 colors
800x600 256 KB 16 colors
800x600 256 KB grayscale

------------

Select 640x480 because 800x600 or higher will not work and PSP DOSBox will hang. I have only tried 640x480 256 KB 256 colors and that works, but do try 640x480 1 MB HiColor to see if that works too!

Fantastic program! Murdock should bundle this in his releases! And maybe CrazyC can write a wrapper to get PSP wireless internet working too! :D (joking)

Actually.. Arachne is quite slow so sometimes I use text-only web browsers. Just google DOS web browser and there's plenty of good ones.

Then I just realised, why don't I just flipping use PSP builtin web browser?? I just got acquinted and realised PSP web browser have tab capabilities (like Firefox's tabs).
Last edited by andrewwan1980 on Fri Feb 15, 2008 9:02 am, edited 1 time in total.
crazyc
Posts: 408
Joined: Fri Jun 17, 2005 10:13 am

Post by crazyc »

andrewwan1980 wrote: And maybe CrazyC can write a wrapper to get PSP wireless internet working too! :D (joking)
Seriously, I have much of the code for this written, but ram constraints make it very difficult. The slim might be better, but I don't have one and am unable to test it.
Dark Chazz
Posts: 35
Joined: Mon Feb 04, 2008 7:41 am

Post by Dark Chazz »

hey crazyc even if I ask the Dosbox team to do that then you would have to re port to psp.

I tried the dos text editor and the mel editor and I can't compile when using turbo C++ its unable to include the files (iostream,process,etc..)

If you'll look at it thank you
Crimson Dreamz
Posts: 1
Joined: Fri Feb 15, 2008 2:05 pm

Post by Crimson Dreamz »

Hello... I seem to be having a problem running some games on the Dosbox. I think I am using the latest release of Dosbox, and have CF3.8 on my PSP... Most games I have tried start out fine, but for some of them, after I play for around 2-5 minutes I get an error saying something like "Exit to error: Ran out of Cache blocks."

Is there a way of fixing this so that it won't happen, and I can continue the games?


Also for putting win95 on the new dosbox, it was mentioned to use a command with imgmount... i'm not quite sure what parameters I am supposed to put with that...
andrewwan1980
Posts: 38
Joined: Fri Oct 05, 2007 1:31 am

DOS Essential Apps List

Post by andrewwan1980 »

DOS Essential Apps List

EdIt! 1.2 (SRT Enterprises) http://www.srtware.com/
JPEGDos 2.04a (CompuShow) http://www.cshowplace.com/
CWSDPMI 5.0 (Charles W Sandmann) http://clio.rice.edu/cwsdpmi/
Norton Commander 5.51 (Peter Norton Computing) http://en.wikipedia.org/wiki/Norton_Commander
Universal VESA TSR 3.1 (Kendall Bennett) http://en.wikipedia.org/wiki/UniVBE
CS4232 Mixer Utility 1.51 (CrystalWare) unknown URL

Dos Navigator 1.51 (RIT Research Labs) http://www.ritlabs.com/dn/


NB: for CWSDPMI use cwsdpmi.exe -p -s-
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

building dosbox

Post by mgrayson »

CrazyC-

Just tried to compile dosbox and ran into the various errors already mentioned in this thread. I've got everything compiling, but I'm having trouble with the linking step. Specifically I'm getting:

Code: Select all

gui/libgui.a(sdlmain.o): In function `psp_power_callback':
sdlmain.cpp:(.text+0xc4): undefined reference to `cache_initialized'
sdlmain.cpp:(.text+0xc8): undefined reference to `cache_initialized'
sdlmain.cpp:(.text+0xdc): undefined reference to `cache_free_memory()'
sdlmain.cpp:(.text+0xe0): undefined reference to `cache_initialized'
gui/libgui.a(sdlmain.o): In function `GFX_Events()':
sdlmain.cpp:(.text+0xf44): undefined reference to `cache_init(bool)'
This error has already been mentioned on here, but I didn't see any solution posted. On examination, neither C_DYNREC nor C_DYNAMIC_X86 are defined, so neither of the locations where these cache functions are defined are being compiled, thus libcpu.a has no definition for any of the cache functions. Manually defining either one of these constants gives literally hundreds of errors. Suggestions?

The link command I'm using is:

Code: Select all

 psp-gcc -L/usr/local/pspdev/psp/sdk/lib -o dosbox  dosbox.o ftruncate.o cpu/libcpu.a debug/libdebug.a dos/libdos.a fpu/libfpu.a  hardware/libhardware.a gui/libgui.a ints/libints.a misc/libmisc.a shell/libshell.a -lm hardware/serialport/libserial.a p_sprint.o -lpspdebug -lpspgu -lpspctrl -lpspdisplay -lpspge -lpspsdk -lpsprtc -lpspaudio -lstdc++ -lpspirkeyb -lc -lpspnet -lpspnet_inet -lpsppower -lpsputility -lpspuser -lpspkernel -specs=/usr/local/pspdev/psp/sdk/lib/prxspecs -Wl,-T/usr/local/pspdev/psp/sdk/lib/linkfile.prx,-q && psp-fixup-imports dosbox && psp-prxgen dosbox dosbox.prx && pack-pbp EBOOT.PBP PARAM.SFO NULL NULL NULL NULL NULL dosbox.prx NULL
-Michael
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

building dosbox

Post by mgrayson »

p.s. I tried commenting out the offending lines just to see what would happen and was successfully able to build dosbox, but then I get error 8002013c when I try to run the resulting eboot.pbp.
crazyc
Posts: 408
Joined: Fri Jun 17, 2005 10:13 am

Re: building dosbox

Post by crazyc »

mgrayson wrote:p.s. I tried commenting out the offending lines just to see what would happen and was successfully able to build dosbox, but then I get error 8002013c when I try to run the resulting eboot.pbp.
The config.h generated by configure is broken. Use this one instead.
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

building dosbox

Post by mgrayson »

CrazyC-

Your new config.h fixed the cache problems, everything compiled and linked with no errors. Unfortunately, I'm still getting the 8002013C error when I try to run my new EBOOT.PBP. Also, I notice that my EBOOT.PBP is only 2118 KB, as compared with yours which is 2450 KB. Any ideas what might be wrong/different? Is there something I need to do to, say, statically link in the pspirkeyb library? Also, one command I wasn't sure of was

Code: Select all

mksfo DOSBox PARAM.SFO
to make the PARAM.SFO used by the last step in the linker command. Is that the correct usage of mksfo?

Thanks for the help so far.

-Michael
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

image mount

Post by mgrayson »

Edit:

When I try

Code: Select all

imgmount d msstor0: -t hdd -fs fat
I get
Could not load image file. Check that the path is correct and the image is accessible.
This is without anything else on the memory stick mounted (I tried it with a folder mounted normally before...whoops).
crazyc
Posts: 408
Joined: Fri Jun 17, 2005 10:13 am

Re: building dosbox

Post by crazyc »

mgrayson wrote:Your new config.h fixed the cache problems, everything compiled and linked with no errors. Unfortunately, I'm still getting the 8002013C error when I try to run my new EBOOT.PBP.
0x8002013C is SCE_KERNEL_ERROR_LIBRARY_NOTFOUND. I'm not sure why you would get that. How recent is your toolchain?
mgrayson wrote:

Code: Select all

mksfo DOSBox PARAM.SFO
to make the PARAM.SFO used by the last step in the linker command. Is that the correct usage of mksfo?
That should be correct.
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

Re: building dosbox

Post by mgrayson »

crazyc wrote:
mgrayson wrote:Your new config.h fixed the cache problems, everything compiled and linked with no errors. Unfortunately, I'm still getting the 8002013C error when I try to run my new EBOOT.PBP.
0x8002013C is SCE_KERNEL_ERROR_LIBRARY_NOTFOUND. I'm not sure why you would get that. How recent is your toolchain?
Well, I'm not sure. I just installed it about a week ago, but I think I may have installed an older version by accident. The newest version I could find is http://www.oopo.net/consoledev/files/ps ... 30.tar.bz2 dated 08/30/2007. Is that the one you're using?
crazyc
Posts: 408
Joined: Fri Jun 17, 2005 10:13 am

Re: building dosbox

Post by crazyc »

mgrayson wrote:Well, I'm not sure. I just installed it about a week ago, but I think I may have installed an older version by accident. The newest version I could find is http://www.oopo.net/consoledev/files/ps ... 30.tar.bz2 dated 08/30/2007. Is that the one you're using?
I suspect the problem is with the PSP_HEAP_SIZE_KB line. In newer toolchains -1 means to allocate all free memory, otherwise it will try to allocate 4GB and fail. I'm not sure when that change was made as the http access to svn is down.
This is without anything else on the memory stick mounted
I don't know, it works fine here as long as the memory stick is not otherwise mounted.
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

Re: building dosbox

Post by mgrayson »

crazyc wrote:I don't know, it works fine here as long as the memory stick is not otherwise mounted.
Do you run the command from your dosbox.conf or do you type it in after boot? (I put it in my dosbox.conf, I'm about to try just typing it manually)
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

Post by mgrayson »

Here's my dosbox.conf heavily snipped, maybe you'll see something amiss that I don't:

Code: Select all

[sdl]

fullscreen=true
fulldouble=false
fullresolution=original
windowresolution=original
output=surface
autolock=true
sensitivity=50
waitonerror=true
priority=higher,normal
mapperfile=mapper.txt
usescancodes=true
keyhint=true

[dosbox]
# language -- Select another language file.
# memsize -- Amount of memory dosbox has in megabytes.
# machine -- The type of machine tries to emulate:hercules,cga,tandy,pcjr,vga.
# captures -- Directory where things like wave,midi,screenshot get captured.

language=
machine=vga
captures=capture
memsize=5

[render]
# frameskip -- How many frames dosbox skips before drawing one.
# aspect -- Do aspect correction, if your output method doesn't support scaling this can slow things down!.
# scaler -- Scaler used to enlarge/enhance low resolution modes.
#           Supported are none,normal2x,normal3x,advmame2x,advmame3x,hq2x,hq3x,
#                         2xsai,super2xsai,supereagle,advinterp2x,advinterp3x,
#                         tv2x,tv3x,rgb2x,rgb3x,scan2x,scan3x.

frameskip=0
aspect=false
scaler=normal2x

[cpu]
# core -- CPU Core used in emulation: normal,simple,dynamic,auto.
#         auto switches from normal to dynamic if appropriate.
# cycles -- Amount of instructions dosbox tries to emulate each millisecond.
#           Setting this value too high results in sound dropouts and lags.
#           You can also let DOSBox guess the correct value by setting it to max.
#           The default setting (auto) switches to max if appropriate.
# cycleup   -- Amount of cycles to increase/decrease with keycombo.
# cycledown    Setting it lower than 100 will be a percentage.

core=dynamic
cycles=sync
cycleup=2500
cycledown=400

[autoexec]
# Lines in this section will be run at startup.
@echo off
#mount c ms0:/dos
SYSOPT clock 333
#c: 
#SET WATCOM=C:\WATCOM
#SET PATH=%WATCOM%\BINW;%PATH%
#SET EDPATH=%WATCOM%\BINW
#SET INCLUDE=%WATCOM%\H
#SET PATH=c:\dosstart;c:\pedit;%PATH%
imgmount d msstor0: -t hdd -fs fat
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

building dosbox update

Post by mgrayson »

Quick update: With the newest toolchain installed from svn I'm getting the same error (I started over from scratch with your patch and the dosbox source code). I've tried compiling and running a few other things and haven't had any problems.
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

building dosbox

Post by mgrayson »

Got it! It compiled after I commented out lines 1653-1662 in sdlmain.cpp, as in:

Code: Select all

        //      if(realpath("exception.prx", path) && ((modid = sceKernelLoadModule(path, 0, &option)) >= 0)) {                                
        //              args[0] = (int)trap_handler;                                                                                           
        //              args[1] = (int)&exception_regs;                                                                                        
        //              sceKernelStartModule(modid, 8, args, &fd, NULL);                                                                       
        //      }                                                                                                                              
                                                                                                                                               
        //      if(realpath("fixup.prx", path) && ((modid = sceKernelLoadModule(path, 0, &option)) >= 0)) {                                    
        //              fixup = true;                                                                                                          
        //              sceKernelStartModule(modid, 0, args, &fd, NULL);                                                                       
        //      }         
Any idea why that fixed the problem (keeping in mind that your compile of dosbox worked fine in the same directory with the same files available, including exception.prx and fixup.prx)?
crazyc
Posts: 408
Joined: Fri Jun 17, 2005 10:13 am

Re: building dosbox

Post by crazyc »

mgrayson wrote:Got it! It compiled after I commented out lines 1653-1662 in sdlmain.cpp, as in:

Code: Select all

        //      if(realpath("exception.prx", path) && ((modid = sceKernelLoadModule(path, 0, &option)) >= 0)) {                                
        //              args[0] = (int)trap_handler;                                                                                           
        //              args[1] = (int)&exception_regs;                                                                                        
        //              sceKernelStartModule(modid, 8, args, &fd, NULL);                                                                       
        //      }                                                                                                                              
                                                                                                                                               
        //      if(realpath("fixup.prx", path) && ((modid = sceKernelLoadModule(path, 0, &option)) >= 0)) {                                    
        //              fixup = true;                                                                                                          
        //              sceKernelStartModule(modid, 0, args, &fd, NULL);                                                                       
        //      }         
Any idea why that fixed the problem (keeping in mind that your compile of dosbox worked fine in the same directory with the same files available, including exception.prx and fixup.prx)?
I don't know, if I find out, I'll get back to you. As for the imgmount, I've found that it doesn't work in 3.xx from the conf file while in 1.50 it does. It works, for me, in both from the command line. I'll look into that too when I can.
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

Re: building dosbox

Post by mgrayson »

crazyc wrote:I don't know, if I find out, I'll get back to you. As for the imgmount, I've found that it doesn't work in 3.xx from the conf file while in 1.50 it does. It works, for me, in both from the command line. I'll look into that too when I can.
Ok. I've tried the imgmount with all combinations of firmware and conf file vs. typing it in manually, nothing has worked. The next thing I'm going to try is downgrading from 3.71 to 3.52 (that's what you're using, right?)
crazyc
Posts: 408
Joined: Fri Jun 17, 2005 10:13 am

Re: building dosbox

Post by crazyc »

mgrayson wrote:Ok. I've tried the imgmount with all combinations of firmware and conf file vs. typing it in manually, nothing has worked. The next thing I'm going to try is downgrading from 3.71 to 3.52 (that's what you're using, right?)
Run it in psplink and check the console output. Use 3.71 or 1.50 compatibility mode as console output doesn't appear to work in 3.52.
User avatar
Wally
Posts: 663
Joined: Mon Sep 26, 2005 11:25 am

Post by Wally »

Hey crazyc,

Just wondering if we'll see a speed improvement soon.

I'd / we'd all like to play supaplex at the proper framerate :)

Cheers
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

Re: building dosbox

Post by mgrayson »

crazyc wrote:Run it in psplink and check the console output. Use 3.71 or 1.50 compatibility mode as console output doesn't appear to work in 3.52.
This is all I got from running DOSBox in psplink:

Code: Select all

Load/Start ms0:/psp/game/dosbox/eboot.pbp UID: 0x04B54139 Name: "DOSBox"
ms0:/psp/game/dosbox/>  CONFIG:Loading primary settings from config file dosbox.conf
GUI:IR keyboard found
Also, I downgraded to 1.5 and tried mounting on several different firmwares as I upgraded back to 3.71, none of them work. I also tried using a smaller memstick (this one is 4 Gb), but that didn't help either.

edit: I was running psplink in 1.5 compatibility mode, btw.
crazyc
Posts: 408
Joined: Fri Jun 17, 2005 10:13 am

Post by crazyc »

Wally4000 wrote:Just wondering if we'll see a speed improvement soon.
I'm not working on anything that will improve the performance right now.
Also, I downgraded to 1.5 and tried mounting on several different firmwares as I upgraded back to 3.71, none of them work. I also tried using a smaller memstick (this one is 4 Gb), but that didn't help either.
Is this with your build or mine?
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

Post by mgrayson »

crazyc wrote:Is this with your build or mine?
The original problem was with yours (tried in all combinations on 3.71 and conf file vs manual entry). Since I got mine compiling yesterday I've been testing with mine. Should I switch back? (I have copies of both on the memstick so it's easy to switch back and forth)
crazyc
Posts: 408
Joined: Fri Jun 17, 2005 10:13 am

Post by crazyc »

mgrayson wrote:The original problem was with yours (tried in all combinations on 3.71 and conf file vs manual entry). Since I got mine compiling yesterday I've been testing with mine. Should I switch back? (I have copies of both on the memstick so it's easy to switch back and forth)
Try it with my build in 1.50 (compatibility or not, doesn't matter). I think I made this change to libc to make it work:

Code: Select all

--- pspcwd.c~	2007-09-22 14:23:37.156250000 -0500
+++ pspcwd.c	2007-09-22 14:34:57.062500000 -0500
@@ -134,8 +134,8 @@
 
 	/* See what the relative URL starts with */
 	dr = __psp_get_drive(in);
-	if(dr > 0 && in[dr-1] == ':') {
-		/* It starts with "drive:", so it's already absolute */
+	if(dr > 0 && ((in[dr] == '/') || !in[dr])) {
+		/* It starts with "drive:/", so it's already absolute */
 		if(!__psp_safe_strcpy(out, in, len))
 			return -1;
 	} else if(in[0] == '/') {
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

Post by mgrayson »

crazyc wrote:Try it with my build in 1.50 (compatibility or not, doesn't matter). I think I made this change to libc to make it work:
With your build, in 1.5 compatibility mode, and my 4 Gb in I get:

Code: Select all

Z:\>imgmount c msstor0: -t hdd -fs fat
Can't create drive from file.
With your build in 3.71 I get:

Code: Select all

Z:\>imgmount c msstor0: -t hdd -fs fat
Could not load image file.
Check that the path is correct and the image is accessible.
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

Post by mgrayson »

The following command appears to work successfully:

Code: Select all

imgmount 2 msstor0: -fs none
I don't have any dos boot disks with me, but when I get home I will boot into DOS and see if mounting the memstick this way allows me to see it.
crazyc
Posts: 408
Joined: Fri Jun 17, 2005 10:13 am

Post by crazyc »

mgrayson wrote:

Code: Select all

Z:\>imgmount c msstor0: -t hdd -fs fat
Can't create drive from file.
Is this formatted with FAT32?
mgrayson
Posts: 24
Joined: Wed Feb 20, 2008 3:53 am

Post by mgrayson »

crazyc wrote:Is this formatted with FAT32?
It's got the default FAT32 formatting it came with.
Murdock
Posts: 110
Joined: Sun May 21, 2006 2:14 am

Post by Murdock »

crazyc wrote:
Wally4000 wrote:Just wondering if we'll see a speed improvement soon.
I'm not working on anything that will improve the performance right now.
That's VERY sad to hear ... why not? DosBox is sucha great piece of application. But why not improving the speed?

See this as a purley rethorical question since u haven't answered my previous ones, either ...

I think I'll just leave Dosbox aside for now ... I just hope u'll one day start caring about speed again.
Post Reply