forked from libretro/mame2010-libretro
-
Notifications
You must be signed in to change notification settings - Fork 0
/
whatsnew.txt
1328 lines (983 loc) · 50.4 KB
/
whatsnew.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
0.139
-----
MAMETesters Bugs Fixed
----------------------
- 03898: [Crash/Freeze] Atomiswave-based games in naomi.c: Game gets
stuck in boot process. (Aaron Giles)
- 03957: [Documentation] samsh5sp & clones: according to title, year
is 2004 not 2003 (moa)
- 03318: [Crash/Freeze] -burnin causes crash in vector games (Atari Ace)
- 03777: [Multisession] a51site4: Hang after loading via internal UI
(multisession) (Atari Ace)
Source Changes
--------------
arm.c: Added big endian mode support to the LDRB and STRB
instructions. [Wilbert Pol]
CPS-1 update [Team CPS-1]:
* Added missing PALs as reference to most of remaining sets
* Dumped and added TK24B1.1A to dynwar [Corrado Tomaselli]
* Fixed LW-13.10D rom loading in forgottn to match real pcb
* Identified, verified and documented a ton of pcbs, adding/fixing
missing/wrong infos as ROMs labels and positions, B-Board, C-Board
and CPSB IDs, PALs [Stefan Lindberg, Dlfrsilver, MKL]
* Reordered all sets per release date in cps1.c and video\cps1.c
* Updated games table in video\cps1.c and added some notes on PALs
table
* Minor cleanups
djboy.c: Hooked up Beast MCU and removed simulation code.
[Phil Bennett]
arm.c: Fixed word reading from non-aligned address in big endian mode.
[Wilbert Pol]
skyfox.c: Corrected clocks and Vsync for the Sky Fox & Exerizer sets
based on actual OSCs and measurements taken from a real PCB
[Corrado Tomaselli]
arm.c: Added a big endian version of the arm2/3/6 cpu core and cleaned
up the little/big endian handling. [Wilbert Pol]
djboy.c: Added DIP switch locations and corrected the vsync to 57.5Hz
as per the readme info listed at the top of the driver. [Brian Troha]
mediagx.c: Converted to use driver_data [Atari Ace]
Fixed sprite coordinates in astrocorp.c [Luca Elia]
Corrected Ameri Darts audio playback rate. This exposed some cycle
timing errors in the TMS32010 CPU core which are also fixed. [Quench]
Added support for Southern Systems Joker Poker (1982), from Southern
Systems & Assembly, Ltd. Figured out the memory map. Also added
technical notes about the hardware. [Roberto Fresca]
Corrected the address for the freezing of the movies for the
Terminator 2 LA4 set [stephh]
emu/info.c: Search all parents of a clone for merged ROMs [Atari Ace]
Fixed HD63701 SLP opcode [Sandro Ronco]
mpu4.c: Added splitscreen support to SCN2674 for MPU4 Video. [AGEMAME]
neodrv.c updates: [Johnboy]
* Identified several more sets as MVS / AES Version and tagged them
properly
* Updated game PCB info
* bakatono: Removed BAD_DUMP from m1 - is correct, corrected game
name
* mahretsu: Added correct s1, corrected game name
* strhoop: Added correct v2
* sdodgeb: Replaced 16mbit v1/v2 with 32mbit v1 as found on two
original cards
* Added Japan J3 bios
neogeo.c changes:
* Documented AES mode and 1-slot (MVS/AES) settings [Barry Rodewald]
* Documented MVS 4-slot and 6-slot settings [Johnboy]
* Changed 6-slot setting (old default) to 1-slot [Johnboy]
Add notification of orientation of all monitors at startup via the
output system. [Laszlo Schulteisz]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Speed Drop [Brian Troha, Luca Elia, The Dumping Union]
New clones added
----------------
Mystic Warriors (ver AAA) [J. Wilke, Smitdogg, The Dumping Union]
AmeriDarts (set 3) [Brian Troha, The Dumping Union]
Captain Commando (Japan 910928)
[john666, Dr. Spankenstein, Smitdogg, The Dumping Union]
Forgotten Worlds (USA, 88621B B-Board)
[Corrado Tomaselli, The Dumping Union]
Galaxy Force II (Japan, Newer) [Team Japump, The Dumping Union]
Quiz King of Fighters (Korean release)
Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special
(Korean release)
Quiz Daisousa Sen - The Last Count Down (Korean release)
New games marked as GAME_NOT_WORKING
------------------------------------
Southern Systems Joker Poker [Roberto Fresca, Siftware]
0.138u4
-------
MAMETesters Bugs Fixed
----------------------
- 02813: [Sound] amerdart, amerdart2: No sound due to missing ROM
(Quench)
- 03606: [Multisession] altbeast, aliensyn3: Graphic corruption on
multiple segas16b.c launches in single session. (Atari Ace)
- 03536: [Misc.] PowerPC core: Overlapping data buffers (Atari Ace)
- 03943: [Graphics] tknight, wildfang: The screen shaking effect is
missing in MAME. (hap)
- 00790: [Documentation] armwrest: DIP switch inspection. (hap)
- 03938: [Crash/Freeze] torus: Crash after completing Level 1
(Fabio Priuli)
- 03928: [Crash/Freeze] Many sets: Out of memory crash using -cheat
(Aaron Giles)
Source Changes
--------------
Fix SH-2 interpreter [Atari Ace]
fix xmcotah/xmcotahr1 ROMs [Razoola]
turned i2cmem into a c++ device & ditched the unused legacy device.
[smf]
Added per-device image softlist loading routine [Miodrag Milanovic]
Renamed feof to image_feof (in device_image_interface) in order to
compile on FreeBSD [El Barto]
Removed devtag_get_device(); use machine->device() instead.
[Aaron Giles]
Removed the global clock accessors and cpu_* aliases: [Aaron Giles]
cpu_get_clock == device->unscaled_clock
cpu_set_clock == device->set_unscaled_clock
cpu_get_clockscale == device->get_clock_scale
cpu_set_clockscale == device->set_clock_scale
Fix bad loop condition that shows up with -cheat enabled. [Aaron Giles]
Adding ability to support other types of software lists, so floppies,
cassettes, cd-roms are now possible to be used [Miodrag Milanovic]
MAMEdev kant spel (Ubuntu/Canonical cares about this) [wallyweek]
Add *IX man pages for MAME and utils [wallyweek]
Clean up some files without a newline at the end for GCC [wallyweek]
Added second button (Hyper Jump) to be used after cued via speech to
allow jumping to other phases without finishing the current mission.
Volume adjusted to better levels (AY was way too low in comparison to
speech) [gravilidavide, Tafoid]
snowbros.c: Add Dipswitch locations to Puzzle King, Hyper Pacman,
Cookie & Bibi 2, Cookie & Bibi 3, More More. Filled in dips with
Dipswitch locations for Puzzle Break. [Brian Troha]
Load (but don't yet use) the decapped MCUs for several sets
[Dr. Decapitator]
* kyros
* kyros (alt, original MCU dump?)
* arkanoid (I think the supported MCUs are bootlegs..)
* blackt96
* amerdarts
* cshooter
* josvolly (there are other chips still need decapping)
* invasnab (i'm not convinced this one is good)
* pasha2
* empcity
* topshoot
* topbladv (no CPU core for this yet)
* officeye (no CPU core for this yet)
* revx
Added the proms to Magical Odds [Smitdogg, The Dumping Union]
converted at28c16 to a c++ device. [smf]
arkanoid.c: Added or corrected the PCB location for the genuine
Arkanoid rom sets and documented the MCU Taito ID number [Brian Troha]
Replaced the old MCU dump with the decapped version for Kick Start
Wheelie King [Dr. Decapitator]
Replaced the old MCU dump with the decapped version for Pipeline
[Dr. Decapitator]
[cb2001] new opcodes [robiza]
Fixed image unload and creation [Sandro Ronco, Miodrag Milanovic]
cb2001: hooked up reels [David Haywood]
Rewrite of 'Wheels & Fire' driver [Tomasz Slanina]
* new rendering code
* preliminary zooming (based on lookup table)
* preliminary communication between main and sound cpu
* scanline interrupts and scroll
segas16b.c: Removed 2 obsolete "USER2 Work space" and changed
remaining USER2 to MCU to maintain consistence throughout the driver.
[Brian Troha]
Added information on the Naomi 171-8346C cartridge type [f205v]
'Massive' Neo Geo documentation update [Johnboy]:
* Added official SNK Playmore title catalogue
* Identified and tagged all MVS sets which were not officially
released for the AES system (according to official SNK Playmore
title catalogue and Neo-Geo Masterlist)
* Several sets have been identified (AES / MVS VERSION) and tagged
properly
* Documented MULTI PLAY MODE (unemulated); Missing MCU
* Updated game PCB information
* Renamed kof99n to kof99k (KOREAN VERSION)
* Renamed P's in mslug3 to correct chip label, added SMA comment
* Renamed ROMs in jockeygp according to original cart, added some
comments
* Renamed ROMs in vliner/vlinero according to original cart, added
some comments
* neodrvr.c cleanup
Fixed some bugs in the MB88xx CPU core [Alex Jackson]
Various improvements to polepos.c [Alex Jackson]:
* Corrected the way the steering wheel is hooked up, fixing the
jittery steering in the sets with MCUs.
* Added a new layout file for the bootleg sets without MCUs
(topracern and polepos2bi).
* Converted clock frequencies to crystal values from xtal.c.
* Added correct ROM names for the Namco-manufactured sets (polepos
and polepos2).
* Completely removed the unused global variable polepos_gear_bit.
* Fixed a couple of bootleg ROMs that were very likely bit-rotted.
Added some missing makefile dependencies [Atari Ace]
Allow the non-DRC RSP core to build again (controlled by a #define
like the SH-2 core) [Atari Ace]
segas16b.c: Corrected the rom names for the FD1094 317-0120 Golden Axe
set and verified the dump as good. [Brian Troha]
lr35902.c: Added the speed register to the register list to allow it
to be changed and retrieved again. [Sandro Ronco]
converted mb3773 from a legacy device to a c++ device. tidied up
comments in at28c16 [smf]
djboy.c: Added unverified Beast MCU internal ROM image
[Dr Decapitator, Tomasz Slanina, Lord Nightmare, Phil Bennett]
sfbonus.c: Added the Amcoe "Classic Edition Compact Format" PCB
layout. [Brian Troha]
Added TMS32015 and TMS32016 CPU variants to the TMS32010 core. Fixed
LST instruction which was sometimes adjusting internal RAM banking
incorrectly. [Quench]
Added Ameri Darts internal DSP dump and TMS32015 support to the
Amerdart driver. Also added savestate support to the game.
[Dr Decapitator, Quench]
RSP: Fix sign issue in VCL opcode [angrylion]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Puzzle Break [David Haywood, Smitdogg, The Dumping Union]
New clones added
----------------
Mystic Riders (bootleg?) [David Raingeard]
Magical Odds (set 2) [W. Herve, Smitdogg, The Dumping Union]
Raiden Fighters Jet - 2000 (China) [Brian Troha, Guru]
Wonder Boy III - Monster Lair (set 6, System 16A, FD1089A 317-xxxx) (better dump?)
[Team Europe]
Street Fighter Zero (Hispanic 950718)
[Layne, N. Francfort, R. Mucciarelli, Smitdogg, The Dumping Union]
Captain Commando (World 911202) [Stefan Lindberg, The Dumping Union]
Space Ship [f4brice]
Juuouki (set 5, Japan, FD1094 317-0069, not working)
[Stefan Lindberg, The Dumping Union]
Wild Fang [Stefan Lindberg, The Dumping Union]
Fruit Bonus '06 - 10th anniversary (Version 1.3R CGA)
[Brian Troha, The Dumping Union]
Terminator 2 - Judgment Day (rev LA4 08/03/92)
[Gor, Smitdogg, The Dumping Union]
New games marked as GAME_NOT_WORKING
------------------------------------
Gundam Battle Operating Simulator (GDX-0013)
[Team Europe, Joerg Hartenberger]
Sega Club Golf 2006 Next Tours (Rev A) (GDX-0018A)
[Team Europe, Joerg Hartenberger]
Ollie King (GDX-0007) [Team Europe, Joerg Hartenberger]
Tokio/Scramble Formation (japanese?, newer)
[Guru, Roger Coltrane, Smitdogg, The Dumping Union]
0.138u3
-------
MAMETesters Bugs Fixed
----------------------
- 03910: [Sound] All sets using stereo sound: Right speaker is louder
than left speaker (hap)
- 03913: [Graphics] arcadecl: Playfield is offset to characters in both
games. (hap)
- 03912: [Sound] kyros, kyrosj: Once you throw a punch, there is a white
noise which lasts throughout the game (hap)
- 02572: [Known Issues/To-Do's] All Sets in xain.c: 68705 MCU is not
dumped, behavior patched out (Phil Bennett, Dr. Decapitator)
- 02462: [Known Issues/To-Do's] storming: Supposed to be a bootleg
without mcu. (hap)
- 03899: [Sound] All sets in cloak.c: Music pitch is higher than PCB
(Tafoid)
- 03888: [DIP/Input] mstadium: Third button mapping missing. (Tafoid)
Source Changes
--------------
Added many instances of missing static and const qualifiers to MAME,
and disabled a fair chunk of dead code in konamiic.c. [Atari Ace]
Confirmation (with frequency counter) of proper 68000 clock speeds (16
MHz) for Premier Soccer and Golfing Greats. [Fabrizio Vasile]
Updated expat library match the latest released version. (2.0.1)
[Oliver Stoneberg]
Natural keyboard status saved in options when changed [Robbbert]
Improvements to the Pinkiri 8 video emulation [David Haywood]
Hooked up inputs and Dip-SW for Ron Jan and Pinkiri 8 [Angelo Salese]
Simplified vram access in Pinkiri 8 HW [David Haywood]
Added a skeleton driver for Philips CD-i-based arcade series, Quizard
[Harmony]
Moved softlist implementation from MESS [Miodrag Milanovic]
* Moved image related UI from MESS to emu core
* Reimplemented filename related image device calls
Moved listsofware command line option from MESS, and added softlist in
XML output [Miodrag Milanovic]
TMS52xx now uses proper IP/PC/Subcycle counting for audio generation.
[Lord Nightmare]
video/cclimber.c: cclimber/ckong sprite X was off by 1 [hap]
Rewrote video emulation to use the device system in Little Robin
[David Haywood]
Decrypted Double Dragon Italian bootleg char roms [Angelo Salese]
Super Game III: added handling for two consecutive writes for MMC1
making Snow Bros playable [Mariusz Wojcieszek, Fabio Pruli]
Moved ioproc implementation from MESS [Miodrag Milanovic]
Fixed bad cassette wave sound [Robbbert]
Super Game III: fixed Tom & Jerry [Mariusz Wojcieszek]
Added proper i8751H MCU dump to Legend of Hero Tonma (Japan)
[Dr. Decapitator]
C++-ified the debugger views. Split implementation of individual view
types out to separate files. Updated all callers. [Aaron Giles]
Changed emualloc to free resource pools from earliest to latest so
that early objects can safely clean up stuff they allocated.
[Aaron Giles]
Changed device name from an overridable function to a parameter passed
to the device_config constructor. In situations where the proper name
is not known at construction time, a generic name can be specified and
then overridden later once the configuration is complete. [Aaron Giles]
Decapped 89C51 MCU in Real Battle Mahjong King [Dr. Decapitator, Guru]
metro.c: Added Puzzlet's MCU internal ROM. Zilog Z8 8-bit family MCU
requires a new CPU core to be written. [Dr. Decapitator]
Hooked up Renegade 68705 MCU [Phil Bennett, Dr. Decapitator]
Made redufo Artic version the parent and bootleg version a clone [hap]
Hooked up Xain d'Sleena/Solar Warrior 68705 MCU
[Phil Bennett, Dr. Decapitator]
Hooked up Daikaiju no Gyakushu 68705 MCU and removed MCU simulation
code [Phil Bennett, Dr. Decapitator]
Added DIP LOCATIONS for xain.c [Tafoid]
aristmk4: various improvements: [FrasheR, Palindrome]
* Fixed VIA for good. 5010 - 501F
* Hooked up push button inputs
* Hooked up ports for the PML 2852 U3
* Implemented coin input
* Lamp output and button layout
* NVRAM backup
* Connected SW7 for BG colour map select
* Added LK13. 3MHz or 1.5 MHz CPU speed select
* Added sound sample for mechanical meter pulse
* Replaced custom RTC code with MC146818
naomi.c: Corrected and updated some game names and cartridge
descriptions [f205v]
neodrvr.c updates: [Johnboy]
* Tagged kof2003h AES VERSION
* Tagged the following sets as MVS AND AES VERSION: aodk, lbowling
* Renamed P1 in sengoku3 to correct chip label
* Marked v2 in strhoop BAD_DUMP
* Marked P1 in flipshot BAD_DUMP
* Identified kof98n as AES version, renamed to kof98h
Improved v25 logging for Batsugun [David Haywood]
igs011.c update [Luca Elia]
* Emulated IGS011 protection
* Emulated IGS012 protection
* Removed 149 rom patches
Hooked up Slap Fight/Alcon 68705 MCU [Phil Bennett, Dr. Decapitator]
Hooked up MCUs for Tough Turf (US) and Wrestle War; removed Wrestle
War MCU simulation. [Aaron Giles, Dr. Decapitator]
cps2.c: Correct the release order for the Xmen: Cota (Hispanic) sets
[gregf]
Made the machine_config a proper object. Added detokenize method to
this object which can be called multiple times to append new devices
after the initial machine configuration is set up. Updated member
variables to match new naming convention. [Aaron Giles]
Changed the running_machine to take a constructed machine_config
object in the constructor, instead of creating one itself, for
consistency. Also added machine->total_colors() as a shortcut to
machine->config->m_total_colors. [Aaron Giles]
firetrap.c: Added PCB documentation, corrected ROM names, corrected
clocks [Guru]
idsoccer: Improved DIP locations, confirmed MSM5205 clock
[Kevin Eshbach]
Fixed title screen colors in Bogey Manor
[Angelo Salese, Stefan Lindberg]
Modified way device_type constants are defined in order to get unidasm
compile [Miodrag Milanovic]
Changed autmoon (aristmk4) romload to proper crc/sha hashes. The
submitted romset contained a 32kb (u87.bin) which actually appeared to
be an 8k overdumped. [Tafoid]
slapfght.c: Corrected rom names for the Slap Fight sets and added PCB
locations to any set where possible. Added Dipswitch locations to Slap
Fight. Moved PCB information down to matching rom sets.
[Brian Troha, Guru]
Split mame.c into mame.c and machine.c, the latter containing the
running_machine definition and implementation. [Aaron Giles]
Moved global machine-level operations and accessors into methods on
the running_machine class. For the most part, this doesn't affect
drivers except for a few occasional bits: [Aaron Giles]
mame_get_phase() == machine->phase()
add_reset_callback() == machine->add_notifier(MACHINE_NOTIFY_RESET, ...)
add_exit_callback() == machine->add_notifier(MACHINE_NOTIFY_EXIT, ...)
mame_get_base_datetime() == machine->base_datetime()
mame_get_current_datetime() == machine->current_datetime()
Cleaned up the region_info class, removing most global region
accessors except for memory_region() and memory_region_length().
Again, this doesn't generally affect drivers. [Aaron Giles]
Resurrect the old sampling profiler, and improve it to be useful:
[Aaron Giles]
* always available now, just specify -profile <n> to enable it
* supports stack walking to uniquely identify call chains; the <n>
parameter to the -profile option specifies how deep to go
* automatically turns off throttling and multithreading, and sets the
number of processors available to 1 (since we only sample the main
thread)
* output now uses the common symbol lookup, which actually uses the
PDB for MSVC builds and sym files for gcc builds
* the top 30 unique call chains are output
Fix performance regression for PowerPC games. The timing made heavy
use of cpu_get_total_cycles() which is now slow. Better to use the
legacy_cpu_device directly and call device->total_cycles() which
avoids the dynamic_cast to find the execute interface from a generic
device. [Aaron Giles]
Added cycles_to_attotime() and attotime_to_cycles() which is more
often what is requested. (Clocks are the raw input clock, while cycles
are internal clock after dividers/multipliers.) [Aaron Giles]
Removed most other instances of cpu_get_total_cycles. [Aaron Giles]
Removed the following functions: [Aaron Giles]
cpu_get_total_cycles() == cpudevice->total_cycles()
cpu_clocks_to_attotime() == cpudevice->cycles_to_attotime()
cpu_attotime_to_clocks() == cpudevice->attotime_to_cycles()
Correct dipswitch location order in World Rally to match actual dips
as seen by the game / service menu. [Brian Troha]
namcos22.c: updated ridgerac, raveracw and acedrvrw to use keys
instead of dipswitches for shifters [Fabio Priuli]
Added COPX romloading for sets that didn't have it, marked as BAD_DUMP
until the assumption that they're the same is (un)confirmed. [hap]
Winmain cleanup: [Aaron Giles]
* created dynamic_bind<> template class to handle dynamically binding
to optionally-supported functions
* wrapped stack walking code in a class
* wrapped symbol lookup code in a class
* added support for parsing objdump-produced symbol dumps which
include non-global functions for much better stack dumps and
profiling in gcc builds
Modified makefile for win32 targets to automatically run objdump
and produce a .sym file if SYMBOLS is enabled. [Aaron Giles]
Update cheat loading to support image devices (moved implementation
from MESS), use only CRC of first found image. [Miodrag Milanovic]
Removed cpu_get_sp(). [Aaron Giles]
Added overrides to fetch the execute, memory and state interfaces
without doing a dynamic_cast<> to speed up common legacy operations.
[Aaron Giles]
Created CPU-specific device types for all CPUs, using new macros
DECLARE_LEGACY_CPU_DEVICE and DEFINE_LEGACY_CPU_DEVICE. Changed CPUs
to be their own device types, rather than all of type CPU with a
special internal subtype. Note that as part of this process I removed
the CPU_ prefix from the ALL-CAPS device name, so CPU_Z80 is just
plain old Z80 now. This required changing a couple of names like 8080
to I8080 so that there was an alphabetic first character. [Aaron Giles]
Hooked up Heavy Barrel I8751 MCU [Bryan McPhail, Dr. Decapitator]
[cb2001] added 2 new opcodes [robiza]
Hooked up Gondomania I8751 MCU [Bryan McPhail, Dr. Decapitator]
Reimplemented Meikyuu Hunter G I8751 MCU according to schematics
[Bryan McPhail]
Software list update: [Wilbert Pol]
- Software list xml files are now read in full such that information
for clone and parent sets is available.
- Added validity check to check for existence of parent sets.
Imported image related utils from MESS into /lib/util [Miodrag Milanovic]
Improved video emulation in cb2001 [David Haywood]
Added support for Sega 317-5000 decryption (same as 315-5177).
Reorganised decryption code. [Nicola Salmoria]
Moved debugging structure away from CPUs only and attached to all
devices. Debugger now creates one for each device. C++-ified most
debugger operations to hang off the debugging class, and updated
most callers. [Aaron Giles]
Got rid of cpu_count, cpu_first, cpu_next, etc. as they were badly
broken. Also removed cpu_is_executing, cpu_is_suspended,
cpu_get_local_time, and cpu_abort_timeslice. [Aaron Giles]
Software list improvements: [Miodrag Milanovic]
- Support for multiple software list per driver
- Added MDRV_SOFTWARE_LIST_COMPATIBLE_ADD for adding compatible
software lists (for documentation purposes) [Miodrag Milanovic]
- listsoftware option now return only original software lists
- UI is updated to enable mounting software items per device, it
will display only items from list that are for specific device
- Separate compatible software lists in UI
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Slap Fight (set 1) [Phil Bennett, Dr. Decapitator]
Alcon [Phil Bennett, Dr. Decapitator]
New clones added
----------------
The King of Fighters '98 - The Slugfest /
King of Fighters '98 - dream match never ends (Korean board 2)
[Johnboy]
Looping (Video Games GMBH) [Andrew Welburn]
Defend the Terra Attack on the Red UFO (Artic) [The Dumping Union]
Crazy Kong (Falcon?) [Fred O.]
Exciting Animal Land Jr. (USA) [Smitdogg, The Dumping Union]
American Soccer [Kevin Eshbach]
Virtua Striker 2 '99 (Revision B) [Guru]
Fire Trap (Japan) [Guru]
Marvel Vs. Capcom: Clash of Super Heroes (USA 971222) [Razoola]
Raiden DX (UK) [Irongiant]
Boggy '84 (original Kaneko) [Klaus Sommer, Team Europe, The Dumping Union]
Exerizer (Japan) [N. Francfort, blib, Smitdogg, The Dumping Union]
New games marked as GAME_NOT_WORKING
------------------------------------
Quizard (1.7) [ANY, The Dumping Union, Harmony]
Quizard (2.2) [ANY, The Dumping Union, Harmony]
Quizard (3.2) [ANY, The Dumping Union, Harmony]
Quizard Rainbow (4.1) [ANY, The Dumping Union, Harmony]
Model Racing Shooting Game (unknown title)
[Luigi, Volker Hann, Team Europe]
Out Run 2 (Rev. A) [GDX-0004A] [Team Europe, The Dumping Union, Alex]
0.138u2
-------
IMPORTANT NOTE: The way devices are handled internally in MAME has changed
significantly. There are likely to be short-term compatibility and
performance effects. Please report any errors or *significant* performance
decreases (>20%) to mametesters.org. Full documentation on the new
device handling is in progress at
http://mamedev.org/devwiki/index.php/MAME_Device_Basics
MAMETesters Bugs Fixed
----------------------
- 03878: [Crash/Freeze] mimonscr: Hangs at Post (Tafoid)
- 02362: [Speed] block: Ball speed is erratic. (hap)
- 03579: [Crash/Freeze] rbibb, rbibba, vsskykid: Severe graphic
corruption/Access Voilation (Fabio Priuli)
- 01839: [Color/Palette] battlex: Incorrect colors and/or palette (Tafoid)
- 03747: [Graphics] ckong: One pixel gap is missing between Kong and
level (hap)
- 03866: [Graphics] prehisle, prehisleu, gensitou: Lack of graphics
(David Haywood)
Source Changes
--------------
A small update for the YM2610 core, which resets the PCM and Delta-T
memory regions when the chip is reset. This is needed for MESS, where
being able to change the size and existence of the sample regions on
the Neo Geo AES is necessary for the sound to work right, especially
for games that don't have a specific Delta-T region. [Barry Rodewald]
Increased number of coinslots to 12, and tilt inputs to 4, required by
in-progress gambling driver [David Haywood]
Fixed various hangs and NVRAM init in the Model 2 driver
[Angelo Salese]
Add partial decrypt function for vortex (0x0000-0x1FFF is decrypted
properly, 0x4000-0x5FFF is probably not), still much work to be done
especially regarding memory maps (which are affected by the epoxy
block address inverts as well). [Lord Nightmare, The Dumping Union]
Fixed a warning in Visual Studio 2010 that was introduced by a
previous commit. [Oliver Stoneberg]
Added some missing static qualifiers to MAME. Also, renamed some
generically named exports from segaic16.c. [Atari Ace]
batsugun: fixed layer-layer priorities; sprite-sprite priorities are
wrong [robiza]
dogyuun: fixed layer-layer priorities; sprite priorities are wrong
[robiza]
hal21: cabinet DIPSW was reversed btlfield: DIAL was used instead of
rotary joystick [/SftiKDL0]
namconb1.c: Replaced sound data rom for the Point Blank sets that was
incorrectly dumped. The new dump has been verified on 3 different
PCBs. [Guru, Smitdogg, The Dumping Union]
kongambl.c updates: [R. Belmont]
* Mapped ROMs correctly to processors
* Started mapping out Konami customs
* EEPROM hooked up
lordgun.c update [Luca Elia]
* Implemented RAM based priorities
* Added multi-sprite, fixed sprite list end
* Corrected tilemap 2 size (wrong backgrounds in the final stage)
* Fixed crosshair position
chdman/cdrom updates: [R. Belmont]
* CDRWIN .bin/.cue images now supported for both input and output
* Pregap and postgap information is now preserved in the format
* Output of CDRDAO images is significantly improved
Existing CHD-CDs will continue to work fine and for data-only discs no
action needs to be taken. For mixed data/audio discs (e.g. analog
573/Bemani games) they should be re-converted for better preservation.
kongambl: Support unpaged 056832 VRAM access [R. Belmont]
Hooked up ad sticks to Rail Chase 2 [Angelo Salese]
Documented Drive I/O BD commands in Rail Chase 2 [Angelo Salese]
Added a new cycle exact VMS interface to TMS5110 emulating M0, M1 and
ADD1 to ADD8 lines. Added TMS6100 memory controller device. Also added
TMSPROM device emulating bagman and ad2083 prom controlled speech
logic. Switched bagman, ad2083 (scramble.c) and radarscp1 to use the
new interface and devices. [Couriersud]
buggychl: Improved sky, the in-game foreground statusbar and
speedometer don't clip it anymore, and it's a gradient of
azure->turquoise now instead of azure->black. [hap]
Moved tms6100 code into emu/machine/tms6100.[ch]. Added pinouts for
TMS6100 and M58819. [Couriersud]
Added palette DAC handling, reel layers and removed NMI patch in Lucky
Girl (Z180 HW) [David Haywood]
Added clock information and timing from schematics to bagman.c
Improved interrupt timing and handling to follow schematics.
[Couriersud]
SDL: remove problematic live render type toggle and default OS X to
OpenGL [R. Belmont]
Hooked up basic Drive i/o board CPU in Sega Rally [Guru, Angelo
Salese]
Adjusted default volumes to normalize audio and better present the
original output for bagman.c [Tafoid]
Fixed dips in Dragon World [Luca Elia]
Fixed NVRAM handling in Diamond Derby [Angelo Salese]
Convert 7474 handlers to (READ|WRITE)_LINE_DEVICE_HANDLERS.
[Couriersud]
Added macros for inline device handler initialization to devcb.h.
[Couriersud]
Changed 7474 to only use devcb callbacks and handlers. Updated game
drivers. [Couriersud]
X2212 now uses device template. Also changed all handlers to use devcb
prototypes. Default nvram contents should be in region named same like
device tag. Hooked up X2212 in starwars. [Couriersud]
Basic M6502 hook-up in Royal Gum [David Haywood]
Moved Miracle Derby inside homedata.c driver [David Haywood]
Removed r5h01_config. Memory region now has to have same tag as r5h01
device. Update playch10 driver. [Couriersud]
Addd documentation about tms5110 prom interface used by bagman and
ad2083. [Couriersud]
SDLMAME now compiles against SDL 1.3 up to HG rev 4464. Everything
beyond that revision is completely broken since Sam ripped out
multi-keyboard and multi-mice support. Further information in
README_SDL13.txt [Couriersud]
Splitted the ST-V protection handlings by per-game [Angelo Salese]
Added proper RTC support to the ST-V driver [Angelo Salese]
pcat_nit.c update [Mariusz Wojcieszek]
* added VGA emulation from MESS
* added INS8250 emulation from MESS
* added format decimal support to Microtouch
* added rom banking and inputs to pcat_nit games
* streetg(2) now boot properly
Moved some common PC code to machine/pcshare.c [Mariusz Wojcieszek]
vsnes.c: Reworked VROM banking to avoid pointing beyond the last
bank. Also, changed the use of memory_set_bankptr into
memory_set_bank. [Fabio Priuli]
Add Bonus Life dipswitches to Moon War (prototype on frenzy hardware)
[Lord Nightmare, stephh]
Improvements to Lucky Girl (newer Z80 based hardware):
[Roberto Fresca]
* Improved the input system, added missing buttons.
* Figured out the full coinage DIP switches. (Coins A, B, C, Key In)
* Found and documented the output ports.
* Added full lamps support.
* Created a new button-lamps layout.
* Hooked the coin and key in counters.
* Added technical notes.
* Figured out the following DIP switches:
* Auto Hold (No / Yes)
* Game Type (Hold Game / Discard Game).
* Adult Content (No / Yes).
* Minimal Winning Hand (Jacks or Better / 2 Pairs).
* Minimum Bet (1 / 5).
* Double-Up (Normal / Poker / Bingo / No D-Up).
Massive Space Invaders related comment update, documenting various
sets, and the various Taito PCBs used by Space Invaders/Tabletop
SI/Tabletop SI Color/Tabletop SI II/etc.
[Andrew Welburn, Lord Nightmare]
Hooked up color prom in Kick Boy [Angelo Salese]
Defined two new casting helpers: [Aaron Giles]
downcast<type>(value) should be used for safe and efficient
downcasting from a base class to a derived class. It wraps
static_cast<> by adding an assert that a matching dynamic_cast<>
returns the same result in debug builds.
crosscast<type>(value) should be used for safe casting from one type
to another in multiple inheritance scenarios. It compiles to a
dynamic_cast<> plus an assert on the result. Since it does not
optimize down to static_cast<>, you should prefer downcast<> over
crosscast<> when you can.
Redefined running_device to be a proper C++ class (now called
device_t). Same for device_config (still called device_config). All
devices and device_configs must now be derived from these base
classes. This means each device type now has a pair of its own unique
classes that describe the device. Drivers are encouraged to use the
specific device types instead of the generic running_device or
device_t classes. Drivers that have a state class defined in their
header file are encouraged to use initializers off the constructor to
locate devices. [Aaron Giles]
Removed the following fields from the device and device configuration
classes as they never were necessary or provided any use: device
class, device family, source file, version, credits. [Aaron Giles]
Added templatized variant of machine->device() which performs a
downcast as part of the device fetch. Thus
machine->device<timer_device>("timer") will locate a device named
"timer", downcast it to a timer_device, and assert if the downcast
fails. [Aaron Giles]
Removed most publically accessible members of running_device/device_t
in favor of inline accessor functions. The only remaining public
member is machine. Thus all references to device->type are now
device->type(), etc. [Aaron Giles]
Created a number of device interface classes which are designed to be
mix- ins for the device classes, providing specific extended
functionality and information. There are standard interface classes
for sound, execution, state, nvram, memory, and disassembly. Devices
can opt into 0 or more of these classes. [Aaron Giles]
Converted the classic CPU device to a standard device that uses the
execution, state, memory, and disassembly interfaces. Used this new
class (cpu_device) to implement the existing CPU device interface. In
the future it will be possible to convert each CPU core to its own
device type, but for now they are still all CPU devices with a
cpu_type() that specifies exactly which kind of CPU. [Aaron Giles]
Created a new header devlegcy.h which wraps the old device interface
using some special template classes. To use these with an existing
device, simply remove from the device header the DEVICE_GET_INFO()
declaration and the #define mapping the ALL_CAPS name to the
DEVICE_GET_INFO. In their place #include "devlegcy.h" and use the
DECLARE_LEGACY_DEVICE() macro. In addition, there is a
DECLARE_LEGACY_SOUND_DEVICE() macro for wrapping existing sound
devices into new-style devices, and a DECLARE_LEGACY_NVRAM_DEVICE()
for wrapping NVRAM devices. Also moved the token and inline_config
members to the legacy device class, as these are not used in modern
devices. [Aaron Giles]
Converted the standard base devices (VIDEO_SCREEN, SPEAKER, and TIMER)
from legacy devices to the new C++ style. Also renamed VIDEO_SCREEN to
simply SCREEN. The various global functions that were previously used
to access information or modify the state of these devices are now
replaced by methods on the device classes. Specifically:
video_screen_configure() == screen->configure()
video_screen_set_visarea() == screen->set_visible_area()
video_screen_update_partial() == screen->update_partial()
video_screen_update_now() == screen->update_now()
video_screen_get_vpos() == screen->vpos()
video_screen_get_hpos() == screen->hpos()
video_screen_get_vblank() == screen->vblank()
video_screen_get_hblank() == screen->hblank()
video_screen_get_width() == screen->width()
video_screen_get_height() == screen->height()
video_screen_get_visible_area() == screen->visible_area()
video_screen_get_time_until_pos() == screen->time_until_pos()
video_screen_get_time_until_vblank_start() ==
screen->time_until_vblank_start()
video_screen_get_time_until_vblank_end() ==
screen->time_until_vblank_end()
video_screen_get_time_until_update() ==
screen->time_until_update()
video_screen_get_scan_period() == screen->scan_period()
video_screen_get_frame_period() == screen->frame_period()
video_screen_get_frame_number() == screen->frame_number()
timer_device_adjust_oneshot() == timer->adjust()
timer_device_adjust_periodic() == timer->adjust()
timer_device_reset() == timer->reset()
timer_device_enable() == timer->enable()
timer_device_enabled() == timer->enabled()
timer_device_get_param() == timer->param()
timer_device_set_param() == timer->set_param()
timer_device_get_ptr() == timer->get_ptr()
timer_device_set_ptr() == timer->set_ptr()
timer_device_timeelapsed() == timer->time_elapsed()
timer_device_timeleft() == timer->time_left()
timer_device_starttime() == timer->start_time()
timer_device_firetime() == timer->fire_time()
Updated all drivers that use the above functions to fetch the specific
device type (timer_device or screen_device) and call the appropriate
method. [Aaron Giles]
Changed machine->primary_screen and the 'screen' parameter to
VIDEO_UPDATE to specifically pass in a screen_device object.
[Aaron Giles]
Defined a new custom interface for the Z80 daisy chain. This interface
behaves like the standard interfaces, and can be added to any device
that implements the Z80 daisy chain behavior. Converted all existing
Z80 daisy chain devices to new-style devices that inherit this
interface. [Aaron Giles]
Changed the way CPU state tables are built up. Previously, these were
data structures defined by a CPU core which described all the
registers and how to output them. This functionality is now part of
the state interface and is implemented via the device_state_entry
class. Updated all CPU cores which were using the old data structure
to use the new form. The syntax is currently awkward, but will be
cleaner for CPUs that are native new devices. [Aaron Giles]
Converted the okim6295 and eeprom devices to the new model. These were
necessary because they both require multiple interfaces to operate and
it didn't make sense to create legacy device templates for these
single cases. (okim6295 needs the sound interface and the memory
interface, while eeprom requires both the nvram and memory
interfaces). [Aaron Giles]
Changed parameters in a few callback functions from pointers to
references in situations where they are guaranteed to never be NULL.
[Aaron Giles]
Removed MDRV_CPU_FLAGS() which was only used for disabling a CPU.