Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/mamedev/mame into ds5002_pes
Browse files Browse the repository at this point in the history
  • Loading branch information
cam900 committed Jan 13, 2025
2 parents a2791b9 + aa0c4f9 commit 96e9bd3
Show file tree
Hide file tree
Showing 33 changed files with 1,425 additions and 232 deletions.
69 changes: 67 additions & 2 deletions hash/amiga_cd.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,60 @@ http://redump.org/discs/system/acd
-->
<softwarelist name="amiga_cd" description="Commodore AmigaCD images">

<!-- !Operating Systems -->

<software name="redhat51" supported="no">
<!-- "for Amiga 68k" -->
<description>Red Hat Linux 5.1</description>
<year>1998</year>
<publisher>Red Hat</publisher>
<notes><![CDATA[
Requires a machine with 68020 (not EC) + FPU + MMU (A3000 or A4000)
]]></notes>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="redhat_5_1_m68k" sha1="d61a967ca60fe1f85dd485ad6b535fa07b5cee8b"/>
</diskarea>
</part>
</software>

<!-- !Games -->

<software name="kangfu" supported="no">
<!-- "CD-32, A1200, A4000" on cover art -->
<software name="bigred" supported="no">
<description>The Big Red Adventure (Europe)</description>
<year>1997</year>
<publisher>Power Computing</publisher>
<notes><![CDATA[
Requires an AGA machine with enough installed Fast RAM on it
[Denise] pitch corruption during intro
[Paula] volume gets incredibly loud during intro (verify)
Not extensively tested
]]></notes>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="big_red_adventure_(1997)(ludomedia-power_computing)[m4]" sha1="4883a7e4418321c649e4df9a66958b51697656fb"/>
</diskarea>
</part>
</software>

<software name="finlodys" supported="no">
<!-- http://redump.org/disc/18527/ -->
<!-- "Peter Spinaze's Final Odyssey" on introduction screen -->
<description>Final Odyssey: Theseus Verses the Minotaur (Europe)</description>
<year>1997</year>
<publisher>Vulcan Software</publisher>
<notes><![CDATA[
Requires an ECS or AGA machine with enough installed Fast RAM on it
]]></notes>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="final_odyssey_-_theseus_verses_the_minotaur_(europe)_(en,de,es,it,no,da,fi)" sha1="db1763b926a90175470871361e02047d0cc457f8"/>
</diskarea>
</part>
</software>

<software name="kangfu" supported="no">
<!-- "CD-32, A1200, A4000" on cover art -->
<description>Kang Fu</description>
<year>1996</year>
<publisher>GREat Effects Development (GREED)</publisher>
Expand Down Expand Up @@ -42,6 +92,21 @@ Not extensively tested, some games known to use ECS or AGA features. (cfr. Bruta
</part>
</software>

<software name="emuplus" supported="no">
<!-- http://redump.org/disc/43683/ -->
<description>Emulators Unlimited Plus (Germany)</description>
<!-- Unknown release date, file datestamps all have unlikely '92 or '78 -->
<!-- Has a tool for Psion Series 3/a (page 6 of Information complete list) so mid-to-late 90s possible -->
<year>1995?</year>
<!-- Epic Marketing? -->
<publisher>&lt;unknown&gt;</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="emulators_unlimited_plus_(germany)_(en,de)" sha1="51ac9436545afdc39def039eeffea69d3f0e110c"/>
</diskarea>
</part>
</software>

<software name="10on10" supported="partial">
<description>Ten on Ten Compilation (Europe)</description>
<year>1995</year>
Expand Down
3 changes: 3 additions & 0 deletions hash/amigaocs_flop.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6395,6 +6395,7 @@ ATK test: C:1 Bad
<year>1992</year>
<publisher>Psygnosis</publisher>
<notes><![CDATA[
Title screen is unresponsive, keeps prompting for "Press Left Mouse Button", [FDC] with adkcon=$3100 (heavy activity)
ATK test: failed
]]></notes>
<part name="flop1" interface="floppy_3_5">
Expand Down Expand Up @@ -16431,6 +16432,8 @@ ATK test: C:0 H:U 1 Sector Bad
<year>1990</year>
<publisher>Rainbow Arts</publisher>
<notes><![CDATA[
Requires audiotape playback to go along with intro (otherwise silent)
TODO: is this a Multi 5 release, where every region got its own language audio?
ATK test: OK
]]></notes>
<part name="flop1" interface="floppy_3_5">
Expand Down
12 changes: 12 additions & 0 deletions scripts/src/formats.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1050,6 +1050,18 @@ if opt_tool(FORMATS, "GUAB_DSK") then
}
end

--------------------------------------------------
--
--@src/lib/formats/h17disk.h,FORMATS["H17D_DSK"] = true
--------------------------------------------------

if opt_tool(FORMATS, "H17D_DSK") then
files {
MAME_DIR.. "src/lib/formats/h17disk.cpp",
MAME_DIR.. "src/lib/formats/h17disk.h",
}
end

--------------------------------------------------
--
--@src/lib/formats/h8_cas.h,FORMATS["H8_CAS"] = true
Expand Down
9 changes: 8 additions & 1 deletion src/devices/bus/heathzenith/h89/h17_fdc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include "emu.h"
#include "h17_fdc.h"

#include "formats/h17disk.h"
#include "imagedev/floppy.h"
#include "machine/s2350.h"

Expand Down Expand Up @@ -63,6 +64,7 @@ class heath_h17_fdc_device : public device_t, public device_h89bus_right_card_in
void ctrl_w(u8 val);
u8 floppy_status_r();

static void floppy_formats(format_registration &fr);
void set_floppy(floppy_image_device *floppy);
void step_w(int state);
void dir_w(int state);
Expand Down Expand Up @@ -340,6 +342,11 @@ TIMER_DEVICE_CALLBACK_MEMBER(heath_h17_fdc_device::tx_timer_cb)
m_s2350->tcp_w();
}

void heath_h17_fdc_device::floppy_formats(format_registration &fr)
{
fr.add(FLOPPY_H17D_FORMAT);
}

void heath_h17_fdc_device::device_add_mconfig(machine_config &config)
{
S2350(config, m_s2350, 0);
Expand All @@ -348,7 +355,7 @@ void heath_h17_fdc_device::device_add_mconfig(machine_config &config)
for (int i = 0; i < MAX_FLOPPY_DRIVES; i++)
{
// TODO -> add (and define) heath hard-sectored floppy formats.
FLOPPY_CONNECTOR(config, m_floppies[i], h17_floppies, "ssdd", floppy_image_device::default_fm_floppy_formats);
FLOPPY_CONNECTOR(config, m_floppies[i], h17_floppies, "ssdd", heath_h17_fdc_device::floppy_formats);
m_floppies[i]->enable_sound(true);
}

Expand Down
17 changes: 15 additions & 2 deletions src/devices/cpu/drcbex64.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -945,8 +945,21 @@ void drcbe_x64::generate(drcuml_block &block, const instruction *instlist, uint3
m_hash.block_begin(block, instlist, numinst);
m_map.block_begin(block);

// compute the base by aligning the cache top to a cache line (assumed to be 64 bytes)
x86code *dst = (x86code *)(uint64_t(m_cache.top() + 63) & ~63);
// compute the base by aligning the cache top to a cache line
auto [err, linesize] = osd_get_cache_line_size();
uintptr_t linemask = 63;
if (err)
{
osd_printf_verbose("Error getting cache line size (%s:%d %s), assuming 64 bytes\n", err.category().name(), err.value(), err.message());
}
else
{
assert(linesize);
linemask = linesize - 1;
for (unsigned shift = 1; linemask & (linemask + 1); ++shift)
linemask |= linemask >> shift;
}
x86code *dst = (x86code *)(uintptr_t(m_cache.top() + linemask) & ~linemask);

CodeHolder ch;
ch.init(Environment::host(), uint64_t(dst));
Expand Down
17 changes: 15 additions & 2 deletions src/devices/cpu/drcbex86.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -840,8 +840,21 @@ void drcbe_x86::generate(drcuml_block &block, const instruction *instlist, uint3
m_hash.block_begin(block, instlist, numinst);
m_map.block_begin(block);

// compute the base by aligning the cache top to a cache line (assumed to be 64 bytes)
x86code *dst = (x86code *)(uint64_t(m_cache.top() + 63) & ~63);
// compute the base by aligning the cache top to a cache line
auto [err, linesize] = osd_get_cache_line_size();
uintptr_t linemask = 63;
if (err)
{
osd_printf_verbose("Error getting cache line size (%s:%d %s), assuming 64 bytes\n", err.category().name(), err.value(), err.message());
}
else
{
assert(linesize);
linemask = linesize - 1;
for (unsigned shift = 1; linemask & (linemask + 1); ++shift)
linemask |= linemask >> shift;
}
x86code *dst = (x86code *)(uintptr_t(m_cache.top() + linemask) & ~linemask);

CodeHolder ch;
ch.init(Environment::host(), uint64_t(dst));
Expand Down
4 changes: 2 additions & 2 deletions src/devices/cpu/m6800/6800ops.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -829,7 +829,7 @@ OP_HANDLER( jmp_ix )
/* $6f CLR indexed -0100 */
OP_HANDLER( clr_ix )
{
INDEXED; WM(EAD,0);
INDEXED; RM(EAD); WM(EAD,0);
CLR_NZVC; SEZ;
}

Expand Down Expand Up @@ -981,7 +981,7 @@ OP_HANDLER( jmp_ex )
/* $7f CLR extended -0100 */
OP_HANDLER( clr_ex )
{
EXTENDED; WM(EAD,0);
EXTENDED; RM(EAD); WM(EAD,0);
CLR_NZVC; SEZ;
}

Expand Down
1 change: 1 addition & 0 deletions src/emu/xtal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,7 @@ const double XTAL::known_xtals[] = {
10'920'000, // 10.92_MHz_XTAL ADDS Viewpoint 60, Viewpoint A2
11'000'000, // 11_MHz_XTAL Mario I8039 sound
11'004'000, // 11.004_MHz_XTAL TI 911 VDT
11'055'000, // 11.055_MHz_XTAL Atari Tank 8
11'059'200, // 11.0592_MHz_XTAL Used with MCS-51 to generate common baud rates
11'200'000, // 11.2_MHz_XTAL New York, New York
11'289'000, // 11.289_MHz_XTAL Vanguard
Expand Down
9 changes: 9 additions & 0 deletions src/lib/formats/all.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,10 @@
#include "guab_dsk.h"
#endif

#ifdef HAS_FORMATS_H17D_DSK
#include "h17disk.h"
#endif

#ifdef HAS_FORMATS_H8_CAS
#include "h8_cas.h"
#endif
Expand Down Expand Up @@ -1530,4 +1534,9 @@ void mame_formats_full_list(mame_formats_enumerator &en)
#ifdef HAS_FORMATS_X07_CAS
en.add(x07_cassette_formats); // x07_cas.h
#endif

en.category("Heath");
#ifdef HAS_FORMATS_H17D_DSK
en.add(FLOPPY_H17D_FORMAT); // h17disk.h
#endif
}
Loading

0 comments on commit 96e9bd3

Please sign in to comment.