這是歷史版本頁面 — 看 MAME (64-bit) 最新版本

想玩懷舊街機遊戲,MAME 能做些什麼

MAME (64-bit) 軟體圖示 MAME (64-bit) 0.189 (64-bit) 資料更新 2017-08-30 閱讀約 7 分鐘

你最近是不是突然很想玩小時候在雜貨店或大機台前投幣玩過的那幾款街機遊戲?可能是格鬥、射擊或大型電玩,但現在這些機台早就消失,網路上找到的遊戲畫面又模糊不清,不然就是下載到來路不明的檔案,根本不知道怎麼開始。你只是想重溫那個手感,卻卡在「不知道從哪裡找遊戲」和「找到之後怎麼跑起來」這兩步之間。

一般人會先想到去抓模擬器,但模擬器百百種,有的只支援特定主機,有的設定複雜到要改一堆參數,還有的根本跑不動。更麻煩的是,就算模擬器裝好了,遊戲 ROM 要放哪裡、怎麼設定按鍵、畫面為什麼是黑的,這些問題沒人解釋,最後只能放棄。這類工具真正的切入點,是模擬原始機台的硬體,讓舊遊戲在現代電腦上重現,但前提是你得先搞懂它的基本邏輯,才有辦法順利玩到遊戲。

01MAME 是什麼?它能玩哪些遊戲?

MAME 是一套模擬大型電玩機台的開源軟體,官方說明指出它收錄超過一萬個遊戲 ROM,涵蓋動作、射擊、格鬥、益智等多種類型。它不只是一套遊戲,而是模擬當年機台的硬體,讓那些老遊戲能在現代電腦上跑。要注意的是,軟體本身不附遊戲,你需要自行準備 ROM 檔,而且 ROM 的合法性取決於你是否擁有原版遊戲,這點要自己確認。

02它怎麼做到畫面跟聲音跟以前一樣?

它的做法是盡可能精確模擬原始機台的硬體元件,包括處理器、顯示晶片和音效晶片,所以畫面、聲音和操作感會貼近原版。官方說明強調這種精確度是它的核心目標,不是只把畫面放大或套濾鏡。不過,精確模擬的代價是某些遊戲可能需要額外的 BIOS 檔才能正常執行,這在官方 FAQ 中有提到,你需要在網路上找對應的 BIOS 並放進指定資料夾。

03可以自己設定按鍵嗎?我想用搖桿玩。

可以。官方功能說明提到,它提供控制設定,你可以把鍵盤、遊戲手把或搖桿對應到機台的按鍵。設定方式是從主選單進入控制選項,逐項指定你要用的輸入裝置。如果你用的是大型搖桿,通常會被辨識為遊戲手把,設定起來不難。但要注意,不同遊戲的按鍵配置可能不同,你可能需要針對每款遊戲個別調整,這在初次設定時會花一點時間。

04玩到一半可以存檔嗎?我怕打不過。

可以。它支援儲存遊戲狀態,讓你可以隨時暫停並存檔,之後再從同一個進度繼續。另外還有倒帶功能,玩到一半失手可以往回退幾秒,重新挑戰。這兩個功能對練技術很有幫助,尤其是那種一失誤就要重來的關卡。使用方式很直覺,從選單或快捷鍵就能觸發,不需要額外設定。

05畫面在現在的螢幕上會不會很模糊?

它支援高解析度顯示,可以將遊戲畫面縮放到現代螢幕的原始解析度,官方說明指出這樣能維持視覺品質。你也可以套用圖形濾鏡來調整畫面,讓像素看起來更平滑或更接近舊螢幕的質感。不過,實際效果取決於你的螢幕和顯示卡,如果你的顯示卡不支援 OpenGL 3.3 以上,可能無法使用某些顯示功能,這在系統需求中有提到。

06我只有一台普通電腦,跑得動嗎?

官方列出的系統需求是雙核心 2 GHz 以上處理器、4 GB 記憶體、100 MB 可用空間,以及 OpenGL 3.3 相容的顯示卡。以這個標準來看,近十年的電腦大多符合。但要注意,某些較新的遊戲或需要大量模擬的機台可能對效能要求更高,實際跑起來順不順,還是要看你執行的遊戲和電腦配備。如果你只是玩早期的 2D 遊戲,一般文書機應該沒問題。

07我完全沒碰過模擬器,會不會很難上手?

官方說明強調它的介面設計以簡單和易用為目標,主選單乾淨直覺,可以快速瀏覽遊戲庫和調整設定。但官方 FAQ 也坦承,初始設定對新手可能有點門檻,尤其是要搞懂 ROM 檔要放哪裡、BIOS 是什麼、為什麼有些遊戲開了沒畫面。如果你願意花一點時間看教學或社群討論,通常一兩個小時內可以搞定。如果完全不想碰設定,這套軟體可能不適合你。

08我收藏了很多舊遊戲光碟,可以用它玩嗎?

官方資料沒有提到支援光碟讀取或實體媒體的功能,它主要設計是讀取 ROM 檔,也就是從機台或卡帶中抽取出來的檔案。如果你有舊光碟,可能需要先轉成 ROM 格式,但這部分官方沒有提供相關說明,你需要自行確認轉檔工具和格式相容性。如果你的遊戲是大型電玩機台,通常沒有光碟,而是用 ROM 晶片,這點要特別注意。

09我想跟朋友線上對戰,它支援嗎?

官方說明明確指出,它本身沒有內建線上多人功能。不過,官方 FAQ 提到有第三方工具可以做到線上連線對戰,但這些方法需要額外的設定和網路知識,不是裝好就能用。如果你只是想跟朋友在同一台電腦輪流玩,那沒問題;但如果是想透過網路連線對戰,你得另外找工具,而且不一定每款遊戲都支援。

10我只有手機,可以用它玩嗎?

官方說明指出,這套軟體主要設計給桌面系統,也就是 Windows、macOS 和 Linux。雖然有 Android 版本,但那是另外的變體,不是這套 64 位元版本。官方 FAQ 也提到,手機版本可能有特定的需求和限制,你需要在安裝前確認相容性。如果你主要是用手機玩,建議先查清楚 Android 版的支援狀況,再決定要不要裝。

11我擔心法律問題,用 ROM 會不會違法?

官方 FAQ 說得很清楚:軟體本身是合法的,因為它是模擬器,不侵犯著作權。但 ROM 的合法性取決於你所在的地區,以及你是否擁有原版遊戲。如果你有原版機台或卡帶,在某些地區可能可以合法使用 ROM;如果沒有,下載 ROM 可能違反著作權法。官方建議你查閱當地法律再決定,這部分沒有標準答案,你要自己判斷。

12我比較想玩任天堂或 PS 的遊戲,它適合嗎?

官方說明指出,MAME 的目標是模擬大型電玩機台,不是家用主機。如果你想玩的是任天堂或 PlayStation 的遊戲,這套軟體幫不上忙,你應該找對應的模擬器,例如 Dolphin Emulator 或 Project64 這類專門模擬特定主機的工具。MAME 的遊戲庫雖然超過一萬款,但都是街機遊戲,這點要先確認清楚,才不會裝了之後發現遊戲類型不對。

下載與官方連結

前往官方網站 下載 MAME (64-bit)

mame0189b_64bit.exe · 52.6 MB · 連結指向軟體原廠

版本紀錄

再看 5 筆

看完整版本清單

這一版改了什麼

What's new in this version:

MAMETesters Bugs Fixed:
- [DIP/Input] (seattle.cpp) hyprdriv: Despite successful calibration the brake button doesn't function
- [DIP/Input] (seattle.cpp) calspeed: Even if you choose manual gear your car has automatic gear
- [Sound] (shangkid.cpp) shangkid: In the later levels, sound starts to get really screwy
- [Crash/Freeze] (vegas.cpp) gauntleg: Game randomly freezes
- [Graphics] (toaplan2.cpp) ghox: Missing background for hi-score screen
- [Graphics] (labyrunr.cpp) tricktrp: Graphic priority issue
- [Documentation] (cps1.cpp) sf2accp2: Installation instructions and DIP settings for SF2CE (Accelerator Pt.II) hack
- [DIP/Input] (royalmah.cpp) mjifb, mjifb2, mjifb3: DIP Settings
- [DIP/Input] (dbz.cpp) dbz: English language is not displayed
- [DIP/Input] (pacman.cpp) pengojpm, pengopac: Info about dip switches
- [Graphics] (combatsc.cpp) combatsc, combascj, combasct, bootcamp, bootcampa: Wrong priority in the drill instructor screen
- [Graphics] (seattle.cpp) calspeed: Triangles flicker in calspeed
- [Crash/Freeze] (coco3.cpp) coco3, coco3h: Crash of emulated system accessing multiple floppy drives
- [Core] (coco3.cpp) coco3, coco3h: TRS-80 Color Computer FDC data corruption issue
- [Color/Palette] (pce.cpp) pce [sonson2]: Black & White mode doesn't work properly
- [Gameplay] (segae.cpp) tetrisse: Unable to play 2 Player mode
- [Sound] (ninjakd2.cpp) ninjakd2, ninjakd2c, jt104, rdaction: Missing sound
- [Interface] ng_cthd_prot: Wrong name (Neo Goe instead of Neo Geo)
- [Interface] (c64.cpp) c64: Selecting a slot to fill for "EXP" causes Fatal Error
- [Documentation] (model3.cpp) swtrilgy, swtrilgya: " Arcade " is necessary in the title of this game

New working machines:
- China Education Computer I [R. Belmont, Jorma Honkanen]
- Double Dribble (Konami handheld) [hap, Sean Riddle]
- Garfield (Konami handheld) [hap, Sean Riddle]
- Kick Ball [Darksoft, Sean Sutton, Surgeville, Smitdogg, The Dumping Union, David Haywood, AJR]
- Kontron PSI98 [Dirk Best, rfka01]
- NFL Football (Konami handheld) [hap, Sean Riddle]
- Poosho Poosho [caius, Brian Troha, Smitdogg, Ryan Holtz, rtw, The Dumping Union]
- Tekken Battle Scratch [ShouTime, Jan Stuhler, pablopelos, Smitdogg, The Dumping Union]
- The Adventures of Bayou Billy (Konami handheld) [hap, Sean Riddle]
- unknown 'Space Invaders' gambling game [Roberto Fresca, Arzeno Fabrice, David Haywood]

New working clones:
- 1943: Midway Kaisen (Japan, no protection hack) [Bryan McPhail]
- Alligator Hunt (unprotected, set 2) [David Haywood, Peter Wilhelmsen]
- B.Rap Boys Special (World) [Phill @NES4Life]
- Carrier Air Wing (USA 901130) [mastercello]
- Crash Road (bootleg of Space Chaser) [Ed Cross]
- Crazy Climber (US set 2) [John at johnsarcade]
- Crime Fighters 2 (Japan, 4 Players, ver. N) [Guy B]
- Cool Minigame Collection (Italy) [Hammy]
- Daiku no Gensan (Japan, M82) [Hammy, Jon H, The Dumping Union]
- DoDonPachi III (World, 2002.05.15 Master Ver) [neohyphengeo productions]
- Donkey Kong Jr. (bootleg on Moon Cresta hardware, set 2) [The Dumping Union / Team Recreativas, AJR]
- Fidelity Sensory Chess Challenger 12 [hap, Berger, yoyo_chessboard]
- Mega Zone (program code L) [Corrado Tomaselli, The Dumping Union]
- Mephisto Nigel Short [Sandro Ronco]
- Mephisto Polgar 10MHz [Sandro Ronco]
- Mephisto Portorose 68000 [Sandro Ronco]
- Mephisto Portorose 68020 [Sandro Ronco]
- Ordyne (World) [Corrado Tomaselli]
- Popeye (Japan, Sky Skipper hardware, Older) [Justin Rudebaugh]
- Port Man (Japan) [ShouTime]
- Street Fighter (World) (protected) [Corrado Tomaselli]
- Street Fighter II: The World Warrior (Quicken, bootleg) [Moffitt]
- Super Athena (bootleg) [Hammy]
- Super Chase - Criminal Termination (1992/01/18 18:29:18 CHASE 3 VER 1.30, prototype) [Trol]
- Vamf x1/2 (Europe, version 1.0.0903) [Rod_Wod, TeamEurope, The Dumping Union]
- WWF Superstars (US revision 6) [Bryan McPhail]

Machines promoted to working:
- Football Power [MetalliC]
- Mephisto Academy [Sandro Ronco]
- Mephisto Almeria 68000 [Sandro Ronco]
- Mephisto Almeria 68020 [Sandro Ronco]
- Mephisto Berlin Pro 68020 [Sandro Ronco]
- Mephisto Genius 68030 [Sandro Ronco]
- Mephisto Polgar [Sandro Ronco]
- Night Gal Summer [BET] (Japan 850702 NGS 0-01) [Angelo Salese]
- TH Strikes Back [David Haywood, Kevin Eshbach]

Clones promoted to working:
- Forty-Love (Japan) [ShouTime, Angelo Salese]
- BBC Master Turbo [Nigel Barnes]
- International Toote II (v1.24, P387.V01) [Gerald (COY)]
- Mephisto Berlin Pro London Upgrade [Sandro Ronco]
- Mephisto Genius 68030 London Upgrade [Sandro Ronco]
- Mephisto London 68020 [Sandro Ronco]
- Mephisto Lyon 68000 [Sandro Ronco]
- Mephisto Lyon 68020 [Sandro Ronco]
- Mephisto Vancouver 68000 [Sandro Ronco]
- Mephisto Vancouver 68020 [Sandro Ronco]
- Virtua Bowling (Hong Kong, V101HJS) [Abelardator2, Luca Elia]

New machines marked as NOT_WORKING:
- AT&T Teletype 4425 [shattered]
- Access Virus A [R. Belmont, absence]
- Access Virus B (Ver. T) [R. Belmont, absence]
- Access Virus C [R. Belmont, absence]
- Access Virus Classic [R. Belmont, absence]
- Access Virus Rack XL [R. Belmont, absence]
- Access Virus Rack [R. Belmont, absence]
- Altos 8600 [Carl, Al Kossow]
- ControlID X628 fingerprint reader [Felipe Sanches]
- GameCube (Japan) [Dirk Best]
- Honey Pot (03J00241, NSW/ACT) [Heihachi_73]
- Konnano Hajimete! (Japan) [Ralph Wallace, system11, The Dumping Union]
- Kurzweil K2000 [R. Belmont]
- Learning-Window Teaching Machine (Rev 3) [Kevin Horton]
- Machinedrum MK2 [R. Belmont, absence]
- Magic Reels [TeamEurope]
- Mannesmann Kienzle System 9002 Terminal [Miodrag Milanovic]
- Mephisto RISC 1MB [Sandro Ronco]
- Monomachine SFX6 MK2 [R. Belmont, absence]
- Nurete Mitaino... - Net Idol Hen [Ralph Wallace, system11, The Dumping Union]
- Sengoku Mahjong Kurenai Otome-tai [Ralph Wallace, system11, The Dumping Union]
- Sexy Gal Tropical [BET] (Japan 850805 SXG T-02) [ShouTime, Angelo Salese]
- Super Game (Sega Master System Multi-game bootleg) (alt games) [TeamEurope]
- Venice (02J02056, Venezuela) [Heihachi_73]

New clones marked as NOT_WORKING:
- Derby Owners Club World Edition (Rev B) [f205v, ShouTime]
- Dirt Devils (Japan, Revision A) [ShouTime]
- Econet X25 Gateway [Nigel Barnes]
- GameCube (Brazil) [Dirk Best]
- GameCube (EUR) [Dirk Best]
- GameCube (USA) [Dirk Best]
- Goldeneye (4.02) [Gore Daimon, Sergio Munemori]
- Henson CFA 3000 [Nigel Barnes]
- Learning-Window Teaching Machine (French) [Kevin Horton]
- Learning-Window Teaching Machine (Rev 1) [Kevin Horton]
- Learning-Window Teaching Machine (Rev 2) [Kevin Horton]
- Mephisto RISC II [Sandro Ronco]
- Print Club (World) [David Haywood]
- Trigger Heart Exelica (Japan) (GDL-0036) [rtw, ShouTime]
- Virtua Fighter 4 Evolution (Version B) (GDS-0024C) [rtw, ShouTime, f205v, Darksoft]
- Spiel Master (German) [TeamEurope, Kevin Horton]
- Star Wars (1.06, Display S1.05) [Jubex77, JMan, Gore Daimon]

New working software list additions:
- apple2: Nightmare Gallery [Ian B.]
- bbc_flop_80186: Master 512 Technical Guide Programs [Nigel Barnes]
- bbc_flop_z80: Double Density CP/M [Nigel Barnes]

bbcb_flop:
- The Acornsoft Hits Vol.1, The Acornsoft Hits Vol.2, Centre Ville, Chick Chase, The Christmas Adventures of 4-T and his Friends,
- The Fantastic Adventures of 4-T, First Filer, The Great British Fun Run, Integra Windows 1.00, Look After Yourself!,
- Knitwear Designer, Modem Master, Note Invaders, Numbers and Pictures, NumbersCope, Pirate, The Quill (A00), The Quill (A03),
- Rhythm Maker, Science - Start Here!, Shape Up, Snapple Hopper, Spell!, Starspell Plus, TimeShare,
- Trivial Pursuit - Baby Boomer Edition, Trivial Pursuit - Genus Edition, Trivial Pursuit - Young Players Edition, Word Skill [Nigel Barnes]
- BeebSID 1-17, Beeb SID Quiz [PitfallJones]

bbcm_flop:
- Morley Hard Disc Utilities v3.00 [Nigel Barnes]
- SID Music 1, Sid Music 2 [Tom Walker]
- c64_cass: Shado BBC Emulator Software [Curt Coder]

electron_flop:
- Electron User Group #00-#74 (5.25"), Starspell Dictionary Disk (3.5"), Starspell Dictionary Disk (5.25") [Nigel Barnes]

fmtowns_cd:
- DOR Special Edition '93 (alt), Gokko Vol. 03 - Etcetera [r09, redump.org]
- Europa Sensen, Inindou - Datou Nobunaga, Nobunaga no Yabou - Bushou Fuunroku [r09, Reuental]
- Nihon Mukashibanashi, The Queen of Duellist Gaiden Alpha Light [r09, yukin/Tokugawa Corporate Forums]
- fmtowns_flop: Illusion City - Gen'ei Toshi, Ving Soft Collection [r09, yukin/Tokugawa Corporate Forums]

ibm5150:
- B.A.T. [ArcadeShadow]
- Superbase 5 Demo [breiztiger]

ibm5170:
- B.A.T. II, Wing Commander, Wing Commander: The Secret Missions, Wing Commander: The Secret Missions 2,
- Wing Commander II - Vengeance of the Kilrathi [ArcadeShadow]
- RobotC2 Demo [breiztiger]
- Diagnostics Diskette for IBM Personal System/2 model 70/80 (v1.06, Finnish). [Curt Coder]
- Ami [Justin Kerk]
- lynx: Crystal Mines II - Buried Treasure (Euro, USA) [anonymous]
- pico: Anpanman Pico Wakuwaku Pan Koujou (Jpn), Ett Ar med Nalle Puh (Swe) [TeamEurope, The Dumping Union]
- sms: Alex Kidd in Miracle World 2 (World, hack) [Shideravan]

Software list items promoted to working:
- bbc_flop_6502: 6502 Development Package, Bitstik Graphics System, Bitstik 2, Econet Level 2 Fileserver Software, Hi-InterSheet, Hi-View,
- Hi-Wordwise Plus [Nigel Barnes]
- bbc_flop_65c102: 65C102 Co-Processor Support Disc [Nigel Barnes]
- bbc_flop_68000: Casper Support Discs [Nigel Barnes]
- bbc_flop_80186: BBC Master 512 System Discs, Dabs Shareware Vol.1, Dabs Shareware Vol.2 [Nigel Barnes]
- bbc_flop_z80: Acorn CP/M System Discs, Acorn CP/M Program Discs, Colossal Cave [Nigel Barnes]

New NOT_WORKING software list additions:
- pico: Lejonkungen Aventyr (Swe) [TeamEurope, The Dumping Union]
- princ: Hobby Club, Kodomo no Omacha [TeamEurope]

Translations added or modified:
- Chinese (simplified) [YuiFAN]
- Chinese (traditional) [YuiFAN]
- German [RafTacker]
- Greek [BraiNKilleRGR]
- Italian [theheroGAC]
- Japanese [Vas Crabb]
- Portuguese (Brazil) [Ashura-X, Felipe Sanches]
- Russian [MetalliC]
- Serbian [Vas Crab, Midrag Milanovic]
- Serbian (Cyrillic) [Vas Crab, Midrag Milanovic]
- Spanish [A. Viloria]
- Swedish [Joakim Larsson Edstrom]
- Turkish [kadireksi]

Source Changes:
- pengadvb: Added start/continue button (partially fixes MT04528). [Angelo Salese]
- Added very preliminary PC9801 AMD98 sound board emulation [Angelo Salese]
- namcos1.cpp: Fixed joystick dropping inputs bug for crouching/running actions in Beraboh Man. [Angelo Salese]
- labyrunr.cpp: Fixed tile-sprite priorities, mostly visible when exiting an area in most stages. [Angelo Salese]
- deco32.cpp: Rewrote interrupt handling; improved lightgun support for Locked Loaded. [Angelo Salese]
- chanbara.cpp: Identified sprite flip X bit (player sword thrusts). [Angelo Salese]
- Wrote a new device for Taito yoke-based inputs (found in Midnight Landing and Top Landing). [Angelo Salese]
- taitoair.cpp: Added screen raw parameters, fixes pilot acknowledge sound sample timing. [Angelo Salese]
- ioport.cpp: Log explicit error if inp file isn't found on playback, added error code number for other errors. [Angelo Salese]
- jangou_blitter.cpp: Rewrote blitter setters. [Angelo Salese]
- nightgal.cpp improvements: [Angelo Salese]
- Fixed Night Gal Summer GFX ROM out-of-bounds accesses
- Added preliminary protection emulation for Night Gal Summer
- luaengine: Added debugger_manager support. [Carl]
- plugins/cheat: Catch errors in cheat scripts, added preliminary breakpoint/watchpoint support. [Carl]
- plugins/gdbstub: Added WIP gdbstub plugins. [Carl]
- plugins/data: Added MARP scores. [Carl]
- a590: Corrected filenames and added undumped 4.6 and 5.92 versions. [Dirk Best]
- jvc_dsk: Autodetect double-sided floppy images without header (github issue #2405), improved support for headerless OS-9 images [Dirk Best]
- Added Kontron PSI98 driver: [Dirk Best]
- System is fully working with minor issues, you can boot KOS and CP/M 2.2 (images are in the software list)
- Still missing is SASI and the ECB slot system with cards
- Added keyboard slot interface, created skeleton for keyboard, added HLE ASCII keyboard as default
- Added software list

upd765 improvements: [Dirk Best]
- Don't instantly finish the RECALIBRATE command (fixes accessing second drive on psi98)
- Made SEEK also take some time (fixes KOS FORMAT command on psi98)
- Added Nintendo GameCube skeleton driver. [Dirk Best]
- Decrypts the IPL and the CPU executes the first few instructions
- gyruss - various small updates: [Dirk Best, Tele-Viper]
- Added missing DIP location for DSW3
- Fixed dip switches and added correct ROM labels/locations for gyrussce
- Fixed labels for gyrussb
- Updated diagnostic ROM info
- Adjusted some memory region sizes
- Removed unused DRIVER_INIT
- igs011.cpp update: [Luca Elia]
- Decrypted vbowlhk and added its own bitswaps for IGS003 and IGS011
- Found DIP switches to perform a protection test in vbowl, changed IGS012 mode toggling to pass the test
- Changed IGS003 command 48 in lhb2 and vbowl to potentially work in more cases (based on lhb2 tables)
- jockeyc: Added layout with keyboards. [Luca Elia]
- Cleaned up inputs, added own DIP switches
- Corrected RTC, emulated hoppers
- Hooked up outputs, NVRAM, and trackball (for hidden editor)
- Overhauled internal UI: [Vas Crabb]
- Patched GNU xgettext to support C++14 parsing so localisations can be updated
- Restored ability to localise info box headings
- Fixed info box navigation when system selection menu doesn't have focus
- Fixed keyboard navigation of software filter box, added support for home/end to jump to beginning/end of filter list
- Removed hacks in selector menu tying it to implementation details of other menus
- Improved encapsulation and reduced code duplication in system/software selection menus
- Fixed text alignment/gutters in filter list, info box and DAT view
- Eliminated use of hairline spaces for alignment in the info box
- Added indication for presence of analog controls and keyboard inputs in info box
- Added support for mouse wheel scroll in info box
- Allowed some character input events to be coalesced (reduces lag in live search with long lists)
- Fixed software art/info display when keyboard focus leaves software selection list
- Save/restore images/info selection in right panel
- Fixed bugs and improved performance of code for detecting systems without ROMs
- Made audit menu request confirmation, show progress, and save result in INI format
- Consolidated code for drawing "extra" boxes above/below menus
- Fixed minimum/maximum for UI font rows per screen setting
- Fixed spacing on directory configuration menu
- Made slot options menu show full name of selected slot device below menu
- Reimplemented system/software filters: [Vas Crabb]
- Uniform interface/polymorphic implementation - eliminates almost all special-casing in menus
- Made filter names localisable
- Allowed more filter types and prevent contradictory filters from being added in custom filters
- Made category filter work like other filters (allowed in custom filter displays its own UI, better error messages)
- Made multiple year/manufacturer/category/etc. filters in custom filter an inclusive union operator
- Removed implicit "Not BIOS" system filter, it can be added explicitly if desired
- Moved unimplemented/imperfect flags from machines into devices: [Vas Crabb]
- Allows dynamic warning flags depending on slot configuration
- Unclutters GAME/CONS/COMP/etc. definitions where a family of machines or a device have the same flags
- Allows more combinations of flags
- PNG/rendering/artwork/output improvements: [Vas Crabb]
- Added support for layout item groups that can be reused in other groups or views
- Reduced weight of render.h by moving component specialisation declarations into rendlay.cpp
- Replaced simple_list with more appropriate containers, remove misleading const qualifiers, reduced repeated XML walking
- Added N-dimensional output finder to avoid runtime string hashes - more than doubles performance of intlc440
- Unified code for copying PNG data into MAME bitmap in MAME and pngcmp, made it less likely to leak memory
- Added support for Adam7 interleave in PNG files, fixed some corner cases in unfiltering code
- Fixed upsampling of greyscale PNGs, added support for monochrome with alpha
- Added support for 16-bit samples in PNG files
- Added support for PNG greyscale/RGB with transparent pen
- Detect more invalid PNG files rather than just behaving badly
- Added "minimaws" scripts, a reference -listxml consumer (implemented with Python/WSGI and JavaScript): [Vas Crabb]
- Provides verbs for loading data, some basic batch queries, and an interactive web server mode
- Serves linked HTML pages for machines, devices, and source files
- Demonstrates how to dynamically discover slot/BIOS options from static -listxml output
- Allows user to build a slot configuration and shows necessary command-line arguments or INI lines to produce it in MAME
- As a side effect, this provides additional validation of -listxml output, several issues and limitations were addressed
- Fixed -sleep and -refreshspeed options, fixed a stupid forced unnecessary sleep. [Vas Crabb]
- Fixed -slot card,bios=rev (selected BIOS was being applied to slot itself, not card). [Vas Crabb]
- Fixed up input merger: added more variants, synchronisation and save state support, removed dubious reset behaviour. [Vas Crabb]
- Removed a whole lot of I64 from format strings (use logerror/string_format/stream_format to avoid it). [Vas Crabb]
- Added validation of BIOS names/descriptions/defaults and fixed errors exposed. [Vas Crabb]
- Moved additional content for release archive from build repository to main repository. [Vas Crabb]
- bublbobl.cpp, missb2.cpp: Reimplemented sound CPU semaphores and sound NMI according to schematics. [Lord Nightmare, Vas Crabb]
- Implemented sound semaphores into tokio as well, fixing SOUND ERROR in test mode
- Added notes about sound CPU addressing
- Reimplemented /SRESET as a separate function called on sound CPU reset according to schematics
- Added correct watchdog to Bubble Bobble and Tokio, and disabled it on the Bubble Bobble prototype
- Added proper 'wired-or' sound CPU IRQs to Bubble Bobble
- Renamed 'slave' cpu to 'subcpu' to match schematics
- dectalk.cpp: Use correct DSP ROM for firmware 1.8, some driver cleanup. [Lord Nightmare]
- ceci: Added driver for China Education Computer I (Apple II clone). [R. Belmont]
- Added QUIT and TEST keys (hold down TEST while resetting for diagnostic), completed keyboard
- Fixed banking - Chinese mode works
- Added HGR color killer softswitch
- k2000: Added sample ROMs. [R. Belmont]
- alphatro_flop: Replaced bad dumps for CP/M and BASIC with good ones. [R. Belmont]
- alphatro: Added cart slot, support for 8K carts from the command line, and cart software list. [R. Belmont]
- alphatro: Added BIOS set for machine with Bicom graphics. [TeamEurope, rfka01, R. Belmont]
- multipcm: Confirmed to be Yamaha YMW-258-F. [any, R. Belmont]
- Added new 74LS259/9334/CD4099 devices. [AJR]
- Added wcoin counters and/or lockouts to Atari System 1 games, Basketball, Gauntlet, Gyruss, Hana Yayoi, Hole Land, Jr. Pac-Man
- Mahjong Sisters, Pooyan, Roc'n Rope, Squash, Thunder Hoop, Time Limit, Time Pilot '84 and many others
- Cleaned up coin counter behavior in Sauro and Rally Bike
- ym2151: Added reset line emulation. [AJR]
- spcforce: Added coin counters, start lamps and addressable latch device [AJR]
- tankbatt: Improved handling of sample triggers - fire sound is no longer doubled. [AJR]
- decocass.cpp: Major improvements to colors and graphics layer priorities [AJR]
- Implement the PRI2 pen modification effect. This makes the tunnels and headlight in Highway Chase look much more accurate, and
- makes some color changes work in Astro Fantasia
- Shadow color in Skater is now properly black (not a pen modification effect)
- Correct background fill color, making high score screen in Super Doubles Tennis properly blue
- mario: Added coin counters and 74LS259. [AJR]
- isbc8630: Added 74LS259 "status register" (only partly implemented). [AJR]
- blazeon, wingforc: Shadowing RAM with ROM in sound CPU map can't be right. [AJR]
- v25: Made IDB register state visible to debugger. [AJR]
- jp.cpp: Added 74LS259 latches and ADPCM sound system used by some games. [AJR]
- janptr96: Changed CPU type to TMPZ84C015, drive interrupts through internal CTC. [AJR]
- changela: Changed default DIP setting to keep coin counters separate. [AJR]
- mjelctrn, mjembase, majxtal7, neruton: Changed CPU type to TMPZ84C015 and improved interrupt handling. [AJR]
- dynax.cpp: Use address map bank device for most games in this driver plus htengoku. [AJR]
- Many games now successfully retrieve local time at start through an RTC device previously treated as read-only
- fixeight: EEPROM fixes. [AJR]
- Corrected decryption of some V25 opcodes used in the EEPROM service routine
- Removed the ugly routine that hardcoded a region for each set
- Added and documented a secret input that rewrites the EEPROM for any region
- Delay data capture timing for MSM5205 and MSM6585 (should help with synchronization later). [AJR]
- flstory: Fixed CPU communication issue that sometimes caused sound to disappear entirely. [AJR]
- decomult: Replaced gross hack for banking "dongle" with something more likely. [AJR]
- chinhero: Added coin counters. [AJR]
- salamand: Improved VLM5030 control. [AJR]
- combatscb: Improved interrupt handling. [AJR]
- mb8421: Created 16-bit expanded variant and added it to thndzone/dassault. [AJR]
- mastninj: Implemented dual OPN plus dual MSM5205 ADPCM sound system as in Automat. [AJR]
- Rewrote mmodular.cpp to use the new mmboard device - many sets promoted to working. [Sandro Ronco]
- fmtowns improvements: [Barry Rodewald]
- Added support vertical zoom greater than x2 (fixes Evolution)
- Improved graphic layer placement - games with different-sized layers now display better
- Added preliminary RS232C port support
- gt64xxx: Buffer multiple writes for PCI stall (fixes MT06636). [Ted Green]
- seattle: Set proper blitz99 DIP switch settings and added gearshift to calspeed (fixes MT00975). [Ted Green]
- floppy: Added FLOPPY_HFE_FORMAT to default_floppy_formats. [Nigel Barnes]
- acorn_dsk updates: [Nigel Barnes]
- Added OPUS_DDCPM_FORMAT, removed ACORN_CPM_FORMAT (same geometry as ACORN_SSD_FORMAT/ACORN_DSD_FORMAT)
- Improved find_size/identify for SSD/DSD formats
- ACORN_DOS_FORMAT 640K now handled as ACORN_ADFS_OLD_FORMAT
- Fixed geometry for ACORN_DOS_FORMAT 800K
- wd177x_dsk: Apply sector_count and gaps to track description. [Nigel Barnes]
- bbc updates: [Nigel Barnes]
- Added new TUBE device - Acorn Tube ULA for use with Acorn second processors
- Added various second processors as Tube slot devices: Acorn 6502, Acorn 65C102, Acorn Z80, Acorn 80186, Casper 68000
- Added BeebSID slot device for the 1MHz bus
- Minor video improvements: fixed cursor size, double clock in MODE7 to counteract non-implemented interlace
- bbc_acorn8271: Added Amcom DFS A7874
- bbc_opus8272: Added new Opus 8272 FDC device with DDOS 3.00, not yet working
- didact: Updated LOG support to latest cut. [Joakim Larsson Edstrom]
- m68340: Added implementations for VCO clock synthesizer and Timer module Counters, IRQs and one operational mode
- Joakim Larsson Edstrom]
- namcos2.cpp: Ordyne uses older IO MCU ROM, cleaned ROM labels as per PCB photos. [MetalliC]
- gaelco3d.cpp updates: [MetalliC]
- Increased TMS ROM region, makes Football Power players models visible
- Fixed serial EEPROM access
- Implemented Football Power mechanical ball simulation
- Added Atomiswave security notes. [brizzo, MetalliC]
- apple2: Update screen on mode-switch only if really switching. [Peter Ferrie]
- hp9845: Refactored handling of HTI images into a dedicated format module, refactored hp9845_tape imgtool module to use HTI format [F.Ulivi]
- hp85: Implemented tape drive, fixed a bug in tape gap detection. [F.Ulivi]
- imgtool: Fixed null pointer dereference and logic errors in "GET" command. [F.Ulivi]
- ms0515: Add sound and corrected clock rate. [shattered]
- dvk_ksm: Implemented Baud rate generator and cleaned up source. [shattered]
- Refactored server_{ws,http}.hpp into separate interface and implementation. [Christian Brunschen]
- Use std::weak_ptr from websocket_connection_impl to webpp::Connection to avoid reference cycles
- When shutting down the HTTP server, also explicitly stop the asio::io_context; this allows the built binary to exit cleanly
- mos6526.cpp: Show state of registers that can be read without side effects in debugger. [David Viens]
- om6502.lst: Corrected cycle counts for undocumented $BF instruction. [David Viens]
- Now passes Lorenz testsuite-2.15's cputiming.prg (and does not break laxay.prg)
- Improved Android build support. [Miso Kim]
- Updated for NDK r14b, build-tools 21.1.2, gradle 2.2.1, and jdk1.8.0_144
- Renamed 'grtesoro' sets to 'play2000', gave it it's own machine structure and memory map. [David Haywood]
- Added some workarounds so that it actually boots, fixed GFX ROM loading
- Added basic Saturn CD Block device to load the ROMs. [David Haywood]
- imgtool modernisation and miscellaneous fixes: [Nathan Woods]
- Fixed a std::string(nullptr) bug
- Proper cleanup of floppy object after create/open failure
- Merged normalize_filename() into cannonicalize_path()
- Eliminated Imgtool-specific rand() function
- Modernised mgtool_forkent structure
- Fixed features.supports_geticoninfo
- Partially fixed MT06621 (save state path not honoured). [Nathan Woods]
- Still doesn't honour software name for multipart software loaded from internal UI
- imgtool: Made Mac ICN# drawing logic never draw pixels outside mask. [Nathan Woods]
- SAM6883: Fixed VDG addressing incorrectly honoring page bit. [Nathan Woods, Ciaran Anscomb]
- gb.cpp: Optimized channel update methods - greatly reduces time to load state. [057a3dd61f99517a3afea0051a49cb27994f94d]
- Added better documentation and part numbers for midvunit wheel board. [Risugami]
- Rainbow-100: Use Z80SIO instead of Z80DART, make UCSD Pascal boot again. [Bavarese]
- Added Control ID X628 fingerprint reader skeleton driver and NT7534 bitmap LCD controller device. [Felipe Sanches]
- Added HD647180X MCU dumps to Whoopee and Ghox. [Caps0ff]
- Allows sound emulation in both of games, and fixes the high score table background in Ghox
- Road Runner (Midway): Replaced bad ROM with good one, added notes. [rogerxy, blinddog]
- segae.cpp: Corrected rom names for Transformers System E. [Arzeno Fabrice]
- triforce.cpp: Redumped Virtua Striker 4 Ver.2006 (GDT-0020D). [rtw]
- dccons.cpp: Added better dump of PAL Dreamcast Flash ROM. [rtw]
- aristmk5 updates: Fixed some sets, added honeypot and venicea5. [Heihachi_73]
- snes.xml documentation updates: [Inigo Martinez]
- Fixed ROM name and added extra information for Dragon Ball Z - Super Gokuu Den - Kakusei Hen
- Added information about an earlier Euro Ranma 1/2 revision
- Added information about an earlier Spanish release of Donkey Kong Country 2 - Diddy's Kong Quest
- Added information about the Spanish release of Pilotwings to the Euro dump
- nes.xml documentation updates: [Inigo Martinez]
- Added information about Super Mario Bros. PCB
- Fixed serial values and added PCB information for Pinball, Super Mario Bros. 2, and Trog
- thoop2.cpp: Added PCB layout for TH Strikes Back. [Brian Troha]
- fmtowns_cd.xml: Update undumped list, merged the Towns and Marty list. [r09]
- irem_cpu.cpp: Added some info about the Superior Soldiers sound CPU. [caius]
- mitchell.cpp: Added PALs and EEPROM dumps to pkladiesla, and corrected ROM labels. [f205v]
- mario.cpp: Identified marioj as Revision C. [Corrado Tomaselli]
- hiscore.dat: Updated for recent changes. [Leezer]