今日のテーマ   日々改造 (^_^;)         
[記事リスト(ツリー表示)]  [ 返信 ]   [新着記事] [最新50] [ワード検索] [過去ログ]

タイトル C000h VRAM領域と CDBL$() の問題
投稿日: 2024/05/01(水) 17:48
投稿者konno
 番 号 11234    11226 番 konno さんへのコメント    コメント数 2

新しい STIME では、TIMER.DAT にタイマー画面を退避させています。
J31用BASICコンパイラを動作させてみると、その画面がおかしい。
ぐちゃぐちゃになっているのです。

TurboBasic では、48桁 23行で以下のように表示されます。
1行目は、d-他の受け渡しに使っています。

 1             1 
>                                               
 1日 17:16:31   0: 0: 0    0: 0: 9        
                                                
  中略
                                                
     1日 17:16:33   0: 0: 0   0: 0: 7     


J31BASIC では、各エミュごとに全部違っています。

VTDOS 4/13
13 把  0Oマ: 4Sマ: 4Sツ   8:12'45    0: 0:19        
                                                
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@

VTDOS 4/21
21日^@^@02:38:31  0: 0: 0   0: 6:48 ^@^@^@^@^@^@
                                                
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@

VTDOS 5/1
 1日  17:22:54  0: 0: 0   0: 0: 8       
                                                

最初は2バイト文字が変に文字化けして、背景のスペースがヌルになっています。
現在は正常表示になっていますが、ここまでするのに一苦労でした。

DOSVAXJ3 VGAモード
12日cc 1PP6UU:2QQ9XX:1PP0OO   0  8:40:54 0: 0: 3
                                                
ロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロ
ロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロ

DOSVAXJ3 J31モード
13日日 0011:0077:4477   0: 0'26    0: 0:13        
                                                
                                                
MS-DOS Player
13日c 0O0O:5T3R:3R0O   0: 0' 0    0: 0:11        
                                                
                                                
このように、どのエミュでも2バイト文字が化けたり2重になったりしています。
その原因は、J31BASIC の CDBL$() という、1バイトの数字を2バイト文字に変換する関数でした。
元々は J3100 でこの関数を使って表示していたので元に戻してみたらこうなったということです。
しかたがないので、TurboBasic と同じやり方に戻しました。

背景の空白が ヌル文字になったり、DOSVAXJ3 VGAモード では、$DB で埋められています。
これは、VRAM領域のメモリの状況によると思われます。
C000h セグメントは VGAの領域で確保されていると思いますが、初期化の問題なのかな。
VTDOS では、TPAEXT などでメモリ拡張していると干渉すると思われるので要注意です。

ともかく、動くのが不思議な状態なので、このまま使うのがよろしいようです。
                                                

    - No.11234 一括表示へ   -   コメント元:11226 一括表示へ  -    [ 返信 ]    [引用無し] pre


- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
11226.J31用BASICコンパイラの各エミュ対応沼 - konno 24/04/23-01:23
  ┣11234.C000h VRAM領域と CDBL$() の問題 - konno 24/05/01-17:48
  ┃┣11239.C000h セグメントは間違い、A000h でした。m(__)m - konno 24/05/06-01:56
  ┃┗11240.Re: C000h VRAM領域と CDBL$() の問題 - としき 24/05/09-22:22
  ┃ ┗11241.Re^2: C000h VRAM領域と CDBL$() の問題 - konno 24/05/10-01:02
  ┃  ┗11242.Re^3: C000h VRAM領域と CDBL$() の問題 - としき 24/05/10-13:07
  ┃   ┗11243.Re^4: C000h VRAM領域と CDBL$() の問題 - konno 24/05/11-01:03
  ┃    ┗11244.Re^5: C000h VRAM領域と CDBL$() の問題 - としき 24/05/11-11:11
  ┃     ┗11245.Re^6: A000h VRAM領域と CDBL$() の問題 - konno 24/05/12-02:04
  ┣11246.VTDOSは 2バイト文字の表示に難有り - konno 24/05/13-15:07
  ┃┗11247.Re: VTDOSは 2バイト文字の表示に難有り - としき 24/05/13-22:24
  ┃ ┗11248.Re^2: VTDOSは 2バイト文字の表示に難有り - めざら 24/05/14-16:47
  ┃  ┗11249.Re^3: VTDOSは 2バイト文字の表示に難有り - konno 24/05/14-22:08
  ┗11251.VTDOSの vtd_err.log のサイズが超巨大になってた件 - konno 24/05/18-23:57

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)   [引用無し]
おなまえ 
Eメール 
タイトル 
メッセージ auto soft pre(図表、プログラム) ※折り返さずに改行を入れてね
 参照先 
 暗証キー (英数字で8文字以内)
 プレビュー          

- 以下のフォームから自分の投稿記事を修正・削除することができます -
   処理   記事No   暗証キー
    [ページトップへ] [管理用]