Hello Aitor,

Aitor Santamaría wrote:
> Perhaps you could try 850 or 858, at least one of them should be there
> (850 is the western european typical codepage, 858 is the same but
> with the Euro sign).

I tried all three codepages, and none of them work.
Although in Qemu, with CON=(EGA,,1), all three codepages work.

After reading bits of assembler code and bits of CPI file, I have a
theory that may explain the situation:

- The CGA specific driver initializes the global variable wNumSubFonts
to 1 (see display/egavga/cgaega.asm line 239).
- The font-reading code takes this as a signal that it should only
consider the first subfont in a codepage. If that first subfont is not
of correct size, it assumes that the whole codepage is screwed (see
display/egavga/egar.asm lines 302 and further).
- But in EGA.CPX the first subfont is size 16, followed by size 14,
followed by size 8. So the font reader gives up before it finds the
subfont of the right size.

... Wow! I just found some evidence in support of the above theory. With
a binary patch to DISPLAY.EXE, to make it skip over nonsupported
subfonts, it is now able to load the codepage on CGA.

I can now also confirm that GRAFTABL emulation works; I can see the
linedrawing characters in graphics mode :-). Of course the codepage does
not affect CGA text mode, but it works for graphics. Oh I've never seen
such an ugly euro sign ;-)

Bye,
  Joris.

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to