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.
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.
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.
Logged In: YES
user_id=844698
When I type "dir /w" on command prompt,
one or more lines appeared with spaces.
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.
Logged In: YES
user_id=844698
Tested.
The issue seems to be fixed.
Logged In: YES
user_id=844698
There's another bug.
When I quit playing lotus game, it automatically restarts.
Logged In: YES
user_id=1312307
ykhwong,
What do you mean 'restarts'?
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
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.
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
Logged In: YES
user_id=844698
in case 0x0d, "if(!echo) outc('\n');" must be added.
Logged In: YES
user_id=1312307
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.
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.