Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#95 Patch for CON outputting.

open
None
5
2012-09-07
2005-07-14
cyberwalker
No

The console (CON) is supposed to use Int 10H to display
characters, but actually it bypassed for speed. So new Int
10H handler will not take effect on CON while new Int 16H
will. This behavior will prevent applications from using
their new 10H to display far east DBCS characters
(Chinese/Korea/Japanese).

I think the compatibility is important than speed. This patch
restored the compatibility by using real INT10 service
instead of INT10 routines for CON outputting.

Discussion

  • Peter Veenstra
    Peter Veenstra
    2005-07-20

    Logged In: YES
    user_id=535630

    Interresting patch.

    I was wondering Is it really needed to reimplement
    int10_teletypeoutput ?
    as that is a certain int10 call as well. (ah=0xe)
    Can't you just run that one through the virtual machine
    instead of taking it down in smaller pieces

    I understand the need for it if you want non standard
    characters in the shell and when writing to con, but a bit
    reluctant to add it as it gives some overhead.

     
  • cyberwalker
    cyberwalker
    2005-07-20

    Logged In: YES
    user_id=1312307

    Thank you for your attention.

    In far east, Local software companies have developed a lot DOS
    extending software for displaying and inputting DBCS characters
    by hooking Int 10H and 9H/16H(Actually more DOS/BIOS
    services are hooked). In fact not just to implement the sub-
    function 0xE of Int 10H, the whole int 10H BIOS video service has
    been reimplemented for extending system to work property. In
    DOS days, this type of software played a key role in their daily
    work and left, and left a huge number of applications depend on
    it.

    Because of the language issue, feature requirements of far east
    users might hardly be heard by you western developers. So
    enabling CON to use real int 10H is crucial for DOSBOX to reach
    more far east users and be much more international. It will open
    a different window for DOSBOX, thought they have being used
    DOSBOX for gaming since it was out.

    With regard to the extra overhead, as games run in graphics
    mode and should not be affect by the output speed of CON that
    much.

    You know, thats why I decided to patch the code.

     
  • TaeWoong Yoo
    TaeWoong Yoo
    2005-08-01

    Logged In: YES
    user_id=844698

    When I type "dir /w" on command prompt,
    one or more lines appeared with spaces.

     
  • cyberwalker
    cyberwalker
    2005-08-02

    Logged In: YES
    user_id=1312307

    Thank for your reporting. I have found this issue and fixed it last
    week. Please download new files for testing.

     
  • TaeWoong Yoo
    TaeWoong Yoo
    2005-08-03

    Logged In: YES
    user_id=844698

    Tested.
    The issue seems to be fixed.

     
  • TaeWoong Yoo
    TaeWoong Yoo
    2005-08-25

    Logged In: YES
    user_id=844698

    There's another bug.
    When I quit playing lotus game, it automatically restarts.

     
  • cyberwalker
    cyberwalker
    2005-08-26

    Logged In: YES
    user_id=1312307

    ykhwong,

    What do you mean 'restarts'?

     
  • TaeWoong Yoo
    TaeWoong Yoo
    2005-08-27

    Logged In: YES
    user_id=844698

    For example, I created a file temp.bat that includes

    @echo off
    echo Temporary


    When I type temp.bat, it runs again.

    Temporary
    Temporary


     
  • cyberwalker
    cyberwalker
    2005-09-07

    Logged In: YES
    user_id=1312307

    ykhwong,

    Thank you for reporting this bug. The corrected file
    shell.cpp.diff.txt has been uploaded. I have tried your latest CVS
    build and found it had been fixed. Maybe you can post your fix
    here if you will.

     
  • Ming Zeng
    Ming Zeng
    2005-11-18

    Logged In: YES
    user_id=567412

    Hi,

    I've tried this patch just now, as one of my favourite old
    game in Chinese has a quite similar problem...

    But this patch didn't work for me...a pity

    Maybe that's another issue.. I'll try to find out later

     
  • TaeWoong Yoo
    TaeWoong Yoo
    2006-10-13

    Logged In: YES
    user_id=844698

    in case 0x0d, "if(!echo) outc('\n');" must be added.

     
  • cyberwalker
    cyberwalker
    2006-10-16

    Logged In: YES
    user_id=1312307

    Ykhwong

    in case 0x0d, "if(!echo) outc('\n');" must
    be added.

    Ykhwong,

    I have simplified the patch by removing shell.cpp and
    shell_misc.cpp from the patch. Please try the new
    dev_con.diff (without your proposed fix applied) and
    give me further information of the issue if it
    remains. In particular, I would like to know about
    the steps to reproduce it.

     
  • cyberwalker
    cyberwalker
    2006-10-16

     
    Attachments
  • TaeWoong Yoo
    TaeWoong Yoo
    2006-10-28

    Logged In: YES
    user_id=844698

    It breaks my intro patch on sourceforge and moe's config batch executable on vogons beta forum that are using ansi.