Added two alternative Xtals and a new machine driver to support the Mystery Number hardware.
New games marked as GAME_NOT_WORKING
------------------------------------
Mystery Number [Roberto Fresca]
----------------
Tank Force (US, 4 Player)
marked as not working. Unmapped controls, comments are in driver.
The currently scanned manual at http://www.crazykong.com/manuals/TankForce.man.pdf is for the 4 player version and shows the pinout. Test mode currently shows all player controls as RED (IE active).
* Converted sysreg_r/w to 8-bit handlers
* Added hack to make network IRQs work; brings some games back to life
UML:
* Fixed STORE opcode description to allow immediate source operands
x86/x64 back-ends:
* Added flag support to SEXT, ROLAND, ROLINS, LZCNT opcodes
PPC DRC:
* Rewrote lswi/stswi as subroutines
* Made accesses to tempdata explicitly dword or qword
* Fixed SRR0 when generating a syscall
* Removed no longer necessary TESTs on extsb/w, rlwinm, rlwnm, rlwimi, cntlzw
* Fixed bug where the SO flag was not being computed for compares
* Fixed flag computations for mulhw/mulhwu/mullw
* Fixed subtlety of shifts between 32 and 63 in srw/sraw
* Fixed mffs/mtfsf to use FP registers
* Fixed mtfsfi to use the immediate value properly
* Now marking terminal count bit in DMA status register
* Added simple symbol table to the UML for improved disassembly
* Changed optional disassembler cache parameter to a drcuml object
PPC DRC:
* Added symbols for most common variables
* Fixed bug in handling XER carry flag for subo. forms
* Simplified flag insertion logic for opcodeo. forms
* Added logic to simplify opcodes as much as possible at the UML layer.
* Removed similar logic in the x86 and x64 back-ends.
* Added stricter parameter validation for registers and mapvars
* Removed explicit flag requests from the shorthand opcodes
* Added optimization function to drcuml which is called at block end
* Added logic to compute the necessary flags based on upcoming opcodes
and only select those flags which are required
* Updated the PPC and MIPS3 DRCs to no longer explicitly specify flags
* Wrote new disassembler based on enhanced opcode info structure.
* Moved disassembler into drcuml.c and removed old code.
* Extended disassembler buffer sizes to at least 256 bytes.
* Added more extensive per-opcode information in preparation for UML
optimization step.
* Made validation more thorough using the extended information.
* Disabled back-end validation for now until it can be revisited
using the new tables.
* Changed GETFLGS encoding so that the mask is in parameter 2 instead
of the flags field.
----------------------
- 01845: [Core] all games: cheats are broken
- 01846: [Misc.] -CHEAT trigger causes MAME crash with PSX-type CPU drivers
Source Changes
--------------
Updated cheat system
- Locked search region when malloc fails to allocate gigantic memory
instead of fatal error. Also locked zero malloc error in case of
search speed = all memory in 32-bit CPU. And added search region
range checker to lock a search region with a big risk
- Fixed a bug that old code is always converted to specified
separator in enable/disable menu
- Refined new cheat format.
* Rewritten cheat format again. newest format is
":gamename::type::address::data::extend_data:(description:comment)"
Expanded type field now requires 10 bytes (not 8 bytes) and
it divides internal cpu (2 bytes) and type (8 bytes) parameters
* Removed VWrite, VRWrite. The flag of Value Selection is merged
into expanded type field now.
* Added CBit (Condition Bit). This checks bit in read data then
set or clear bit in case of true.
* Rearranged cheat code viwer based on newest cheat format
- Fixed unworking Load Old Format option. If you want to load old or
older format code, set it (default is OFF)
- Renamed functions/structures based on coding guidlines
All structures and included parameters are completed
- Merged resize_*_no_dispose() into resize_*()
- Removed the hack of search region for SH-2 CPU because required
region is now set as expected without this hack
Sent: Mon 6/2/2008 2:00 PM
To: submit@mamedev.org
Subject: Fixed input in wpksocv2
Fixed some dips and added correct inputs for wpksocv2, despite still missing the correct input for begin the left right movement the game is almost playable.
Bye Sonikos.
Subject: [patch] memory_region madness
The memory_region and memory_region_length functions are probably the
two most common functions in MAME that don't take a machine parameter
but probably should given the direction MAME has been going in
removing global variable references. Attached are massive patches to
accomplish this. I wish they could be smaller, but sadly, this is
butchery, not brain surgery.
The first patch makes some simplifications to help the second patch
along. It is a general improvement as well, and hopefully can be
applied even if the second patch is rejected. Specifically:
1. Introduced/updated some include files for files that export
functions whose apis will need to be changed (cps1.h, decocrpt.h,
ms32.h, pgm.h, fd1089.h, konami1.h). In the case of konami.c, I
renamed the file konami1.c and changed the api and callers to only
require one function export.
2. Pulled memory_region*() calls out of for loops and folded the
occasional duplicated call. The compiler can't likely infer that the
results are constant, so this should be a minor performance win as
well.
- rewrote PowerPC implementation as a dynamic recompiler on top
of the universal recompiler engine
- wrote a front-end to analyze PowerPC code paths and register usage
- wrote a common shared module with C implementations of tricky
CPU behaviors
- added separate CPU types for the variants supported, instead of
relying on a hidden model enum
- rewrote the serial port emulation for the 4xx series to be more
accurate and not rely on separate DMA handlers
- rewrote the MMU handling to implement a software TLB that faults
in pages and handles changed bits appropriately
- implemented emulation of the PowerPC 603's software TLB, which
allows the model 3 games to run without a hack to disable the MMU
Updated the PowerPC disassembler to share constants with the rest of
the core, and to more aggressively use simplified mnemonics, especially
for branches. [Aaron Giles]
Universal recompiler:
- fixed frontend to handle opcode widths different from bus width
- added several new opcodes:
* (D)GETFLGS - copies the UML flags to a destination operand
* FDRNDS - rounds a double precision value to single precision
- renamed several opcodes:
* SETC -> CARRY
* XTRACT -> ROLAND
* INSERT -> ROLINS
- consolidated the following opcodes:
* LOAD?U -> LOAD
* LOAD?S -> LOADS
* STORE? -> STORE
* READ?U -> READ
* READ?M -> READM
* WRITE? -> WRITE
* WRITM? -> WRITEM
* SEXT? -> SEXT
* FTOI?? -> FTOINT
* FFRI? -> FFRINT
* FFRF? -> FFRFLT
- removed some opcodes:
* FLAGS - can be done with GETFLGS/LOAD4/ROLINS
* ZEXT - can be achieved with AND
* READ?S - can be achieved with READ/SEXT
- updated C, x86, and x64 back-ends to support these opcode changes
- updated disassembler to support these opcode changes
MIPS3 dynamic recompiler:
- updated to use new/changed opcode forms
- changed context switch so that it only swaps a single pointer
Konami Hornet changes: [Aaron Giles]
- updated to new PowerPC configurations
- updated some memory handlers to be native 8-bit handlers
- cleaned up JVS implementation to work with new serial code
- added fast RAM for the work RAM to give a small speed boost
Konami GTI Club changes: [Aaron Giles]
- updated to new PowerPC configurations
- updated some memory handlers to be native 8-bit handlers
Konami Viper/ZR107 changes: [Aaron Giles]
- updated to new PowerPC configurations
Sega Model 3 changes: [Aaron Giles]
- updated to new PowerPC configurations
- reimplemented/centralized interrupt handling
- these games are broken for the moment
Fixed crasher due to some Konami games using 8 layers in
the K056832 implementation, even though it was only written
for 4. [Aaron Giles]
Added fisttp opcode to i386 disassembler. [Aaron Giles]
added support for per-scanline y scroll. Fixes level 5 and boss explosions.
00778: gunnail: The background in stage 5 is wrong.
00779: gunnail: After you kill a boss, always a number of vertical lines will appear.
Cleaned-up and organized both drivers.
Added more technical notes.
Hooked Xtals and sound devices/interfaces.
Added elvis to the h8/3337 driver.
New games marked as GAME_NOT_WORKING
------------------------------------
Elvis? [Roberto Fresca]
- Added Microbus support, clock divisor selection, and CKO mode selection to the COP420
- Changed Thayer's Quest keyboard interface to at least slightly resemble the schematics
Added all games that fit in this hardware, plus dumper notes (when available) and hardware descriptions.
New games marked as GAME_NOT_WORKING
------------------------------------
Carta Magica (Ver 1.8) [Roberto Fresca]
Laser 2001 (Ver 1.2) [Roberto Fresca]
Magic Drink (Ver 1.2) [Roberto Fresca]
Millennium Sun [Roberto Fresca]
NtCash [Roberto Fresca]
Super Space 2001 [Roberto Fresca]
Unknown italian gambling game [Roberto Fresca]
Wizard (Ver 1.0) [Roberto Fresca]
- Reworked the input system for Sigma Poker 2000.
- Promoted Sigma Poker 2000 to 'WORKING' state.
- Updated technical notes.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Sigma Poker 2000 [Roberto Fresca]
Replaced the Capitani Coraggiosi sound ROM with another one from the alt version. The only difference between both sets are 4 bytes at begining of the sound ROM. The header starts with 4x 0x20 instead of zeroes.
Added La Perla Nera Gold, plus two sets of Europa 2002. All games are running in the same hardware.
Added the respective dumper/hardware notes plus some comparative notes.
Corrected some typos.
New games marked as GAME_NOT_WORKING
------------------------------------
Capitan Uncino (Ver 1.2) [David Haywood]
Capitani Coraggiosi (Ver 1.3) [David Haywood]
La Perla Nera (Ver 2.0) [David Haywood]
La Perla Nera Gold (Ver 2.0) [Roberto Fresca]
Europa 2002 (Ver 2.0, set 1) [Roberto Fresca]
New clones added
----------------
Europa 2002 (Ver 2.0, set 2) [Roberto Fresca]
- Styling changes
- Added instruction cycle counts.
- Added interrupt support.
- Added HALT support.
- Fixed INT instruction.
- Added incomplete support for DIV and MUL instructions.
- Fixed MOV [#nnnn],BA and MOV [#nnnn],HL instructions.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Deroon DeroDero [nuapete, David Haywood]
** note, the guys decapping this will have to dump the internal eeprom too, I suspect the internal ROM is the same between games, and the EEPROM contains the password and game specific data.
this DOES NOT fix mantis 1829, which appears to be a bug in the validation code causing it to hang on startup attempting to validate
PORT_BIT( 0xf0, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(5) PORT_KEYDELTA(5) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE PORT_FULL_TURN_COUNT(12) \
or
PORT_BIT( 0xf0, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(5) PORT_KEYDELTA(5) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M) PORT_PLAYER(2) PORT_REVERSE PORT_FULL_TURN_COUNT(12)
Sent: Friday, May 30, 2008 5:46 AM
Subject: dealer ROM U04 bankswitch
Hello,
ROMs U01-U03 are checked with the same code in a loop.
There's a separate ROM check for banked U04 at Z80:30F3.
It looks like dealer/revenger uses ppi8255 to control bankswitching.
- Added bankswitch for ROM U04 and removed BAD_DUMP from u4.bin
- Renamed the games to "Poker 4-1" and "Pull Tabs"
as shown in the ROMs stickers.
- Renamed the ROMs in each set according to their own stickers.
- Moved the driver into gametron.a group.
- Added the missing input port C to 8255 PPI I/O chip.
Poker41 and pulltabs don't make use of it, but is present in the Test/Setting Mode.
- Updated technical notes.
* added NODE_RELATIVE(NODE, offset) macro to discrete.h
* fix asteroid.c, canyon.c, skydiver.c and tank8.c to use this macro instead of adding directly to the node
- Switched the color system to RESNET calculations.
- Hooked the infamous bit7 of Input Port 0x3004 in parallel to DIP switch 1.
This allow to use the PAYOUT button to trigger the Super Game instead of STOP 5.
- Demultiplexed lamps matrix.
- Added lamps support, but is still imperfect.
- Updated technical notes.
u28 (color PROM) now has the proper size and seems correct.
u68 (graphics) is far way better, but still have some bad bits.
Removed all patched bits from the driver. These bits now are correct.
fixed Testers bug [01039]
-------------------------------
Updated cheat sytem drastically
* Supported (preliminary) new cheat format
- Added new operations
PDWWrite, RWrite, VRWrite, CWrite, Move, Branch, Loop, Popup
- Added new options
ValueSelectNegative, Return, AddressReadFrom, DataReadFrom
- Added cheat variables
You can store data with Write or Move operations and
read as an address or data from each fields
- Added condition check
for CWrite, Branch and Popup operations
- Added new custom codes
Separator, Layer
- Supported Shared Code [MESS ONLY]
different machine shares common code for a game
* Allowed mixed label-select or user-select with standard code
* Added label selector menu for label-selection code
* Added extend comment displayer for multi-line comments
* Added command menu for cheat list and watchpoint
Easy selectable cheat commands in this menu
* Added debug view menu [DEBUG BUILD ONLY]
It displays internal info to debug cheat system
* Supported unique separator by ui_draw_menu() in several menus
* Added user defined search region
You can set free memory range from cheat database
* Enhanced error check for cheat code to prevent from unexpected working
Error code is locked. If you select this code, the analyser works
instead of the code activater
* Enhanced value input with keyboard-less
Cheat edit key gives new input system in several menus
Left/right keys moves the edit cursor and up/down keys changes a value
* Added cheat command save, reload, reset in option menu
* Supported address shift in searching
Now searchable default region in TMS340*0 cpu games (Trog, Smash T.V. etc)
* Refined cheat menu handling with function pointer called cheat_menu_handler
* Added format strings table to manage in an integrated fashion
* Deleted unused hacks of default search region for Neo Geo and TMS34010
* Refined code based on MAME coding guidelines
- Renamed many functions/structures/constants
But not complete due to too many items
- Converted small but often used functions to INLINE
- Fixed a comparison in case of 0 or NULL
- Added missing function prototype for several functions
names are generated.
Added new astring functions astring_del, astring_replace, and astring_replacec
to help perform simple search/replace substitution.
1. In the MIPS core:
- renamed struct mips3_config -> mips3_config
- updated all drivers to the new names
- removed MIPS3DRC_STRICT_COP0 flag, which is no longer used
- a few minor cleanups
2. In the CPU interface:
- added new 'intention' parameter to the translate callback to
indicate read/write/fetch access, user/supervisor mode, and
a flag for debugging
- updated all call sites to pass an appropriate value
- updated all CPU cores to the new prototype
3. In the UML:
- added new opcode SETC to set the carry flag from a source bit
- added new opcode BSWAP to swap bytes within a value
- updated C, x86, x64 back-ends to support the new opcodes
- updated disassembler to support the new opcodes
4. In the DRC frontend:
- fixed bug in handling edge case with the PC near the 0 or ~0
01153: clshroad: [possible] The game is slow, the frame rate suffers, and even the calorie bar flickers.
00267: clshroad: [possible] Occasionally a cycler who's graphics are garbled will come along,
New Games Supported
-------------------
ChuckECheese's Match Game [Exodus]
New Clones Supported
--------------------
Fred Flintstones' Memory Match (US, High Score version, 3/10/95) [Exodus]
Fred Flintstones' Memory Match (UK, 3/17/95) [Exodus]
Fred Flintstones' Memory Match (Japan, High Score version, 3/20/95) [Exodus]
Fred Flintstones' Memory Match (Mandarin Chinese, 3/17/95) [Exodus]
Fred Flintstones' Memory Match (Spanish, 3/17/95) [Exodus]
Changed error reporting during input port detokenization to fill a buffer
rather than fatalerror-ing immediately. Should now properly skip over
any invalid tokens.
Enhanced error detection during input port detokenization to catch
duplicate bits. There are a lot of these!
Updated initialization code to print errors and fatal only if the input
ports were unable to be constructed at all.
problem was double mapped input bits. Aaron, could we have a validity check for this? looks like it affects an number of drivers?
maybe also a validty check for unmapped port bits? surely all ports should be either 8-bit, 16-bit, 32-bit or 64-bit, and nothing else.. unused bits should be mapped as unused...
this is in addition to his previous 'japan' set addition.
(this driver seems to have developed some sound problems? no sound in several 'fred' sets, and no sound in chuck e cheese, lottofun reports eeprom error sometimes? any ideas?)
New games
---------
CheeseECheese's Match Game [Exodus]
New clones
----------
Fred Flintstones' Memory Match (US, High Score version, 3/10/95) [Exodus]
Fred Flintstones' Memory Match (UK, 3/17/95) [Exodus]
Fred Flintstones' Memory Match (Mandarin Chinese, 3/17/95) [Exodus]
Coastal Amusements", "Fred Flintstones' Memory Match (Spanish, 3/17/95) [Exodus]
----------------
Atomic Boy (revision B) [Stefan Lindberg]
Different size roms... During game play, player helmet is green not blue. Different colors in the splash screen and text.
Typedef'ed a real eeprom_interface structure.
Added a PORT_CUSTOM for the eeprom bit reading. Updated several
drivers to use that by specifying it in their input ports instead
of having a custom read handler that inserted the bit forcefully.
Added a PORT_CUSTOM for the ticket dispenser callback as well.
Updated the dcheese driver to use it.
Many more drivers can be updated to use these new PORT_CUSTOMs
in the future, eliminating hacky input port read handlers.
Not a true svn revert since changes were made since, but Rapid River is gone from namcos23.c now.
The ROMs have been removed from /roms/current/r and put back in /roms/unemulated/Namco/system23.
The Wiki GAME_NOT_WORKING page has been edited accordingly.
------------------------------------
Rapid River
Please credit Guru for his dump and his readme.
The ROMs and readme were put in namcos23.c since they fit well, but the set doesn't get as far as the rest of the games in the driver.
Roms moved from /roms/unemulated/Namco/system23 to /roms/current/r.
Updated the GAME_NOT_WORKING page on the Wiki.
Merges Sega System 16b info in MAME with latest Guru readme.
Adds Namco System 22 readme to MAME (removes previously-added, redundant Prop Cycle info).
Merges Namco System 23 info in MAME with latest Guru readme.
mode DIPs on the top of the menu
Fixed behavior of toggle switches so that they don't lose their value
when the UI is up. They also can now be used for multibit DIP switch
settings in which case they toggle through all the options.
New functions input_field_select_next_setting() and
input_field_select_previous_setting() which can be used to iterate
properly through DIP switches. Fixed the behavior for cases where
conditional ports are in play (you could get stuck). Changed uimenu.c
to call these instead of implementing its own.
Changed uimenu.c so that hitting ENTER on a DIP switch resets it to
its default value. This is analagous to how the OSD sliders behave.
* Extended memory address range of DUART
* Fixed overlapping input port bits
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Player's Edge Plus (XP000112) White Hot Aces Poker [hammer300]
- Reworked the color routines switching to resnet system.
- Added a resistor network diagram.
- Switch to pre-defined crystal value.
- Changed the WATCHDOG_TIME_INIT to be based on miliseconds instead of hertz.
- Other minor cleanup/fixes.
- Updated technical notes.
(original message)
From: Fabio Priuli [mailto:doge.fabio@gmail.com]
Sent: Thursday, May 22, 2008 10:45 PM
To: submit@mamedev.org
Subject: fix for bug MT 01690
Hi, enclosed please find a one line change to fix graphical regression in goldstar.c games. I guess it's been a typo.
Regards,
Fabio Priuli
p.s. diff'ed over 0.125u2
I'm doing the ROMs in /roms/redundant-mostly from largest size to smallest size. When adding info to the drivers, I'm erring on the side of completeness, so please excuse me if some of this information can be collated into more interesting tables (namcos22, model2).
I haven't deleted these zips from the ftp yet. If anyone sees a problem, please feel free to point it out before the zips find a new permanent home on my local drive.
1. (propcycl.zip) Added prop cycle readme to ROM definition region (even though it was almost the same as alpine racer, the PICs were different, as was the RAM chip type)
2. (invasn.zip) Uploaded Invasion PCB pic.
3. (bel.zip) Added readme to ROM Definition region of Behind Enemy Lines driver.
4. (coolridr.zip) Tightened up the readme in coolridr.c.
5. (tekken2.zip) The Namco System 11 documentation contains all the information the tekken2.zip readme has. Nothing to do here.
6. (dendeg.zip) The taitojc driver already contained the FILE_ID.DIZ (ah, the memories) verbatim.
This will clear ~120 mb off the FTP.
> From: deaconblue@worldofretro.net [mailto:deaconblue@worldofretro.net]
> Subject: shuttle invader (shuttlei)
>
> i remember that there was a three coloured pressure-sensitive decal on
> the screen, i mean the monitor itself.
>
> maybe 75 percent was green (the aliens are in "green" status, green
> area), then 10 percent was orange (they come closer, two lines in total)
> and from that below was red, to show up, they as close as they never
> should be (red alert state)
>
> i can't say, how much lines they spend for each color, but i surely
> know, that my memories is very close to that what it was....
>
>
>
> maybe you can use this, thanks in advance for your answer...
>
> Deacon
Subject: MAME Submission Attached 2-2
Again, re-submitting in case this wasn't received.
This is a new set of official Gorf sound samples which I recorded from my pcb.
The file contains a .diff to raise the default samples volume from 0.25 to 0.85.
To prove the accuracy of these samples, I made an uninterrupted 20 minute long
direct MP3 recording of the gameplay which can be downloaded HERE.
Anyone interested in the documentation of the Votrax speech for Astrocade hardware
can download my file posted on MAME World HERE. The file contains pcb recordings of
every possible word and phrase used in Gorf and Wizard of Wor, and includes detailed
notes indicating where words are spoken and when.
Chris Law
gyrovision@gmail.com
Subject: [patch] Missed Machine->machine changes
Hi mamedev,
A short incremental to my last deprecat.h patches. This one is the
result of a slightly improved fixup script, which finds more cases
where Machine can be replaced with machine. Six more files lose
deprecat.h.
~aa
Subject: [patch] More Machine->machine changes, add machine to irq
callbacks
Hi mamedev,
Here are two more patches to eliminate Machine globals. The first
patch was autogenerated by the attached fixup script. That script has
been updated to catch additional cases which it previously missed
(when Machine is the last parameter to a function or Machine is used
in an assignment). This makes ~50 more files deprecat.h free.
A sizable chunk (~20%) of the remaining uses of the Machine global in
the drivers are due to irq callbacks for sound and machine updates.
Typically such callbacks need to call cpunum_set_input_line, which
requires a machine parameter, so if the callbacks don't pass the
machine parameter, these routines have no choice but to reference the
global variable.
The second patch attempts to address most cases of this by adding the
machine parameter to the callback interfaces. This allows us to
remove #include "deprecat.h" from ~150 files, at the cost of having to
fix up hundreds of callbacks.
In total, these patches reduced the number of files with deprecat.h
from 783 to 575.
~aa
Subject: saturn CPU patch
Dear MAMEDev,
The attached patch corrects several bugs in the emulation of the saturn
CPU. These corrections are needed to make new HP48 drivers (to be
submitted to MESS imminently) work.
AFAIK, MESS is the only place where this CPU is used, so, the patch
should
not cause any regression in MAME.
The patch is against 0125u1.
Best regards,
-
Antoine Mine
* Added new opcode LZCNT which returns the number of leading zeros in
a parameter.
* Added new opcode XTRACT which is a combined rotate/mask (basically
rlwinm from PowerPC)
* Added new opcode INSERT which is a combined rotate/mask/blend
(basically rlwimi from PowerPC). Best. Opcode. Ever.
* Updated all back-ends to support these new opcodes.
* Fixed several bugs relating to shifts/rotates and optimizing out
cases incorrectly.
MIPS3 DRC changes:
* Updated to use INSERT and XTRACT where appropriate
* Cleaned up register usage to enable an additional direct mapping;
this means Linux gets 1 now and Windows gets 3
- Confirmed the CPU clock after some PCB measurements.
- Changed the SND clock to 1MHz to match the PCB measurement.
- Corrected the internal OKI6295 frequency turning the pin 7 state to HIGH.
- Inputs: Eliminated all pulse limitations.
Affected buttons have a rattled sound in the real thing too.
- Updated technical notes.
Please also co-credit f205v for the measurements.
machine registers if the machine supports it. Currently only x64 on
Windows has enough free registers to do so, though PowerPC will almost
certainly be able to take advantage of this. Gives a minor speedup.
I was able to clean up 24 meg of already-emulated ROMs from /roms/unemulated/Misc. Only one of the sets had a readme that wasn't in MAME.
I have a local copy of discoboy.zip, FishingManiac3.zip, PashaPasha2.zip, and PashaPasha2_redump.zip, and will continue to keep these around in case anyone needs them.
* Fixed front-end so that virtual no-op instructions are still targeted
as branch targets.
* Fixed front-end to mark the beginning of each sequence as needing TLB
validation, since any sequence can be jumped to from anywhere.
* Redid the MIPS3 TLB implementation. Fixed the exception vector and
type handling. Changed the bitfields to directly map from the MIPS TLB
format. Added distinction between TLB fill and TLB valid/modified
exceptions.
* Added separate modes for user, supervisor, and kernel modes. Each mode
does proper verification of addresses now and generates address errors
for invalid accesses.
* Fixed several bugs in the TLB implementation; not everything works
yet but it's a lot closer.
* Made COP0 access checking mandatory in non-kernel modes.
* Fixed several crashes when recompiling virtual no-ops.
* Fixed TLB bug where entries for virtual address 0 were present by
default.
* Fixed bug in the map variable implementation that would sometimes
result in incorrectly recovered values.
This will be expanded in the future.
Added two new opcodes: SAVE and RESTORE to save and restore the entire
virtual machine state for examination/setup.
Added new back-end function get_info() which returns information from
the back-end about how many actual registers will be mapped.
Fixed a bug that mapped the high a low parts of registers to the same
address. This should help the C back-end run better on big-endian
architectures.