VOGONS


First post, by InstantWare

User metadata
Rank Newbie
Rank
Newbie

Some few month ago I had to use DOSBox a lot for a special project. At that time direct serial modem support did not work out of the (dos)box and I need to enable it by compiling it myself from CVS sources. Sometimes later, DOSBox 0.72 was released and it came with modem support for Mac OS X enabled, but I kept on using my CVS build. At the end of last year the project has been finished, and I kept the CVS working directory in place, but since then I did not follow any changes in DOSBox CVS anymore.

Out of curiosity I made today a CVS update (and of course there were tons of changes). The make, sudo make install, make clean sequence worked well, but the latest dosbox compiled from todays CVS seems to have some issues on Mac OS X 10.5.2. The DOSBox binary 0.72 from SourceForge works still perfect for me. So please, do not take this as a complaint, and I do not need to use the CVS version, but I thought that you might want to know about the problems, in order to be prepared for future releases.

DOSBox (CVS) emits on OS X the following errors and warnings:

PBRJ:/Developer/DOSBox/dosbox Rolf$ dosbox
DOSBox version 0.72
Copyright 2002-2007 DOSBox Team, published under GNU GPL.
---
CONFIG:Loading primary settings from config file /Users/Rolf/Library/Preferences/DOSBox Preferences
"10000" is not a valid value for variable: type.
It might now be reset it to default value: auto
2008-04-17 14:32:20.386 dosbox[8689:10b] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
double entry for PROGRAM_CONFIG_FILE_ERROR
double entry for PROGRAM_CONFIG_USAGE
double entry for PROGRAM_CONFIG_SECTION_ERROR
double entry for PROGRAM_CONFIG_PROPERTY_ERROR
double entry for PROGRAM_CONFIG_NO_PROPERTY
double entry for PROGRAM_CONFIG_GET_SYNTAX
MIDI:Opened device:coreaudio
double entry for PROGRAM_MOUNT_CDROMS_FOUND
double entry for PROGRAM_MOUNT_STATUS_2
double entry for PROGRAM_MOUNT_STATUS_1
double entry for PROGRAM_MOUNT_ERROR_1
double entry for PROGRAM_MOUNT_ERROR_2
double entry for PROGRAM_MOUNT_ILL_TYPE
double entry for PROGRAM_MOUNT_ALREADY_MOUNTED
double entry for PROGRAM_MOUNT_USAGE
double entry for PROGRAM_MOUNT_UMOUNT_NOT_MOUNTED
double entry for PROGRAM_MOUNT_UMOUNT_SUCCES
double entry for PROGRAM_MOUNT_UMOUNT_NO_VIRTUAL
double entry for PROGRAM_MOUNT_WARNING_WIN
double entry for PROGRAM_MOUNT_WARNING_OTHER
double entry for PROGRAM_MEM_CONVEN
double entry for PROGRAM_MEM_EXTEND
double entry for PROGRAM_MEM_EXPAND
double entry for PROGRAM_MEM_UPPER
double entry for PROGRAM_LOADFIX_ALLOC
double entry for PROGRAM_LOADFIX_DEALLOC
double entry for PROGRAM_LOADFIX_DEALLOCALL
double entry for PROGRAM_LOADFIX_ERROR
double entry for MSCDEX_SUCCESS
double entry for MSCDEX_ERROR_MULTIPLE_CDROMS
double entry for MSCDEX_ERROR_NOT_SUPPORTED
double entry for MSCDEX_ERROR_PATH
double entry for MSCDEX_TOO_MANY_DRIVES
double entry for MSCDEX_LIMITED_SUPPORT
double entry for MSCDEX_INVALID_FILEFORMAT
double entry for MSCDEX_UNKNOWN_ERROR
double entry for PROGRAM_RESCAN_SUCCESS
double entry for PROGRAM_INTRO
double entry for PROGRAM_INTRO_MOUNT_START
double entry for PROGRAM_INTRO_MOUNT_WINDOWS
double entry for PROGRAM_INTRO_MOUNT_OTHER
double entry for PROGRAM_INTRO_MOUNT_END
double entry for PROGRAM_INTRO_CDROM
double entry for PROGRAM_INTRO_SPECIAL
double entry for PROGRAM_BOOT_NOT_EXIST
double entry for PROGRAM_BOOT_NOT_OPEN
double entry for PROGRAM_BOOT_PRINT_ERROR
double entry for PROGRAM_BOOT_UNABLE
double entry for PROGRAM_BOOT_IMAGE_OPEN
double entry for PROGRAM_BOOT_IMAGE_NOT_OPEN
double entry for PROGRAM_BOOT_BOOT
double entry for PROGRAM_BOOT_CART_WO_PCJR
Show last 93 lines
double entry for PROGRAM_IMGMOUNT_SPECIFY_DRIVE
double entry for PROGRAM_IMGMOUNT_SPECIFY2
double entry for PROGRAM_IMGMOUNT_SPECIFY_GEOMETRY
double entry for PROGRAM_IMGMOUNT_TYPE_UNSUPPORTED
double entry for PROGRAM_IMGMOUNT_FORMAT_UNSUPPORTED
double entry for PROGRAM_IMGMOUNT_SPECIFY_FILE
double entry for PROGRAM_IMGMOUNT_FILE_NOT_FOUND
double entry for PROGRAM_IMGMOUNT_MOUNT
double entry for PROGRAM_IMGMOUNT_ALREADY_MOUNTED
double entry for PROGRAM_IMGMOUNT_CANT_CREATE
double entry for PROGRAM_IMGMOUNT_MOUNT_NUMBER
double entry for PROGRAM_IMGMOUNT_NON_LOCAL_DRIVE
double entry for PROGRAM_IMGMOUNT_MULTIPLE_NON_CUEISO_FILES
double entry for PROGRAM_KEYB_INFO
double entry for PROGRAM_KEYB_SHOWHELP
double entry for PROGRAM_KEYB_NOERROR
double entry for PROGRAM_KEYB_FILENOTFOUND
double entry for PROGRAM_KEYB_INVALIDFILE
double entry for PROGRAM_KEYB_LAYOUTNOTFOUND
double entry for PROGRAM_KEYB_INVCPFILE
Can't find matching event for hand_pause
Can't find matching event for hand_mapper
MAPPER: Loading mapper settings from /Developer/DOSBox/mapper.txt
double entry for SHELL_ILLEGAL_PATH
double entry for SHELL_CMD_HELP
double entry for SHELL_CMD_ECHO_ON
double entry for SHELL_CMD_ECHO_OFF
double entry for SHELL_ILLEGAL_SWITCH
double entry for SHELL_MISSING_PARAMETER
double entry for SHELL_CMD_CHDIR_ERROR
double entry for SHELL_CMD_CHDIR_HINT
double entry for SHELL_CMD_MKDIR_ERROR
double entry for SHELL_CMD_RMDIR_ERROR
double entry for SHELL_CMD_DEL_ERROR
double entry for SHELL_SYNTAXERROR
double entry for SHELL_CMD_SET_NOT_SET
double entry for SHELL_CMD_SET_OUT_OF_SPACE
double entry for SHELL_CMD_IF_EXIST_MISSING_FILENAME
double entry for SHELL_CMD_IF_ERRORLEVEL_MISSING_NUMBER
double entry for SHELL_CMD_IF_ERRORLEVEL_INVALID_NUMBER
double entry for SHELL_CMD_GOTO_MISSING_LABEL
double entry for SHELL_CMD_GOTO_LABEL_NOT_FOUND
double entry for SHELL_CMD_FILE_NOT_FOUND
double entry for SHELL_CMD_FILE_EXISTS
double entry for SHELL_CMD_DIR_INTRO
double entry for SHELL_CMD_DIR_BYTES_USED
double entry for SHELL_CMD_DIR_BYTES_FREE
double entry for SHELL_EXECUTE_DRIVE_NOT_FOUND
double entry for SHELL_EXECUTE_ILLEGAL_COMMAND
double entry for SHELL_CMD_PAUSE
double entry for SHELL_CMD_PAUSE_HELP
double entry for SHELL_CMD_COPY_FAILURE
double entry for SHELL_CMD_COPY_SUCCESS
double entry for SHELL_CMD_SUBST_NO_REMOVE
double entry for SHELL_CMD_SUBST_FAILURE
double entry for SHELL_STARTUP_BEGIN
double entry for SHELL_STARTUP_CGA
double entry for SHELL_STARTUP_DEBUG
double entry for SHELL_STARTUP_END
double entry for SHELL_CMD_CHDIR_HELP
double entry for SHELL_CMD_CHDIR_HELP_LONG
double entry for SHELL_CMD_CLS_HELP
double entry for SHELL_CMD_DIR_HELP
double entry for SHELL_CMD_ECHO_HELP
double entry for SHELL_CMD_EXIT_HELP
double entry for SHELL_CMD_HELP_HELP
double entry for SHELL_CMD_MKDIR_HELP
double entry for SHELL_CMD_MKDIR_HELP_LONG
double entry for SHELL_CMD_RMDIR_HELP
double entry for SHELL_CMD_RMDIR_HELP_LONG
double entry for SHELL_CMD_SET_HELP
double entry for SHELL_CMD_IF_HELP
double entry for SHELL_CMD_GOTO_HELP
double entry for SHELL_CMD_SHIFT_HELP
double entry for SHELL_CMD_TYPE_HELP
double entry for SHELL_CMD_TYPE_HELP_LONG
double entry for SHELL_CMD_REM_HELP
double entry for SHELL_CMD_REM_HELP_LONG
double entry for SHELL_CMD_NO_WILD
double entry for SHELL_CMD_RENAME_HELP
double entry for SHELL_CMD_RENAME_HELP_LONG
double entry for SHELL_CMD_DELETE_HELP
double entry for SHELL_CMD_COPY_HELP
double entry for SHELL_CMD_CALL_HELP
double entry for SHELL_CMD_SUBST_HELP
double entry for SHELL_CMD_LOADHIGH_HELP
double entry for SHELL_CMD_CHOICE_HELP
double entry for SHELL_CMD_CHOICE_HELP_LONG
double entry for SHELL_CMD_ATTRIB_HELP
double entry for SHELL_CMD_PATH_HELP
double entry for SHELL_CMD_VER_HELP
double entry for SHELL_CMD_VER_VER

DOSBox (CVS) is obviously not happy with the syntax in the Preferences file, and it has some problems with the mapper.txt file. In fact after starting DOSBox (CVS), all settings are at there default value, and also the defined mappings are not in effect. In addition, <ctrl>-F1 does not bring up the mapper.

Everything works fine with the DOSBox binary 0.72.

Again, no complaint, I only wanted to report my findings.

Best Regards

Rolf

Reply 1 of 14, by darkgamorck

User metadata
Rank Member
Rank
Member

This could be because the syntax of a lot of options in the Prefences/Config file has changed in the latest CVS snaphots. You should probably take the time to run "config -writeconf" from within DOSBox and examine the new file format and adjusting it appropriately.

Reply 2 of 14, by InstantWare

User metadata
Rank Newbie
Rank
Newbie

You should probably take the time to run "config -writeconf" from within DOSBox and examine the new file format and adjusting it appropriately.

Many thanks for your response. I checked the output of "config -writeconf" and the syntax does not deviate from my config file. I replaced my config file (~/Library/Preferences/DOSBox Preferences) by the the "config -writeconf" output, and this gave the same error.

Perhaps the changes in the config file parser did not made it yet into the config file writer. So, I assume that you are still working on it, and I have patience enough, to wait for the release candidates.

Please let me know, if you want me to test something.

Best regards

Rolf

Reply 3 of 14, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Perhaps the changes in the config file parser did not made it yet into the config file writer.

It works just fine.
Remove all old mapper.txt and dosbox configuration files, check out a clean
cvs source tree and compile that (it looks like you have old source files merged
into your cvs tree).

Reply 4 of 14, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

hmm it looks like a you have all entries double for the internal messaging system.
odd. I don't know what is causing that.

you might want to check that in src/misc/messages.cpp LoadMessagefile the functions MSG_Replace is used.

Water flows down the stream
How to ask questions the smart way!

Reply 5 of 14, by InstantWare

User metadata
Rank Newbie
Rank
Newbie

wd wrote:

Remove all old mapper.txt and dosbox configuration files, check out a clean cvs source tree and compile that

Did it, and I started dosbox without mapper.txt and without any config file, and the result is:

PBRJ:/Developer/DOSBox/dosbox Rolf$ dosbox
DOSBox version 0.72
Copyright 2002-2007 DOSBox Team, published under GNU GPL.
---
CONFIG: Using default settings. Create a configfile to change them
2008-04-18 15:04:58.861 dosbox[17853:10b] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
CPU:Unknown core type auto, switching back to normal.
MIDI:Opened device:coreaudio

From the second last line it seems to me that dosbox has an internal syntax problem with its default settings

QBix wrote:

it looks like a you have all entries double for the internal messaging system. odd. I don't know what is causing that.

I tracked this down. It had to do with the language configuration pointing to the german language file (deutsch.lng v0.72). Once I removed this from the config file or started with no config file, these "double entry" messages did not show up.

There is still the problem left, that the mapper does not show up on <ctrl-F1>. The mapper also DOES NOT show up when invoking "dosbox -STARTMAPPER" at the command line.

Best regards

Rolf

Reply 6 of 14, by darkgamorck

User metadata
Rank Member
Rank
Member

Yeah thats different in the CVS as well. The Mapper is part of the new internal GUI and not accessible using the original shortcut nor with the command line parameter.

Try using -startui instead.

Reply 7 of 14, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

that auto switching back to normal is good. but it is a slight mixup on our part.
the languagefile producing those warning is still a bit odd.

Water flows down the stream
How to ask questions the smart way!

Reply 8 of 14, by InstantWare

User metadata
Rank Newbie
Rank
Newbie

darkgamorck wrote:

Try using -startui instead.

This opens indeed a DOSBox Configuration Window. But I did not found the Key Mapper in there.

Qbix wrote:

that auto switching back to normal is good. but it is a slight mixup on our part.

There seems to be another settings problem in the [cpu] section of the config file. It does not accept e.g. cycles=10000 and switches back to auto which is 3000. Interestingly, it seems to confuse the variable name.

"10000" is not a valid value for variable: type.
It might now be reset it to default value: auto

Best regards

Rolf

Attachments

  • Bild 1.png
    Filename
    Bild 1.png
    File size
    7.18 KiB
    Views
    2399 views
    File license
    Fair use/fair dealing exception

Reply 9 of 14, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

I think it is is cycles=fixed NNNNN

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 11 of 14, by darkgamorck

User metadata
Rank Member
Rank
Member

I thought you could get to the mapper from there - but you are right. Instead try applying these two patches I created. They essentially add two new .COM files on the Z: drive. One is called GUI.COM and the other is called MAPPER.COM. You can guess what each one does. Hopefully this patch can make it into the actual CVS source tree one day as it is very useful on any platform or configuration in which the default keyboard shortcuts do not work.

*** ./src/dos/dos_programs.cpp.orig	2008-01-19 06:02:29.000000000 -0500
--- ./src/dos/dos_programs.cpp 2008-02-06 23:33:37.000000000 -0500
***************
*** 35,40 ****
--- 35,41 ----
#include "dos_inc.h"
#include "bios.h"
#include "setup.h"
+ #include "mapper.h"

#if defined HAVE_SYS_TYPES_H && defined HAVE_PWD_H
#include <sys/types.h>
***************
*** 1305,1310 ****
--- 1306,1332 ----
*make=new KEYB;
}

+ class MAPPER: public Program {
+ public:
+ void Run(void) {
+ MAPPER_Run(true);
+ }
+ };
+
+ static void MAPPER_ProgramStart(Program * * make) {
+ *make=new MAPPER;
+ }
+
+ class GUI: public Program {
+ public:
+ void Run(void) {
+ UI_Run(false);
+ }
+ };
+
+ static void GUI_ProgramStart(Program * * make) {
+ *make=new GUI;
+ }

void DOS_SetupPrograms(void) {
/*Add Messages */
***************
*** 1509,1512 ****
--- 1531,1536 ----
#endif
PROGRAMS_MakeFile("IMGMOUNT.COM", IMGMOUNT_ProgramStart);
PROGRAMS_MakeFile("KEYB.COM", KEYB_ProgramStart);
+ PROGRAMS_MakeFile("MAPPER.COM", MAPPER_ProgramStart);
+ PROGRAMS_MakeFile("GUI.COM", GUI_ProgramStart);
}

Patch 2:

*** ./include/dosbox.h.orig	2008-01-09 15:34:21.000000000 -0500
--- ./include/dosbox.h 2008-02-06 23:30:56.000000000 -0500
***************
*** 32,37 ****
--- 32,39 ----

typedef Bitu (LoopHandler)(void);

+ void UI_Run(bool pressed);
+
void DOSBOX_RunMachine();
void DOSBOX_SetLoop(LoopHandler * handler);
void DOSBOX_SetNormalLoop();
Last edited by darkgamorck on 2008-04-27, 13:29. Edited 1 time in total.

Reply 12 of 14, by darkgamorck

User metadata
Rank Member
Rank
Member

Ahhhhh... I see now. When I bring up the GUI with the startui parameter - the keyboard button isn't available. However when I bring it up from within the software with either my GUI.COM mod or a keyboard shortcut - there is a button called "Keyboard" in the UI.

Thats odd.

EDIT: I found the code that hides the button and disabled it, but after pressing it when the GUI is brought up via startui, dosbox crashes. So there is obviously some reason for this.

Call Stack from Error Report:

0   libSystem.B.dylib             	0xffff07c7 __memcpy + 39
1 libSystem.B.dylib 0x919af84e __sfvwrite + 409
2 libSystem.B.dylib 0x919af3be __vfprintf + 18730
3 libSystem.B.dylib 0x91a30b00 vsprintf + 474
4 dosbox 0x000dd0bc CCaptionButton::Change(char const*, ...) + 44
5 dosbox 0x000dd2de SetActiveEvent(CEvent*) + 78
6 dosbox 0x000ddd5d MAPPER_Run(bool) + 269
7 dosbox 0x001aa96a ConfigurationWindow::actionExecuted(GUI::ActionEventSource*, GUI::String const&) + 634 (sdl_gui.cpp:561)
8 dosbox 0x001ea87a GUI::Button::mouseClicked(int, int, GUI::MouseButton) + 106 (gui_tk.h:1329)
9 dosbox 0x001e25eb GUI::Window::mouseClicked(int, int, GUI::MouseButton) + 59 (gui_tk.cpp:678)
10 dosbox 0x001e25eb GUI::Window::mouseClicked(int, int, GUI::MouseButton) + 59 (gui_tk.cpp:678)
11 dosbox 0x001e39df GUI::ScreenSDL::event(SDL_Event const&) + 319 (gui_tk.cpp:1512)
12 dosbox 0x0019c2fe UI_Run(bool) + 318 (sdl_gui.cpp:607)
13 dosbox 0x000dae9a SDL_main + 3418
14 dosbox 0x001eeb8c -[SDLMain

Reply 13 of 14, by InstantWare

User metadata
Rank Newbie
Rank
Newbie

Many thanks to everybody, who replied to my posts.

Again, the idea of my original post was, to notify the dosbox developers that there are some problems with the CVS build of dosbox and Mac OS X, so that there is a chance to iron that out before the next stable release.

My posts were not meant to be a request to resolve any of the problems right now. The current stable release v.72 of dosbox still works fine for me (including <ctrl-F1> bringing up the mapper), and i can easily wait for any period of time for the next stable and hopefully perfect release.

Best regards

Rolf Jansen

Reply 14 of 14, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

don't worry. We are aware of these problems.
The double entry warning you got though is still a mystery

Water flows down the stream
How to ask questions the smart way!