-misc/paracaidista.cpp: Fixed a really gross buffer overrun causing memory corruption.

-hash: Removed empty info elements.
This commit is contained in:
Vas Crabb 2025-04-01 06:47:57 +11:00
parent afd4012107
commit 4e80f6e0d9
7 changed files with 23 additions and 100 deletions

View File

@ -5,16 +5,15 @@ license:CC0-1.0
-->
<softwarelist name="apple2_cass" description="Apple II cassettes">
<!-- To enter BASIC after powering on:
AppleII : Type Ctrl-B (nothing shows) and press <Enter>
AppleIIe : Press Ctrl-F12
<!-- To enter Basic after powering on:
AppleII : Type Ctrl-B (nothing shows) and press <Enter>
AppleIIe : Press Ctrl-F12
To load and run a tape:
1. Set up the machine for the type of tape: Monitor "*", Integer BASIC ">", or Applesoft BASIC "]".
2. Enter the address information or type LOAD for BASIC programs but do not press <Return>.
3. Play the tape, wait for the leader sound then press <Return>.
4. Enter the address information or type RUN for BASIC programs and press <Return> to run the program. -->
To load and run a tape:
1. Set up the machine for the type of tape: Monitor "*", Integer BASIC ">", or Applesoft BASIC "]".
2. Enter the address information or type LOAD for BASIC programs but do not press <Return>.
3. Play the tape, wait for the leader sound then press <Return>.
4. Enter the address information or type RUN for BASIC programs and press <Return> to run the program. -->
<software name="3dartgra">
<description>3D Art Graphics</description>

View File

@ -37303,7 +37303,6 @@ Please stick to using the floppy versions for the time being...
<description>Thunderbirds (UK, audio tape)</description>
<year>1989</year>
<publisher>Grandslam</publisher>
<info name="usage" value="" />
<part name="cass1" interface="cpc_cass">
<dataarea name="cass" size="4857121">
<rom name="thunderbirds (uk) (1988) (audio tape) [original] [tape].mp3" size="4857121" crc="b91dadfd" sha1="4f1fdcc50fd8ab7db06caf850d2c939880af6e02"/>

View File

@ -16939,7 +16939,6 @@ Optional [AMD-98] support, no sound (uses PIT registers)
Slightly too fast for VM class
]]></notes>
<info name="alt_title" value="ドアドア" />
<info name="release" value="" />
<info name="usage" value="Needs floppy 2DD density select dip enabled" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="697008">
@ -32201,7 +32200,6 @@ Cannot detect sound card on VM class (verify)
<year>1987</year>
<publisher>シンキングラビット (Thinking Rabbit)</publisher>
<info name="alt_title" value="ザ マン アイ ラブ" />
<info name="release" value="" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="820592">
<rom name="the_man.d88" size="820592" crc="75417feb" sha1="1939995bc0fbef0ab8de7caea360fdfa1ec345e4" offset="0" />
@ -33980,7 +33978,6 @@ Verify blinking on ranking screen
<year>1992</year>
<publisher>カクテル・ソフト (Cocktail Soft)</publisher>
<info name="alt_title" value="美姫" />
<info name="release" value="" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1265664">
<rom name="miki.fdi" size="1265664" crc="2eb3c709" sha1="6d6101e31e89f68c1a1ef491e6eb7644bb361e45" offset="0" />
@ -38442,7 +38439,6 @@ Requires [kanji] board, currently missing from vanilla class (use VM)
<year>1990</year>
<publisher>イマジニア (Imagineer)</publisher>
<info name="alt_title" value="ポピュラス2 エキスパート ~ Populous II Expert" />
<info name="release" value="" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1281968">
@ -44831,7 +44827,6 @@ Enables [FDC] XTMASK irq
<year>1988</year>
<publisher>日本ファルコム (Nihon Falcom)</publisher>
<info name="alt_title" value="ソーサリアン 追加シナリオ " />
<info name="release" value="" />
<info name="usage" value="Requires &quot;Sorcerian&quot; to work" />
<info name="datadisk" value="sorcer" />
<part name="flop1" interface="floppy_5_25">
@ -47803,7 +47798,6 @@ Requires a VM class machine, runs too fast on RS and beyond
<year>198?</year>
<publisher>パンサーソフトウェア (Panther Software)</publisher>
<info name="alt_title" value="天九牌スペシャル 桃源の宴" />
<info name="release" value="" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1265664">
<rom name="tien gow pai special - tougen no utage.fdi" size="1265664" crc="64c28d58" sha1="c5385d4d9e2c489f8945b6abc631eb2989964459" offset="0" />
@ -52290,7 +52284,6 @@ doesn't boot when converted to d88 (2DD)
<year>1992?</year>
<publisher>グレイト (Great)</publisher>
<info name="alt_title" value="レッスルエンジェルス おまけDISK" />
<info name="release" value="" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk A"/>
<dataarea name="flop" size="1265664">
@ -52304,7 +52297,6 @@ doesn't boot when converted to d88 (2DD)
<year>1992?</year>
<publisher>グレイト (Great)</publisher>
<info name="alt_title" value="レッスルエンジェルス おまけDISK" />
<info name="release" value="" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk A"/>
<dataarea name="flop" size="1281968">

View File

@ -53529,7 +53529,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>1997?</year>
<publisher>Koei</publisher>
<info name="serial" value="SCPS-45128" />
<info name="release" value="" />
<info name="alt_title" value="三国志5"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -54398,7 +54397,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>2000?</year>
<publisher>SCEI</publisher>
<info name="serial" value="SCPS-45510" />
<info name="release" value="" />
<info name="alt_title" value="射雕英雄传"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -56949,8 +56947,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>2000</year>
<publisher>Aspect</publisher>
<info name="serial" value="SLPM-80527" />
<info name="release" value="" />
<info name="alt_title" value=""/>
<info name="usage" value="This disc contains additional EVS tracks for Tokimeki Memorial 2"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -56971,8 +56967,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>2000</year>
<publisher>Aspect</publisher>
<info name="serial" value="SLPM-80544" />
<info name="release" value="" />
<info name="alt_title" value=""/>
<info name="usage" value="This disc contains additional EVS tracks for Tokimeki Memorial 2"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -56994,8 +56988,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>2000</year>
<publisher>Enterbrain</publisher>
<info name="serial" value="SLPM-80550" />
<info name="release" value="" />
<info name="alt_title" value=""/>
<info name="usage" value="This disc contains additional EVS tracks for Tokimeki Memorial 2"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -59440,7 +59432,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>199?</year>
<publisher>Squaresoft</publisher>
<info name="serial" value="SLPM-80073" />
<info name="release" value="" />
<info name="alt_title" value="ファイナルファンタジー エクストラコレクション"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -59461,7 +59452,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>199?</year>
<publisher>Squaresoft</publisher>
<info name="serial" value="SLPM-80556" />
<info name="release" value="" />
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
@ -59481,7 +59471,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>199?</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value="PAPX-90052" />
<info name="release" value="" />
<info name="alt_title" value="ラララ プレイステーション"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -59502,7 +59491,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>1997</year>
<publisher>From Software</publisher>
<info name="serial" value="SLPM-80118" />
<info name="release" value="" />
<info name="alt_title" value="装甲核心 - 体验版"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -59523,7 +59511,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>1996</year>
<publisher>Human</publisher>
<info name="serial" value="SLPM-80063" />
<info name="release" value="" />
<info name="alt_title" value="クロックタワー2体験版"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -59544,7 +59531,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>1997</year>
<publisher>SCEI</publisher>
<info name="serial" value="PCPX-96087" />
<info name="release" value="" />
<info name="alt_title" value="グランストリーム伝紀 体験版"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -59565,7 +59551,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>199?</year>
<publisher>SNK</publisher>
<info name="serial" value="SLPM-80490" />
<info name="release" value="" />
<info name="alt_title" value="KOUDELKA クーデルカ 体験版"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -59586,7 +59571,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>1998</year>
<publisher>SCEI</publisher>
<info name="serial" value="PAPX-90055" />
<info name="release" value="" />
<info name="alt_title" value="レガイア伝説"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -59607,7 +59591,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>200?</year>
<publisher>SCEI</publisher>
<info name="serial" value="SLPM-80522" />
<info name="release" value="" />
<info name="alt_title" value="レスキューショットブービーぼー&amp;バイオハザードガンサバイバー ガンコン"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -59647,7 +59630,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<year>199?</year>
<publisher>Genki</publisher>
<info name="serial" value="SLPM-80325" />
<info name="release" value="" />
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">

View File

@ -10439,7 +10439,6 @@ Sega logo animation draws offset [VDP2]
<year>1997</year>
<publisher>Spike</publisher>
<info name="serial" value="610-6762"/>
<info name="release" value=""/>
<info name="alt_title" value="DJウォーズ 体験版"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -13544,7 +13543,6 @@ Sega logo animation draws offset [VDP2]
<year>1997</year>
<publisher>Imagineer</publisher>
<info name="serial" value="610-6503"/>
<info name="release" value=""/>
<info name="alt_title" value="首都高バトル'97 見本品"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -13639,7 +13637,6 @@ Sega logo animation draws offset [VDP2]
<year>1996</year>
<publisher>ASCII</publisher>
<info name="serial" value="610-6360-02"/>
<info name="release" value=""/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
@ -13820,7 +13817,6 @@ Sega logo animation draws offset [VDP2]
<year>1997</year>
<publisher>Hudson</publisher>
<info name="serial" value="610-6484"/>
<info name="release" value=""/>
<info name="alt_title" value="天外魔境 第四の黙示録 非売品"/>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
@ -14869,9 +14865,6 @@ Sega logo animation draws offset [VDP2]
<description>Advanced VG (Genteiban) (T-32506G)</description>
<year>199?</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value=""/>
<info name="release" value=""/>
<info name="alt_title" value=""/>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="advanced vg (genteiban) (t-32506g)" sha1="41e81a75e402224630d2fb82ba4621351139ddae" />
@ -16330,9 +16323,6 @@ Sega logo animation draws offset [VDP2]
<description>Deep Fear Disc 1 (GS-9189)</description>
<year>199?</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value=""/>
<info name="release" value=""/>
<info name="alt_title" value=""/>
= deep fear (disc 1 of 2) (jap) (dw0638) sat_jp:deepfear02 Deep Fear (Disc 1 of 2) (JAP) (DW0638)
= deep fear (disc 1 of 2) (jap) (dw0638) sat_jp:deepfear02 Deep Fear (Disc 1 of 2) (JAP) (DW0638)
= deep fear (disc 1 of 2) (jap) (dw0638) sat_jp:deepfear02 Deep Fear (Disc 1 of 2) (JAP) (DW0638)
@ -16343,9 +16333,6 @@ Sega logo animation draws offset [VDP2]
<description>Deep Fear Disc 2 (GS-9189)</description>
<year>199?</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value=""/>
<info name="release" value=""/>
<info name="alt_title" value=""/>
= deep fear (disc 2 of 2) (jap) (dw0638) sat_jp:deepfear03 Deep Fear (Disc 2 of 2) (JAP) (DW0638)
= deep fear (disc 2 of 2) (jap) (dw0638) sat_jp:deepfear03 Deep Fear (Disc 2 of 2) (JAP) (DW0638)
= deep fear (disc 2 of 2) (jap) (dw0638) sat_jp:deepfear03 Deep Fear (Disc 2 of 2) (JAP) (DW0638)
@ -17461,9 +17448,6 @@ Sega logo animation draws offset [VDP2]
<description>Game Basic For Sega Saturn PC CD-ROM (T-2111G)</description>
<year>199?</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value=""/>
<info name="release" value=""/>
<info name="alt_title" value=""/>
= game basic for segasaturn (japan) (windows cd) sat_jp:gamebasi Game Basic for SegaSaturn (Japan) (Windows CD)
= game basic for segasaturn (japan) (windows cd) sat_jp:gamebasi Game Basic for SegaSaturn (Japan) (Windows CD)
= game basic for segasaturn (japan) (windows cd) sat_jp:gamebasi Game Basic for SegaSaturn (Japan) (Windows CD)
@ -18599,9 +18583,6 @@ Sega logo animation draws offset [VDP2]
<description>Kidou Senshi Gundam Gaiden I - Senritsu no Blue (T-13307G)</description>
<year>199?</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value=""/>
<info name="release" value=""/>
<info name="alt_title" value=""/>
= kidou senshi gundam gaiden i senritsu no blue (jap) (dw0636) sat_jp:kidousen05 Kidou Senshi Gundam Gaiden I Senritsu no Blue (JAP) (DW0636)
= kidou senshi gundam gaiden i senritsu no blue (jap) (dw0636) sat_jp:kidousen05 Kidou Senshi Gundam Gaiden I Senritsu no Blue (JAP) (DW0636)
= kidou senshi gundam gaiden i senritsu no blue (jap) (dw0636) sat_jp:kidousen05 Kidou Senshi Gundam Gaiden I Senritsu no Blue (JAP) (DW0636)
@ -20622,9 +20603,6 @@ Sega logo animation draws offset [VDP2]
<description>Strikers 1945 (T-14407G)</description>
<year>199?</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value=""/>
<info name="release" value=""/>
<info name="alt_title" value=""/>
= strikers 1945 (jap) (dw0178) sat_jp:strikersa Strikers 1945 (JAP) (DW0178)
= strikers 1945 (jap) (dw0178) sat_jp:strikersa Strikers 1945 (JAP) (DW0178)
= strikers 1945 (jap) (dw0178) sat_jp:strikersa Strikers 1945 (JAP) (DW0178)
@ -20920,9 +20898,6 @@ Sega logo animation draws offset [VDP2]
<description>Tengai Makyou Dai Yon no Mokujiroku - The Apocalypse IV Disc 1 (T-14301G)</description>
<year>199?</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value=""/>
<info name="release" value=""/>
<info name="alt_title" value=""/>
= tengai makyou dai - the apocalypse iv (disc 1 of 2) (jap) (dw0262) sat_jp:tengaima03 Tengai Makyou Dai - The Apocalypse IV (Disc 1 of 2) (JAP) (DW0262)
= tengai makyou dai - the apocalypse iv (disc 1 of 2) (jap) (dw0262) sat_jp:tengaima03 Tengai Makyou Dai - The Apocalypse IV (Disc 1 of 2) (JAP) (DW0262)
= tengai makyou dai - the apocalypse iv (disc 1 of 2) (jap) (dw0262) sat_jp:tengaima03 Tengai Makyou Dai - The Apocalypse IV (Disc 1 of 2) (JAP) (DW0262)
@ -20933,9 +20908,6 @@ Sega logo animation draws offset [VDP2]
<description>Tengai Makyou Dai Yon no Mokujiroku - The Apocalypse IV Disc 2 (T-14301G)</description>
<year>199?</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value=""/>
<info name="release" value=""/>
<info name="alt_title" value=""/>
= tengai makyou dai - the apocalypse iv (disc 2 of 2) (jap) (dw0262) sat_jp:tengaima04 Tengai Makyou Dai - The Apocalypse IV (Disc 2 of 2) (JAP) (DW0262)
= tengai makyou dai - the apocalypse iv (disc 2 of 2) (jap) (dw0262) sat_jp:tengaima04 Tengai Makyou Dai - The Apocalypse IV (Disc 2 of 2) (JAP) (DW0262)
= tengai makyou dai - the apocalypse iv (disc 2 of 2) (jap) (dw0262) sat_jp:tengaima04 Tengai Makyou Dai - The Apocalypse IV (Disc 2 of 2) (JAP) (DW0262)
@ -21092,9 +21064,6 @@ Sega logo animation draws offset [VDP2]
<description>The King of Fighters '95 (T-3101G)</description>
<year>199?</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value=""/>
<info name="release" value=""/>
<info name="alt_title" value=""/>
= king of fighters '95, the (jap) (dw0289) sat_jp:kof95a King of Fighters '95, The (JAP) (DW0289)
= king of fighters '95, the (jap) (dw0289) sat_jp:kof95a King of Fighters '95, The (JAP) (DW0289)
= king of fighters '95, the (jap) (dw0289) sat_jp:kof95a King of Fighters '95, The (JAP) (DW0289)
@ -23796,9 +23765,6 @@ Sega logo animation draws offset [VDP2]
<description>Mobile Suit Gundam - Gihrens Greed (Jpn) (T-13330G)</description>
<year>199?</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value=""/>
<info name="release" value=""/>
<info name="alt_title" value=""/>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="mobile suit gundam gihrens greed (j) (t-13330g)" sha1="f73d0d35b758eb90cd60a6f2f36cf51c003a6f2c" />

View File

@ -5783,7 +5783,6 @@ more investigation needed...
<description>Estpolis Denki II (Japan, prototype)</description>
<year>1994</year>
<publisher>Taito</publisher>
<info name="serial" value="" />
<info name="release" value="199403xx" /> <!- - based on some chips date stamp - ->
<info name="alt_title" value="¨エストポリス伝記II" />
<part name="cart" interface="snes_cart">
@ -7996,7 +7995,6 @@ more investigation needed...
<year>1993</year>
<publisher>Konami</publisher>
<info name="serial" value="SNSP-BJ-NOE" />
<info name="release" value="" />
<sharedfeat name="compatibility" value="PAL" />
<part name="cart" interface="snes_cart">
<feature name="pcb" value="SHVC-1A0N-10" />
@ -16963,7 +16961,6 @@ more investigation needed...
<year>1994</year>
<publisher>Virgin Interactive</publisher>
<info name="serial" value="SNSP-7K-EUR" />
<info name="release" value="" />
<part name="cart" interface="snes_cart">
<feature name="pcb" value="SHVC-1A0N-30" />
<feature name="u1" value="U1 MASK ROM" />
@ -18538,7 +18535,6 @@ more investigation needed...
<year>1994</year>
<publisher>Electronic Arts</publisher>
<info name="serial" value="SNSP-ANLP-NOE" />
<info name="release" value="" />
<part name="cart" interface="snes_cart">
<feature name="pcb" value="SHVC-1J3M-11" />
<feature name="u1" value="U1 MASK ROM(N)" />
@ -31052,7 +31048,6 @@ Alternate board (XL-1)
<year>1998</year>
<publisher>T*HQ</publisher>
<info name="serial" value="SNSP-AJ9P-EUR" />
<info name="release" value="" />
<part name="cart" interface="snes_cart">
<feature name="pcb" value="SHVC-1J0N-20" />
<feature name="u1" value="U1 MASKROM" />
@ -31946,7 +31941,6 @@ Alternate board (XL-1)
<year>1993</year>
<publisher>Hudson</publisher>
<info name="serial" value="SNSP-VX-NOE" />
<info name="release" value="" />
<part name="cart" interface="snes_cart">
<feature name="pcb" value="SHVC-1A1M-10" />
<feature name="u1" value="U1 MASK ROM(N)" />
@ -33582,7 +33576,6 @@ Alternate board (XL-1)
<description>FIFA - A Caminho Da Copa 98 (Brazil)</description>
<year>1997</year>
<publisher>Gradiente Entertainment Ltda.</publisher>
<info name="serial" value="" />
<part name="cart" interface="snes_cart">
<feature name="pcb" value="EA-1A3M-30/P10019" />
<feature name="u1" value="U1 MASK ROM(N)" />
@ -34663,7 +34656,6 @@ Alternate board (XL-1)
<year>1993</year>
<publisher>LJN</publisher>
<info name="serial" value="SNSP-WU-FAH-1" />
<info name="release" value="" />
<part name="cart" interface="snes_cart">
<feature name="pcb" value="SHVC-2A0N-01" />
<feature name="u1" value="U1 P0" />

View File

@ -59,13 +59,13 @@ namespace {
class paracaidista_state : public driver_device
{
public:
paracaidista_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_ppi8155(*this, "i8155"),
m_screen(*this, "screen"),
m_palette(*this, "palette"),
m_vram(*this, "vram")
paracaidista_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_ppi8155(*this, "i8155"),
m_screen(*this, "screen"),
m_palette(*this, "palette"),
m_vram(*this, "vram")
{ }
@ -95,24 +95,17 @@ private:
uint32_t paracaidista_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
constexpr int SCREEN_HEIGHT = 208;
constexpr int SCREEN_WIDTH = 224;
constexpr int BITS_PER_BYTE = 8;
for (int y = 0; y < SCREEN_HEIGHT; y++)
for (int y = cliprect.top(); y <= cliprect.bottom(); y++)
{
const int y_offset = y << 5; // pre-calculate row offset (y * 32)
for (int x = 0; x < SCREEN_WIDTH; x++)
auto const *const src = &m_vram[y << 5];
auto *const dst = &bitmap.pix(y);
for (int x = cliprect.left() / 8; x <= (cliprect.right() / 8); x++)
{
const u8 pixel_data = m_vram[y_offset | x]; // combine with x offset
const u8 pixel_data = src[x];
// unpack 8 pixels from the byte
for (int bit = 0; bit < BITS_PER_BYTE; bit++)
{
const int screen_x = (x << 3) | (7 - bit); // x*8 + reversed bit order
bitmap.pix(y, screen_x) = (pixel_data >> bit) & 1;
}
for (int bit = 0; bit < 8; bit++)
dst[(x << 3) | bit] = BIT(pixel_data, bit ^ 7);
}
}
return 0;
@ -261,7 +254,7 @@ ROM_START( paraca )
ROM_END
} // Anonymous namespace
} // anonymous namespace
/*********************************************