Previous 199869 Revisions Next

r175747 Saturday 15th May, 2021 at 01:33:49 UTC by Aaron Giles
ymfm: Refactor new FM engine into a 3rdparty library (#8046)

ymfm: refactor the code into a separate 3rdparty library
* Moved ymfm core implementation to 3rdparty/ymfm
* Split out each family (OPM/OPN/OPL/etc) into its own source file
* Added preliminary OPQ and OPZ support, still WIP
* Put all 3rdparty code into its own namespace ymfm
* Fixed various bugs reported in #8042
* Created interface class for communication between the 3rdparty engine and the emulator
* Standardized MAME implementation of all Yamaha devices based on a template class
* Created standard base class ym_generic that can be used when multiple YM chips are swapped in
* Changed YM2203/2608/2610 to embed a YM2149 as a subdevice instead of deriving from ay8910_device
* Also provided compile-time option to use a simplified built-in SSG rather than using MAME's at all (currently off)
* Consolidated MAME header files from one-per-chip (ym2151.h, ym2203.h, etc) to one-per-family (ymopm.h, ymopn.h, etc)
[/branches/pc98_state/3rdparty/ymfm].editorconfig* .gitignore* GeneralInfo.md* LICENSE* README.md*
[/branches/pc98_state/3rdparty/ymfm/examples/vgmrender].gitignore* em_inflate.cpp* em_inflate.h* vgmrender.cpp*
[/branches/pc98_state/3rdparty/ymfm/src]ymfm.h* ymfm_adpcm.cpp* ymfm_adpcm.h* ymfm_fm.h* ymfm_fm.ipp* ymfm_opl.cpp* ymfm_opl.h* ymfm_opm.cpp* ymfm_opm.h* ymfm_opn.cpp* ymfm_opn.h* ymfm_opq.cpp* ymfm_opq.h* ymfm_opz.cpp* ymfm_opz.h* ymfm_ssg.cpp* ymfm_ssg.h*
[/branches/pc98_state/scripts]genie.lua
[/branches/pc98_state/scripts/src]3rdparty.lua main.lua sound.lua
[/branches/pc98_state/scripts/target/mame]mess.lua virtual.lua
[/branches/pc98_state/src/devices/bus/a7800]xboard.h
[/branches/pc98_state/src/devices/bus/bbc/1mhzbus]beebopl.h
[/branches/pc98_state/src/devices/bus/c64]sfx_sound_expander.h
[/branches/pc98_state/src/devices/bus/cbus]pc9801_118.cpp pc9801_118.h pc9801_26.cpp pc9801_26.h pc9801_86.h
[/branches/pc98_state/src/devices/bus/isa]adlib.h ibm_mfc.cpp ibm_mfc.h sb16.h sblaster.cpp sblaster.h stereo_fx.h
[/branches/pc98_state/src/devices/bus/msx_cart]fmpac.h msx_audio.h yamaha.cpp yamaha.h
[/branches/pc98_state/src/devices/bus/msx_slot]music.h
[/branches/pc98_state/src/devices/bus/nes]konami.h
[/branches/pc98_state/src/devices/bus/sg1000_exp]fm_unit.h
[/branches/pc98_state/src/devices/sound]ay8910.cpp y8950.cpp y8950.h ym2151.cpp ym2151.h ym2203.cpp ym2203.h ym2413.cpp ym2413.h ym2608.cpp ym2608.h ym2610.cpp ym2610.h ym2612.cpp ym2612.h ym3526.cpp ym3526.h ym3812.cpp ym3812.h ymadpcm.cpp ymadpcm.h ymf262.cpp ymf262.h ymf278b.cpp ymf278b.h ymfm.cpp ymfm.h ymfm_mame.h* ymopl.cpp* ymopl.h* ymopm.cpp* ymopm.h* ymopn.cpp* ymopn.h* ymopq.cpp* ymopq.h* ymopz.cpp* ymopz.h*
[/branches/pc98_state/src/mame/audio]atarijsa.h leland.h nichisnd.h pinsnd88.h s11c_bg.h segam1audio.h t5182.h williams.cpp williams.h wpcsnd.h
[/branches/pc98_state/src/mame/drivers]1943.cpp 2mindril.cpp 88games.cpp actfancr.cpp aerofgt.cpp airbustr.cpp airraid.cpp ajax.cpp aliens.cpp alpha68k_n.cpp amaticmg.cpp anes.cpp angelkds.cpp aquarium.cpp argus.cpp armedf.cpp ashnojoe.cpp asterix.cpp asuka.cpp atarisy1.cpp battlane.cpp battlera.cpp battlnts.cpp bbusters.cpp bebox.cpp bfcobra.cpp bfm_sc2.cpp bigkarnk_ms.cpp bingoc.cpp bingowav.cpp bionicc.cpp bladestl.cpp blktiger.cpp blktiger_ms.cpp blockhl.cpp blockout.cpp bloodbro_ms.cpp bmcbowl.cpp bmcpokr.cpp bml3.cpp boogwing.cpp brkthru.cpp bublbobl.cpp cabal.cpp cabaret.cpp capbowl.cpp capr1.cpp cave.cpp cbasebal.cpp cbuster.cpp cgang.cpp chanbara.cpp changyu.cpp chinagat.cpp chinsan.cpp chqflag.cpp cischeat.cpp citycon.cpp cninja.cpp cointek.cpp combatsc.cpp commando.cpp compgolf.cpp contra.cpp cop01.cpp cps1.cpp cps1bl_5205.cpp cpzodiac.cpp crimfght.cpp crospang.cpp crshrace.cpp cybertnk.cpp cyclemb.cpp d9final.cpp darius.cpp darkseal.cpp dassault.cpp dblewing.cpp dbz.cpp dcon.cpp ddealer.cpp ddenlovr.cpp ddragon.cpp ddragon3.cpp ddribble.cpp de_2.cpp deadang.cpp dec0.cpp dec8.cpp deniam.cpp dfruit.cpp dietgo.cpp discoboy.cpp djboy.cpp dooyong.cpp dunhuang.cpp dynax.cpp dynduke.cpp esd16.cpp exprraid.cpp exzisus.cpp f-32.cpp f1gp.cpp fantland.cpp fb01.cpp fcrash.cpp ffantasy_ms.cpp firetrap.cpp flkatck.cpp fm7.cpp fresh.cpp fromanc2.cpp fromance.cpp funkyjet.cpp fuukifg2.cpp gaelco.cpp gaiden.cpp galivan.cpp galpanic_ms.cpp galspnbl.cpp gauntlet.cpp ginganin.cpp gladiatr.cpp gluck2.cpp goal92.cpp goindol.cpp gokidetor.cpp goodejan.cpp goori.cpp gotcha.cpp gradius3.cpp gsspade.cpp gstriker.cpp gundealr.cpp gunsmoke.cpp hcastle.cpp heromem.cpp himesiki.cpp hnayayoi.cpp homerun.cpp hshavoc.cpp hvyunit.cpp hyprduel.cpp ichiban.cpp igs009.cpp igs011.cpp igs017.cpp igspoker.cpp inufuku.cpp iqblock.cpp ironhors.cpp itech8.cpp jackal.cpp jackie.cpp jackpot.cpp joystand.cpp karnov.cpp kingdrby.cpp koftball.cpp korgds8.cpp korgz3.cpp labyrunr.cpp lastbank.cpp lastduel.cpp legionna.cpp lemmings.cpp lkage.cpp lockon.cpp lordgun.cpp lsasquad.cpp lwings.cpp m107.cpp m72.cpp m90.cpp m92.cpp madmotor.cpp mainevt.cpp matmania.cpp max80.cpp maygayv1.cpp mcatadv.cpp mechatt.cpp megasys1.cpp megatech.cpp mephistp.cpp metlclsh.cpp metro.cpp micro3d.cpp missb2.cpp mitchell.cpp mlanding.cpp model2.cpp momoko.cpp moo.cpp mosaic.cpp mpu4vid.cpp mugsmash.cpp multi8.cpp namcos1.cpp namcos2.cpp namcos21.cpp namcos21_c67.cpp namcos21_de.cpp namcos86.cpp nbmj8688.cpp nbmj8891.cpp nbmj8900.cpp nbmj8991.cpp nbmj9195.cpp nemesis.cpp neoprint.cpp nightgal.cpp ninjakd2.cpp ninjaw.cpp nmg5.cpp nmk16.cpp oneshot.cpp onetwo.cpp opwolf.cpp othunder.cpp overdriv.cpp parodius.cpp pass.cpp pcktgal.cpp pipedrm.cpp pipeline.cpp pkscram.cpp pokechmp.cpp popobear.cpp powerins.cpp ppmast93.cpp prehisle.cpp psikyo.cpp psrockman.cpp psychic5.cpp puckpkmn.cpp quizdna.cpp quizpun2.cpp r2dx_v33.cpp raiden.cpp raiden2.cpp raiden_ms.cpp rastan.cpp rbisland.cpp rbmk.cpp realbrk.cpp relief.cpp renegade.cpp rockrage.cpp rohga.cpp rollerg.cpp rpunch.cpp sandscrp.cpp sangho.cpp sauro.cpp sbmjb.cpp scotrsht.cpp segac2.cpp segacoin.cpp segahang.cpp segajw.cpp segam1.cpp segaorun.cpp segas18.cpp segas24.cpp segas32.cpp segaufo.cpp segaxbd.cpp segaybd.cpp sengokmj.cpp seta.cpp sf.cpp sfkick.cpp shadfrce.cpp shangha3.cpp shanghai.cpp shisen.cpp shootout.cpp sidearms.cpp sidepckt.cpp sigmab31.cpp sigmab52.cpp silkroad.cpp silvmil.cpp simpsons.cpp skyfox.cpp slapshot.cpp smotor.cpp snk.cpp snk68.cpp snowbros.cpp sothello.cpp spbactn.cpp spdheat.cpp spdodgeb.cpp speedbal.cpp splash.cpp splash_ms.cpp spoker.cpp spy.cpp srumbler.cpp sshangha.cpp stadhero.cpp stfight.cpp subsino.cpp subsino2.cpp suna16.cpp suna8.cpp suprgolf.cpp suprslam.cpp surpratk.cpp sweetland.cpp system16.cpp tail2nos.cpp taito_b.cpp taito_f2.cpp taito_h.cpp taito_l.cpp taito_o.cpp taito_x.cpp taito_z.cpp taitoair.cpp taotaido.cpp tbowl.cpp tceptor.cpp tecmo.cpp tecmo16.cpp tecmosys.cpp terracre.cpp thedeep.cpp thunderx.cpp tmnt.cpp tnzs.cpp toaplan2.cpp toki.cpp toki_ms.cpp tomcat.cpp topspeed.cpp tryout.cpp tumbleb.cpp twin16.cpp twincobr.cpp ultraman.cpp umipoker.cpp unico.cpp vamphalf.cpp vaportra.cpp vball.cpp vendetta.cpp vgmplay.cpp vigilant.cpp vis.cpp volfied.cpp wacky_gator.cpp wardner.cpp warriorb.cpp wc90.cpp wc90b.cpp wecleman.cpp welltris.cpp wgp.cpp wwfsstar.cpp xain.cpp xexex.cpp xmen.cpp xxmissio.cpp ymdx11.cpp ympsr60.cpp ymtx81z.cpp yunsun16.cpp yunsung8.cpp yuvomz80.cpp
[/branches/pc98_state/src/mame/includes]alpha68k.h amspdwy.h atarisy1.h atarisy2.h badlands.h bloodbro.h bublbobl.h deadang.h deco32.h drgnmst.h exterm.h fm7.h fmtowns.h gauntlet.h gng.h homedata.h jpmsys5.h kaneko16.h kikikai.h maygay1b.h megadriv.h metro.h mpu4.h msx.h mz2500.h neogeo.h pc6001.h pc8801.h pc88va.h pc9801.h rampart.h relief.h s11.h segas16a.h segas16b.h sms.h stfight.h supbtime.h taito_l.h tatsumi.h tigeroad.h toaplan1.h witch.h x1.h x68k.h zn.h
[/branches/pc98_state/src/mame/machine]megadriv.cpp nmk004.cpp sms.cpp toaplan1.cpp
[/branches/pc98_state/src/mame/video]megasys1.cpp


Previous 199869 Revisions Next


© 1997-2024 The MAME Team