nec/pc88va_v.cpp: hookup TSP Maximum Raster Address (line height per char)

Software list items promoted to working
---------------------------------------
pc88va.xml: Abunai Tengu Densetsu, Crescent Moon Girl, D.P.S - Dream Program System, Pac-Man
This commit is contained in:
angelosa 2025-03-10 20:04:49 +01:00
parent 67a8ba074c
commit 4c14cd4c25
2 changed files with 19 additions and 27 deletions

View File

@ -213,7 +213,6 @@ Incomplete MIF-201 [MIDI] emulation
Has HDFORM.COM utility
JTERM.BAT is for connecting to a PC-VAN or ANSI [terminal]
PCALC.BAT requires [keyboard] PC+V press to bring up
PLAYR.BAT has offset [IDP] text display
SKYBD.BAT wants a radio cassette player and a PC-KD861 color monitor for audio sampling thru OPNA EOS
VIDEO.BAT has various superimpose effects, requires dedicated board
]]></notes>
@ -873,7 +872,6 @@ Has unemulated [MIDI] options
<year>1990</year>
<publisher>マイクロキャビン (Micro Cabin)</publisher>
<notes><![CDATA[
Offset [IDP] text display on setup mode and opening
Optionally wants kana lock enabled for entering a name for new game [keyboard] irq
]]></notes>
<info name="release" value="19901102"/>
@ -947,13 +945,10 @@ Ugly pitch for [OPNA] voice samples on intro
<!-- TODO: move to a shared SW list -->
<!-- TODO: all these .xdf entries wants Disk B as drive A: for 88VA, annoyingly -->
<software name="abunaten" supported="no">
<software name="abunaten" supported="partial">
<description>Abunai Tengu Densetsu</description>
<year>1989</year>
<publisher>アリスソフト (Alicesoft)</publisher>
<notes><![CDATA[
Offset [IDP] display
]]></notes>
<info name="release" value="198910xx"/>
<info name="alt_title" value="あぶない天狗伝説 (or あぶないてんぐ伝説 )"/>
@ -979,13 +974,10 @@ Offset [IDP] display
</part>
</software>
<software name="cresmoon" supported="no">
<software name="cresmoon" supported="partial">
<description>Crescent Moon Girl</description>
<year>1989</year>
<publisher>アリスソフト (Alicesoft)</publisher>
<notes><![CDATA[
Offset [IDP] display
]]></notes>
<info name="release" value="198908xx"/>
<info name="alt_title" value="クレセントムーンがぁる"/>
<info name="usage" value="Mount Disk B in drive A to boot" />
@ -1012,13 +1004,10 @@ Offset [IDP] display
</part>
</software>
<software name="dps" supported="no">
<software name="dps" supported="partial">
<description>D.P.S - Dream Program System</description>
<year>1989</year>
<publisher>アリスソフト (Alicesoft)</publisher>
<notes><![CDATA[
Offset [IDP] display
]]></notes>
<info name="release" value="198912xx"/>
<info name="alt_title" value="ディー・ピー・エス - ドリームプログラムシステム"/>
@ -1153,8 +1142,7 @@ Offset [IDP] display
<year>1989</year>
<publisher>アリスソフト (Alicesoft)</publisher>
<notes><![CDATA[
Throws "ERR=7 8550, Break in 60050" when after prologue
Offset [IDP] text display
Throws "ERR=7 8550, Break in 60050" after prologue
]]></notes>
<info name="release" value="198907xx"/>
<info name="alt_title" value="ランス 光を求めて"/>
@ -1319,12 +1307,12 @@ Needs [OFX/OFY] on gameplay
</part>
</software>
<software name="pacman" supported="no">
<software name="pacman" supported="partial">
<description>Pac-Man</description>
<year>19??</year>
<publisher>&lt;doujin&gt;</publisher>
<notes><![CDATA[
[SGP] and [ROP] issues on gameplay
[SGP] start_dot hookup shifts lives counter
]]></notes>
<info name="developer" value="Shinra" />
<info name="usage" value="Boot a PC-Engine OS disk, then swap with this disk and type BASIC PACMAN.BAS to load" />
@ -1336,12 +1324,12 @@ Needs [OFX/OFY] on gameplay
</software>
<!-- autobootable version of above, with PC-Engine OS embedded -->
<software name="pacmana" cloneof="pacman" supported="no">
<software name="pacmana" cloneof="pacman" supported="partial">
<description>Pac-Man (auto-bootable)</description>
<year>19??</year>
<publisher>&lt;doujin&gt;</publisher>
<notes><![CDATA[
[SGP] and [ROP] issues on gameplay
[SGP] start_dot hookup shifts lives counter
]]></notes>
<info name="developer" value="Shinra" />
<part name="flop1" interface="floppy_5_25">
@ -1356,7 +1344,7 @@ Needs [OFX/OFY] on gameplay
<year>1992</year>
<publisher>&lt;doujin&gt;</publisher>
<notes><![CDATA[
Broken Upyolic logo [ROP]
Broken Upyolic logo, needs [gfx] DSA hooked up for double buffering
Needs joystick in otherwise it loops on title screen
Gameplay don't mask bullets on right side, [cliprect]
]]></notes>
@ -1376,7 +1364,7 @@ Gameplay don't mask bullets on right side, [cliprect]
<year>2023</year>
<publisher>Inufuto</publisher>
<notes><![CDATA[
[gfx] Requires fractional scrolling (horizontal)
[gfx] Requires fractional DOT scrolling (horizontal)
[gfx] Should require primask for right panel score display
https://youtu.be/7ltdrUPz91w
]]></notes>

View File

@ -442,20 +442,24 @@ void pc88va_state::draw_text(bitmap_rgb32 &bitmap, const rectangle &cliprect)
rectangle split_cliprect(rxp, rxp + rw - 1, ryp, ryp + rh - 1);
split_cliprect &= cliprect;
const int line_height = m_tsp.line_height;
if (line_height < 8)
continue;
for(int y = 0; y < vh; y++)
{
int y_base = y * 16 + ryp - raster_offset;
int y_base = y * line_height + ryp - raster_offset;
// TODO: consult with OG
if (!split_cliprect.contains(rxp, y_base) &&
!split_cliprect.contains(rxp, y_base + 16))
!split_cliprect.contains(rxp, y_base + line_height))
continue;
for(int x = 0; x < vw; x++)
{
int x_base = x * 8;
if (!split_cliprect.contains(x_base, y_base) &&
!split_cliprect.contains(x_base, y_base + 16))
!split_cliprect.contains(x_base, y_base + line_height))
continue;
// TODO: understand where VSA comes into equation
@ -1310,7 +1314,7 @@ void pc88va_state::execute_dspdef_cmd()
m_tsp.blink = (m_buf_ram[5] & 0xf8);
if (m_tsp.blink == 0)
m_tsp.blink = 0x100;
LOGIDP("DSPDEF (%02x %02x %02x %02x %02x %02x) %05x ATTR | %02x pitch | %02x line height| %02x hline | %d blink rate\n"
LOGIDP("DSPDEF (%02x %02x %02x %02x %02x %02x) %05x ATTR | %d pitch | %d line height| %d hline | %d blink rate\n"
, m_buf_ram[0], m_buf_ram[1], m_buf_ram[2], m_buf_ram[3], m_buf_ram[4], m_buf_ram[5]
, m_tsp.attr_offset | 0x40000
, m_tsp.pitch