Active Threads | Active Posts | Unanswered Today | Since Yesterday | This Week
MAME Jump to new posts
Re: ex- USSR and Soviet Bloc hardware =CO=Windler 01/20/21 04:08 AM
I own a defective Arton IK-51 music keyboard prototype made in USSR by Formanta (creators of the mythical Polivoks synth), which was their only instrument with digital sound, accompaniment and midi. The hardware contains 3 large PCBs (crowded like early 1980th arcade stuff). One of the eproms is corrupted, because they lost their stickers and so likely ate light. So it crashes after few key presses and the accompaniment is garbled.

I also own the Vermona SK-86 keyboard made in GDR, which contains Z80-based hardware with many logic ICs and analogue percussion. I dumped the eproms and even bought the original ultra-rare service manual of it, which (unlike the many Casio and Yamaha home keyboards) looks detailed enough to emulate the whole thing.

And I own a Weimar mantle clock made in GDR, which contains a bizarre monophonic digital beeping squarewave chime circuit made from many logic ICs and one eprom. One of the melodies (selectable by DIP-switch) may be a fragment of "Ein Jäger aus Kurpfalz). This also may have been a prototype, because I never saw another clock with this sound circuit nor found anything online about it.
382 343,138 Read More
MAME Jump to new posts
Re: Epoch Cassette Vision and uPD77X chips =CO=Windler 01/20/21 03:39 AM
Originally Posted by hap
One is a music keyboard, other is a game console. Let's keep it on-topic.

The topic was "uPD77X chips", and these are definitely part of them, although it may be that only the release date of NEC chips determined their number, since the Casiotone patent suggest a gate logic implementation rather than a Von Neumann architecture with address and data bus. The pin count rarely tells much, since in many MCUs with same silicon die the unused pads in smaller package versions simply remain unbonded to reduce cost. (Pin order can be a stronger hint to the employed die.) At least I see none of the NEC uPD77X type numbers used twice for as well a game and a keyboard CPU. I had examined these Music LSI chips quite detailedly. This is what I found out.

Unusual is that in Casiotone 201 the keyboard matrix is polled by both CPUs those are mostly wired parallel. Both CPUs do exactly the same but have (in the manner of SIMD vector computing) different sound rom data. So each CPU outputs its polyphonic digital audio (that per channel is already made from 2 subvoices with each a digital volume envelope) through its own 14 bit DAC and a switchable fixed analogue filter to modify the timbre. Finally the analogue output of both filters is mixed together to form the sound signal. The filter settings are static and do not change during envelopes (likely to avoid dependencies between polyphony channels). Apparently one CPU can use the normal and the other a spread chromatic tone scale to produce a chorus effect (phasing) when layered.

Most waveforms are composed of symmetrical straight and ramp sections and look quite geometric. Only the sine wave looks as round as the coarse step resolution permits. Like with the later D931C, (which was detailedly researched by Robin Whittle) the sound generator apparently can not only mirror the waveform in hardware, but also skip either the positive or negative halves or even pass only every n-th wave cycle (i.e. a wave is followed by multiple wave lengths of silence) which creates the typical buzzy bass range known from squarewave based instruments. Unfortunately the employed waveforms in this mother of all Casiotones use mainly simple symmetric ramp patterns those don't sound too great. (Successors sound better.) I don't understand why Casio didn't use more asymmetric waveforms like a real sawtooth to imitate a trumpet.

The sound generation for the 8 polyphony channels is time multiplexed, thus like in most later 1980th Casio keyboards, all register contents of sound and envelope hardware is genuinely stored in 8 stage circular multi-bit shift registers. As a form of lightning fast hardware multitasking, after processing each channel they cycle to the next entry every clock step, so a task runs every 8th step and outputs its audio increment to an accumulator that finally sums them as a 14 bit DAC output value. Also this is a Casio speciality - who knows if a foreign patent prevented them from using address counters for cycling through sound channels, but shift registers may be also just a proven concept from calculator design they were most familiar with.

The concept of this instrument is described in the US patent 4283983 (particularly focussing on the user interface with tone memory). It is based on logic gates and not software controlled. The circuit for sound selection through keyboard keys (with waveforms and envelope hardware) is detailedly explained in US patent 4348932, and the part for sounding a demo note (and improvements like layered sounds) in 4387619.

In the nicely detailed reference implementation of patent 4348932 the keyboard input from the key matrix decoder is demultiplexed and then one line per key is running into a code converter (simple sort of ROM without address decoder) which outputs for each key number a 6 bit note frequency and 12 bit sound definition data for the preset sound selectable through that key. During sound selection the sound definition data is written into a register that controls waveform and envelope generator. And the described envelope generator is truly bizarre, because by the lack of multipliers it can not(!) change volume and waveform independently. Each waveform consists of straight and ramp sections (like sawtooth) of fixed steepness, so the amplitude can increase only by making that ramp either grow row by row ("fixed mode", like building a brick pyramid bottom-up) or dive up peak-first vertically out of the zero line ("floating mode"). A waveform is always 32 steps long and up to 15 steps high. Said 4 bit volume envelope consists of 5 linear sections {increase, transform, decrease 1..3} with different clock rates to roughly approximate logarithmic shape. All envelope clocks are derived from the pitch clock. During "increase" (attack) the waveform always grows in fixed mode (like opening a voltage limiter), during "transform" at full height it morphs into another waveform (square, ramp) with intermediate shapes looking like one waveform cut out of the other (like y=min(wave1(t), wave2(t)) ). The "decrease" steps can either make the waveform shrink vertically like closing a voltage limiter (fixed mode), or make it sink into the zero line (floating mode, peaks stick out last); a square wave pulse can even shrink also horizontally (floating mode, of course making the blank section longer to keep the same frequency). The whole morphing waveform generator works by adding/ subtracting steps at a certain clock rate to the amplitude; what is done in which section is switched by gates at certain waveform step numbers (of 0..31) and a comparator that compares the actual amplitude with the waveform step number and so switches addition or subtraction of clock pulses to the amplitude counter. Both halves (the part before and after step 16) of a waveform can morph independently, but a ramp in the first half is always ascending, in the 2nd half descending, so they can form a triangular wave. A square in the 1st half stays zero and has the pulse at the start of the 2nd. The described preset sound definition uses 2 bits for 4 settings of the fixed analogue filter, 3 bits to select 5 different envelopes, 5 bits to select 18 different waveforms and 2 bits to select 3 octave shifter settings. The output DAC has only 7 bit.

But this reference implementation substantially differs from the finished instrument. E.g. it lacks vibrato, sustain pedal and tone memory, and supports only 48 keys. The "Tone" switch is digital (i.e. 2 preset sounds for each key stored in the code converter for up to 96 sounds in total). "Tone" and sound select switch are outside the keyboard matrix. And instead of one demo note it even sounds a sequence of 3 (C4, C4#, D4) - a gimmick that was not implemented until the (technically very different) CT-8000 of the Symphonytron stage organ. The reference implementation even seems to use only positive half waves and may lack the mirroring mode for symmetric waveforms. The actual Casiotone 201 IC supports 8 instead of only 2 filter control outputs and its envelope generator definitely can change amplitude (likely logarithmic using a ROM lookup table) without morphing the waveform. It doesn't seem to distort all attacks by simulated voltage limiter envelope, but rather add a 2nd waveform (symmetric, i.e. quaterwave definition read out of ROM?) with short decay envelope to imitate things like string pluck noise of acoustic instruments. Several of these short waveform blips are eastereggs on the black keys, as well as even an unused sine wave, which may be even there for internal computation, because US patent 4453440 mentions a fast multiplication method based on subtracting 2 phase shifted versions of the same sine wave read from a ROM lookup table. Possibly also the bit shift multiplication network from US patent 4590838 (D931C predecessor) is used. While I don't see the pure morphing envelopes from patent 4348932, various preset sounds employ trapeze waveforms those may be indeed based on a triangular wave truncated by a vertically mirrored static version of said "fixed mode". In other sounds it even morphs a triangular wave by the "floating mode" sinking motion. So it may be that Casio indeed layered a modified version of their morphing waveform generator as the "vowel" with a technically different, ROM based attack waveform as the "consonant", hence the name "Consonant Vowel Synthesis".

The concept of geometric waveforms those gradually change shape by growing out of the floor or being truncated from one side to modify timbre has very strong similarities with the "paper sound" technique that exposed paper cut shapes as waveforms on film to be played as the sound track in a film projector. Also here timbres were modified by gradually cutting shapes by means of stopmotion cartoon animation (e.g. by moving a black shade over parts of the bright waveform). On the same idea the Russian Evgeny Sholpo created in 1930 the optical synthesizer Variophone - a mechanical contraption with waveforms on exchangeable spinning cardboard tonewheels that was used to compose polyphonic music for cartoon movies that sounded surprisingly similar like chiptunes.

Nevertheless that a Casiotone 201 doesn't sound overly great, it would be fascinating to simulate the original morphing waveform envelope generator of the patent 4348932 prototype in software (or perhaps even FPGA) to explore what it sounded like. This was the mother of all Casio keyboards, and this bizarre piece of minimalistic gate logics design without multiplication is so Pong-age - a weird chip invention like Atari Video Music that deserves to be preserved.

US patent 4387619 poorly describes a later variant of said reference implementation; the sound and envelope generator here supports 84 keys, an 8 bit DAC, vibrato and sustain. Its implementation is much more complicated (twice schematics size) with plenty of multiplexing, involving e.g. instead of the code converter a ROM followed by a bunch of gate logics to translate its 8 bit output into 13 control bits. Main reason for this was likely to implement a so-called "staggered multi-performance mode", i.e. a preset sound can consist of multiple layered subvoices occupying 2 or 4 polyphony channels ("duet", "quartet" - a feature that was not released until the much later "unison" modes in the CPU controlled Casio CT-6000), which needs independent management of key presses and polyphony channels. In an LSI chip without software control the routing is quite a mess - involving plenty of additional shift registers to memorize which key press belongs to which sounding note and such stuff. The master clock is stepping the shift registers with 1MHz, which permits rapid 8µs polyphony multitasking. The preset sound definition in ROM here uses 2 bit attack, 2 bit release, 2 bit period ( = pitch?), 1 bit delay, 3 bit waveshape designation (1 bit = fixed/floating, 2 bits select sawtooth, rectangle, triangle), 1 bit vibrato, 1 bit octave. But this system looks even more restricted than the first implementation - allowing only linear attack-decay envelopes without held notes (this resembles MT-30), and apparently the "floating" triangular wave is gone. Worst is it lacks the transform effect. At least waveforms have here 64 steps (center at 30) with 30 step height, and the delay bit can make the triangular wave asymmetric by slowing down attack. Unfortunately this patent text doesn't explain much, but rather describes wiring in lengthy sentences and omits details (like ROM data format), which makes it hard to understand. The key feature of this circuit is apparently the "staggered multi performance" mode, which loads 1 or 3 additional preset sound definitions from ROM as subvoices; 2 bits "minute difference" (+1/64, -1/64) apparently allow to detune these for chorus effect, 2 other bits set their octave range. This sound generator supports 7 octaves, but the highest one cheats by only repeating the 6th octave (foldback) with waveform changed to "floating sawtooth". The delay bit here apparently can delay a subvoice, and when with "quartet" multiple subvoices set this bit, the delays accumulate to make them sound one after another. According to the text, apparently the circuit is multi-timbrale enough that selecting a new preset sound would not affect held notes (201 can't do this), and other parts (mentioning "12 scales", perhaps poor translation) sound like that it can even transpose. The demo note (named "sample tone") here is indeed a single note. The digital vibrato is implemented by making a frequency derived from the clock add and subtract 1/64 (i.e. 1 waveform step?) to the waveform.

But also this implementation does not describe a finished instrument. E.g. it supports 84 keys, does not have preset sound selection through note keys (only mentioned as optional variant), no filters and has switches for vibrato, sustain (aka hold pedal?) and demo note on/off placed outside the keyboard matrix. Interesting is that the "minute difference" effect in layered preset sounds uses for chorus the same addition of +/-1/64 like the vibrato circuit. In the actual 201 the phasing disappears (at least on one channel on my scope) when vibrato or spread scale is on, so they obviously share the same internal resources. However the 201 does not reduce polyphony in any preset sounds, which proves that it is not based on the "staggered multi performance mode". Interesting is also that Casio refers internal polyphony channels as "lines" - a term that was later used for PD synthesis.

At this time Casio patented a lot of things those didn't make it into the final instrument. E.g. US patent 4476766 (priority date 1980) describes a key split mode with simple "any key play" sequencer to manually step with 2 key groups through each a previously recorded main and "accompaniment" (rather obligato) voice. The note data is stored here as key matrix signals (12 keys in each of 4 octave groups) in 2 RAMs. Although with timers it could recognize simultaneous notes (e.g. chords) to be stored as one step, it did not store note or pause duration and thus could not do autoplay, nor there was edit. The illustration drawings blatantly resemble 201. US patents 4522100 and 4594931 were a simpler variant without 2 simultaneous timbres; US patent 4361067 even describes a variant with playback volume change using different keys (instead of velocity) during "any key play". These 3 could also set the keysplit point through a simultaneous switch + key press (not bad for simple gate logics). Although these patents already mention loading note data from external means like barcode or RAM-packs, the first remotely similar feature in a finished product was the "one key play" in the monophonic Casio VL-1 (which had edit and autoplay), and even the barcode sequencer of VL-5 was still monophonic.
66 29,874 Read More
MAME Jump to new posts
Re: Requirements? bsdimp 01/19/21 03:51 AM
So I've imaged all the disks I found. Only 9 differ io.sys versions for 5 known MS-DOS versions: 2.01, 2.05, 2.11, 3.10 and 3.10b... I'll upload once I sort it out. And it looks like exidyboy may have stumbled upon someone with a rare hard disk controller....

Ok. There were 10, but one was 8192 spaces which I eliminated as a legit version...
528 424,334 Read More
MAME Jump to new posts
Re: First Bandai RX-78 game dumped, but not working Robbbert 01/17/21 09:11 PM
Thanks, I'll take a look over the next few days.
52 7,476 Read More
MAME Jump to new posts
Re: The new for 2021 WIP thread R. Belmont 01/15/21 07:33 PM
Heh! Glad those ROMs actually read out OK.
5 640 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS Golden Child 01/13/21 08:33 AM

I was able to find a magazine article about PBUFF:

[Linked Image from]
[Linked Image from]
639 139,350 Read More
MAME Jump to new posts
Lua manager.machine Golden Child 01/12/21 03:11 PM
I was fiddling with lua and was surprised that the good old


didn't work.

The new way is just


It's a good change, it just threw me for a loop. manager:machine() had gotten so hardwired now 8-)

function printt(t) for a,b in pairs(t) do print(a,b) end end

Before you could do
[MAME]> print(manager)
sol.mame_machine_manager*: 0x562753a745b8

[MAME]> print(manager:machine())
sol.running_machine*: 0x56275d580f78

[MAME]> print(manager:machine().devices)
table: 0x56275ed75fe0

and now when you ask it to print(manager.machine) it says something different:

MAME]> print(manager)
sol.mame_machine_manager*: 0x55d389068d68

[MAME]> print(manager.machine)
Attempt to register save state entry after state registration is closed!
Module timer tag natural_keyboard::timer name m_param
Ignoring MAME exception: Attempt to register save state entry after state registration is closed!
Module timer tag natural_keyboard::timer name m_param

error: 	Attempt to register save state entry after state registration is closed!
Module timer tag natural_keyboard::timer name m_param

[MAME]> print(manager.machine.devices)
sol.lua_engine::devenum<device_enumerator>: 0x55d3959b9818
0 114 Read More
MAME Jump to new posts
Re: Pole Position Olivier Galibert 01/12/21 07:42 AM
You have the highscore stuff active?
19 590 Read More
MAME Jump to new posts
Re: ZOOM ZFX-2 sound chip support balrog 01/11/21 03:06 PM
MAME uses the GENie project generator tool, and GCC is used to compile GENie which then generates the Makefiles or Visual Studio project and solution files. In this workflow, GCC is not used to compile any portions of MAME.
25 1,097 Read More
MAME Jump to new posts
Re: Request: add -fidelity parameter (netlist audio) =CO=Windler 01/11/21 08:14 AM
There is no mindcontrolling involved, but brain damage is one of the many side effects of an irresponsible technology that e.g. cracks chromosomes and causes random mutations by mechanical resonance in molecules. Pulsed microwaves are the modern radium (websearch "radium girls"). It is the same moneymaking craze that drove 1920th people to buy radioactive toothpaste for a radiant smile (marketed as health gimmicks), that now makes them by bluetooth toothbrushes as a symbol of the glory of progress, and put their smartphone with sleep phase alarm clock app under their pillow until the overheating battery tonight will self-combust.

And fact is that in modern hardware pulsed microwave transmitters typically can not be turned off. So in Smart-TVs disabling wifi will only deactivate the service but not the radiation, and many TVs are designed such that the remote control (and active 3D glasses) need Bluetooth and so become unoperatable with antenna removed. See e.g.
https: //

The exact purpose here is unknown, but it is proven fact that basically all online hardware is factory-prebugged with remote maintenance backdoors (websearch "Intel Management Engine", "roving bug mode", "BadBIOS", "BadUSB") to be used by the companies themselves and intelligence services of the nations they are legally enforced to obey. E.g. the US mobile radio standard explicitly requests hidden spybug and tracking features in smartphones (roving bug mode) to permit police and secret service to eh "fight terrorism", and of course they want to spy or destroy digital communication means of foes during war. (That's why you never find a true mechanical power switch, internal lens cap and microphone switch in consumer grade online devices.) Other features are simply added by companies to make money by selling our private data or secretly updating or intentionally damaging devices for improved profit. This is the same mindedness like the exhaust fraud scandal of automobile industry (which legally enforced software updates then several times only hided the "defeat devices" better instead of removing them). E.g. after page counters in printer ink cartridges were found and deactivation codes got published against planned obsolescence, manufacturers re-enabled them by an update to keep selling overpriced ink.

You MAME folks should know better what malicious hardware tricks exist. I hoped that self-destroying encrypted firmware powered by hidden batteries only existed as "copy protection" in arcade mainboards (e.g. Capcom, Sega). But in the age of UEFI and SSD where firmware is stored inside the same encrypted flash memory like user data and slowly gets eaten by wear levelling or power glitches or hidden hour counters those no user can identify without a chip rework station for some 100k$, the entire IT technology has become perverted in the name of obsolescence disguised as security, that treats the sovereignous customer as an enemy. Modern online devices are not what they pretend to be and claim in their ads and manuals. When only remote-maintenable software prevents an online device from functioning as a spybug, the device itself needs to be treated as the bug, not the so-called "malicious" updates.
10 622 Read More
MAME Jump to new posts
Re: BletchMAME 2.4 has been released Vas Crabb 01/11/21 01:16 AM
Other front-ends could embed MAME in a front-end window on Linux (at least with X, who knows with Wayland) before that parameter was added.
4 300 Read More
MAME Jump to new posts
Re: Atari 2600 with MAME controls issue. Joyport? RColtrane 01/11/21 12:58 AM
Originally Posted by R. Belmont
Those aren't set in the command line, they're saved in the .cfg file.

Thanks! The -joyport1 pad and -joyport2 pad are now working fine, I was using these parameters at the wrong place.

However, to maintain the .cfg settings for both pad and joy games, I had to set the .cfg file as readonly after saving my breakout settings, otherwise it would lose analog settings after entering a game which uses the regular joystick only and does not use analog controls. I think it would be better to include these analog settings as command line options as well, for better control of these settings without having to tweak things by setting a .cfg file as read only.
44 26,781 Read More
MAME Jump to new posts
Re: Request: Remember software media dir per emulation Robbbert 01/10/21 08:22 AM
The swpath entry in the ini file is meant to indicate where to start looking. This works in MessUI and MameUI, however when using the File Manager in the Tab Menu it can be redirected away by per-media-device entries in the CFG. This can be a problem when you last opened a zipfile, as the CFG can point to a non-existent temporary folder.

At least, that's how MAME used to work - I haven't tested it recently. Perhaps a dev might be sufficiently motivated to do something or see if there's actually a problem.

However, when it comes to adding something in the standard UI to edit the CFG, I think that would be unlikely.

It would be much better for you to organise your software to suit MAME so that all software for a particular machine is in one dedicated folder, and organise your folders so that not much navigation is required. Also, unzip all the loose software.
1 97 Read More
Non-Windows MAME Support Jump to new posts
Re: 0.213 arcade OSX Popeye audio bug Monotremata 01/09/21 04:11 PM
Runs great here with 0.227 on a 2018/20 i7 Mac mini as well..
23 2,397 Read More
MAME Jump to new posts
Re: New dumps rfka01 01/08/21 06:41 PM
In 2011 Micko asked for a hex dump of the monitor program of the IMSAI 8048 Control Computer
One of the original participants of that thread, GePu, just posted on the German VzEkC forum and was willing to share the hex file. I've uploaded it to the FTP.
785 666,031 Read More
MAME Jump to new posts
Re: Virus found in MAME 0.227? (Kaspersky,ZoneAlarm) Heihachi_73 01/08/21 09:49 AM
I think the last time I had ZoneAlarm I still had my Tualeron with its infamous i810 chipset. MAME 0.89 was the latest and greatest when that PC was retired.
11 339 Read More
MAME Jump to new posts
Re: UFO interior? No, a Dutch CP/M machine ... =CO=Windler 01/07/21 08:10 AM
Cute machine! My main PC is a Highscreen Colani bigtower (running Win98SE on a DFI K6BV3+ Mobo with AMD K6-3+@550MHz, 768MB RAM, Geforce 3 Ti220 + 3Dfx Voodoo 1 graphics and 2 genuine ISA soundcards) in a similar freakish space age case, including the stylish 5/14'' floppy.

Because too many websites stopped supporting Win98SE compatible browsers (particularly Opera), this year I had to completely dismantle it to install an additional 2nd mainboard (ITX) with Ryzen 2400G CPU and 8TB harddrive to run modern software. It was a huge ordeal to jigsaw the metal back apart (almost destroying my wrist), make all those additional parts fit (including homemade ARGB illumination) and add TEMPEST-style EMF shielding to prevent brain destroying 4GHz microwaves escaping from a case once created for a 50MHz 486er in 1991. I am still fighting with small parts like broken ribbon cables and all that stuff. I hope I will get it back to life soon.

I had various accidents those delayed my attempt of finishing it. (E.g. a faulty instruction manual of the BeQiet SFX-L PSU fried itself and my brand new mainboard and RAM because it runs amok when one of the modular cables is not plugged in.) So I am typing here on a laptop (IBM X61t) with only a small fraction of my data on its harddisk.

Another lovely space age computer was Commodore CBM-II:

And if you really want to beat Space Patrol Orion and Stanley Kubrik, check out the Olivetti TCV 250:
2 359 Read More
MAME Jump to new posts
Re: Fairlight CMI Just Desserts 01/07/21 07:58 AM
That's pretty much exactly how it works. Given the available schematics of the CMI-01A channel card, we don't currently emulate the envelope DAC, volume DAC, filter DAC, or filters themselves. Also, the tuning itself is quite a bit off.

The last time I looked at the driver I spent a good while puzzling over how to get proper tuning, and ended up deciding to take a break.

Arguably the best order of approach would be:
- True up the tuning first, so that you can at least play a chromatic scale from end to end on the keyboard.
- Implement the envelope DAC.
- Implement the volume DAC.
- Implement the filter DAC + filters.
- Implement the MIDI card.
96 29,206 Read More
MAME Jump to new posts
Re: Can't compile latest MAME? READ THIS THREAD R. Belmont 01/06/21 02:33 AM
When we find out which 7.x works, we should update the documentation :-)
407 495,978 Read More
Non-Windows MAME Support Jump to new posts
Re: New build instructions for SDLMAME on Mac OS X r0ni 01/02/21 02:08 AM
I am excited to get into an M1 machine eventually. It’s been quite a while since I’ve had a upgrade to an Apple machine, so I am very eager for all the speed ups, it will be really nice to have. I was thinking of going the same route with a Mini and 16gb ram, can’t wait to see it in action!
70 159,163 Read More
MAME Jump to new posts
Re: TMS-09xx/1xxx thread (was New Dumps) Rik 01/01/21 08:02 AM
Haven't had a chance to look yet. I'm not shipping the games until after the new year, hopefully I'll have a chance to look for it soon. But I won't forget!
3,658 2,333,389 Read More
MAME Jump to new posts
MAME 0.227 Vas Crabb 12/31/20 07:15 AM
MAME 0.227

It’s time to say goodbye to 2020, and we’re doing that with the release of MAME 0.227, the fruit of our extended November/December development cycle. A lot has happened in these two months, in terms of internal improvements to MAME as well as user-visible changes. If you’ve been following along with development, you’ll have noticed that we’ve migrated MAME to C++17, overhauled the Lua interface, further streamlined and enhanced the emulated memory system, and cleaned up a lot of ageing code.

MAME 0.227 adds preliminary support for macOS on AArch64, also known as “Apple Silicon”. Please note that we lack a native A64 recompiler back-end, and there are some issues with our C recompiler back-end. If you’re running an A64 build of MAME, you can disable recompilers for most systems that use them with the -nodrc option on the command line. You may get better performance for emulated systems with MIPS III or PowerPC processors by running an x86-64 build of MAME under Rosetta 2 with recompilers enabled. (Yo, ’sup dawg. I heard you like recompilers…)

Lots of long-standing issues have been fixed in this release. Missing platforms in stage 15 of Sega’s Quartet now appear properly. This relies on a protection microcontroller feature that we were previously unaware of. Protection features that are only used late in the game have been a recurring source of frustration not just for emulator developers, but also for arcade bootleggers, and even publishers re-issuing old games in new formats. It seems Sega missed this feature in their Astro City Mini release. Another long-standing protection issue was fixed this month that made Atari’s Rampart impossible to complete on Veteran difficulty. This one was actually a regression that managed to stay unresolved for years, possibly because the game’s high difficulty makes it difficult to reach. While we’re on the topic, protection simulation has been added for the versions of Sega’s Carnival that run on Head On hardware.

While protection emulation may encompass the most noticeable fixes, lots of other things that have been improved as well. Graphical issues have been fixed in Chase Bombers, Championship Bowling, and Prop Cycle. NFL Blitz ’99 no longer skips animations in attract mode. DIP switch descriptions have been corrected in 3-D Bowling, Bloxeed and Mahjong Tenkaigen. Game switching now works on Multipede, and Klax bootlegs are playable, with working sound.

It wouldn’t be a MAME release without new supported systems. This month we’ve got TV games from dreamGEAR, JungelTac, LexiBook and Senario. As always, the quality varies enormously. New versions of 1944: The Loop Master, Cookie & Bibi 2, F-1 Grand Prix, Forgotten Worlds, and Narc have been found and dumped. One of the newly supported Narc versions is particularly interesting, as it appears to be an early test version, lacking a substantial amount of content found in other versions of the game. Another incomplete copy of Unico’s Master’s Fury was found, which could be combined with the previous incomplete set to make the game playable.

Finally, there are a few improvements to the internal user interface. There are more controls for screenshots, aspect ratio and scaling accessible from the Video Options menu. You can now use NOT codes when assigning analog joystick axes to digital inputs. The menus for the Cheat and Autofire plugins have been made more consistent.

Of course, there’s far more that we don’t have space for here, but you can read all about it in the whatsnew.txt file, and get the source and 64-bit Windows binary packages from the download page. It’s been a very tough year for a lot of us, but it’s still been a great year for MAME development. Thanks to everyone who contributed this year, even if it was just a kind word or helping out a user on a community forum. Have a great new year, and keep the spirit of digital preservation alive!

Read the rest of this entry »
0 184 Read More
MAME Jump to new posts
'Twas The Night Before MAME - 2020 Edition Stiletto 12/31/20 06:30 AM
'Twas The Night Before MAME
or: A Visit From St. Nicola (Mickola?)
by Stiletto (ed. Mog)

'Twas the night before Wednesday Thursday, and all through the list;
Not a member was posting, not even on Gist!
The code was all pushed up to Github with care,
In hopes that St. Nicola soon would be there;

The "emu-newzboys" were all snug with their sites,
With visions of Namennayo in sight!
And your humble Stiletto, in torn jeans and cap,
Was researching tech stuff, and talking to hap;

When out in the 'Net, there arose such a clatter
I sprang to my desk to survey the matter.
Away into Windows I flew, acting rash,
And opened a browser to check the commit hash.

The URL on my page, white as the snows,
Linked to MAMEDEV's Git, as fast as it goes,
To that repo, where what to my eyes should appear,
But a lightning-fast Vespa with MAMEdev (and beer),

With a slick little driver so lively and quick,
I knew in a moment it must be St. Nic'!
More rapid than eagles, his fingers they flew,
He chanted and cursed til' his face had turned blue;

"On OG! On Micko, Vas, AJR, Osso -
On 'Belmont! On P-Mack! On Moogle and Angelo!
From the top of the server and its firewall,
Now code away, type away, hack away all!"

As developers whose experience befit,
When finding encryption, they blew it to shit.
So onto the server the source code it flew,
With a ZIP file of toys and St. Nicola too.

And then, at a speed that was really quite keen,
Those coders and hackers arrived on the scene.
As I moved the mouse with my hand and scrolled down,
St. Nicola leapt to the page with a bound.

He dressed all in khaki, from head to his feet,
The tattered appearance, it looked rather beat.
With a bundle of PCBs flung on his back,
He looked like he was ready to hack.

His eyes -- how they twinkled! His pimples, how merry!
His cheeks were like ashes, his knuckles were hairy!
His droll little mouth had drawn up in a bow,
And the stubble on his chin clearly needed a mow.

He held a vape pen rather tight in his teeth,
And the vapor - it encircled his head like a wreath;
He had a broad face and the slightest beer gut,
The smell on his breath, why, I shall not guess what.

He chuckled, and grinned, and looked pleased with himself -
I laughed when I saw him, in spite of myself;
I peeked at my wristwatch and I felt somewhat dead,
I realized at 3:30 at night's time for bed.

He spoke not a word, but went straight to his work,
And compiled the source code; then turned with a jerk,
Then sent up the builds faster than I could doze,
And giving a nod, from the repo they rose;

He sprang to his scooter, to the team gave a whistle,
And soon they all left with the speed of a missile.
But I heard him exclaim, as they drove out of sight,


- Stiletto (ed. Mog)

Merry Christmas, Happy Yule, Happy Hanukkah, Happy Kwanzaa, Happy Festivus and Happy December 25th... and a Happy New Year! In other words, Happy Holidays to all, and to all a good night!

[Linked Image from]
0 121 Read More
Non-Windows MAME Support Jump to new posts
Re: macOS Big Sur and Apple Silicon/M1 notes for MAME Vas Crabb 12/31/20 05:40 AM
FWIW UWP (Microsoft store apps etc.) also enforces W^X, so we’re going to have to support it sooner or later anyway.
3 181 Read More
MAME Jump to new posts
Re: Best Features for a MAME Steering Wheel Classic80sGamer 12/29/20 12:38 AM
Sign me up for #4. I am attracted more to the 360 / 270 idea versus the lack of buttons. I use the buttons all the time on my Logitech.
9 738 Read More
Who's Online Now
3 members (Cpt. Pugwash, Duke, R. Belmont), 27 guests, and 3 robots.
Key: Admin, Global Mod, Mod
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Most Online890
Jan 17th, 2020
Powered by UBB.threads™ PHP Forum Software 7.7.5