Skip to content

Commit

Permalink
5.6.0.0 Supported SAA1099.
Browse files Browse the repository at this point in the history
	Fixed envelope release timing of FxEngine when key off.
        (Preliminary) Supported XGM2 recording and fixed XGM PCM data.
  • Loading branch information
110-kenichi committed Feb 10, 2024
1 parent 96f9f8d commit 914c9c3
Show file tree
Hide file tree
Showing 37 changed files with 6,378 additions and 2,254 deletions.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
MAmidiMEmo 5.5.0.2 Itoken (c)2019, 2024 / GPL-2.0
MAmidiMEmo 5.6.0.0 Itoken (c)2019, 2024 / GPL-2.0

*** What is the MAmidiMEmo? ***

Expand Down Expand Up @@ -274,6 +274,9 @@ e.g.) YM2151 has 8ch FM sounds, so you can play 8 chords on MIDI 1ch or sharing
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=SNQ9JE3JAQMNQ)

*** Changes ***
5.6.0.0 Supported SAA1099.
Fixed envelope release timing of FxEngine when key off.
(Preliminary) Supported XGM2 recording and fixed XGM PCM data.
5.5.0.2 Fixed supporting RF5C68.
5.5.0.0 Supported G.I.M.I.C STIC OPLL, OPN2*, SPSG, SSG, AYPSG.
Supported playing RF5C68 vgm data on MEGA-CD via VGMPlayer.
Expand Down
2 changes: 2 additions & 0 deletions build/projects/windows/mame/vs2017/optional.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<ClInclude Include="..\..\..\..\..\src\devices\sound\gew.h" />
<ClInclude Include="..\..\..\..\..\src\devices\sound\multipcm.h" />
<ClInclude Include="..\..\..\..\..\src\devices\sound\rf5c68.h" />
<ClInclude Include="..\..\..\..\..\src\devices\sound\saa1099.h" />
<ClInclude Include="..\..\..\..\..\src\devices\sound\segapcm.h" />
<ClInclude Include="..\..\..\..\..\src\devices\sound\upd1771.h" />
<ClInclude Include="..\..\..\..\..\src\devices\bus\generic\carts.h" />
Expand Down Expand Up @@ -370,6 +371,7 @@
<ClCompile Include="..\..\..\..\..\src\devices\sound\nes_apu.cpp" />
<ClCompile Include="..\..\..\..\..\src\devices\sound\pokey.cpp" />
<ClCompile Include="..\..\..\..\..\src\devices\sound\rf5c68.cpp" />
<ClCompile Include="..\..\..\..\..\src\devices\sound\saa1099.cpp" />
<ClCompile Include="..\..\..\..\..\src\devices\sound\samples.cpp" />
<ClCompile Include="..\..\..\..\..\src\devices\sound\segapcm.cpp" />
<ClCompile Include="..\..\..\..\..\src\devices\sound\sid.cpp" />
Expand Down
Binary file modified docs/MAmidiMEmo/Manual.pdf
Binary file not shown.
Binary file modified docs/MAmidiMEmo/Manual.pptx
Binary file not shown.
8 changes: 7 additions & 1 deletion src/mame/includes/megadriv.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
#include "sound/ymfm/src/ymfm_opn.h"
#include "sound/ymfm/src/ymfm_opl.h"
#include "sound/ymfm/src/ymfm_opq.h"
#include "sound/saa1099.h"

/* Megadrive Console Specific */
#include "bus/megadrive/md_slot.h"
Expand Down Expand Up @@ -225,10 +226,14 @@ class md_base_state : public driver_device
strcpy(device_names[didx][i], (std::string("rf5c164_") + num).c_str());
m_rf5c68[i] = new optional_device<rf5c164_device>(*this, device_names[didx][i]);
didx++;
//saa1099
strcpy(device_names[didx][i], (std::string("saa1099_") + num).c_str());
m_saa1099[i] = new optional_device<saa1099_device>(*this, device_names[didx][i]);
didx++;
}
}

char device_names[ 32 ][8][100];
char device_names[ 33 ][8][100];
optional_device<ym2151_device> *m_ym2151[8]; //1
optional_device<ymfm_opn2_device> *m_ym2612[8]; //2
optional_device<sn76496_device> *m_sn76496[8]; //3
Expand Down Expand Up @@ -261,6 +266,7 @@ class md_base_state : public driver_device
optional_device<ymfm_opq_device>* m_ymfm_opq[8]; //30
optional_device<multipcm_device>* m_multipcm[8]; //31
optional_device<rf5c164_device>* m_rf5c68[8]; //32
optional_device<saa1099_device>* m_saa1099[8]; //33

required_device<m68000_base_device> m_maincpu;
/*
Expand Down
4 changes: 4 additions & 0 deletions src/mame/machine/megadriv.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1107,6 +1107,10 @@ void md_base_state::md_ntsc(machine_config &config)
RF5C164(config, *m_rf5c68[i], 12500000);
(*m_rf5c68[i])->add_route(0, "lspeaker", 2.00);
(*m_rf5c68[i])->add_route(1, "rspeaker", 2.00);

SAA1099(config, *m_saa1099[i], 8000000);
(*m_saa1099[i])->add_route(0, "lspeaker", 1.00);
(*m_saa1099[i])->add_route(1, "rspeaker", 1.00);
}
}
/*
Expand Down
24 changes: 24 additions & 0 deletions src/mame/mamidimemo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
#include "..\devices\sound\ymfm\src\ymfm_opn.h"
#include "..\devices\sound\ymfm\src\ymfm_opl.h"
#include "..\devices\sound\ymfm\src\ymfm_opq.h"
#include "..\devices\sound\saa1099.h"

#define DllExport extern "C" __declspec (dllexport)

Expand Down Expand Up @@ -2183,4 +2184,27 @@ extern "C"
}
rf5c68_device_devices[unitNumber]->rf5c68_w(address, data);
}

saa1099_device* saa1099_device_devices[8] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL };

DllExport void saa1099_device_write(unsigned int unitNumber, unsigned int address, unsigned char data)
{
if (saa1099_device_devices[unitNumber] == NULL)
{
mame_machine_manager* mmm = mame_machine_manager::instance();
if (mmm == nullptr)
return;
running_machine* rm = mmm->machine();
if (rm == nullptr || rm->phase() == machine_phase::EXIT)
return;

std::string num = std::to_string(unitNumber);
saa1099_device* multipcm = dynamic_cast<saa1099_device*>(rm->device((std::string("saa1099_") + num).c_str()));
if (multipcm == nullptr)
return;

saa1099_device_devices[unitNumber] = multipcm;
}
saa1099_device_devices[unitNumber]->write(address, data);
}
}
Binary file modified src/mamidimemo/Data/Images.pdn
Binary file not shown.
Binary file modified src/mamidimemo/Data/Images.pptx
Binary file not shown.
71 changes: 45 additions & 26 deletions src/mamidimemo/Gui/FormMain.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 914c9c3

Please sign in to comment.