BetaArchive Logo
Navigation Home Screenshots Image Uploader Server Info FTP Servers Wiki Forum RSS Feed Rules Please Donate
UP: 50d, 12h, 54m | CPU: 15% | MEM: 6190MB of 11082MB used
{The community for beta collectors}

Post new topic Reply to topic  [ 6 posts ] 
Author Message
 PostPost subject: DR DOS 6.0/V        Posted: Sun Jan 12, 2014 9:55 am 
Reply with quote
FTP Access
Offline

Joined
Mon Nov 03, 2008 6:15 am

Posts
602

Favourite OS
Windows NT 3.51 build 1057
The most notable feature is that, ViewMAX(GEM) with DBCS support!
Image

@John Elliott, How does GEM(ViewMAX) support DBCS?


Top  Profile
 PostPost subject: Re: DR DOS 6.0/V        Posted: Sun Jan 12, 2014 10:02 am 
Reply with quote
FTP Access
Offline

Joined
Mon Nov 03, 2008 6:15 am

Posts
602

Favourite OS
Windows NT 3.51 build 1057
and its font file looks like ordinary DRFONT file, but with DBCS included.
Image


Last edited by roytam1 on Sun Jan 12, 2014 10:31 am, edited 1 time in total.

Top  Profile
 PostPost subject: Re: DR DOS 6.0/V        Posted: Sun Jan 12, 2014 10:23 am 
Reply with quote
FTP Access
Offline

Joined
Mon Nov 03, 2008 6:15 am

Posts
602

Favourite OS
Windows NT 3.51 build 1057
without loading DR's $font.sys, ViewMAX can display SCBS katakana only.
Image


Top  Profile
 PostPost subject: Re: DR DOS 6.0/V        Posted: Sat Jan 18, 2014 10:42 pm 
Reply with quote
Offline

Joined
Thu Aug 25, 2011 7:46 pm

Posts
51

Favourite OS
Ubuntu 10.04.3 LTS
roytam1 wrote:
@John Elliott, How does GEM(ViewMAX) support DBCS?


I don't know without disassembling it.

The VDI / driver API passes characters as counted sequences of 16-bit words, while the AES is more inclined to use ASCIIZ strings, so it would seem logical for the AES to decode each DBCS pair to a character ID word. But it might pass each pair to the VDI as two words, and let the VDI handle the decoding.


Top  Profile
 PostPost subject: Re: DR DOS 6.0/V        Posted: Mon Nov 24, 2014 1:40 am 
Reply with quote
Offline

Joined
Thu Aug 25, 2011 7:46 pm

Posts
51

Favourite OS
Ubuntu 10.04.3 LTS
roytam1 wrote:
@John Elliott, How does GEM(ViewMAX) support DBCS?


Here's an outline of the support in the video driver (SDJVG9.VGA).

  • At startup, it calls INT 15h/AX=5000h to get the address of the DOS/V 'read font' function. If this is present, it sets a 'supports DBCS' flag on the system font.
  • Also at startup, it uses INT 21h/AX=6507h to get the DBCS lead byte table.
  • When a string is passed to any of the text output functions, if a DBCS font is in use and the DBCS lead byte table is loaded, the code checks for DBCS lead/trail bytes in the string passed to it, and combines each pair into a 16-bit character ID.
  • When drawing a character, it checks to see if the character ID is above 256. If so, it calls the DOS/V 'read font' function to get that character's bitmap, and instructs the drawing code to draw 16 pixels from offset 0 of that bitmap, rather than 8 pixels from the system font bitmap at a given offset.
  • There are similar checks in the optimised monospaced text drawing code, allowing characters to be 8 or 16 pixels wide.

Possibly to reduce the size of the driver, the following functions are no-ops:

Marker drawing: v_pmarker, vsm_type, vsm_height, vsm_color, vqm_attr
General drawing primitives: v_bar, v_arc, v_pieslice, v_circle, v_ellipse etc.
Support for loadable fonts: dt_loadfont, dt_unloadfont
Text queries: vqt_attr, dqt_extent, dqt_width, dqt_name, dqt_fontinfo, dqt_just
Line / fill queries: vql_attr, vqf_attr


Top  Profile
 PostPost subject: Re: DR DOS 6.0/V        Posted: Mon Nov 24, 2014 8:57 am 
Reply with quote
FTP Access
Offline

Joined
Mon Nov 03, 2008 6:15 am

Posts
602

Favourite OS
Windows NT 3.51 build 1057
John Elliott wrote:
roytam1 wrote:
@John Elliott, How does GEM(ViewMAX) support DBCS?


Here's an outline of the support in the video driver (SDJVG9.VGA).

  • At startup, it calls INT 15h/AX=5000h to get the address of the DOS/V 'read font' function. If this is present, it sets a 'supports DBCS' flag on the system font.
  • Also at startup, it uses INT 21h/AX=6507h to get the DBCS lead byte table.
  • When a string is passed to any of the text output functions, if a DBCS font is in use and the DBCS lead byte table is loaded, the code checks for DBCS lead/trail bytes in the string passed to it, and combines each pair into a 16-bit character ID.
  • When drawing a character, it checks to see if the character ID is above 256. If so, it calls the DOS/V 'read font' function to get that character's bitmap, and instructs the drawing code to draw 16 pixels from offset 0 of that bitmap, rather than 8 pixels from the system font bitmap at a given offset.
  • There are similar checks in the optimised monospaced text drawing code, allowing characters to be 8 or 16 pixels wide.

Possibly to reduce the size of the driver, the following functions are no-ops:

Marker drawing: v_pmarker, vsm_type, vsm_height, vsm_color, vqm_attr
General drawing primitives: v_bar, v_arc, v_pieslice, v_circle, v_ellipse etc.
Support for loadable fonts: dt_loadfont, dt_unloadfont
Text queries: vqt_attr, dqt_extent, dqt_width, dqt_name, dqt_fontinfo, dqt_just
Line / fill queries: vql_attr, vqf_attr

Cool! Thanks for figuring it out! ;)


Top  Profile
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 




Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  

All views expressed in these forums are those of the author and do not necessarily represent the views of the BetaArchive site owner.

Powered by phpBB® Forum Software © phpBB Group

Copyright © 2006-2018

 

Sitemap | XML | RSS