mirror of
https://github.com/86Box/86Box.git
synced 2026-02-22 09:35:32 -07:00
Merge remote-tracking branch 'origin/master' into feature/recompiler_improvements
This commit is contained in:
@@ -1667,7 +1667,7 @@ msgid "Unknown Bus"
|
||||
msgstr "不明なバス"
|
||||
|
||||
msgid "Null Driver"
|
||||
msgstr "ヌル・ドライバー"
|
||||
msgstr "ヌルドライバー"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr "NIC:"
|
||||
@@ -1778,16 +1778,16 @@ msgid "Novell NetWare 2.x Key Card"
|
||||
msgstr "Novell NetWare 2.xキーカード"
|
||||
|
||||
msgid "Serial port passthrough 1"
|
||||
msgstr "シリアル・ポート・パススルー 1"
|
||||
msgstr "シリアルポートパススルー 1"
|
||||
|
||||
msgid "Serial port passthrough 2"
|
||||
msgstr "シリアル・ポート・パススルー 2"
|
||||
msgstr "シリアルポートパススルー 2"
|
||||
|
||||
msgid "Serial port passthrough 3"
|
||||
msgstr "シリアル・ポート・パススルー 3"
|
||||
msgstr "シリアルポートパススルー 3"
|
||||
|
||||
msgid "Serial port passthrough 4"
|
||||
msgstr "シリアル・ポート・パススルー 4"
|
||||
msgstr "シリアルポートパススルー 4"
|
||||
|
||||
msgid "Renderer &options…"
|
||||
msgstr "レンダラー設定(&O)…"
|
||||
@@ -2015,10 +2015,10 @@ msgid "Chorus Voices"
|
||||
msgstr "コーラスの声"
|
||||
|
||||
msgid "Chorus Level"
|
||||
msgstr "コーラス・レベル"
|
||||
msgstr "コーラスレベル"
|
||||
|
||||
msgid "Chorus Speed"
|
||||
msgstr "コーラス・スピード"
|
||||
msgstr "コーラススピード"
|
||||
|
||||
msgid "Chorus Depth"
|
||||
msgstr "コーラスの深さ"
|
||||
@@ -2030,16 +2030,16 @@ msgid "Reverb"
|
||||
msgstr "リバーブ"
|
||||
|
||||
msgid "Reverb Room Size"
|
||||
msgstr "リバーブ・ルームの大きさ"
|
||||
msgstr "リバーブルームの大きさ"
|
||||
|
||||
msgid "Reverb Damping"
|
||||
msgstr "リバーブ・ダンピング"
|
||||
msgstr "リバーブダンピング"
|
||||
|
||||
msgid "Reverb Width"
|
||||
msgstr "リバーブ幅"
|
||||
|
||||
msgid "Reverb Level"
|
||||
msgstr "リバーブ・レベル"
|
||||
msgstr "リバーブレベル"
|
||||
|
||||
msgid "Interpolation Method"
|
||||
msgstr "補間法"
|
||||
@@ -2054,7 +2054,7 @@ msgid "Reversed stereo"
|
||||
msgstr "逆ステレオ"
|
||||
|
||||
msgid "Nice ramp"
|
||||
msgstr "ナイス・スロープ"
|
||||
msgstr "ナイススロープ"
|
||||
|
||||
msgid "Hz"
|
||||
msgstr "ヘルツ"
|
||||
@@ -2144,7 +2144,7 @@ msgid "SID Filter Strength"
|
||||
msgstr "SIDフィルターの強度"
|
||||
|
||||
msgid "Surround module"
|
||||
msgstr "サラウンド・モジュール"
|
||||
msgstr "サラウンドモジュール"
|
||||
|
||||
msgid "SB Address"
|
||||
msgstr "SBアドレス"
|
||||
@@ -2219,7 +2219,7 @@ msgid "Display type"
|
||||
msgstr "表示タイプ"
|
||||
|
||||
msgid "Composite type"
|
||||
msgstr "コンポジット・タイプ"
|
||||
msgstr "コンポジットタイプ"
|
||||
|
||||
msgid "RGB type"
|
||||
msgstr "RGBタイプ"
|
||||
@@ -2228,7 +2228,7 @@ msgid "Line doubling type"
|
||||
msgstr "ライン倍増タイプ"
|
||||
|
||||
msgid "Snow emulation"
|
||||
msgstr "スノー・エミュレーション"
|
||||
msgstr "スノーエミュレーション"
|
||||
|
||||
msgid "Monitor type"
|
||||
msgstr "モニタータイプ"
|
||||
@@ -2255,7 +2255,7 @@ msgid "Font"
|
||||
msgstr "フォント"
|
||||
|
||||
msgid "Bilinear filtering"
|
||||
msgstr "バイリニア・フィルタリング"
|
||||
msgstr "バイリニアフィルタリング"
|
||||
|
||||
msgid "Video chroma-keying"
|
||||
msgstr "ビデオのクロマキー処理"
|
||||
@@ -2549,16 +2549,16 @@ msgid "Apply overscan deltas"
|
||||
msgstr "オーバースキャンデルタを適用する"
|
||||
|
||||
msgid "Mono Interlaced"
|
||||
msgstr "モノラル・インターレース"
|
||||
msgstr "モノラルインターレース"
|
||||
|
||||
msgid "Mono Non-Interlaced"
|
||||
msgstr "モノラル・ノンインターレース"
|
||||
msgstr "モノラルノンインターレース"
|
||||
|
||||
msgid "Color Interlaced"
|
||||
msgstr "カラー・インターレース"
|
||||
msgstr "カラーインターレース"
|
||||
|
||||
msgid "Color Non-Interlaced"
|
||||
msgstr "カラー・ノンインターレース"
|
||||
msgstr "カラーノンインターレース"
|
||||
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3dfx Voodooグラフィック"
|
||||
@@ -2594,7 +2594,7 @@ msgid "Stereo LPT DAC"
|
||||
msgstr "ステレオLPT DAC"
|
||||
|
||||
msgid "Generic Text Printer"
|
||||
msgstr "汎用テキスト・プリンタ"
|
||||
msgstr "汎用テキストプリンタ"
|
||||
|
||||
msgid "Generic ESC/P 2 Dot-Matrix Printer"
|
||||
msgstr "汎用ESC/P 2ドットマトリクスプリンタ"
|
||||
@@ -2606,19 +2606,19 @@ msgid "Generic PCL5e Printer"
|
||||
msgstr "汎用PCL5eプリンタ"
|
||||
|
||||
msgid "Parallel Line Internet Protocol"
|
||||
msgstr "パラレルライン・インターネット・プロトコル"
|
||||
msgstr "パラレルラインインターネットプロトコル"
|
||||
|
||||
msgid "Protection Dongle for Savage Quest"
|
||||
msgstr "サベージ・クエスト用プロテクション・ドングル"
|
||||
msgstr "サベージクエスト用プロテクションドングル"
|
||||
|
||||
msgid "Serial Passthrough Device"
|
||||
msgstr "シリアル・ポート・パススルー・デバイス"
|
||||
msgstr "シリアルポートパススルーデバイス"
|
||||
|
||||
msgid "Passthrough Mode"
|
||||
msgstr "パススルーモード"
|
||||
|
||||
msgid "Host Serial Device"
|
||||
msgstr "ホスト・シリアル・デバイス"
|
||||
msgstr "ホストシリアルデバイス"
|
||||
|
||||
msgid "Name of pipe"
|
||||
msgstr "パイプ名"
|
||||
|
||||
@@ -2371,7 +2371,7 @@ mach_out(uint16_t addr, uint8_t val, void *priv)
|
||||
svga->write_bank = mach->bank_w << 16;
|
||||
|
||||
if (mach->index == 0xbe) {
|
||||
if ((old ^ val) & 0x10) {
|
||||
if ((old ^ val) & 0x13) {
|
||||
mach_log("ATI BE bit 4.\n");
|
||||
svga_recalctimings(svga);
|
||||
}
|
||||
@@ -3320,30 +3320,30 @@ mach_recalctimings(svga_t *svga)
|
||||
} else {
|
||||
dev->mode = VGA_MODE;
|
||||
if (!svga->scrblank && svga->attr_palette_enable) {
|
||||
mach_log("GDCREG5=%02x, ATTR10=%02x, ATI B0 bit 5=%02x, ON=%d.\n",
|
||||
svga->gdcreg[5] & 0x60, svga->attrregs[0x10] & 0x40, mach->regs[0xb0] & 0x20, dev->on);
|
||||
mach_log("GDCREG5=%02x, ATTR10=%02x, ATI B0 bit 5=%02x, ON=%d, char_width=%d, seqreg1 bit 3=%x, clk_sel=%02x.\n",
|
||||
svga->gdcreg[5] & 0x60, svga->attrregs[0x10] & 0x40, mach->regs[0xb0] & 0x20, dev->on, svga->char_width, svga->seqregs[1] & 0x08, clock_sel);
|
||||
if (ATI_MACH32)
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / svga->getclock(clock_sel, svga->clock_gen);
|
||||
else
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / svga->getclock(clock_sel ^ 0x08, svga->clock_gen);
|
||||
|
||||
switch ((mach->regs[0xb8] >> 6) & 3) {
|
||||
case 1:
|
||||
svga->clock *= 2.0;
|
||||
break;
|
||||
case 2:
|
||||
svga->clock *= 3.0;
|
||||
break;
|
||||
case 3:
|
||||
svga->clock *= 4.0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
mach_log("VGA clock sel=%02x, divide reg=%02x, miscout bits2-3=%x, machregbe bit4=%02x, machregb9 bit1=%02x, charwidth=%d, htotal=%02x, hdisptime=%02x, seqregs1 bit 3=%02x.\n", clock_sel, (mach->regs[0xb8] >> 6) & 3, svga->miscout & 0x0c, mach->regs[0xbe] & 0x10, mach->regs[0xb9] & 0x02, svga->char_width, svga->htotal, svga->hdisp_time, svga->seqregs[1] & 8);
|
||||
if ((svga->gdcreg[6] & 0x01) || (svga->attrregs[0x10] & 0x01)) {
|
||||
if ((svga->gdcreg[5] & 0x40) || (svga->attrregs[0x10] & 0x40) || (mach->regs[0xb0] & 0x20)) {
|
||||
if (ATI_MACH32)
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / svga->getclock(clock_sel, svga->clock_gen);
|
||||
else
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / svga->getclock(clock_sel ^ 0x08, svga->clock_gen);
|
||||
|
||||
switch ((mach->regs[0xb8] >> 6) & 3) {
|
||||
case 1:
|
||||
svga->clock *= 2.0;
|
||||
break;
|
||||
case 2:
|
||||
svga->clock *= 3.0;
|
||||
break;
|
||||
case 3:
|
||||
svga->clock *= 4.0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
svga->map8 = svga->pallook;
|
||||
mach_log("Lowres=%x, seqreg[1]bit3=%x.\n", svga->lowres, svga->seqregs[1] & 8);
|
||||
if (svga->lowres)
|
||||
@@ -3356,26 +3356,6 @@ mach_recalctimings(svga_t *svga)
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (ATI_MACH32)
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / svga->getclock(clock_sel, svga->clock_gen);
|
||||
else
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / svga->getclock(clock_sel ^ 0x08, svga->clock_gen);
|
||||
|
||||
switch ((mach->regs[0xb8] >> 6) & 3) {
|
||||
case 0:
|
||||
default:
|
||||
break;
|
||||
case 1:
|
||||
svga->clock *= 2.0;
|
||||
break;
|
||||
case 2:
|
||||
svga->clock *= 3.0;
|
||||
break;
|
||||
case 3:
|
||||
svga->clock *= 4.0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ typedef struct tgui_t {
|
||||
uint8_t ramdac_ctrl;
|
||||
uint8_t alt_clock;
|
||||
|
||||
int clock_m, clock_n, clock_k;
|
||||
uint16_t vclk;
|
||||
|
||||
uint32_t vram_size, vram_mask;
|
||||
|
||||
@@ -567,17 +567,18 @@ tgui_out(uint16_t addr, uint8_t val, void *priv)
|
||||
return;
|
||||
|
||||
case 0x3DB:
|
||||
tgui->alt_clock = val & 0xe3;
|
||||
tgui->alt_clock = val;
|
||||
svga_recalctimings(svga);
|
||||
return;
|
||||
|
||||
case 0x43c8:
|
||||
tgui->clock_n = val & 0x7f;
|
||||
tgui->clock_m = (tgui->clock_m & ~1) | (val >> 7);
|
||||
break;
|
||||
tgui->vclk = (tgui->vclk & 0xff00) | val;
|
||||
svga_recalctimings(svga);
|
||||
return;
|
||||
case 0x43c9:
|
||||
tgui->clock_m = (tgui->clock_m & ~0x1e) | ((val << 1) & 0x1e);
|
||||
tgui->clock_k = (val & 0x10) >> 4;
|
||||
break;
|
||||
tgui->vclk = (tgui->vclk & 0x00ff) | (val << 8);
|
||||
svga_recalctimings(svga);
|
||||
return;
|
||||
|
||||
default:
|
||||
break;
|
||||
@@ -693,6 +694,9 @@ tgui_recalctimings(svga_t *svga)
|
||||
uint8_t ger22lower = (tgui->accel.ger22 & 0xff);
|
||||
uint8_t ger22upper = (tgui->accel.ger22 >> 8);
|
||||
int std_vga_clock = 1;
|
||||
int m = 0;
|
||||
int n = 0;
|
||||
int k = 0;
|
||||
|
||||
if (tgui->type >= TGUI_9440) {
|
||||
if ((svga->crtc[0x38] & 0x19) == 0x09)
|
||||
@@ -764,13 +768,23 @@ tgui_recalctimings(svga_t *svga)
|
||||
svga->lowres = !(svga->crtc[0x2a] & 0x40);
|
||||
|
||||
if (tgui->type >= TGUI_9440) {
|
||||
if (svga->miscout & 8)
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / (((tgui->clock_n + 8) * 14318180.0) / ((tgui->clock_m + 2) * (1 << tgui->clock_k)));
|
||||
// Bits 0-6: M
|
||||
// Bits 7-11: N
|
||||
// Bit 12: K
|
||||
// Later formula extends each variable by one extra bit (Providia 9685 and later)
|
||||
if (((svga->miscout & 0x0c) >> 2) == 0x02) {
|
||||
m = tgui->vclk & 0x007f;
|
||||
n = (tgui->vclk & 0x0f80) >> 7;
|
||||
k = (tgui->vclk & 0x1000) >> 12;
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / (((m + 8) * 14318180.0) / ((n + 2) * (1 << k)));
|
||||
}
|
||||
|
||||
if (svga->gdcreg[0xf] & 0x08)
|
||||
if ((svga->gdcreg[0xf] & 0x08) || (tgui->alt_clock & 0x20))
|
||||
svga->clock *= 2.0;
|
||||
else if (svga->gdcreg[0xf] & 0x40)
|
||||
svga->clock *= 3.0;
|
||||
|
||||
pclog("GDCREGF=%02x, miscout=%02x.\n", svga->gdcreg[0xf] & 0x48, svga->miscout & 0x0c);
|
||||
} else {
|
||||
//pclog("TGUI9400CXi: Clock double=%d.\n", (((svga->miscout >> 2) & 3) | ((tgui->newctrl2 << 2) & 4) | ((tgui->newctrl2 >> 3) & 8)));
|
||||
switch (((svga->miscout >> 2) & 3) | ((tgui->newctrl2 << 2) & 4) | ((tgui->newctrl2 >> 3) & 8)) {
|
||||
|
||||
Reference in New Issue
Block a user